less debug logging by default
[deb_libcec.git] / ChangeLog
CommitLineData
20fd14a9
LOK
1libcec (2.0.2-1) unstable; urgency=low
2
3 * changed/added:
4 * missing from the previous changelog: added support for the CuBox TDA995x
5 credits: warped-rudi
6 * lower retry timeout for source switches
7 * cec-client: wait for the source switch to finish when cec-client is
8 called with the -s switch
9 * request the power status of the TV directly after registering a new
10 client
11 * fixed:
12 * don't keep trying to send 'image view on' commands to the TV when no TV
13 is connected, and just send the 'set active source' command. fixes source
14 switch and debug log spam for people without a TV connected
15 * don't keep waiting for an updated power status from the TV for Panasonic,
16 but request a status update once every 5 seconds, or we can possibly wait
17 forever for the tv to send it
18 * log what we received exactly when logging FIXME
19 * typo in CVLCommandHandler::VendorPreActivateSourceHook. bugzid: 1087
20 * if we failed to get the physical address of the device that we are
21 connected to in the config, then try to use the address that was
22 persisted in the eeprom before resetting to the default value, 1.0.0.0.
23 closes #50.
24 * don't update the device status of unregistered/broadcast
25 * log all device status changes
26 * CCECClient::IsLibCECActiveSource returns false now while the active
27 source command is pending
28 * log failed acks and other errors in the debug log again
29 * don't send 'image view on' when the TV is already powering up
30 * reset the delayed source switch timeout properly, so we don't spam
31 commands every second
32 * don't change the device status when sending a delayed source switch
33 * don't send out commands to a device that is marked as not present or
34 handled by libCEC
35
36 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 11 Oct 2012 15:48:00 +0100
37
999665e3
LOK
38libcec (2.0.1-1) unstable; urgency=low
39
40 * changed/added:
41 * added Loewe support
42 * added signal handlers to client applications
43 * Documentation updated
a1e112a5 44 * replaced cec-config-gui by libCEC tray
e2f08915 45 * log the exact data for failed transmissions, not the opcode
a1e112a5
LOK
46 * don't log every frame, unless debugging was enabled in ./configure or
47 visual studio
48 * changed some log levels from NOTICE to DEBUG, so the non-debugging output
49 is less spammy
999665e3
LOK
50 * interface changes:
51 * WARNING: breaking API changes
52 * clean up: deprecated methods and fields removed
53 * callback parameters changed to fix plain C compilation
a1e112a5
LOK
54 * added GetAdapterProductId()+GetAdapterVendorId()/
55 cec_get_adapter_product_id()+cec_get_adapter_vendor_id()
3ae8d8d5
LOK
56 * added iDoubleTapTimeoutMs to libcec_configuration
57 * remove all pre-v2.0 compatibility checks
999665e3
LOK
58 * fixed:
59 * fix plain C compilation
e2f08915
LOK
60 * prevent sending directly addressed commands from being sent to broadcast
61 * don't wait for a response when sending a reply, so we don't block message
62 handling
a1e112a5
LOK
63 * message response signaling and logging
64 * prevent double taps by not sending the same key press twice within 200ms
65 * fall back to the primary client when
66 CCECProcessor::HandleLogicalAddressLost() and no client could be found
67 * no more delay up to 2 seconds when exiting libCEC
3ae8d8d5
LOK
68 * don't get caught in a loop in CVLCommandHandler when the source switch
69 was not allowed and no power status request was sent
70 * always send image view on to the tv, don't check the power status
71 * only respond to vendor commands for panasonic if we are the destination
a1e112a5
LOK
72 * rpi: current firmware first sends a change to logical address 'broadcast'
73 and then signals us that the address was lost. libCEC then failed to
74 re-register, because it didn't know any client at this address
999665e3 75
3ae8d8d5 76 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 8 Oct 2012 21:30:00 +0100
999665e3 77
d3fdb5a5
LOK
78libcec (1.9.1-1) unstable; urgency=low
79
80 * changed/added:
81 * added the type of adapter to libcec_configuration,
82 and display the type in cec-client -l
83 * added device detection support for composite usb devices on windows.
84 needs the windows ddk, and it's expected to be found in
85 C:\WinDDK\7600.16385.1
86
87 * interface changes:
88 * adapter type was added to libcec_configuration
89 * moved cec_adapter_messagecode from cectypes.h to USBCECAdapterMessage.h
90
91 * fixed:
92 * retry m_port->Read(..) if an EINTR errror occurs instead of closing the
93 connection. credits @Obruni. closes #38
94 * make cec-client include cecloader.h from our project, not from system
95 * fixed duplicate entries check in CUSBCECAdapterDetection
96 * fixed missing cec_version updates in libcec_configuration
4599ecf0
LOK
97 * transmit an active source message after <set stream path> to a device
98 that's handled by libCEC. closes #43
d3fdb5a5
LOK
99 * rpi: handle vendor specific remote control presses. closes #42
100 * rpi: handle VC_CEC_LOGICAL_ADDR_LOST, sent by the Pi's firmware when
101 the logical address was taken while CEC was being reinitialised
102 * panasonic: send out an active source message when the tv started up
103 because it sometimes doesn't request this
104
105 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 5 Sep 2012 16:54:00 +0100
106
7e316a2f
LOK
107libcec (1.8.2-1) unstable; urgency=low
108
109 * changed/added:
110 * p8: match to the response provided by the firmware when checking
111 responses (added in firmware v2 rev6)
112
113 * fixed:
114 * windows: update the error message when an error occurs while writing to
115 the serial port
116 * delayed source switch time was reset, resulting in an attempt every
117 second until it succeeded
118 * ensure that the vendor commands are always sent for panasonic, and that
119 the deck status for lg isn't reset. fixes some buttons not working after
120 a second or delayed source switch
121 * added guard so ReplaceHandler() doesn't accidently try to replace a
122 handler for the broadcast address
123 * wait until the commandhandler is replaced before registering a client,
124 so we don't register a client and replace it directly afterwards if the
125 tv doesn't support the device type
126 * ensure that the command handler of the tv is replaced before registering
127 a client, or it might result in a double eeprom write attempt
128 * p8: don't disable controlled mode when switching to monitoring mode
129 * p8: do delayed eeprom writes async or it'll block processing other input
130
131 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 3 Aug 2012 02:35:00 +0100
132
2b44051c
LOK
133libcec (1.8.1-1) unstable; urgency=low
134
135 * changed/added:
29104708 136 * added support for the Raspberry Pi.
2b44051c
LOK
137 * added cec-client -i / cec-client --info that calls GetLibInfo()
138 * header cleanups
139 * added CAdapterFactory, to create IAdapterCommunication instances
140 * added --debug to configure, to include -ggdb
141
142 * interface changes:
143 * added GetLibInfo()/cec_get_lib_info(), that shows how libCEC was compiled
144 and with which features included.
145 * added ToString(cec_user_control_code_key) to the interface
146
147 * fixed:
148 * disallow sending CEC_OPCODE_SET_STREAM_PATH - not allowed by the CEC spec
149 * persist the configuration in the eeprom after initialising the client.
150 fixes wrong/old settings being used in autonomous mode, which broke the
151 wake on cec funtion
152 * persist the new configuration when the hdmi port setting changed
153 * cleaned locks around callbacks
033f54dd
LOK
154 * always set controlled mode to false when unregistering the last client.
155 fixes 30 second timeout before controlled mode gets deactivated
156 * updated the cached device type setting properly when persisting new
157 settings. correct return value from WriteEEPROM(). lock a mutex when
158 updating the state
2b44051c
LOK
159 * LibCecSharp: set the primary LA in CecLogicalAddresses
160
033f54dd 161 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 25 Jul 2012 13:05:00 +0100
2b44051c 162
347f7adb
LOK
163libcec (1.7.2-1) unstable; urgency=low
164
165 * changed/added:
166 * display a warning message if libCEC was not compiled with adapter
167 detection for the target platform
168 * panasonic: added a vendor command for panasonic that will enable routing
169 of some more buttons on the remote (guide, text, ...)
f3849e50 170 * standby command won't be forwarded more than once every 10 seconds
57b71640
LOK
171 * added vendor ids for Akai, AOC, Benq, Daewoo, Grundig, Medion, Sharp and
172 Vizio
347f7adb
LOK
173 * cec-client: don't display debug output by default in 'cec-client -l'
174
175 * interface changes:
9d0dd77c
LOK
176 * added a callback for clients that is called when a source is
177 (de)activated, so the client can respond to this action
347f7adb
LOK
178 * added cec_command::PushArray()
179
180 * fixed:
f3849e50 181 * command forwarding. fixes player not going into standby mode
347f7adb
LOK
182 * missing virtual keyword in CCECCommandHandler::
183 GetReplacementDeviceType()
184 * replace the handler (if needed) in GetHandler()
185 * reply with abort reason 'invalid operand' to vendor commands that we
186 don't understand
187 * changed all Handle...() commands to return a cec_abort_reason and send
188 the correct abort reason to the initiator as a response to directly
189 addressed messages
190 * changed 'couldn't change the ackmask: the connection is closed' into a
191 debug message
192 * don't send active source commands when the physical address is invalid or
193 unknown
194 * set the power status of a device to 'powered on' after it sends a stream
195 path change. can save an unneeded power state update request
196 * removed dupe code around delayed activate source commands. check for
197 delayed active source commands every 5 seconds instead of 15 seconds.
198 * panasonic: reset m_bPowerUpEventReceived in CVLCommandHandler when the
199 device lets us know it went into standby mode. fixes possibly failed
200 active source switches after it succeeded once
201 * panasonic: fixed delayed source switch for panasonic
57b71640 202 * panasonic: mark the tv as powered up once it sends the audiomode request
9d0dd77c
LOK
203 * set the physical address of each device controlled by a CCECClient if
204 it's valid
205 * Windows could get stuck in a loop in case there an error occured while
206 reading registry entries
9b77ca0f
LOK
207 * ABI fixes (binary compat with v1.2 for Windows and v1.5.2 for others)
208 * replace the handler directly after getting the vendor id of a device when
209 registering a client
210 * copy the class member values of the old handler when creating a new
211 command handler, or a delayed activate source will get lost when the
212 handler is switched
347f7adb
LOK
213 * cec-client: wrong client version
214 * Makefile cleanups. don't link cec-client and cec-config against libudev
215 and liblockdev
9d0dd77c
LOK
216 * pin libcec to the same version as libcec1
217 * LibCecSharp: update the local configuration after connecting
218 * LibCecSharp: better handling of callbacks
347f7adb 219
9b77ca0f 220 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 27 Jun 2012 02:06:00 +0100
347f7adb 221
0a61dc24
LOK
222libcec (1.7.1-1) unstable; urgency=low
223
224 * changed/added:
225 * added physical address detection via ADL for AMD graphics cards
226 * attempt to get the edid from nvidia's graphics card driver on linux via
227 /proc/acpi/video/NGFX/HDMI/EDID
228 * attempt to get the PA from the registry on windows if we fail to get the
229 physical address from the display driver
230 * changed the order in CCECClient::SetPhysicalAddress() so it first checks
231 whether a PA override is set in libcec_configuration.iPhysicalAddress,
232 then checks whether the address can be detected, and if both failed it'll
233 use the HDMI port + base device setting
234 * cec-client: only active the source when reconnecting if libcec was the
235 active source before closing the connection
236 * platform: added tcp server sockets for posix
237
238 * interface changes:
239 * libcec_configuration.bAutodetectAddress is now read-only, and will be set
240 to 1 by libCEC if the PA was autodetected
241 * LibCecSharp: don't use an int but a CecUserControlCode in a CecKeypress
242
243 * fixed:
244 * don't unregister clients in CLibCEC when disconnecting, but only in
245 CCECProcessor. fixes reconnect after close
246 * MSGCODE_TIMEOUT_ERROR is a response to a transmission
247 * retry 'activate source' every 10 seconds if it failed
248 * don't respond with a poll from the broadcast address when receiving
249 in CSLCommandHandler::HandleDeviceVendorId(), but use the primary LA of
250 the client as source instead
251 * hold a lock when changing the ackmask in
252 CUSBCECAdapterCommunication::Open
75060af4
LOK
253 * don't respond with a feature abort to opcode play messages. bugzid: 873
254 * get the vendor id of the TV before allocating logical addresses, so we
255 can determine if the TV supports the requested device type directly
256 * TransmitImageViewOn() and TransmitActiveSource() always returned true,
257 even if sending the command failed, so the retry for failed source
258 activations was never triggered
e3209cf7
LOK
259 * open libcec.so.1 instead of libcec.so in cecloader.h. credits @coling.
260 github issue #30.
261 * fixed missing firmware version and build date in cec-client -l /
262 GetDeviceInformation()
0a61dc24 263
e3209cf7 264 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 10 Jun 2012 13:39:00 +0100
0a61dc24 265
c605d339 266libcec (1.6.1-5) unstable; urgency=low
d3b96c62 267
c605d339 268 * synced /debian directory with the one in precise (with a couple of changes)
d3b96c62
LOK
269 * changed/added:
270 * serial port locking on linux
271 * cec-client: added -m/--monitor startup options, which will start a
272 monitor-only client. use 'mon 0' to switch to a normal client
273 * display an alert message when the firmware of the adapter can be upgraded
274 * added CEC 1.4 opcodes
275 * send a feature abort again for all unhandled commands
276 * refactored CLibCEC so a client registers itself within CCECProcessor,
277 which then allocates one or more logical addresses for it.
278
279 * interface changes:
280 * added a new setting, bMonitorOnly, which will start a monitor-only client
281
282 * fixed:
283 * ensure that we don't crash out when trying to stop a thread that hasn't
284 been started yet
285 * don't send a 'disconnected' alert when the close method is called
286 * use the correct source when transmitting an abort message as a reposonse
287 to a vendor command with id
288 * removed statics
289 * check the client version, not the server version in
290 libcec_configuration::operator==()
291 * cec-config: fix physical address detection
292 * LibCecSharp: fixed buffer overrun when copying libcec_configuration.
293 fixes crash when trying to save the configuration in the config gui.
294
295 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 14 May 2012 22:39:00 +0100
296
c605d339
LOK
297libcec (1.6.1-2) unstable; urgency=low
298
299 * Build depends on pkg-config. (Closes: #669919)
300 * libudev-dev only optionally needed for Linux.
301
302 -- Andres Mejia <amejia@debian.org> Sat, 21 Apr 2012 19:03:19 -0400
303
304libcec (1.6.1-1) unstable; urgency=low
305
306 [ Mario Limonciello ]
307 * New upstream version (LP: #982272)
308
309 [ Andres Mejia ]
310 * New release fixes build failure with GCC-4.7. (Closes: #667241)
311 * Bump to Standards-Version 3.9.3.
312
313 -- Andres Mejia <amejia@debian.org> Sat, 21 Apr 2012 00:02:08 -0400
314
315libcec (1.3.2-3) unstable; urgency=low
316
317 * Make dpkg-source options default for packaging.
318
319 -- Andres Mejia <amejia@debian.org> Tue, 10 Jan 2012 18:12:57 -0500
320
321libcec (1.3.2-2) unstable; urgency=low
322
323 * Add options to pass to dpkg-source.
324
325 -- Andres Mejia <amejia@debian.org> Sun, 08 Jan 2012 22:59:34 -0500
326
327libcec (1.3.2-1) unstable; urgency=low
328
329 * Initial release. (Closes: #655143)
330
331 -- Andres Mejia <amejia@debian.org> Sun, 08 Jan 2012 15:36:49 -0500
332
e736e6be
LOK
333libcec (1.6-3) unstable; urgency=low
334
335 * changed/added:
336 * cec-client: show the firmware build date if available in cec-client -l
337 * cec-client: don't activate the source when starting
338 * cec-client: group up the output of the 'scan' command, and add the
339 currently active source to the output
340 * log the libCEC version in the 'connected to the CEC adapter' log entry,
341 and add the firmware build date to the line if it's available, so all
342 relevant version info is available in 1 log line.
343 * async writes for CUSBCECAdapterCommunication. less locks and polls, more
344 speed
345 * added 'make docs' target, that updates the doxygen documentation
346
347 * interface changes:
348 * added operator == and != for libcec_configuration
349 * added GetResponseOpcode(cec_opcode opcode) to cec_command
350 * added the firmware build date to libcec_configuration, so it can be
351 displayed by the client too.
352 * added static CLibCEC::Alert() method and CEC_ALERT_CONNECTION_LOST value
353 * added a callback to handle menu state changes. if the callback method
354 returns 1, then the change is processed by the CCECBusDevice too. if 0,
355 then the CCECBusDevice will always have menu state 'activated', so
356 keypresses are routed. bugzid: 724
357 * added a default menu language to libcec_configuration and set this
358 language for devices controlled by libcec. bugzid: 69
359
360 * fixed
361 * CCECProcessor::IsActiveSource() - TV was never checked
362 * don't call the deprecated SetActiveView() method in cec-client
363 * request the active source if unknown in CCECProcessor::GetActiveSource()
364 * don't try to match a device with PA 0xFFFF.
365 * don't change the power status of a device when changing the stream path
366 * don't set the power status to 'powered off' when marking the source
367 managed by libcec as inactive, or the tv will might send a power control
368 keycode when making it active again, potentially shutting down the system
369 * potential segfault in CCECProcessor::GetDeviceByPhysicalAddress()
370 * stream path changes when changed to the TV source (PA 0)
371 * clear the unsupported features list in CCECBusDevice::ResetDeviceStatus()
372 * never mark vendor commands as unsupported (only some may be unsupported),
373 as well as some others that should never be marked unsupported
374 * don't retry in CCECCommandHandler if the command has been marked as
375 unsupported
376 * don't request the PA of devices when handling an incoming CEC command, or
377 it'll block things while waiting for a response. if that response never
378 comes, or comes late, then other incoming commands will be timed out
379 before they are handled
380 * optimisation - strip unneeded virtual keywords from top level
381 implementations
382 * use the vlcommandhandler for the primary device that is handled by libCEC
383 when a panasonic tv is detected, so delayed activate source commands are
384 using the correct handler. bugzid: 723
385 * set the power status of device controlled by libCEC to
386 CEC_POWER_STATUS_ON
387 instead of IN_TRANSITION_STANDBY_TO_ON. reset the device status of a
388 device if it was detected as removed. bugzid: 755
389 * potentially uninitialised values in cec_command
390 * delay the 'active source' command for panasonic, until the vendor command
391 that reports that the TV is powered on has been received. bugzid: 723
392 * only respond to Give Physical Address with Report Physical Address.
393 bugzid: 592
394 This fixes several reports of the TV improperly switching to the libcec
395 device after it has previously switched to another source. Fix confirmed
396 with Panasonic and also reported to be an issue with Samsung and
397 Philips.
398 * check whether callback methods are set to a valid ptr
399 * number of retries for polls
400 * win32: fix build in paths with spaces. bugzid: 730
401 * LibCecSharp: free the alert GC callback when cleaning up
402 * the wrong setting was being read when powering on devices
403 * close the connection when a comm error was detected, and notify the
404 client via an alert
405 * don't segfault when calling ThreadsWait() without a valid thread
406 * lib/platform: fixed memleak
407 * leak in CCECAdapterMessageQueue::Write
408 * don't send commands if we know them to be unsupported. bugzid: 725
409
410 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 18 Apr 2012 11:30:00 +0100
411
412libcec (1.6-2) unstable; urgency=low
413
414 * fixed:
415 * fixed typo in CUSBCECAdapterCommands::RequestSettings() that prevented
416 the settings from being read. the settings were still written, but never
417 read when bGetSettingsFromROM = 1.
418
419 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 18 Apr 2012 11:30:00 +0100
420
c65aa417
LOK
421libcec (1.6-1) unstable; urgency=medium
422
423 * changed/added:
424 * full firmware V2 support
425 * -o/--osdname argument for cec-client to set a custom osd name
426 * added the firmware version to cec-client's -l / --list-devices command.
427 bugzid: 631
428 * added power on command for Samsung AVR devices. bugzid: 361
429 * added buttoncode for 'channels list' on Samsung (0x96)
430 * don't check for the windows ddk when a prebuilt driver installer is
431 present
432 * respond to Get Menu Language. bugzid: 547. In the event that the menu
433 language is undefined in libcec (currently the default), the response
434 will be a feature abort.
435
436 * interface changes:
437 * added the firmware version to libcec_configuration (read-only). bumped
438 server version to 1.6.0. fixed 'unknown server version' message on
439 startup. bugzid: 631
440 * added a new setting to control whether to put the TV in standby when the
441 player is put in standby. added some missing bits (version numbers,
442 config) to LibCecSharp. bugzid: 558
443 * added an alert callback. bugzid: 462
444 * added bShutdownOnStandby to libcec_configuration. bugzid: 660. This
445 setting tells the client to shutdown when the TV switches off and is
446 complimentary to bPowerOffOnStandby, which tells the PC to suspend.
447 They are kept separate to maintain backwards compatability.
448
449 * fixed
450 * gcc 4.7 compilation
451 * poll doesn't have an opcode. bugzid: 591
452 * wait for MSGEND when data was received when opening the connection.
453 bugzid: 536
454 * mark the correct device as active source after a stream path change.
455 if the new address is not found, but the old address is, then mark the
456 old address as inactive. fixes TV switching back to the old active source
457 when it scans for devices. bugzid: 592
458 * ensure that the vendor ID is sent before trying to activate any SL device
459 bugzid: 574
460 * fixed possible crash when in CLibCEC::IsLibCECActiveSource() when libCEC
461 doesn't know which device is the active source. bugzid: 479
462 * correct handling CEC_USER_CONTROL_CODE_POWER. This ensures that the power
463 code always operates as a toggle, depending on the current state, and
464 that SetCurrentButton is always called for a valid user control code.
465 bugzid: 570
466 * frequency wasn't checked in GetTimeMs(), leading to incorrect wait times
467 on some windows systems
468 * refactored USB adapter communication. less locks, shorter locks, added
469 documentation, lots of clean ups and no more incoming messages that are
470 skipped
471 * the destructor of CSerialSocket didn't call Close()
472 * added guards in CSerialPort
473 * reset m_socket to INVALID_SERIAL_SOCKET_VALUE after closing the
474 connection
475 * always wait for thread exit in CThread's desctructor
476 * crash on exit after GetDeviceInformation()
477 * check whether the destination is valid before setting anything in
478 m_bWaitingForAck. fixes heap corruption and crash on exit. bugzid: 479
479 * bUseTVMenuLanguage from libcec_configuration wasn't copied in
480 SetConfiguration(), so this setting was reset to the default value
481 (enabled) every time. bugzid: 617
482 * request the vendor id of a device if needed when the device status is
483 changed into 'present'. bugzid: 361
484 * give priority to messages from the TV. removed the global lock in
485 CCECProcessor when sending. this is no longer needed. bugzid: 238
486 * add some bounds checking to the HDMI port number. bugzid: 508
487 * fixed usbser.sys copying in the driver .INF. bugzid: 503
488 * only update the physical address when it has actually changed. bugzid:
489 672
490 * moved the static variables in os-threads from the header to a separate
491 cpp file, or it could lead to problems when included multiple times
492 * don't send an active source command when the physical address couldn't be
493 set, or it might confuse other CEC devices
494 * serial socket timeouts. bugzid: 654
495 * fixed possible crash when trying to request a vendor id of a device when
496 the address of libCEC isn't known yet. bugzid: 654
497 * extra guard so no commands are transmitted without a valid initiator.
498 bugzid: 654
499 * moved the timed ping to a separate thread. bugzid: 654
500 * persist settings directly when they're changed, only persist settings
501 that actually changed, only instruct the device to persist the settings
502 in eeprom when something changed, and don't persist settings on exit.
503 bugzid: 715
504 * cec-config-gui: persist settings both in the eeprom and in the settings
505 xml file
506 * validate the input in CCECProcessor::IsActiveSource(). fixes potential
507 crash when the active source isn't known. bugzid: 671
508
509 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 16 Apr 2012 18:03:00 +0100
510
fe462cdd
LOK
511libcec (1.5-4) unstable; urgency=low
512
513 * changed/added:
514 * OS-X installation requirements and pointer
515 * full v2 firmware support:
516 * ping the adapter every 15 seconds. bugzid: 541
517 * added v2 msgcodes. bugzid: 543
518 * implemented the write methods for the v2 configuration. bugzid: 543
519 * included the logical addresses in the persisted configuration for v2.
520 bugzid: 543
521 * persist the configuration before closing the connection. only try to
522 persist the configuration when talking to a v2 firmware. bugzid: 543
523 * added GetSetting() to CUSBCECAdapterCommunication. bugzid: 543
524 * read the persisted settings from the ROM, and update it in
525 libcec_configuration if found. bugzid: 543
526 * cec-client: set bGetSettingsFromROM to 1 in cec-client. bugzid: 543
527 * cec-client: only read persisted EEPROM settings when -r or --rom is
528 provided as cmdline arg. bugzid: 543
529 * call SetControlledMode(false) as last command when closing the
530 connection in v2. bugzid: 542
c65aa417 531 * initial FreeBSD support: simply try to use ttyU*
fe462cdd
LOK
532
533 * fixed:
534 * set controlled mode and retry to send the previous command if it failed
535 with MSGCODE_COMMAND_REJECTED
536 * m_iLineTimeout was never initialised and used. fixes MSGCODE_REJECTED
537 when transmitting a message and incorrect line timeouts being used
538 * mac configure compile bugzid: 157
539 * cec-config-gui: fixed application exit when the user clicked 'no' when
540 asked to reconnect. bugzid: 556
541 * only wait for multiple 'command accepted' response when sending a
542 transmit command, and only to 1 in other cases. bugzid: 543
543 * set the correct logical address mask before switching to autonomous mode.
544 bugzid: 543
545 * re-added SetLineTimeout(). bugzid: 543
546 * CUSBCECAdapterCommunication::SetControlledMode checked for the wrong sent
547 state
548 * os-x: don't add 0.5 before dividing in GetTimeMs()
549 * os-x: struct timespec now values weren't set correctly
550
551 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 16 Mar 2012 10:12:00 +0100
552
2e82cff0
LOK
553libcec (1.5-3) unstable; urgency=low
554
555 * fixed:
556 * OS-X compilation
557 * default to firmware version 1 after 3 tries. some versions didn't send a
558 version.
559 * fixed cec-config win32 compilation
560
561 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 03 Mar 2012 15:21:00 +0100
562
c3c13157
LOK
563libcec (1.5-2) unstable; urgency=low
564
565 * changed/added:
566 * added Toshiba's vendor id, and set the device ID of the primary device to
567 Toshiba's and transmit it when starting
568 * lock in SyncedBuffer
569 * added a timeout to StopThread()
570 * also add commands to unsupported features when receiving
571 CEC_ABORT_REASON_REFUSED
572 * cec-config-gui: set cbPortNumber enabled when the physical address
573 override isn't checked instead
574 * cec-config-gui: added support for the new 'send inactive source' setting
575
576 * interface changes:
577 * added an 'send inactive source' option to libcec_configuration, only
578 supported by client/server 1.5.1 and up. bugzid: 439
579 * added a command to the interface to start the bootloader directly,
580 without going through all checks. bugzid: 218
581 * LibCecSharp: implemented support for the new 'send inactive source'
582 setting
0fabd366 583
c3c13157
LOK
584 * fixed:
585 * don't send an updated configuration when libCEC hasn't been initialised
586 fully. bugzid: 459
587 * don't send an updated configuration back when initialising. let the
588 client call the GetCurrentConfiguration() method. bugzid: 459
589 * configuration updates from libCEC. bugzid: 459
590 * fixed accidental double deref. the method parameter already does that.
591 github #24
592 * use CLOCK_MONOTONIC for timing info, since gettimeofday is affected by
593 ntp and by manually adjusting the system time
594 * the timeout value of pthread_cond_timedwait has to be referenced to
595 CLOCK_REALTIME
596 * don't add data to the input buffer in CUSBCECAdapterCommunication before
597 it's fully initialised
598 * fixed return value of CUSBCECAdapterCommunication::ParseMessage(). fixes
599 messages not being parsed in certain occasions
600 * don't try to transmit when the processor is being stopped
601 * set the server version in the LibCEC's constructor, since this is
602 checked by clients. fixes 'invalid libCEC version' popup when inserting
603 the adapter
604 * don't wait for the full timeout to pass in CCECProcessor::
605 OpenConnection(), but retry to connect 2 times. fixes 'port busy' errors
606 when initialising libCEC. bugzid: 436
607 * use the correct Sleep() method in CCECProcessor::OpenConnection(). the
608 thread hasn't been started there yet, so the sleep wasn't working. fixes
609 'device or resource busy' when plugging in the adapter. bugzid: 436
610 * check the adapter ping and firmware before starting the reader thread, so
611 we really leave the com port alone for a second when it fails because of
612 a busy error. bugzid: 436
613 * ensure that the connection is really closed before retrying to connect.
614 bugzid: 436
615 * LibCecSharp: recreate the delegates properly when (re)connecting to
616 LibCecSharp
617
618 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 28 Feb 2012 21:19:00 +0100
619
099a04fb
LOK
620libcec (1.5-1) unstable; urgency=low
621
622 * changed/added:
623 * a new libcec_configuration structs, which allows the client app to pass
fbaa8dd5
LOK
624 a number of new options, like waking multiple devices on startup,
625 overriding the vendor id, etc.
626 * a new configuration GUI for Windows (.NET). this allows you to set
627 libCEC's configuration for XBMC in a convenient GUI.
628 * a CLI configuration tool (unfinished) for other platforms. will be
629 finished in an update.
099a04fb 630 * implemented power up for LG devices other than a TV
fbaa8dd5
LOK
631 * win32: don't install libcec to the system directory by default, and
632 delete previous (testing) copies if present
633 * wait for multiple responses, not just for one at a time
634 * set the ackmask to 0 when closing the connection
635 * don't send 'image view on' when calling SetActiveSource()
636 * don't send power on, acitve source and standby commands by default in
637 cec-client
638 * platform: added CTryLockObject
639 * platform: added an Init() method in CTimeout, so it can be reset
640
099a04fb
LOK
641 * interface changes:
642 * added a new initialiser method: CecInitialise()/cec_initialise(), that
fbaa8dd5
LOK
643 accepts a "libc_configuration" struct as parameter. this way, the
644 signature of the init method can stay the same when adding new options.
645 in LibCecSharp, the new method appears as a new constructor.
646 * added CanPersistConfiguration()/cec_can_persist_configuration()
647 * added PersistConfiguration()/cec_persist_configuration()
099a04fb 648 * added GetCurrentConfiguration()/cec_get_current_configuration()
fbaa8dd5 649 * added SetConfiguration()/cec_set_configuration()
099a04fb 650 * added GetLogicalAddresses()/cec_get_logical_addresses(): returns the list
fbaa8dd5 651 of addresses controlled by libCEC
099a04fb 652 * added RescanDevices()/cec_rescan_devices(): lets libCEC force polls to
fbaa8dd5
LOK
653 all logical addresses.
654 * added a callback that is called when libCEC's configuration changed.
655 * moved the autodetect address api call to libcec_configuration. only send
656 power up commands to non-tv devices when the power state is not
657 on/transition->on. let players call the power up/power down command.
658 * return the anynet return keycode directly instead of translating it to
659 'return' for v1.5.0+ clients
660 * extracted CecSharpTypes.h in LibCecSharp. LibCecSharp is now in the
661 CecSharp namespace
099a04fb 662 * include the local cectypes.h in cec.h and cecc.h instead of system wide
fbaa8dd5
LOK
663 * deprecated GetLibVersion() methods. use libcec_configuration instead
664 * removed deprecated CECCreate() method
099a04fb
LOK
665
666 * fixed:
667 * fixed a lot of LG specific issues
fbaa8dd5 668 * fixed OS-X compilation. credits: Dustin Cooper
099a04fb 669 * fixed a couple of possible deadlocks, e.g. when closing the connection
fbaa8dd5
LOK
670 while receiving data
671 * cleaned up existing code
099a04fb 672 * libCEC no longer puts incoming data in a fifo buffer, but tries to
fbaa8dd5
LOK
673 process it directly, which fixes issues like libCEC blocking processing
674 new commands while waiting for transmission acks.
675 * 'unsupported command' marking in CCECBusDevice
676 * ensure that the ackmask is always set to 0 when closing the connection
677 and that the call doesn't block the Close() call
678 * don't try to read or write in CUSBCECAdapterCommunication when the
679 connection has been closed
680 * LibCecSharp: added quotes to the linker statement for libcec.lib. fixes
681 compilation in paths with spaces. closes #20
682 * LibCecSharp: set the callback methods in libcec to NULL before closing
683 the connection, since these might already have been destroyed in .NET
684 * LibCecSharp: delete the internal callback struct when closing the
685 connection
686 * LibCecSharp: pass correctly formatted logical address lists
687 * ensure that the vendor id is requested first when requesting info from a
688 device, so we are using the correct handler
689 * keep the 'busy state' of the command handler in CCECBusDevice
690 * poll the next device when the current is handled by libCEC.
691 * check the vendor id of a device before sending a power on command
692 * ensure that there always is at least one device type set
693 * transmit a keypress and key release as power on command when the target
694 device isn't the TV
695 * don't do a full reinit when not needed
696 * fix active source switches for the standard CEC implementation
697 * ensure that we don't send data to ourself
698 * check whether the port is open, not whether libCEC is initialised in
699 Transmit()
700 * platform: fixed return value from CCondition::Wait()
701 * platform: don't broadcast but wake one thread in
702 CProtectedSocket::MarkReady()
703 * platform: include stdint.h in windows/os-types.h instead of typedef'ing
704 ints
705 * platform: fixed tcp socket error handling and return value.
706 * platform: fixed return values of socket operations in lib/platform
099a04fb 707 * platform: added predicate in CCondition
fbaa8dd5
LOK
708 * deleted the signed driver from the tree, since that doesn't work. let the
709 installer create a new signed driver on the production build system
099a04fb
LOK
710
711 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 19 Feb 2012 01:04:00 +0100
712
c75f7f45
LOK
713libcec (1.4-4) unstable; urgency=low
714
715 * changed/added:
716 * added tcp client sockets to lib/platform (WIP)
717 * clean up lib/platform
718 * added: set controlled mode on after opening a connection to the adapter
719 (for firmware v2)
720 * added an IAdapterCommunicationCallback interface an use a callback method
721 to pass newly received cec_commands to CCECProcessor
722 * added "driver only" and "driver + libcec" sections to the installer
723 * added a signed driver
724 * created a separate driver installer, which is included in the libCEC
725 installer. uninstalls the old unsigned version of libCEC and the driver
726 when it's found and installs the new one in C:\Program Files(x86)\
727 Pulse Eight\USB-CEC Adapter.
728 * don't sign development binaries with a temporary key. devs can do that
729 themselves when they want LibCecSharp in the GAC
730 * interface changes:
731 * added SetStreamPath()/cec_set_stream_path_logical()/
732 cec_set_stream_path_physical() to the interface, to send a
733 "set stream path" command over the CEC bus, used to activate another
734 source.
735 * fixed:
736 * transmit 'menu state activated' after the stream path has been set to a
737 device that is handled by libCEC. should fix remote commands not working
738 properly on Panasonic TVs and after another source has been active.
739 bugzid: 233
740 * set the ackmask to 0x0 when trying to find a free logical address
741 * keep trying to reconnect to the com port until the timeout runs out.
742 bugzid: 230
743 * wait 500 ms before trying to retransmit a command. always wait for the
744 result of a transmission in CCECCommandHandler::Transmit()
745 * receive and send full cec_commands, not CCECAdapterMessages in
746 CAdapterCommunication. extract an IAdapterCommunication interface. fixed
747 potentially missed data in CAdapterCommunication
748 * close and delete the connection when the processor thread ends. fixes
749 reconnect after standby (access denied / connection already opened)
750 * don't replace handlers when not initialised, or the primary device's
751 logical addres isn't known yet, which can lead to crashes. don't call
752 handlers directly in CCECProcessor without holding a lock on them
753 * fixed possible crash when command handler were switched while it was
754 being used
755 * keep the mutex locked when calling ReplaceHandlers() in CCECProcessor
756 * win32: also timeout when data is received in SocketRead()
757 * win32: fixed < vista runtime and compilation
758 * win32: ping the adapter and request the firmware version in
759 CUSBCECAdapterCommunication instead of CCECProcesssor. fixes failed
760 libCEC inits
761 * win32: fixed crash on exit in LibCecSharp
762
763 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 6 Feb 2012 14:26:00 +0100
764
1858a00e
LOK
765libcec (1.4-3) unstable; urgency=low
766
767 * fixed:
768 * try to ping the device and grab the firmware version until the connect
769 timeout runs out. fixes failed reconnect after standby, when the adapter
770 is still being initialised
771
772 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 27 Jan 2012 13:05:00 +0100
773
2819463f
LOK
774libcec (1.4-2) unstable; urgency=low
775
776 * changed/added:
777 * added a firmware flash script for linux.
778 usage: ./support/cec-flash-device.sh /path/to/firware.hex
779 * refactored threading/locking - added windows native instead of
780 pthread-win32, so we can compile native x64 too
781 * check whether the adapter responds when connecting to it and report the
1858a00e 782 firmware version of the adapter after connecting
2819463f
LOK
783 * moved create-installer.cmd to support/
784 * completely removed AM_SILENT_RULES
785 * interface changes:
786 * compile LibCecSharp against .NET framework 2.0 and sign the assembly
787 * fixed:
788 * only the key release events were sent, not keypresses, which appeared in
789 clients as laggy keypresses
790 * fixed reconnect after standby
791 * wait for active tranmission to finish when opening a connection to the
792 adapter. fixes initialisation errors
793 * set the default transmit timeout properly instead of using 0
794 * fixed possible deadlock because of a negative timeout in
795 CAdapterCommunication::WaitForTransmitSucceeded()
796 * fixed error message in cec-client (unable to open the device on port ...)
b9aae0cd 797 * exit cec-client after entering bootloader mode
2819463f
LOK
798 * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED
799
800 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 25 Jan 2012 23:28:00 +0100
801
e6b4a29e
LOK
802libcec (1.4-1) unstable; urgency=low
803
804 * changed/added:
805 * added the vendor id for Sony
806 * always refresh the power state of a device when it hasn't been updated
807 for 30 seconds
808 * do silent builds by default
809 * interface changes:
810 * added optional callback methods to libCEC. enable them by calling
811 EnableCallbacks(ICECCallbacks *callbacks) /
812 cec_enable_callbacks(ICECCallbacks *callbacks). after this method is
813 called, the GetNext...() methods will not return any data
814 * added the same callbacks to LibCecSharp. implement CecCallbackMethods
815 and override the methods in there
816 * fixed:
817 * use the given timeout when trying to open a connection to the CEC
818 adapter
819 * resolved difference between method name in LibCECC.cpp and cecc.h.
820 credits: Doug Johnson
821 * don't transmit physical addresses while holding a lock in CCECProcessor
822 * don't hold a lock when sending an active source message.
823 * unload libCEC when the lib version is invalid
824 * "unused" warnings suppressed
825
826 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 12 Jan 2012 19:06:00 +0100
827
d0d8b3c0 828libcec (1.3-3) unstable; urgency=low
f962137e
LOK
829
830 * changed/added:
831 * place in libudev include in an extern C block. fixes compilations on
832 older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann
833 * added pkg-config to the dependencies list. issue #15
834 * updated README. closes #14
835 * added a script that tests some basic functions of the CEC adapter:
836 /support/cec-test-device.sh
837 * fixed:
838 * don't make libCEC the active source when changing the physical address.
839 don't send active source messages on startup, when not the active source
840 fixes unwanted device power ups
841 * replace the command handler directly after receiving a changed vendor
842 id. change the primary type from recording device to playback device
843 for panasonic TVs
844 * don't send a deck status update when sending an active source message
845 for panasonic TVs
846 * only switch handlers once when using the generic handler
847 * don't switch handlers when not needed
848 * hold a lock in CCECProcessor::SetHDMIPort()
849 * don't send deck status updates when sending an active source message by
850 default
851
852 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 3 Jan 2012 22:48:00 +0100
853
188d35cf
LOK
854libcec (1.3-2) unstable; urgency=low
855
856 * changed/added:
857 * copy libcec.dll to the XBMC installation dir when XBMC is found
858 * disable background polling. let the client request this info when needed
859 * update the power status of a device when it's set to
860 CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
861 * wait for the correct response when requesting something, not just any
862 response
863 * don't keep trying the same command/request after receiving a feature
864 abort message
865 * interface changes:
866 * change the previously unused boolean parameter in volume control methods
867 to bSendRelease, and only send a key release when it's true. default to
868 true
869 * fixed:
870 * don't send the power up/down keypress to listeners when in the initial
871 device state (powered off). fixes unexpected shutdown in XBMC when
872 connecting to the CEC adapter.
873 * send a 'menu state activated' command when starting up. bugzid: 113
874 * don't wait for a response when not needed
875 * don't hold a lock while waiting for a response. fixes failed libCEC
876 inits and slow responses
877 * don't replace a command handler when it's being used. fixes possible
878 crash on startup
879 * don't try to do anything before the processor thread has started
880 * don't transmit active source messages when the physical address is
881 still 0xFFFF
882 * don't init the default handler before the physical address is known
883
884 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 29 Dec 2011 03:05:00 +0100
885
2c7c8c4b 886libcec (1.3-1) unstable; urgency=low
dfb08039
LOK
887
888 * changed/added:
889 * make libudev optional. if libudev is not available on linux, adapter
890 autodetection will also not be available. fixes compilation on Hardy/ATV1
891 * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET
892 language
893 * added vendor support for LG
894 * added vendor support for Philips
895 * added vendor support for Yamaha
896 * added vendor support for Onkyo
897 * added 'scan' command to cec-client, that displays info about devices on
898 the bus. made all ToString() methods available on the interface.
899 * added '-s' or '--single-command' to cec-client. starting cec-client with
900 this parameter executes a single command in cec-client and does not power
901 on devices on startup and power them off on exit. this way, you can use
902 cec-client in a shell script. since there's some handshaking involved at
903 startup, this is not very fast. to execute a command and only display the
904 result and any error/warning, execute it with
905 RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch
906 files are a bit different)
19330705
LOK
907 * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to
908 cec-client's parameters
dfb08039
LOK
909 * handle image view on and text view on
910 * handle routing information and report physical address opcodes
911 * handle audio status updates
912 * send ping and bootloader commands via the output queue
913 * scan the CEC bus for devices when starting libcec
914 * pass all commands that are directed at libcec to listeners
915 * interface changes:
916 * added GetActiveSource()/cec_get_active_source()
917 * added IsActiveSource()/cec_is_active_source()
918 * added GetDevicePhysicalAddress()/cec_get_device_physical_address()
919 * added GetDeviceOSDName()/cec_get_osd_name()
920 * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/
921 cec_send_key_release()
922 * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(),
923 MuteAudio()/cec_mute_audio()
924 * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/
925 cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type().
926 * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load
927 and when a device with the same physical address is detected, libcec will
928 use the selected hdmi port on that device. should fix source selection on
929 other devices, like an amplifier
930 * added a hook in libcec for physical address autodetection
931 * fixed:
932 * don't request the physical address from the tv (it's always 0x0000)
933 * set the proper ackmask before doing anything else
934 * don't unlock the transmit mutex in CCECProcessor while waiting for an
935 answer
936 * fix device polling
937 * refactor CEC read/write. keep a single lock for all writes, not one per
938 device
939 * ignore other data while waiting for a response
940 * retry failed tranmissions
941 * don't delete a message before it's been sent when starting the bootloader
942 * or when sending a ping
943 * fixed possible segfault when switching the command handler after a vendor
944 * id changed
945 * handle audio opcodes correctly
946 * inactive source should be directly addressed at the TV
947 * don't report a changed physical address when it hasn't changed
948 * routing information sets the stream path, not the physical address
949 * don't scan the whole bus in CCECProcessor::IsActiveDeviceType()
950 * don't request the vendor id from devices that are handled by libcec
951 * mark device status as present when a command was received from a device
952 * always send a power on command in CCECBusDevice::PowerOn()
953 * don't request updates statusses unless needed
954 * report physical address sends 3 parameters, not 2. check whether the
955 device type is correct
956 * devices can send vendor commands from other vendors, so don't assume the
957 device is of a certain vendor when it sends commands with a vendor id
958 * thread safety fixes. bugzid: 19
959 * clear any previous input when opening a connection to the adapter.
960 bugzid: 54
961 * use the correct source address in CSLCommandHandler::HandleVendorCommand()
962 * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
963 * renamed enum methods. fixes potential macro collision with isset().
964 thanks davilla
19330705
LOK
965 * don't change the active device when receiving stream path changed
966 messages. fixes wrong source selection when powering after the TV.
dfb08039 967
19330705 968 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 09 Dec 2011 12:16:00 +0100
dfb08039 969
94d98b71
LOK
970libcec (1.2-1) unstable; urgency=low
971
972 * bugfixes:
973 * pass the deck_control command to libcec listeners
974 * check whether the initiator is valid in CCECProcessor::ParseCommand().
975 fixes possible segfault when parsing invalid data
976
977 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 12 Nov 2011 13:36:00 +0100
978
c3da3073
LOK
979libcec (1.1-3) unstable; urgency=low
980
981 * fixed return value in CCECProcessor::SetStreamPath(), which prevented
982 active source and menu state from being sent
983
984 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 23:36:00 +0100
985
f0197d4f
LOK
986libcec (1.1-2) unstable; urgency=low
987
988 * forgot to update the headers to v1.1
989
990 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100
991
4f8dcef2
LOK
992libcec (1.1-1) unstable; urgency=low
993
994 * interface changes:
995 * added logical address autodetection and let libcec handle multiple types
996 simultaniously. for logical address autodetection, you have to use
997 CECInit()/cec_init_typed() instead of CECCreate()/cec_init()
998 * added SetActiveSource()/cec_set_active_source() to the interface.
999 deprecated SetActiveView()/cec_set_active_view()
1000 * added SetMenuState()
1001 * added PollDevice()/cec_poll_device()
1002 * removed duplicate method SetActiveSource() / SetActiveView()
1003 * added SetDeckControlMode() and SetDeckInfo()
1004 * fixed:
1005 * added vendor detection for panasonic and broadcast active view and set
1006 menu state when a panasonic device sets the stream path. thanks for the
1007 pointer cptcoconut.
1008 * added vendor code for pioneer
1009 * osd string is 13 chars max. don't send more
1010 * send the correct cec version for each device
1011 * switch to panasonic specific cec implementation if a panasonic device was
1012 detected
1013 * send the correct device type in TransmitPhysicalAddress()
1014 * send a reply from the correct device when the stream path is requested
1015 * opcode 0x80 means the stream path changed, not the physical address
1016 * don't poll for a vendor ID in monitoring mode
1017 * fixed parameter parsing in SetVendorId()
1018 * buffer up commands that are received while waiting for an ack. only send
1019 'active source' message for the actual active source
1020 * win32: prepend the com port path with '\\.\', so com ports > 9 can be
1021 accessed. thanks smolesen
1022 * audio systems cannot be an active source, so don't transmit active
1023 source message from this device
1024 * only send 'active source' when powered on
1025 * only set the osd name for the primary device. use default values for
1026 others
1027 * increase physical address with 0x100 per device
1028 * win32: removed unneeded afxres.h include in the resource files, which
1029 is not present when using studio express. thanks Ghuron
1030 * fixed C headers
1031 * mark the active source as active and other devices as inactive
1032 * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER
c6b7b98b 1033 * transmit the menu state as (active) when the stream path is set
4f8dcef2
LOK
1034 * changed:
1035 * changed copyright of boblight files with permission of the original
1036 author
1037 * partial handling of audio related opcodes
1038 * more consistent log messages
1039 * set a device type and name for each CCECBusDevice
1040 * keep a power and menu state per device
1041 * renamed all Broadcast...() and Report...() methods to Transmit...()
1042 * renamed SetOSDString() to TransmitOSDString()
1043 * changed debug level of 'did not receive ack' from error to debug
1044 * only set the power status to 'on' for the primary device
1045 * moved method decriptions from cecc.h to cec.h
1046 * only send a power on command when a device isn't on already and set
1047 the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while
1048 powering on
1049 * handle CEC_OPCODE_STANDBY
1050 * handle CEC_OPCODE_ACTIVE_SOURCE
1051 * always start in standby mode and let the tv (or other device) send the
1052 power on command
1053 * renamed the last few enums
1054 * handle deck related opcodes.
1055 * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown'
1056
1057 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 17:42:00 +0100
1058
35d9c32a
LOK
1059libcec (1.0-1) unstable; urgency=low
1060
1061 * interface changes:
1062 * set lib interface version back to 1.0 and rename GetLibVersion() to
1063 GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion()
1064 * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor
1065 version number to 1
1066 * fixed:
1067 * samsung's vendor specific remote keypresses don't send key releases. added
1068 call to AddKey() directly after the keypress
1069 * always reset the button press time in CLibCEC::AddKey()
1070 * always wait for a signal in CCECProcessor::Transmit()
1071 * changed:
1072 * drop shared_ptr and use a normal pointer. removed boost dependency
1073
1074 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 04 Nov 2011 00:14:00 +0100
1075
b3efc8f2
LOK
1076libcec (0.8-2) unstable; urgency=low
1077
1078 * added 'libboost-dev' to build deps
1079
1080 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 23:31:00 +0100
1081
971d0e9e
LOK
1082libcec (0.8-1) unstable; urgency=low
1083
1084 * interface changes:
1085 * added GetDevicePowerStatus()/cec_get_device_power_status()
1086 * added GetDeviceVendorId()/cec_get_device_vendor_id()
1087 * added GetDeviceMenuLanguage()/cec_get_device_menu_language()
1088 * added GetDeviceCecVersion()/cec_get_device_cec_version()
1089 * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
b3efc8f2
LOK
1090 monitoring is enabled, the device will only log the data it received,
1091 but will not respond to any message
971d0e9e 1092 * removed timeout parameter in Transmit() and included the ack timeout in
b3efc8f2 1093 the cec_command struct
971d0e9e
LOK
1094 * made the vendor id -> vendor name translation available
1095 * made CEC_LOG levels powers of 2
1096 * introduced CEC_LOG_TRAFFIC log level
1097 * fixed:
1098 * set the correct ackmask on startup
1099 * wait for ack while keeping a lock
1100 * wait for the processor thread to start before continueing on startup
1101 * wait for messages to be transmitted before continueing in
b3efc8f2 1102 CCECProcessor::Transmit()
971d0e9e
LOK
1103 * only set the logical address once when it has changed
1104 * correct source for broadcast messages
1105 * win32: create Release type installer
1106 * changed:
1107 * make all reads and write in CAdapterCommunication go through buffers.
1108 * poll for a vendor ID of connected devices and switch to a non-standard
b3efc8f2 1109 CEC implementation if needed.
971d0e9e
LOK
1110 * added vendor detection of Samsung and LG devices
1111 * handle samsung remote command 'return'
1112 * cec-client:
1113 * added -la and --logical-address to the command line params
1114 * added -d and --log-level params to cec-client
1115 * added -sf and --short-log-file, which only log the actual messages, not
b3efc8f2 1116 the level and timestamp
971d0e9e
LOK
1117 * added -f and --log-file parameters to cec-client
1118 * added option to change the log level to cec-client
1119
b3efc8f2 1120 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 22:58:00 +0100
971d0e9e 1121
8f084f00
LOK
1122libcec (0.7-1) unstable; urgency=low
1123
1124 * send a keypress with 0 duration when a key is pressed and with a duration
1125 set when it's released
1126 * added SetOSDString() to the interface (not supported by all tvs)
1127 * fixed: 'routing change' is a broadcast message. log routing changes, but
1128 don't send a 'set active view' message, so the active input won't be
1129 changed
1130 * log keypresses in the debug log
1131 * added 'pa' command to cec-client, to change the physical address
1132 * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
1133 the HDMI port number to use can be changed
1134 * fixed: put the message processing code from WaitForAck() in ParseMessage().
1135 fixes missing incoming message logging of non-data messages when not
1136 waiting for an ACK
1137 * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
1138 before returning
1139 * fixed: set initiator and destination first in cec_command::push_back().
1140 fixes 'tx' command in cec-client
1141 * fixed: keep trying to connect while iTimeout isn't reached (default 10
1142 seconds). fixes exit with a 'permission denied' error when the device isn't
1143 ready yet. remove CEC_SETTLE_DOWN_TIME
1144 * fixed: don't call SetActiveView() when reporting the power status. fixes
1145 loop which causes some TVs to report failed connections
1146 * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
1147 * fixed: add the device type as parameter when sending the physical address.
1148 thanks bobo1on1
1149 * fixed: typo in libcec.pc.in
1150 * added optional strLib parameter to LoadLibCec(), so the location of the
1151 shared library can be specified
1152 * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
1153 * use int instead of bool on the public C interface and remove stdbool.h include
1154 * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
1155 cecloader.h, CECTypes.h => cectypes.h
1156 * updated debian package. split up libcec and libcec-dev
1157 * fixed: changed to use dlopen instead of static linkage. shuffled headers a
1158 bit. bumped interface to version 7
1159 * removed 'rt' from libraries. it's not needed (anymore)
1160 * fixed: reset the active view after a routing change. issue #1
1161 * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
1162 error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
1163 * added contributors link
1164
1165 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 14 Oct 2011 17:34:00 +0200
1166
11d0a2d6
LOK
1167libcec (0.6-1) unstable; urgency=low
1168
1169 * bumped interface version to 6
1170 * fixed packet output (reporting the OSD name correctly now)
1171 * refactored packet structs: split up in cec commands and adapter messages
1172 * fixed i/o timings
1173 * added Darwin support (thanks Davilla!)
1174 * fixed WaitForAck()
1175 * fixed possible deadlock when starting a new thread
1176 * implemented vendor id and device class parsing. full detection will follow
1177 * added "on" and "standby" commands to the test client
1178 * retransmit packets if needed
1179 * fix GetTimeMs() on linux
1180 * added timestamp to log messages
1181
1182 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 09 Oct 2011 15:15:00 +0200
1183
9519c249 1184libcec (0.5-1) unstable; urgency=low
25701fa6
LOK
1185
1186 * bumped interface version to 5
1187 * don't pass std::string and std::vector accross the interface
1188 * fixed heap corruption crashes on windows
1189 * fixed some memory leaks
1190 * reset all structs to default values before doing with them
1191
11d0a2d6 1192 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 07 Oct 2011 22:00:00 +0200
25701fa6 1193
262f3b05
LOK
1194libcec (0.4-3) unstable; urgency=low
1195
1196 * fixed reconnect
1197 * fixed some threading related bugs
1198 * fixed deadlock on exit
1199 * fixed wrongly reported physical address
1200
1201 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 06 Oct 2011 00:19:00 +0200
1202
4463fb80
LOK
1203libcec (0.4-2) unstable; urgency=low
1204
1205 * fixed int parameter sizes and some signed/unsigned warnings
1206 * check whether m_port isn't NULL in ReadFromDevice
1207 * stop the processor thread and delete the CSerialPort instance on exit
1208 * added mutex in CSerialPort
1209 * fix segfault on exit
1210 * renamed libPlatform -> platform.
1211 * stuck everything from libCEC in the CEC namespace to avoid namespace
1212 polution
1213
1214 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 23:45:00 +0200
1215
88c5a743
LOK
1216libcec (0.4-1) unstable; urgency=low
1217
1218 * bumped interface version to 4
1219 * timeout parameter removed from Close()/cec_close(). return type changed to
1220 void
1221 * added cec_destroy() method
1222 * removed timeout parameter from Transmit()
1223 * change the default argument of PowerOnDevices() to CECDEVICE_TV
1224 * removed PowerOffDevices(). use StandbyDevices() instead
1225 * removed obsolete methods from the interface
1226 * fixed bug: pthread_cond_wait was called without the mutex locked
1227 * fixed possible deadlock: don't send messages and wait for an ack with the
1228 mutex locked in CCECParser
1229 * created a separate reader thread and fixed the 'lock timeout' bug
1230 * testclient: use CECDEVICE_TV instead of the default argument
1231 (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices()
1232
1233 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 00:48:00 +0200
1234
a9bb5b56
LOK
1235libcec (0.3-1) unstable; urgency=low
1236
1237 * added device detection support for Windows
1238
1239 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 02 Oct 2011 12:09:33 +0200
1240
1241libcec (0.2-1) unstable; urgency=low
1242
1243 * added a Close() method to the interface
1244 * Added CEC command that were received by the adapter in a buffer that can be
1245 read by a client with GetNextCommand()/cec_get_next_command(). added a
1246 'help' command to the test client, that displays all available commands
1247 * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use
1248 SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to
1249 the testclient to set the logical address of the cec adapter
1250 * Added optional logical and physical address parameters to
1251 LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace
1252 close tag in CECExports.h. updated interface documentation. bumped
1253 interface version to 2.
1254 * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the
1255 test client. the previous one was too long and being rejected
1256
1257 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 28 Sep 2011 01:33:00 +0200
1258
abbca718
LOK
1259libcec (0.1-1) unstable; urgency=low
1260
1261 * Initial release v0.1
1262
a9bb5b56 1263 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 28 Sep 2011 23:55:48 +0200