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