rpi: handle VC_CEC_LOGICAL_ADDR_LOST in the rpi communication class itself, don't try to re-register the client, as it will lead to problem (such as a deadlock when the vid of the tv isn't known). closes #41. closes #34
cec: fixed - ensure that the vendor commands are always sent for panasonic, and that the deck status for lg isn't reset. fixes some buttons not working after a second or delayed source switch
cec: wait until the commandhandler is replaced before registering a client, so we don't register a client and replace it directly afterwards if the tv doesn't support the device type
p8: match to the response provided by the firmware when checking responses (added in firmware v2 rev6). do delayed eeprom writes async, not in process, or it'll block processing of other input
Lars Op den Kamp [Wed, 25 Jul 2012 09:32:15 +0000 (11:32 +0200)]
p8: fixed - updated the cached device type setting properly when persisting new settings. correct return value from WriteEEPROM(). lock a mutex when updating the state
LibCecSharp: fixed - set the primary LA in CecLogicalAddresses
added GetLibInfo()/cec_get_lib_info() to the interface, that shows how libCEC was compiled and with which features included. added cec-client -i / cec-client --info
added ToString(cec_user_control_code_key) to the interface
added cecVersion to libcec_configuration, that configures the spec version that libCEC will use for devices it controls. defaults to v1.4
header cleanups, cleaned locks around callbacks, added CAdapterFactory, to create IAdapterCommunication instances, added --debug, --enable-optimisation
fixed: disallow sending CEC_OPCODE_SET_STREAM_PATH - not allowed by the CEC spec
fixed: when an image view source message was received from another device, then libCEC incorrectly marked that device as active source internally.
fixed: persist the configuration in the eeprom after initialising the client. fixes wrong/old settings being used in autonomous mode, which broke the wake on cec funtion
fixed: don't use a CTryLockObject in ReplaceHandler, but a standard lock and wait
fixed: unregister a registered client in RegisterClient() before requesting the vendorid, so the device members get reset. don't call ReplaceHander() another time, since GetVendorId() already doe$
fixed: don't try to write to the eeprom more than once within 30 seconds, and schedule another write if more than one change came in within the 30 seconds
Lars Op den Kamp [Tue, 26 Jun 2012 23:45:24 +0000 (01:45 +0200)]
cec: fixed - copy the class member values of the old handler when creating a new command handler, or a delayed activate source will get lost when the handler is switched
Lars Op den Kamp [Tue, 26 Jun 2012 19:48:48 +0000 (21:48 +0200)]
fixed: XBMC Eden for Windows has been built against 1.2.0 and Ubuntu against 1.5.2. We accidently broke the abi between these versions, and this will ensure the upgrade will still work for new users that just install a libCEC upgrade. users that are already using our repository will get a clean build of XBMC, built against the latest libCEC, so this won't cause any problems for them
Lars Op den Kamp [Mon, 25 Jun 2012 09:50:42 +0000 (11:50 +0200)]
cec: fixed - commands that were forwarded to clients used the source address of the message instead of destination address when searching for clients. changed so all directly addressed and broadcast command are forwarded to the correct client
Lars Op den Kamp [Sat, 23 Jun 2012 08:12:38 +0000 (10:12 +0200)]
added a callback for clients that is called when a source is (de)activated, so the client can respond to this action, e.g. by starting a media player application
Lars Op den Kamp [Thu, 21 Jun 2012 10:28:03 +0000 (12:28 +0200)]
cec: removed dupe code around delayed activate source commands. check for delayed active source commands every 5 seconds instead of 15 seconds. fixed delayed source switch for panasonic
Lars Op den Kamp [Thu, 21 Jun 2012 09:25:58 +0000 (11:25 +0200)]
cec: reset m_bPowerUpEventReceived in CVLCommandHandler when the device lets us know it went into standby mode. fixes possibly failed active source switches after it succeeded once
Lars Op den Kamp [Thu, 21 Jun 2012 09:16:32 +0000 (11:16 +0200)]
cec: get the cached power status of a device in CVLCommandHandler::PowerUpEventReceived() instead of the current one, or it might send a CEC command to a device which is expecting a reply to another command
Lars Op den Kamp [Tue, 19 Jun 2012 20:32:43 +0000 (22:32 +0200)]
cec: changed all Handle...() commands to return a cec_abort_reason and send the correct abort reason to the initiator as a response to directly addressed messages
Lars Op den Kamp [Tue, 19 Jun 2012 15:19:53 +0000 (17:19 +0200)]
cec: fixed - get the current power status of the TV when activating the source on panasonic, not the cached power status. fixes active source messages not being sent, or being delayed
Lars Op den Kamp [Sun, 10 Jun 2012 10:42:41 +0000 (12:42 +0200)]
cec: open libcec.so.1 instead of libcec.so in cecloader.h. credits @coling. github issue #30. cosmetics: dlerror() already shows the name of the lib it tried to load. removed dupe log entry
Lars Op den Kamp [Sun, 10 Jun 2012 09:40:37 +0000 (11:40 +0200)]
cec: TransmitImageViewOn() and TransmitActiveSource() always returned true, even if sending the command failed, so the retry for failed source activations was never triggered
Lars Op den Kamp [Sun, 10 Jun 2012 09:14:45 +0000 (11:14 +0200)]
cec: get the vendor id of the TV before allocating logical addresses, so we can determine if the TV supports the requested device type directly. for panasonic, this means that a playback device will be allocated directly, instead of allocating a recording device first and switching to playback device afterwards, which may possibly confuse the tv