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