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