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