Lars Op den Kamp [Sun, 30 Oct 2011 16:36:06 +0000 (17:36 +0100)]
cec: fixed - ensure that the ackmask is set
Lars Op den Kamp [Sun, 30 Oct 2011 16:13:01 +0000 (17:13 +0100)]
cec: added some guards
Lars Op den Kamp [Sun, 30 Oct 2011 15:21:04 +0000 (16:21 +0100)]
win32: fix build
Lars Op den Kamp [Sun, 30 Oct 2011 15:12:35 +0000 (16:12 +0100)]
win32: fix boost download
Lars Op den Kamp [Sun, 30 Oct 2011 15:04:13 +0000 (16:04 +0100)]
win32: download boost deps from xbmc.org
Lars Op den Kamp [Sun, 30 Oct 2011 14:31:29 +0000 (15:31 +0100)]
cec: check for enable_shared_from_this.hpp
Lars Op den Kamp [Sun, 30 Oct 2011 14:28:39 +0000 (15:28 +0100)]
cec: don't set the physical address to 0
Lars Op den Kamp [Sun, 30 Oct 2011 13:31:22 +0000 (14:31 +0100)]
cec: added GetDevicePowerStatus()/cec_get_device_power_status()
Lars Op den Kamp [Sun, 30 Oct 2011 13:07:55 +0000 (14:07 +0100)]
cec: added GetDeviceVendorId()/cec_get_device_vendor_id()
Lars Op den Kamp [Sun, 30 Oct 2011 12:31:39 +0000 (13:31 +0100)]
cec: store all commands in the command buffer, so they can be processed by libcec clients
Lars Op den Kamp [Sun, 30 Oct 2011 12:26:37 +0000 (13:26 +0100)]
cec: added GetDeviceMenuLanguage()/cec_get_device_menu_language()
Lars Op den Kamp [Sun, 30 Oct 2011 11:31:27 +0000 (12:31 +0100)]
cec: add GetDeviceCecVersion()/cec_get_device_cec_version() to the interface. mostly as a test for two-way device communication
Lars Op den Kamp [Sun, 30 Oct 2011 10:31:29 +0000 (11:31 +0100)]
cec: fixed - wait for ack while keeping a lock
Lars Op den Kamp [Sun, 30 Oct 2011 10:28:39 +0000 (11:28 +0100)]
cec: fixed - wait for the processor thread to start before continueing
Lars Op den Kamp [Sun, 30 Oct 2011 10:22:11 +0000 (11:22 +0100)]
cec: set the correct ackmask on startup
Lars Op den Kamp [Sun, 30 Oct 2011 09:44:17 +0000 (10:44 +0100)]
cec: include the ack timeout in the cec_command struct
Lars Op den Kamp [Sun, 30 Oct 2011 09:34:36 +0000 (10:34 +0100)]
cec: set a message state in CCECAdapterMessage and check this state after sending a command, so we catch failed writes again
Lars Op den Kamp [Sun, 30 Oct 2011 09:29:19 +0000 (10:29 +0100)]
cec: wait for messages to be transmitted before continueing in CCECProcessor::Transmit()
Lars Op den Kamp [Sun, 30 Oct 2011 09:25:06 +0000 (10:25 +0100)]
cec: made = operator private for CCECAdapterMessage. these should not be copied
Lars Op den Kamp [Sun, 30 Oct 2011 09:21:59 +0000 (10:21 +0100)]
cec: store CCECAdapterMessagePtr in the framebuffer
Lars Op den Kamp [Sun, 30 Oct 2011 09:01:29 +0000 (10:01 +0100)]
cec: fixed - mutex in CAdapterCommunication::Close() and CAdapterCommunication::Open()
Lars Op den Kamp [Sun, 30 Oct 2011 00:03:34 +0000 (02:03 +0200)]
cec: process buffered messages too
Lars Op den Kamp [Sat, 29 Oct 2011 23:18:35 +0000 (01:18 +0200)]
cec: use boost::shared_ptr for messages
Lars Op den Kamp [Sat, 29 Oct 2011 21:31:50 +0000 (23:31 +0200)]
cosmetics
Lars Op den Kamp [Sat, 29 Oct 2011 21:25:21 +0000 (23:25 +0200)]
cec: only set the logical address once when it hasn't changed
Lars Op den Kamp [Sat, 29 Oct 2011 21:07:37 +0000 (23:07 +0200)]
cec: dropped second mutex in CAdapterCommunication. it's all called from 1 thread now
Lars Op den Kamp [Sat, 29 Oct 2011 15:26:29 +0000 (17:26 +0200)]
cec: simplified WaitForAck() call. no longer needs to be in a while loop
Lars Op den Kamp [Sat, 29 Oct 2011 15:22:43 +0000 (17:22 +0200)]
cec: removed TransmitFormatted()
Lars Op den Kamp [Sat, 29 Oct 2011 15:17:35 +0000 (17:17 +0200)]
cec: moved cec_adapter_message to CCECAdapterMessage
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 [Sat, 29 Oct 2011 14:34:38 +0000 (16:34 +0200)]
cec: use CecBuffer as input buffer in CAdapterCommunication
Lars Op den Kamp [Fri, 28 Oct 2011 23:30:09 +0000 (01:30 +0200)]
cec: split up WaitForAck() and ParseMessage(). currently has a bit of dupe logging code
Lars Op den Kamp [Fri, 28 Oct 2011 22:45:35 +0000 (00:45 +0200)]
cec: fixed - use the correct source device for broadcasts
Lars Op den Kamp [Fri, 28 Oct 2011 22:00:54 +0000 (00:00 +0200)]
cec: wait a bit longer to clear previous input
Lars Op den Kamp [Fri, 28 Oct 2011 09:37:06 +0000 (11:37 +0200)]
cec: fixed - correct source for broadcast messages
Lars Op den Kamp [Fri, 28 Oct 2011 09:32:01 +0000 (11:32 +0200)]
win32: sync visual studio project files
Lars Op den Kamp [Fri, 28 Oct 2011 09:16:57 +0000 (11:16 +0200)]
cec: moved device specific logic from CCECProcessor to CCECBusDevice
Lars Op den Kamp [Fri, 28 Oct 2011 07:59:20 +0000 (09:59 +0200)]
cec: moved CECBusDevice.cpp to devices/CECBusDevice.cpp
Lars Op den Kamp [Fri, 28 Oct 2011 07:53:46 +0000 (09:53 +0200)]
cec: set the physical address in CCECBusDevice
Lars Op den Kamp [Fri, 28 Oct 2011 00:05:39 +0000 (02:05 +0200)]
cec: add -la and --logical-address to the command line params
Lars Op den Kamp [Thu, 27 Oct 2011 23:41:30 +0000 (01:41 +0200)]
cec: added -d and --log-level params to cec-client
Lars Op den Kamp [Thu, 27 Oct 2011 23:34:31 +0000 (01:34 +0200)]
cec: cleaned up command line param parsing
Lars Op den Kamp [Thu, 27 Oct 2011 23:16:46 +0000 (01:16 +0200)]
cec: added -sf and --short-log-file, which only log the actual messages, not the level and timestamp
Lars Op den Kamp [Thu, 27 Oct 2011 22:58:29 +0000 (00:58 +0200)]
cec: added -f and --log-file parameters to cec-client
Lars Op den Kamp [Thu, 27 Oct 2011 22:15:40 +0000 (00:15 +0200)]
cec: added option to change the log level to cec-client
Lars Op den Kamp [Thu, 27 Oct 2011 22:04:30 +0000 (00:04 +0200)]
cec: make CEC_LOG levels powers of 2
Lars Op den Kamp [Thu, 27 Oct 2011 22:00:39 +0000 (00:00 +0200)]
cec: introduced CEC_LOG_TRAFFIC log level and log all traffic in that level
Lars Op den Kamp [Thu, 27 Oct 2011 18:11:26 +0000 (20:11 +0200)]
cec: fixed - c+p'd copyright contained #pragma once
Lars Op den Kamp [Thu, 27 Oct 2011 18:10:52 +0000 (20:10 +0200)]
cec: fixed vendorid. it should be uint64_t after all :)
Lars Op den Kamp [Thu, 27 Oct 2011 17:51:57 +0000 (19:51 +0200)]
win32: sync visual studio project file. use uint32_t instead of uint64_t for the vendor id
Lars Op den Kamp [Wed, 26 Oct 2011 23:32:31 +0000 (01:32 +0200)]
cec: poll for a vendor id when an active device is detected on a logical addres, the vendor id is unknown and it's been inactive for 5 seconds.
Lars Op den Kamp [Wed, 26 Oct 2011 23:10:01 +0000 (01:10 +0200)]
cec: moved CEC handlers to implementations/
Lars Op den Kamp [Wed, 26 Oct 2011 23:02:38 +0000 (01:02 +0200)]
cec: fixed crash on exit after the last commit.
Lars Op den Kamp [Wed, 26 Oct 2011 22:59:40 +0000 (00:59 +0200)]
cec: refactor CEC command handling. split up standard and non-standard CEC implementations.
Lars Op den Kamp [Wed, 26 Oct 2011 19:48:10 +0000 (21:48 +0200)]
cec: also parse the vendor id if it's sent to the broadcast address
Lars Op den Kamp [Tue, 25 Oct 2011 23:26:52 +0000 (01:26 +0200)]
cec: handle samsung remote command 'return'
Lars Op den Kamp [Tue, 25 Oct 2011 23:14:24 +0000 (01:14 +0200)]
cec: fixed - log the parameter too when there's only 1
Lars Op den Kamp [Tue, 25 Oct 2011 23:04:37 +0000 (01:04 +0200)]
cec: fixed - break break break
Lars Op den Kamp [Tue, 25 Oct 2011 22:59:59 +0000 (00:59 +0200)]
cec: changed log format of transmitted commands
Lars Op den Kamp [Tue, 25 Oct 2011 22:59:09 +0000 (00:59 +0200)]
cec: added hooks for vendor specific cec handling for LG and Samsung
Lars Op den Kamp [Tue, 25 Oct 2011 22:35:06 +0000 (00:35 +0200)]
cec: added vendor id detection for LG. changed vendorid display to hex
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 [Tue, 25 Oct 2011 19:35:03 +0000 (21:35 +0200)]
cec: changed format of the log message with the frames that were received
Lars Op den Kamp [Tue, 25 Oct 2011 17:47:00 +0000 (19:47 +0200)]
cec: store the vendor ID when it's sent via CEC_OPCODE_DEVICE_VENDOR_ID. don't respond to CEC_OPCODE_VENDOR_COMMAND_WITH_ID with an abort command
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
Lars Op den Kamp [Fri, 14 Oct 2011 15:34:41 +0000 (17:34 +0200)]
added changelog for v0.7
Lars Op den Kamp [Fri, 14 Oct 2011 14:17:08 +0000 (16:17 +0200)]
cec: send a keypress with 0 duration when a key is pressed and with a duration set when it's released
Lars Op den Kamp [Fri, 14 Oct 2011 13:59:27 +0000 (15:59 +0200)]
cec: add SetOSDString() to the interface (not supported by all tvs)
Lars Op den Kamp [Fri, 14 Oct 2011 10:52:30 +0000 (12:52 +0200)]
cec: 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
Lars Op den Kamp [Fri, 14 Oct 2011 10:22:15 +0000 (12:22 +0200)]
cec: log keypresses in the debug log
Lars Op den Kamp [Fri, 14 Oct 2011 09:15:10 +0000 (11:15 +0200)]
cec: added 'pa' command to cec-client, to change the physical address
Lars Op den Kamp [Fri, 14 Oct 2011 09:06:24 +0000 (11:06 +0200)]
cec: add SetPhysicalAddress()/cec_set_physical_address() to the interface, so the HDMI port number to use can be changed
Lars Op den Kamp [Fri, 14 Oct 2011 08:51:29 +0000 (10:51 +0200)]
cec: put the message processing code from WaitForAck() in ParseMessage(). fixes missing incoming message logging of non-data messages when not waiting for an ACK
Lars Op den Kamp [Fri, 14 Oct 2011 08:21:17 +0000 (10:21 +0200)]
cec: add 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK before returning
Lars Op den Kamp [Fri, 14 Oct 2011 08:13:10 +0000 (10:13 +0200)]
cec: set initiator and destination first in cec_command::push_back(). fixes 'tx' command in cec-client
Lars Op den Kamp [Fri, 14 Oct 2011 00:23:11 +0000 (02:23 +0200)]
cec: 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
Lars Op den Kamp [Fri, 14 Oct 2011 00:10:39 +0000 (02:10 +0200)]
cec: don't call SetActiveView() when reporting the power status. fixes loop which causes some TVs to report failed connections
Lars Op den Kamp [Thu, 13 Oct 2011 23:59:46 +0000 (01:59 +0200)]
cec: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed. thanks again bob :-)
Lars Op den Kamp [Thu, 13 Oct 2011 23:38:29 +0000 (01:38 +0200)]
cec: add the device type as parameter when sending the physical address. thanks bobo1on1
Lars Op den Kamp [Thu, 13 Oct 2011 22:57:24 +0000 (00:57 +0200)]
cec: fixed typo in libcec.pc.in
Lars Op den Kamp [Thu, 13 Oct 2011 22:09:37 +0000 (00:09 +0200)]
cec: add optional strLib parameter to LoadLibCec(), so the location of the shared library can be specified
Lars Op den Kamp [Thu, 13 Oct 2011 21:24:00 +0000 (23:24 +0200)]
win32: also sync release target of the visual studio project file
Lars Op den Kamp [Thu, 13 Oct 2011 21:11:33 +0000 (23:11 +0200)]
cec: only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
Lars Op den Kamp [Thu, 13 Oct 2011 18:25:50 +0000 (20:25 +0200)]
cec: use int instead of bool on the public C interface and remove stdbool.h include
Lars Op den Kamp [Thu, 13 Oct 2011 17:52:34 +0000 (19:52 +0200)]
win32: sync visual studio project files. fixed: accidently included windows.h within a namespace tag; don't include stdbool.h on windows
davilla [Thu, 13 Oct 2011 06:39:48 +0000 (02:39 -0400)]
fixed darwin lib name
Lars Op den Kamp [Wed, 12 Oct 2011 22:27:38 +0000 (00:27 +0200)]
renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h => cecloader.h, CECTypes.h => cectypes.h
Lars Op den Kamp [Wed, 12 Oct 2011 21:07:16 +0000 (23:07 +0200)]
updated debian package. split up libcec and libcec-dev
Lars Op den Kamp [Wed, 12 Oct 2011 19:10:17 +0000 (21:10 +0200)]
cec: changed to use dlopen instead of static linkage. shuffled headers a bit. bumped interface to version 7
Lars Op den Kamp [Tue, 11 Oct 2011 23:08:29 +0000 (01:08 +0200)]
removed 'rt' from libraries. it's not needed (anymore)
Lars Op den Kamp [Tue, 11 Oct 2011 23:02:37 +0000 (01:02 +0200)]
cec: reset the active view after a routing change. issue #1
Lars Op den Kamp [Tue, 11 Oct 2011 22:46:45 +0000 (00:46 +0200)]
CEC_SETTLE_DOWN_TIME 1000->1500. fixes 'permission denied' when accessing the adapter right after inserting it
Martin Ellis [Tue, 11 Oct 2011 20:03:37 +0000 (22:03 +0200)]
fixed: changed attached license to be GPLv2 instead of GPLv3 this was an error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
Martin Ellis [Tue, 11 Oct 2011 11:25:43 +0000 (13:25 +0200)]
Added contributors link
Lars Op den Kamp [Sun, 9 Oct 2011 17:31:22 +0000 (19:31 +0200)]
Merge branch 'master' into release
Lars Op den Kamp [Sun, 9 Oct 2011 17:06:37 +0000 (19:06 +0200)]
cec: added installer for windows. requires Visual Studio / Visual C++ 2010, NSIS and WinDDK.
Lars Op den Kamp [Sun, 9 Oct 2011 13:22:44 +0000 (15:22 +0200)]
Merge branch 'master' into release
* bumped interface version to 6
* fixed packet output (reporting the OSD name correctly now)
* refactored packet structs: split up in cec commands and adapter messages
* fixed i/o timings
* added Darwin support (thanks Davilla!)
* fixed WaitForAck()
* fixed possible deadlock when starting a new thread
* implemented vendor id and device class parsing. full detection will follow
* added "on" and "standby" commands to the test client
* retransmit packets if needed
* fix GetTimeMs() on linux
* added timestamp to log messages
Lars Op den Kamp [Sun, 9 Oct 2011 13:15:42 +0000 (15:15 +0200)]
updated changelog for release v0.6. updated lib version numbers
Lars Op den Kamp [Sun, 9 Oct 2011 12:36:27 +0000 (14:36 +0200)]
cec: sync visual studio project files. removed pthreadVC2d.dll / .lib (we're not going to debug pthread). don't return a struct but set the values in a struct passed as a param in cec_command::format().
Lars Op den Kamp [Sun, 9 Oct 2011 10:55:37 +0000 (12:55 +0200)]
cec: more cleanups. split up cec_adapter_message and cec_command. use cec_command over the interface. bump interface version to 6