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