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