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