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