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
cec: changed - libcec_configuration.bAutodetectAddress is now read-only, and will be set to 1 by libCEC if the PA was autodetected. changed the order in CCECClient::SetPhysicalAddress() so it first checks whether a PA override is set in libcec_configuration.iPhysicalAddress, then checks whether the address can be detected, and if both failed it'll use the HDMI port + base device setting
Lars Op den Kamp [Thu, 31 May 2012 20:51:38 +0000 (22:51 +0200)]
cec: don't respond with a poll from the broadcast address when receiving in CSLCommandHandler::HandleDeviceVendorId(), but use the primary LA of the client as source instead
Lars Op den Kamp [Wed, 16 May 2012 08:38:00 +0000 (10:38 +0200)]
sync the /debian dir with the one in precise (with a couple of changes), because the package name was changed in debian/ubuntu, and the upgrades we provide weren't pulled because of that. provides a transitional libcec -> libcec1 package