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