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