added changelog for v1.5.1
[deb_libcec.git] / ChangeLog
1 libcec (1.5-2) unstable; urgency=low
2
3 * changed/added:
4 * added Toshiba's vendor id, and set the device ID of the primary device to
5 Toshiba's and transmit it when starting
6 * lock in SyncedBuffer
7 * added a timeout to StopThread()
8 * also add commands to unsupported features when receiving
9 CEC_ABORT_REASON_REFUSED
10 * cec-config-gui: set cbPortNumber enabled when the physical address
11 override isn't checked instead
12 * cec-config-gui: added support for the new 'send inactive source' setting
13
14 * interface changes:
15 * added an 'send inactive source' option to libcec_configuration, only
16 supported by client/server 1.5.1 and up. bugzid: 439
17 * added a command to the interface to start the bootloader directly,
18 without going through all checks. bugzid: 218
19 * LibCecSharp: implemented support for the new 'send inactive source'
20 setting
21
22 * fixed:
23 * don't send an updated configuration when libCEC hasn't been initialised
24 fully. bugzid: 459
25 * don't send an updated configuration back when initialising. let the
26 client call the GetCurrentConfiguration() method. bugzid: 459
27 * configuration updates from libCEC. bugzid: 459
28 * fixed accidental double deref. the method parameter already does that.
29 github #24
30 * use CLOCK_MONOTONIC for timing info, since gettimeofday is affected by
31 ntp and by manually adjusting the system time
32 * the timeout value of pthread_cond_timedwait has to be referenced to
33 CLOCK_REALTIME
34 * don't add data to the input buffer in CUSBCECAdapterCommunication before
35 it's fully initialised
36 * fixed return value of CUSBCECAdapterCommunication::ParseMessage(). fixes
37 messages not being parsed in certain occasions
38 * don't try to transmit when the processor is being stopped
39 * set the server version in the LibCEC's constructor, since this is
40 checked by clients. fixes 'invalid libCEC version' popup when inserting
41 the adapter
42 * don't wait for the full timeout to pass in CCECProcessor::
43 OpenConnection(), but retry to connect 2 times. fixes 'port busy' errors
44 when initialising libCEC. bugzid: 436
45 * use the correct Sleep() method in CCECProcessor::OpenConnection(). the
46 thread hasn't been started there yet, so the sleep wasn't working. fixes
47 'device or resource busy' when plugging in the adapter. bugzid: 436
48 * check the adapter ping and firmware before starting the reader thread, so
49 we really leave the com port alone for a second when it fails because of
50 a busy error. bugzid: 436
51 * ensure that the connection is really closed before retrying to connect.
52 bugzid: 436
53 * LibCecSharp: recreate the delegates properly when (re)connecting to
54 LibCecSharp
55
56 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 28 Feb 2012 21:19:00 +0100
57
58 libcec (1.5-1) unstable; urgency=low
59
60 * changed/added:
61 * a new libcec_configuration structs, which allows the client app to pass
62 a number of new options, like waking multiple devices on startup,
63 overriding the vendor id, etc.
64 * a new configuration GUI for Windows (.NET). this allows you to set
65 libCEC's configuration for XBMC in a convenient GUI.
66 * a CLI configuration tool (unfinished) for other platforms. will be
67 finished in an update.
68 * implemented power up for LG devices other than a TV
69 * win32: don't install libcec to the system directory by default, and
70 delete previous (testing) copies if present
71 * wait for multiple responses, not just for one at a time
72 * set the ackmask to 0 when closing the connection
73 * don't send 'image view on' when calling SetActiveSource()
74 * don't send power on, acitve source and standby commands by default in
75 cec-client
76 * platform: added CTryLockObject
77 * platform: added an Init() method in CTimeout, so it can be reset
78
79 * interface changes:
80 * added a new initialiser method: CecInitialise()/cec_initialise(), that
81 accepts a "libc_configuration" struct as parameter. this way, the
82 signature of the init method can stay the same when adding new options.
83 in LibCecSharp, the new method appears as a new constructor.
84 * added CanPersistConfiguration()/cec_can_persist_configuration()
85 * added PersistConfiguration()/cec_persist_configuration()
86 * added GetCurrentConfiguration()/cec_get_current_configuration()
87 * added SetConfiguration()/cec_set_configuration()
88 * added GetLogicalAddresses()/cec_get_logical_addresses(): returns the list
89 of addresses controlled by libCEC
90 * added RescanDevices()/cec_rescan_devices(): lets libCEC force polls to
91 all logical addresses.
92 * added a callback that is called when libCEC's configuration changed.
93 * moved the autodetect address api call to libcec_configuration. only send
94 power up commands to non-tv devices when the power state is not
95 on/transition->on. let players call the power up/power down command.
96 * return the anynet return keycode directly instead of translating it to
97 'return' for v1.5.0+ clients
98 * extracted CecSharpTypes.h in LibCecSharp. LibCecSharp is now in the
99 CecSharp namespace
100 * include the local cectypes.h in cec.h and cecc.h instead of system wide
101 * deprecated GetLibVersion() methods. use libcec_configuration instead
102 * removed deprecated CECCreate() method
103
104 * fixed:
105 * fixed a lot of LG specific issues
106 * fixed OS-X compilation. credits: Dustin Cooper
107 * fixed a couple of possible deadlocks, e.g. when closing the connection
108 while receiving data
109 * cleaned up existing code
110 * libCEC no longer puts incoming data in a fifo buffer, but tries to
111 process it directly, which fixes issues like libCEC blocking processing
112 new commands while waiting for transmission acks.
113 * 'unsupported command' marking in CCECBusDevice
114 * ensure that the ackmask is always set to 0 when closing the connection
115 and that the call doesn't block the Close() call
116 * don't try to read or write in CUSBCECAdapterCommunication when the
117 connection has been closed
118 * LibCecSharp: added quotes to the linker statement for libcec.lib. fixes
119 compilation in paths with spaces. closes #20
120 * LibCecSharp: set the callback methods in libcec to NULL before closing
121 the connection, since these might already have been destroyed in .NET
122 * LibCecSharp: delete the internal callback struct when closing the
123 connection
124 * LibCecSharp: pass correctly formatted logical address lists
125 * ensure that the vendor id is requested first when requesting info from a
126 device, so we are using the correct handler
127 * keep the 'busy state' of the command handler in CCECBusDevice
128 * poll the next device when the current is handled by libCEC.
129 * check the vendor id of a device before sending a power on command
130 * ensure that there always is at least one device type set
131 * transmit a keypress and key release as power on command when the target
132 device isn't the TV
133 * don't do a full reinit when not needed
134 * fix active source switches for the standard CEC implementation
135 * ensure that we don't send data to ourself
136 * check whether the port is open, not whether libCEC is initialised in
137 Transmit()
138 * platform: fixed return value from CCondition::Wait()
139 * platform: don't broadcast but wake one thread in
140 CProtectedSocket::MarkReady()
141 * platform: include stdint.h in windows/os-types.h instead of typedef'ing
142 ints
143 * platform: fixed tcp socket error handling and return value.
144 * platform: fixed return values of socket operations in lib/platform
145 * platform: added predicate in CCondition
146 * deleted the signed driver from the tree, since that doesn't work. let the
147 installer create a new signed driver on the production build system
148
149 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 19 Feb 2012 01:04:00 +0100
150
151 libcec (1.4-4) unstable; urgency=low
152
153 * changed/added:
154 * added tcp client sockets to lib/platform (WIP)
155 * clean up lib/platform
156 * added: set controlled mode on after opening a connection to the adapter
157 (for firmware v2)
158 * added an IAdapterCommunicationCallback interface an use a callback method
159 to pass newly received cec_commands to CCECProcessor
160 * added "driver only" and "driver + libcec" sections to the installer
161 * added a signed driver
162 * created a separate driver installer, which is included in the libCEC
163 installer. uninstalls the old unsigned version of libCEC and the driver
164 when it's found and installs the new one in C:\Program Files(x86)\
165 Pulse Eight\USB-CEC Adapter.
166 * don't sign development binaries with a temporary key. devs can do that
167 themselves when they want LibCecSharp in the GAC
168 * interface changes:
169 * added SetStreamPath()/cec_set_stream_path_logical()/
170 cec_set_stream_path_physical() to the interface, to send a
171 "set stream path" command over the CEC bus, used to activate another
172 source.
173 * fixed:
174 * transmit 'menu state activated' after the stream path has been set to a
175 device that is handled by libCEC. should fix remote commands not working
176 properly on Panasonic TVs and after another source has been active.
177 bugzid: 233
178 * set the ackmask to 0x0 when trying to find a free logical address
179 * keep trying to reconnect to the com port until the timeout runs out.
180 bugzid: 230
181 * wait 500 ms before trying to retransmit a command. always wait for the
182 result of a transmission in CCECCommandHandler::Transmit()
183 * receive and send full cec_commands, not CCECAdapterMessages in
184 CAdapterCommunication. extract an IAdapterCommunication interface. fixed
185 potentially missed data in CAdapterCommunication
186 * close and delete the connection when the processor thread ends. fixes
187 reconnect after standby (access denied / connection already opened)
188 * don't replace handlers when not initialised, or the primary device's
189 logical addres isn't known yet, which can lead to crashes. don't call
190 handlers directly in CCECProcessor without holding a lock on them
191 * fixed possible crash when command handler were switched while it was
192 being used
193 * keep the mutex locked when calling ReplaceHandlers() in CCECProcessor
194 * win32: also timeout when data is received in SocketRead()
195 * win32: fixed < vista runtime and compilation
196 * win32: ping the adapter and request the firmware version in
197 CUSBCECAdapterCommunication instead of CCECProcesssor. fixes failed
198 libCEC inits
199 * win32: fixed crash on exit in LibCecSharp
200
201 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 6 Feb 2012 14:26:00 +0100
202
203 libcec (1.4-3) unstable; urgency=low
204
205 * fixed:
206 * try to ping the device and grab the firmware version until the connect
207 timeout runs out. fixes failed reconnect after standby, when the adapter
208 is still being initialised
209
210 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 27 Jan 2012 13:05:00 +0100
211
212 libcec (1.4-2) unstable; urgency=low
213
214 * changed/added:
215 * added a firmware flash script for linux.
216 usage: ./support/cec-flash-device.sh /path/to/firware.hex
217 * refactored threading/locking - added windows native instead of
218 pthread-win32, so we can compile native x64 too
219 * check whether the adapter responds when connecting to it and report the
220 firmware version of the adapter after connecting
221 * moved create-installer.cmd to support/
222 * completely removed AM_SILENT_RULES
223 * interface changes:
224 * compile LibCecSharp against .NET framework 2.0 and sign the assembly
225 * fixed:
226 * only the key release events were sent, not keypresses, which appeared in
227 clients as laggy keypresses
228 * fixed reconnect after standby
229 * wait for active tranmission to finish when opening a connection to the
230 adapter. fixes initialisation errors
231 * set the default transmit timeout properly instead of using 0
232 * fixed possible deadlock because of a negative timeout in
233 CAdapterCommunication::WaitForTransmitSucceeded()
234 * fixed error message in cec-client (unable to open the device on port ...)
235 * exit cec-client after entering bootloader mode
236 * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED
237
238 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 25 Jan 2012 23:28:00 +0100
239
240 libcec (1.4-1) unstable; urgency=low
241
242 * changed/added:
243 * added the vendor id for Sony
244 * always refresh the power state of a device when it hasn't been updated
245 for 30 seconds
246 * do silent builds by default
247 * interface changes:
248 * added optional callback methods to libCEC. enable them by calling
249 EnableCallbacks(ICECCallbacks *callbacks) /
250 cec_enable_callbacks(ICECCallbacks *callbacks). after this method is
251 called, the GetNext...() methods will not return any data
252 * added the same callbacks to LibCecSharp. implement CecCallbackMethods
253 and override the methods in there
254 * fixed:
255 * use the given timeout when trying to open a connection to the CEC
256 adapter
257 * resolved difference between method name in LibCECC.cpp and cecc.h.
258 credits: Doug Johnson
259 * don't transmit physical addresses while holding a lock in CCECProcessor
260 * don't hold a lock when sending an active source message.
261 * unload libCEC when the lib version is invalid
262 * "unused" warnings suppressed
263
264 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 12 Jan 2012 19:06:00 +0100
265
266 libcec (1.3-3) unstable; urgency=low
267
268 * changed/added:
269 * place in libudev include in an extern C block. fixes compilations on
270 older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann
271 * added pkg-config to the dependencies list. issue #15
272 * updated README. closes #14
273 * added a script that tests some basic functions of the CEC adapter:
274 /support/cec-test-device.sh
275 * fixed:
276 * don't make libCEC the active source when changing the physical address.
277 don't send active source messages on startup, when not the active source
278 fixes unwanted device power ups
279 * replace the command handler directly after receiving a changed vendor
280 id. change the primary type from recording device to playback device
281 for panasonic TVs
282 * don't send a deck status update when sending an active source message
283 for panasonic TVs
284 * only switch handlers once when using the generic handler
285 * don't switch handlers when not needed
286 * hold a lock in CCECProcessor::SetHDMIPort()
287 * don't send deck status updates when sending an active source message by
288 default
289
290 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 3 Jan 2012 22:48:00 +0100
291
292 libcec (1.3-2) unstable; urgency=low
293
294 * changed/added:
295 * copy libcec.dll to the XBMC installation dir when XBMC is found
296 * disable background polling. let the client request this info when needed
297 * update the power status of a device when it's set to
298 CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
299 * wait for the correct response when requesting something, not just any
300 response
301 * don't keep trying the same command/request after receiving a feature
302 abort message
303 * interface changes:
304 * change the previously unused boolean parameter in volume control methods
305 to bSendRelease, and only send a key release when it's true. default to
306 true
307 * fixed:
308 * don't send the power up/down keypress to listeners when in the initial
309 device state (powered off). fixes unexpected shutdown in XBMC when
310 connecting to the CEC adapter.
311 * send a 'menu state activated' command when starting up. bugzid: 113
312 * don't wait for a response when not needed
313 * don't hold a lock while waiting for a response. fixes failed libCEC
314 inits and slow responses
315 * don't replace a command handler when it's being used. fixes possible
316 crash on startup
317 * don't try to do anything before the processor thread has started
318 * don't transmit active source messages when the physical address is
319 still 0xFFFF
320 * don't init the default handler before the physical address is known
321
322 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 29 Dec 2011 03:05:00 +0100
323
324 libcec (1.3-1) unstable; urgency=low
325
326 * changed/added:
327 * make libudev optional. if libudev is not available on linux, adapter
328 autodetection will also not be available. fixes compilation on Hardy/ATV1
329 * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET
330 language
331 * added vendor support for LG
332 * added vendor support for Philips
333 * added vendor support for Yamaha
334 * added vendor support for Onkyo
335 * added 'scan' command to cec-client, that displays info about devices on
336 the bus. made all ToString() methods available on the interface.
337 * added '-s' or '--single-command' to cec-client. starting cec-client with
338 this parameter executes a single command in cec-client and does not power
339 on devices on startup and power them off on exit. this way, you can use
340 cec-client in a shell script. since there's some handshaking involved at
341 startup, this is not very fast. to execute a command and only display the
342 result and any error/warning, execute it with
343 RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch
344 files are a bit different)
345 * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to
346 cec-client's parameters
347 * handle image view on and text view on
348 * handle routing information and report physical address opcodes
349 * handle audio status updates
350 * send ping and bootloader commands via the output queue
351 * scan the CEC bus for devices when starting libcec
352 * pass all commands that are directed at libcec to listeners
353 * interface changes:
354 * added GetActiveSource()/cec_get_active_source()
355 * added IsActiveSource()/cec_is_active_source()
356 * added GetDevicePhysicalAddress()/cec_get_device_physical_address()
357 * added GetDeviceOSDName()/cec_get_osd_name()
358 * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/
359 cec_send_key_release()
360 * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(),
361 MuteAudio()/cec_mute_audio()
362 * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/
363 cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type().
364 * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load
365 and when a device with the same physical address is detected, libcec will
366 use the selected hdmi port on that device. should fix source selection on
367 other devices, like an amplifier
368 * added a hook in libcec for physical address autodetection
369 * fixed:
370 * don't request the physical address from the tv (it's always 0x0000)
371 * set the proper ackmask before doing anything else
372 * don't unlock the transmit mutex in CCECProcessor while waiting for an
373 answer
374 * fix device polling
375 * refactor CEC read/write. keep a single lock for all writes, not one per
376 device
377 * ignore other data while waiting for a response
378 * retry failed tranmissions
379 * don't delete a message before it's been sent when starting the bootloader
380 * or when sending a ping
381 * fixed possible segfault when switching the command handler after a vendor
382 * id changed
383 * handle audio opcodes correctly
384 * inactive source should be directly addressed at the TV
385 * don't report a changed physical address when it hasn't changed
386 * routing information sets the stream path, not the physical address
387 * don't scan the whole bus in CCECProcessor::IsActiveDeviceType()
388 * don't request the vendor id from devices that are handled by libcec
389 * mark device status as present when a command was received from a device
390 * always send a power on command in CCECBusDevice::PowerOn()
391 * don't request updates statusses unless needed
392 * report physical address sends 3 parameters, not 2. check whether the
393 device type is correct
394 * devices can send vendor commands from other vendors, so don't assume the
395 device is of a certain vendor when it sends commands with a vendor id
396 * thread safety fixes. bugzid: 19
397 * clear any previous input when opening a connection to the adapter.
398 bugzid: 54
399 * use the correct source address in CSLCommandHandler::HandleVendorCommand()
400 * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
401 * renamed enum methods. fixes potential macro collision with isset().
402 thanks davilla
403 * don't change the active device when receiving stream path changed
404 messages. fixes wrong source selection when powering after the TV.
405
406 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 09 Dec 2011 12:16:00 +0100
407
408 libcec (1.2-1) unstable; urgency=low
409
410 * bugfixes:
411 * pass the deck_control command to libcec listeners
412 * check whether the initiator is valid in CCECProcessor::ParseCommand().
413 fixes possible segfault when parsing invalid data
414
415 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 12 Nov 2011 13:36:00 +0100
416
417 libcec (1.1-3) unstable; urgency=low
418
419 * fixed return value in CCECProcessor::SetStreamPath(), which prevented
420 active source and menu state from being sent
421
422 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 23:36:00 +0100
423
424 libcec (1.1-2) unstable; urgency=low
425
426 * forgot to update the headers to v1.1
427
428 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100
429
430 libcec (1.1-1) unstable; urgency=low
431
432 * interface changes:
433 * added logical address autodetection and let libcec handle multiple types
434 simultaniously. for logical address autodetection, you have to use
435 CECInit()/cec_init_typed() instead of CECCreate()/cec_init()
436 * added SetActiveSource()/cec_set_active_source() to the interface.
437 deprecated SetActiveView()/cec_set_active_view()
438 * added SetMenuState()
439 * added PollDevice()/cec_poll_device()
440 * removed duplicate method SetActiveSource() / SetActiveView()
441 * added SetDeckControlMode() and SetDeckInfo()
442 * fixed:
443 * added vendor detection for panasonic and broadcast active view and set
444 menu state when a panasonic device sets the stream path. thanks for the
445 pointer cptcoconut.
446 * added vendor code for pioneer
447 * osd string is 13 chars max. don't send more
448 * send the correct cec version for each device
449 * switch to panasonic specific cec implementation if a panasonic device was
450 detected
451 * send the correct device type in TransmitPhysicalAddress()
452 * send a reply from the correct device when the stream path is requested
453 * opcode 0x80 means the stream path changed, not the physical address
454 * don't poll for a vendor ID in monitoring mode
455 * fixed parameter parsing in SetVendorId()
456 * buffer up commands that are received while waiting for an ack. only send
457 'active source' message for the actual active source
458 * win32: prepend the com port path with '\\.\', so com ports > 9 can be
459 accessed. thanks smolesen
460 * audio systems cannot be an active source, so don't transmit active
461 source message from this device
462 * only send 'active source' when powered on
463 * only set the osd name for the primary device. use default values for
464 others
465 * increase physical address with 0x100 per device
466 * win32: removed unneeded afxres.h include in the resource files, which
467 is not present when using studio express. thanks Ghuron
468 * fixed C headers
469 * mark the active source as active and other devices as inactive
470 * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER
471 * transmit the menu state as (active) when the stream path is set
472 * changed:
473 * changed copyright of boblight files with permission of the original
474 author
475 * partial handling of audio related opcodes
476 * more consistent log messages
477 * set a device type and name for each CCECBusDevice
478 * keep a power and menu state per device
479 * renamed all Broadcast...() and Report...() methods to Transmit...()
480 * renamed SetOSDString() to TransmitOSDString()
481 * changed debug level of 'did not receive ack' from error to debug
482 * only set the power status to 'on' for the primary device
483 * moved method decriptions from cecc.h to cec.h
484 * only send a power on command when a device isn't on already and set
485 the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while
486 powering on
487 * handle CEC_OPCODE_STANDBY
488 * handle CEC_OPCODE_ACTIVE_SOURCE
489 * always start in standby mode and let the tv (or other device) send the
490 power on command
491 * renamed the last few enums
492 * handle deck related opcodes.
493 * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown'
494
495 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 17:42:00 +0100
496
497 libcec (1.0-1) unstable; urgency=low
498
499 * interface changes:
500 * set lib interface version back to 1.0 and rename GetLibVersion() to
501 GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion()
502 * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor
503 version number to 1
504 * fixed:
505 * samsung's vendor specific remote keypresses don't send key releases. added
506 call to AddKey() directly after the keypress
507 * always reset the button press time in CLibCEC::AddKey()
508 * always wait for a signal in CCECProcessor::Transmit()
509 * changed:
510 * drop shared_ptr and use a normal pointer. removed boost dependency
511
512 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 04 Nov 2011 00:14:00 +0100
513
514 libcec (0.8-2) unstable; urgency=low
515
516 * added 'libboost-dev' to build deps
517
518 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 23:31:00 +0100
519
520 libcec (0.8-1) unstable; urgency=low
521
522 * interface changes:
523 * added GetDevicePowerStatus()/cec_get_device_power_status()
524 * added GetDeviceVendorId()/cec_get_device_vendor_id()
525 * added GetDeviceMenuLanguage()/cec_get_device_menu_language()
526 * added GetDeviceCecVersion()/cec_get_device_cec_version()
527 * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
528 monitoring is enabled, the device will only log the data it received,
529 but will not respond to any message
530 * removed timeout parameter in Transmit() and included the ack timeout in
531 the cec_command struct
532 * made the vendor id -> vendor name translation available
533 * made CEC_LOG levels powers of 2
534 * introduced CEC_LOG_TRAFFIC log level
535 * fixed:
536 * set the correct ackmask on startup
537 * wait for ack while keeping a lock
538 * wait for the processor thread to start before continueing on startup
539 * wait for messages to be transmitted before continueing in
540 CCECProcessor::Transmit()
541 * only set the logical address once when it has changed
542 * correct source for broadcast messages
543 * win32: create Release type installer
544 * changed:
545 * make all reads and write in CAdapterCommunication go through buffers.
546 * poll for a vendor ID of connected devices and switch to a non-standard
547 CEC implementation if needed.
548 * added vendor detection of Samsung and LG devices
549 * handle samsung remote command 'return'
550 * cec-client:
551 * added -la and --logical-address to the command line params
552 * added -d and --log-level params to cec-client
553 * added -sf and --short-log-file, which only log the actual messages, not
554 the level and timestamp
555 * added -f and --log-file parameters to cec-client
556 * added option to change the log level to cec-client
557
558 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 22:58:00 +0100
559
560 libcec (0.7-1) unstable; urgency=low
561
562 * send a keypress with 0 duration when a key is pressed and with a duration
563 set when it's released
564 * added SetOSDString() to the interface (not supported by all tvs)
565 * fixed: 'routing change' is a broadcast message. log routing changes, but
566 don't send a 'set active view' message, so the active input won't be
567 changed
568 * log keypresses in the debug log
569 * added 'pa' command to cec-client, to change the physical address
570 * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
571 the HDMI port number to use can be changed
572 * fixed: put the message processing code from WaitForAck() in ParseMessage().
573 fixes missing incoming message logging of non-data messages when not
574 waiting for an ACK
575 * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
576 before returning
577 * fixed: set initiator and destination first in cec_command::push_back().
578 fixes 'tx' command in cec-client
579 * fixed: keep trying to connect while iTimeout isn't reached (default 10
580 seconds). fixes exit with a 'permission denied' error when the device isn't
581 ready yet. remove CEC_SETTLE_DOWN_TIME
582 * fixed: don't call SetActiveView() when reporting the power status. fixes
583 loop which causes some TVs to report failed connections
584 * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
585 * fixed: add the device type as parameter when sending the physical address.
586 thanks bobo1on1
587 * fixed: typo in libcec.pc.in
588 * added optional strLib parameter to LoadLibCec(), so the location of the
589 shared library can be specified
590 * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
591 * use int instead of bool on the public C interface and remove stdbool.h include
592 * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
593 cecloader.h, CECTypes.h => cectypes.h
594 * updated debian package. split up libcec and libcec-dev
595 * fixed: changed to use dlopen instead of static linkage. shuffled headers a
596 bit. bumped interface to version 7
597 * removed 'rt' from libraries. it's not needed (anymore)
598 * fixed: reset the active view after a routing change. issue #1
599 * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
600 error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
601 * added contributors link
602
603 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 14 Oct 2011 17:34:00 +0200
604
605 libcec (0.6-1) unstable; urgency=low
606
607 * bumped interface version to 6
608 * fixed packet output (reporting the OSD name correctly now)
609 * refactored packet structs: split up in cec commands and adapter messages
610 * fixed i/o timings
611 * added Darwin support (thanks Davilla!)
612 * fixed WaitForAck()
613 * fixed possible deadlock when starting a new thread
614 * implemented vendor id and device class parsing. full detection will follow
615 * added "on" and "standby" commands to the test client
616 * retransmit packets if needed
617 * fix GetTimeMs() on linux
618 * added timestamp to log messages
619
620 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 09 Oct 2011 15:15:00 +0200
621
622 libcec (0.5-1) unstable; urgency=low
623
624 * bumped interface version to 5
625 * don't pass std::string and std::vector accross the interface
626 * fixed heap corruption crashes on windows
627 * fixed some memory leaks
628 * reset all structs to default values before doing with them
629
630 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 07 Oct 2011 22:00:00 +0200
631
632 libcec (0.4-3) unstable; urgency=low
633
634 * fixed reconnect
635 * fixed some threading related bugs
636 * fixed deadlock on exit
637 * fixed wrongly reported physical address
638
639 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 06 Oct 2011 00:19:00 +0200
640
641 libcec (0.4-2) unstable; urgency=low
642
643 * fixed int parameter sizes and some signed/unsigned warnings
644 * check whether m_port isn't NULL in ReadFromDevice
645 * stop the processor thread and delete the CSerialPort instance on exit
646 * added mutex in CSerialPort
647 * fix segfault on exit
648 * renamed libPlatform -> platform.
649 * stuck everything from libCEC in the CEC namespace to avoid namespace
650 polution
651
652 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 23:45:00 +0200
653
654 libcec (0.4-1) unstable; urgency=low
655
656 * bumped interface version to 4
657 * timeout parameter removed from Close()/cec_close(). return type changed to
658 void
659 * added cec_destroy() method
660 * removed timeout parameter from Transmit()
661 * change the default argument of PowerOnDevices() to CECDEVICE_TV
662 * removed PowerOffDevices(). use StandbyDevices() instead
663 * removed obsolete methods from the interface
664 * fixed bug: pthread_cond_wait was called without the mutex locked
665 * fixed possible deadlock: don't send messages and wait for an ack with the
666 mutex locked in CCECParser
667 * created a separate reader thread and fixed the 'lock timeout' bug
668 * testclient: use CECDEVICE_TV instead of the default argument
669 (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices()
670
671 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 00:48:00 +0200
672
673 libcec (0.3-1) unstable; urgency=low
674
675 * added device detection support for Windows
676
677 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 02 Oct 2011 12:09:33 +0200
678
679 libcec (0.2-1) unstable; urgency=low
680
681 * added a Close() method to the interface
682 * Added CEC command that were received by the adapter in a buffer that can be
683 read by a client with GetNextCommand()/cec_get_next_command(). added a
684 'help' command to the test client, that displays all available commands
685 * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use
686 SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to
687 the testclient to set the logical address of the cec adapter
688 * Added optional logical and physical address parameters to
689 LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace
690 close tag in CECExports.h. updated interface documentation. bumped
691 interface version to 2.
692 * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the
693 test client. the previous one was too long and being rejected
694
695 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 28 Sep 2011 01:33:00 +0200
696
697 libcec (0.1-1) unstable; urgency=low
698
699 * Initial release v0.1
700
701 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 28 Sep 2011 23:55:48 +0200