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