* interface changes:
* added GetDevicePowerStatus()/cec_get_device_power_status()
* added GetDeviceVendorId()/cec_get_device_vendor_id()
* added GetDeviceMenuLanguage()/cec_get_device_menu_language()
* added GetDeviceCecVersion()/cec_get_device_cec_version()
* added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
monitoring is enabled, the device will only log the data it received,
but will not respond to any message
* removed timeout parameter in Transmit() and included the ack timeout in
the cec_command struct
* made the vendor id -> vendor name translation available
* made CEC_LOG levels powers of 2
* introduced CEC_LOG_TRAFFIC log level
* fixed:
* set the correct ackmask on startup
* wait for ack while keeping a lock
* wait for the processor thread to start before continueing on startup
* wait for messages to be transmitted before continueing in
CCECProcessor::Transmit()
* only set the logical address once when it has changed
* correct source for broadcast messages
* win32: create Release type installer
* changed:
* make all reads and write in CAdapterCommunication go through buffers.
* poll for a vendor ID of connected devices and switch to a non-standard
CEC implementation if needed.
* added vendor detection of Samsung and LG devices
* handle samsung remote command 'return'
* cec-client:
* added -la and --logical-address to the command line params
* added -d and --log-level params to cec-client
* added -sf and --short-log-file, which only log the actual messages, not
the level and timestamp
* added -f and --log-file parameters to cec-client
* added option to change the log level to cec-client
Lars Op den Kamp [Mon, 31 Oct 2011 19:47:19 +0000 (20:47 +0100)]
cec: renamed WaitForAck() to WaitForTransmitSucceeded(), because it waits for the TRANSMISSION_SUCCEEDED message, not for an ack from the CEC device. we'll add that later
Lars Op den Kamp [Sat, 29 Oct 2011 14:54:27 +0000 (16:54 +0200)]
cec: make all reads and write in CAdapterCommunication go through buffers, so we don't have to block and keep locks. proper handling of failed writes will have to be re-added
Lars Op den Kamp [Tue, 25 Oct 2011 22:19:09 +0000 (00:19 +0200)]
cec: added SwitchMonitoring()/cec_switch_monitoring() to the interface. when monitoring is enabled, the device will only log the data it received, but will not respond to any message
Lars Op den Kamp [Fri, 14 Oct 2011 15:35:27 +0000 (17:35 +0200)]
Merge branch 'master' into release
* send a keypress with 0 duration when a key is pressed and with a duration
set when it's released
* added SetOSDString() to the interface (not supported by all tvs)
* fixed: 'routing change' is a broadcast message. log routing changes, but
don't send a 'set active view' message, so the active input won't be
changed
* log keypresses in the debug log
* added 'pa' command to cec-client, to change the physical address
* added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
the HDMI port number to use can be changed
* fixed: put the message processing code from WaitForAck() in ParseMessage().
fixes missing incoming message logging of non-data messages when not
waiting for an ACK
* added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
before returning
* fixed: set initiator and destination first in cec_command::push_back().
fixes 'tx' command in cec-client
* fixed: keep trying to connect while iTimeout isn't reached (default 10
seconds). fixes exit with a 'permission denied' error when the device isn't
ready yet. remove CEC_SETTLE_DOWN_TIME
* fixed: don't call SetActiveView() when reporting the power status. fixes
loop which causes some TVs to report failed connections
* fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
* fixed: add the device type as parameter when sending the physical address.
thanks bobo1on1
* fixed: typo in libcec.pc.in
* added optional strLib parameter to LoadLibCec(), so the location of the
shared library can be specified
* only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
* use int instead of bool on the public C interface and remove stdbool.h include
* renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
cecloader.h, CECTypes.h => cectypes.h
* updated debian package. split up libcec and libcec-dev
* fixed: changed to use dlopen instead of static linkage. shuffled headers a
bit. bumped interface to version 7
* removed 'rt' from libraries. it's not needed (anymore)
* fixed: reset the active view after a routing change. issue #1
* fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
* added contributors link