Lars Op den Kamp [Wed, 5 Sep 2012 12:13:16 +0000 (14:13 +0200)]
extract logical address assignment from CCECProcessor::RegisterClient()
Josef Fruehwirth [Sat, 18 Aug 2012 12:07:04 +0000 (14:07 +0200)]
Retry m_port->Read(..) if an EINTR errror occurs instead of closing the connection. closes #38
Lars Op den Kamp [Wed, 5 Sep 2012 09:26:35 +0000 (11:26 +0200)]
rpi: handle vendor specific remote control presses. closes #42
Lars Op den Kamp [Wed, 5 Sep 2012 09:15:09 +0000 (11:15 +0200)]
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
Lars Op den Kamp [Mon, 3 Sep 2012 15:26:04 +0000 (17:26 +0200)]
rpi: handle VC_CEC_LOGICAL_ADDR_LOST. re-register the client when this happens, so a new LA is assigned
Lars Op den Kamp [Mon, 3 Sep 2012 15:18:30 +0000 (17:18 +0200)]
added HandleLogicalAddressLost() callback to IAdapterCommunication
Lars Op den Kamp [Fri, 31 Aug 2012 11:19:34 +0000 (13:19 +0200)]
updated driver installer
Lars Op den Kamp [Fri, 31 Aug 2012 11:12:56 +0000 (13:12 +0200)]
fixed duplicate entries check in CUSBCECAdapterDetection. cosmetics
Lars Op den Kamp [Thu, 30 Aug 2012 18:06:36 +0000 (20:06 +0200)]
added device detection support for composite usb devices on windows. needs the windows ddk, and it's expected to be found in C:\WinDDK\7600.16385.1
Lars Op den Kamp [Wed, 29 Aug 2012 12:35:41 +0000 (14:35 +0200)]
updated windows driver inf
Lars Op den Kamp [Wed, 29 Aug 2012 11:36:24 +0000 (13:36 +0200)]
only match one interface, not all three when detecting devices on linux and darwin
Lars Op den Kamp [Wed, 29 Aug 2012 11:31:16 +0000 (13:31 +0200)]
also match to pid 0x1002 in CUSBCECAdapterDetection
Lars Op den Kamp [Wed, 29 Aug 2012 10:27:12 +0000 (12:27 +0200)]
restrict the cdc part in the driver inf file to interface 0 for pid 0x1002
Lars Op den Kamp [Fri, 10 Aug 2012 08:55:48 +0000 (10:55 +0200)]
added the type of adapter to libcec_configuration, and display the type in cec-client -l. fixed missing cec_version updates in libcec_configuration
Lars Op den Kamp [Fri, 10 Aug 2012 08:10:16 +0000 (10:10 +0200)]
moved cec_adapter_messagecode from cectypes.h to USBCECAdapterMessage.h
Lars Op den Kamp [Fri, 3 Aug 2012 00:50:27 +0000 (02:50 +0200)]
win32: fixed signed/unsigned warning
Lars Op den Kamp [Fri, 3 Aug 2012 00:28:40 +0000 (02:28 +0200)]
bumped version numbers to 1.8.1, updated changelog
Lars Op den Kamp [Thu, 2 Aug 2012 23:35:54 +0000 (01:35 +0200)]
windows: update the error message when an error occurs while writing to the serial port
Lars Op den Kamp [Thu, 2 Aug 2012 17:26:23 +0000 (19:26 +0200)]
fixed - deleted a couple of lines too many in
045b2e29de7d187e8586fa3f6b59b9c6470efd31
Lars Op den Kamp [Thu, 2 Aug 2012 17:22:20 +0000 (19:22 +0200)]
cec: fixed - null ptr deref after 'cec-client -l'
Lars Op den Kamp [Thu, 2 Aug 2012 17:14:18 +0000 (19:14 +0200)]
cec: fixed - delayed source switch time was reset, resulting in an attempt every second until it succeeded
Lars Op den Kamp [Thu, 2 Aug 2012 16:57:53 +0000 (18:57 +0200)]
p8: don't disable controlled mode when switching to monitoring mode
Lars Op den Kamp [Thu, 2 Aug 2012 16:26:20 +0000 (18:26 +0200)]
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
Lars Op den Kamp [Thu, 2 Aug 2012 15:47:51 +0000 (17:47 +0200)]
cec: added guard so ReplaceHandler() doesn't accidently try to replace a handler for the broadcast address
Lars Op den Kamp [Thu, 2 Aug 2012 15:47:09 +0000 (17:47 +0200)]
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
Lars Op den Kamp [Thu, 2 Aug 2012 15:19:56 +0000 (17:19 +0200)]
cec: ensure that the command handler of the tv is replaced before registering a client, or it might result in a double eeprom write attempt
Lars Op den Kamp [Thu, 2 Aug 2012 10:11:05 +0000 (12:11 +0200)]
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 [Fri, 27 Jul 2012 15:14:35 +0000 (17:14 +0200)]
p8: updated 'last firmware date' version so users see a popup when not using the latest version
Lars Op den Kamp [Wed, 25 Jul 2012 11:04:12 +0000 (13:04 +0200)]
added support for the Raspberry Pi. this needs a recent firmware for the Pi. libCEC's configure script will check whether the version is correct
Lars Op den Kamp [Wed, 25 Jul 2012 11:06:23 +0000 (13:06 +0200)]
updated changelog (release)
Lars Op den Kamp [Wed, 25 Jul 2012 10:33:07 +0000 (12:33 +0200)]
updated README with a link to the FAQ page
Lars Op den Kamp [Wed, 25 Jul 2012 10:24:19 +0000 (12:24 +0200)]
sync LibCecSharp
Lars Op den Kamp [Wed, 25 Jul 2012 10:03:44 +0000 (12:03 +0200)]
fixed typo in CUSBCECAdapterCommunication
Lars Op den Kamp [Wed, 25 Jul 2012 09:45:15 +0000 (11:45 +0200)]
p8: fixed - always set controlled mode to false when unregistering the last client. fixes 30 second timeout before controlled mode gets deactivated
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
Lars Op den Kamp [Tue, 3 Jul 2012 08:34:17 +0000 (10:34 +0200)]
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 [Wed, 27 Jun 2012 17:01:10 +0000 (19:01 +0200)]
fix OS-X build
Lars Op den Kamp [Wed, 27 Jun 2012 08:30:25 +0000 (10:30 +0200)]
Merge branch 'development'
Lars Op den Kamp [Wed, 27 Jun 2012 00:06:07 +0000 (02:06 +0200)]
updated changelog
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 23:43:58 +0000 (01:43 +0200)]
cec: replace the handler directly after getting the vendor id of a device when registering a client
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 [Tue, 26 Jun 2012 16:37:19 +0000 (18:37 +0200)]
updated changelog
Lars Op den Kamp [Tue, 26 Jun 2012 11:28:44 +0000 (13:28 +0200)]
cec: abi fixes (binary compat with v1.2)
Lars Op den Kamp [Tue, 26 Jun 2012 09:12:25 +0000 (11:12 +0200)]
cec: fixed - old client versions didn't always provide a valid physical address in the constructor
Lars Op den Kamp [Tue, 26 Jun 2012 08:21:22 +0000 (10:21 +0200)]
cec: corrected Vizio's vendor id
Lars Op den Kamp [Mon, 25 Jun 2012 23:18:03 +0000 (01:18 +0200)]
cec: added vendor ids for Akai, AOC, Benq, Daewoo, Grundig, Medion, Sharp and Vizio
Lars Op den Kamp [Mon, 25 Jun 2012 14:48:18 +0000 (16:48 +0200)]
cec: mark the tv as powered up for panasonic once it sends the audiomode request
Lars Op den Kamp [Mon, 25 Jun 2012 11:02:21 +0000 (13:02 +0200)]
updated changelog
Lars Op den Kamp [Mon, 25 Jun 2012 10:05:52 +0000 (12:05 +0200)]
cec: don't forward the standby opcode more than once every 10 seconds
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 [Mon, 25 Jun 2012 09:18:58 +0000 (11:18 +0200)]
fixed unused var warning
Lars Op den Kamp [Sun, 24 Jun 2012 07:58:06 +0000 (09:58 +0200)]
updated changelog
Lars Op den Kamp [Sat, 23 Jun 2012 14:23:47 +0000 (16:23 +0200)]
LibCecSharp: better handling of callbacks
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 [Fri, 22 Jun 2012 17:51:15 +0000 (19:51 +0200)]
cec: fixed - windows could get stuck in a loop in case there an error occured while reading registry entries
Lars Op den Kamp [Fri, 22 Jun 2012 10:42:15 +0000 (12:42 +0200)]
cec: fixed missing param
Lars Op den Kamp [Fri, 22 Jun 2012 10:28:34 +0000 (12:28 +0200)]
cec: fixed - set the physical address of each device controlled by a CCECClient if it's valid
Lars Op den Kamp [Fri, 22 Jun 2012 10:10:41 +0000 (12:10 +0200)]
LibCecSharp: bump client versions to 1.7.1
Lars Op den Kamp [Fri, 22 Jun 2012 10:10:13 +0000 (12:10 +0200)]
LibCecSharp: update the local configuration after connecting
Lars Op den Kamp [Fri, 22 Jun 2012 10:09:29 +0000 (12:09 +0200)]
LibCecSharp: added missing client and server version 1.7.1
Lars Op den Kamp [Thu, 21 Jun 2012 15:35:38 +0000 (17:35 +0200)]
pin libcec to the same version as libcec1
Lars Op den Kamp [Thu, 21 Jun 2012 14:34:38 +0000 (16:34 +0200)]
fixed compiler warning in CCECCommandHandler
Lars Op den Kamp [Thu, 21 Jun 2012 14:07:28 +0000 (16:07 +0200)]
updated changelog for 1.7.1 and bumped remaining version numbers
Lars Op den Kamp [Thu, 21 Jun 2012 13:39:08 +0000 (15:39 +0200)]
Makefile cleanups. don't link cec-client and cec-config against libudev and liblockdev
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:22:27 +0000 (11:22 +0200)]
cec: set the power status of a device to 'powered on' after it sends a stream path change. can save an unneeded power state update request
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 [Thu, 21 Jun 2012 08:58:10 +0000 (10:58 +0200)]
cec: don't send active source commands when the physical address is invalid or unknown
Lars Op den Kamp [Wed, 20 Jun 2012 13:40:23 +0000 (15:40 +0200)]
cec: bump interface version numbers to 1.7.1
Lars Op den Kamp [Wed, 20 Jun 2012 13:33:36 +0000 (15:33 +0200)]
cec: added a vendor command for panasonic that will enable routing of some more buttons on the remote (guide, text, ...)
Lars Op den Kamp [Wed, 20 Jun 2012 13:32:46 +0000 (15:32 +0200)]
cec: reply with abort reason 'invalid operand' to vendor commands that we don't understand
Lars Op den Kamp [Wed, 20 Jun 2012 13:31:46 +0000 (15:31 +0200)]
cec: added cec_command::PushArray()
Lars Op den Kamp [Wed, 20 Jun 2012 09:38:27 +0000 (11:38 +0200)]
cec-client: don't display debug output by default in 'cec-client -l'
Lars Op den Kamp [Wed, 20 Jun 2012 09:30:18 +0000 (11:30 +0200)]
changed 'couldn't change the ackmask: the connection is closed' into a debug message
Lars Op den Kamp [Wed, 20 Jun 2012 09:28:00 +0000 (11:28 +0200)]
silence 'unused' warnings
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 18:54:35 +0000 (20:54 +0200)]
cec: fixed - send a feature abort as reply to vendor commands
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 [Tue, 19 Jun 2012 14:59:43 +0000 (16:59 +0200)]
cec-client: fixed - wrong client version
Lars Op den Kamp [Tue, 19 Jun 2012 14:59:12 +0000 (16:59 +0200)]
cec: fixed missing virtual keyword in CCECCommandHandler::GetReplacementDeviceType(). replace the handler (if needed) in GetHandler()
Lars Op den Kamp [Wed, 13 Jun 2012 08:02:01 +0000 (10:02 +0200)]
cec: display a warning message if libCEC was not compiled with adapter detection for the target platform
Lars Op den Kamp [Mon, 11 Jun 2012 13:30:12 +0000 (15:30 +0200)]
Merge branch 'development'
Lars Op den Kamp [Sun, 10 Jun 2012 11:40:25 +0000 (13:40 +0200)]
updated changelog
Lars Op den Kamp [Sun, 10 Jun 2012 11:34:08 +0000 (13:34 +0200)]
cec: fixed missing firmware version and build date in cec-client -l / GetDeviceInformation()
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:45:09 +0000 (11:45 +0200)]
updated changelog
Lars Op den Kamp [Sun, 10 Jun 2012 09:42:55 +0000 (11:42 +0200)]
debian: build source v1 packages to simplify test builds
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
Lars Op den Kamp [Tue, 5 Jun 2012 09:55:07 +0000 (11:55 +0200)]
cec: don't respond with a feature abort to opcode play messages. bugzid: 873
Lars Op den Kamp [Mon, 4 Jun 2012 08:58:50 +0000 (10:58 +0200)]
updated README
Lars Op den Kamp [Mon, 4 Jun 2012 08:49:23 +0000 (10:49 +0200)]
cec: also send a menu state update when activating the source in CVLCommandHandler. should fix keypress routing for panasonic
Lars Op den Kamp [Mon, 4 Jun 2012 08:35:28 +0000 (10:35 +0200)]
bump version numbers to 1.7.0 and updated changelog
Lars Op den Kamp [Mon, 4 Jun 2012 08:16:29 +0000 (10:16 +0200)]
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 [Mon, 4 Jun 2012 07:38:31 +0000 (09:38 +0200)]
cec: attempt to get the edid from nvidia's driver on linux via /proc/acpi/video/NGFX/HDMI/EDID
Lars Op den Kamp [Fri, 1 Jun 2012 16:01:16 +0000 (18:01 +0200)]
cec: added PA detection via ADL for AMD, and attempt to get the PA from the registry on windows if it fails.
Lars Op den Kamp [Fri, 1 Jun 2012 08:29:06 +0000 (10:29 +0200)]
cec-client: only active the source when reconnecting if libcec was the active source before closing the connection
Lars Op den Kamp [Fri, 1 Jun 2012 08:27:37 +0000 (10:27 +0200)]
cec: don't unregister clients in CLibCEC when disconnecting, but only in CCECProcessor. fixes reconnect after close