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