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