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
Lars Op den Kamp [Sun, 9 Oct 2011 09:42:14 +0000 (11:42 +0200)]
cec: moved some logic to the cec_packet struct. fix package output
Lars Op den Kamp [Sun, 9 Oct 2011 08:47:45 +0000 (10:47 +0200)]
cec: split up buffer and comm mutex again in CAdapterCommunication
davilla [Sun, 9 Oct 2011 02:31:09 +0000 (22:31 -0400)]
enable darwin support
davilla [Sun, 9 Oct 2011 02:30:29 +0000 (22:30 -0400)]
add darwin support
davilla [Sun, 9 Oct 2011 02:27:11 +0000 (22:27 -0400)]
fixed, classes with virtual methods must have a virtual destructor
Lars Op den Kamp [Sat, 8 Oct 2011 18:29:36 +0000 (20:29 +0200)]
Revert "cec: fix timeout"
This reverts commit
48787f390d45671622aa74a05a9235a08577345d.
Lars Op den Kamp [Sat, 8 Oct 2011 18:22:59 +0000 (20:22 +0200)]
cec: fix timeout
Lars Op den Kamp [Sat, 8 Oct 2011 16:43:02 +0000 (18:43 +0200)]
cec: only report the menu state when the parameter is CEC_MENU_REQUEST_TYPE_QUERY
Lars Op den Kamp [Sat, 8 Oct 2011 16:30:12 +0000 (18:30 +0200)]
cec: fix wait for ack
Lars Op den Kamp [Sat, 8 Oct 2011 15:44:34 +0000 (17:44 +0200)]
cec: send abort message when receiving opcode deck status
Lars Op den Kamp [Sat, 8 Oct 2011 15:39:14 +0000 (17:39 +0200)]
cec: log message cosmetics
Lars Op den Kamp [Sat, 8 Oct 2011 15:36:04 +0000 (17:36 +0200)]
cec: parse and store the vendor id and device class of devices. only the vendor ID of Samsung (240) is currently detected.
Lars Op den Kamp [Sat, 8 Oct 2011 15:34:23 +0000 (17:34 +0200)]
cec: fix possible deadlock when starting a new thread
Lars Op den Kamp [Sat, 8 Oct 2011 10:36:05 +0000 (12:36 +0200)]
cec: retransmit if needed. wait long enough for an ack message
Lars Op den Kamp [Sat, 8 Oct 2011 10:16:06 +0000 (12:16 +0200)]
cec: add 'on' and 'standby' command to the test client
Lars Op den Kamp [Sat, 8 Oct 2011 09:52:27 +0000 (11:52 +0200)]
cec: show the opcode as hex instead of decimal in the log when storing a command in the buffer
Lars Op den Kamp [Sat, 8 Oct 2011 09:29:52 +0000 (11:29 +0200)]
cec: fix GetTimeMs() on linux. add time in ms since startup to log messages
Lars Op den Kamp [Sat, 8 Oct 2011 08:53:07 +0000 (10:53 +0200)]
cec: don't stop waiting for MSGCODE_COMMAND_ACCEPTED when another command was received
Lars Op den Kamp [Sat, 8 Oct 2011 01:25:59 +0000 (03:25 +0200)]
Merge branch 'master' into release
Lars Op den Kamp [Sat, 8 Oct 2011 01:25:37 +0000 (03:25 +0200)]
fixed changelog version number
Lars Op den Kamp [Sat, 8 Oct 2011 01:22:15 +0000 (03:22 +0200)]
Merge branch 'master' into release
Lars Op den Kamp [Sat, 8 Oct 2011 01:17:16 +0000 (03:17 +0200)]
cec: shorter lock times. copy currentframe while locked before processing it
Lars Op den Kamp [Sat, 8 Oct 2011 00:54:11 +0000 (02:54 +0200)]
cec: clear the input buffer when parsing