cec: try to ping the device and grab the firmware version until the connect timeout...
[deb_libcec.git] / debian / changelog
CommitLineData
2819463f
LOK
1libcec (1.4-2) unstable; urgency=low
2
3 * changed/added:
4 * added a firmware flash script for linux.
5 usage: ./support/cec-flash-device.sh /path/to/firware.hex
6 * refactored threading/locking - added windows native instead of
7 pthread-win32, so we can compile native x64 too
8 * check whether the adapter responds when connecting to it and report the
9 firmware version of the adapter after connecting
10 * moved create-installer.cmd to support/
11 * completely removed AM_SILENT_RULES
12 * interface changes:
13 * compile LibCecSharp against .NET framework 2.0 and sign the assembly
14 * fixed:
15 * only the key release events were sent, not keypresses, which appeared in
16 clients as laggy keypresses
17 * fixed reconnect after standby
18 * wait for active tranmission to finish when opening a connection to the
19 adapter. fixes initialisation errors
20 * set the default transmit timeout properly instead of using 0
21 * fixed possible deadlock because of a negative timeout in
22 CAdapterCommunication::WaitForTransmitSucceeded()
23 * fixed error message in cec-client (unable to open the device on port ...)
b9aae0cd 24 * exit cec-client after entering bootloader mode
2819463f
LOK
25 * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED
26
27 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 25 Jan 2012 23:28:00 +0100
28
e6b4a29e
LOK
29libcec (1.4-1) unstable; urgency=low
30
31 * changed/added:
32 * added the vendor id for Sony
33 * always refresh the power state of a device when it hasn't been updated
34 for 30 seconds
35 * do silent builds by default
36 * interface changes:
37 * added optional callback methods to libCEC. enable them by calling
38 EnableCallbacks(ICECCallbacks *callbacks) /
39 cec_enable_callbacks(ICECCallbacks *callbacks). after this method is
40 called, the GetNext...() methods will not return any data
41 * added the same callbacks to LibCecSharp. implement CecCallbackMethods
42 and override the methods in there
43 * fixed:
44 * use the given timeout when trying to open a connection to the CEC
45 adapter
46 * resolved difference between method name in LibCECC.cpp and cecc.h.
47 credits: Doug Johnson
48 * don't transmit physical addresses while holding a lock in CCECProcessor
49 * don't hold a lock when sending an active source message.
50 * unload libCEC when the lib version is invalid
51 * "unused" warnings suppressed
52
53 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 12 Jan 2012 19:06:00 +0100
54
d0d8b3c0 55libcec (1.3-3) unstable; urgency=low
f962137e
LOK
56
57 * changed/added:
58 * place in libudev include in an extern C block. fixes compilations on
59 older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann
60 * added pkg-config to the dependencies list. issue #15
61 * updated README. closes #14
62 * added a script that tests some basic functions of the CEC adapter:
63 /support/cec-test-device.sh
64 * fixed:
65 * don't make libCEC the active source when changing the physical address.
66 don't send active source messages on startup, when not the active source
67 fixes unwanted device power ups
68 * replace the command handler directly after receiving a changed vendor
69 id. change the primary type from recording device to playback device
70 for panasonic TVs
71 * don't send a deck status update when sending an active source message
72 for panasonic TVs
73 * only switch handlers once when using the generic handler
74 * don't switch handlers when not needed
75 * hold a lock in CCECProcessor::SetHDMIPort()
76 * don't send deck status updates when sending an active source message by
77 default
78
79 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 3 Jan 2012 22:48:00 +0100
80
188d35cf
LOK
81libcec (1.3-2) unstable; urgency=low
82
83 * changed/added:
84 * copy libcec.dll to the XBMC installation dir when XBMC is found
85 * disable background polling. let the client request this info when needed
86 * update the power status of a device when it's set to
87 CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
88 * wait for the correct response when requesting something, not just any
89 response
90 * don't keep trying the same command/request after receiving a feature
91 abort message
92 * interface changes:
93 * change the previously unused boolean parameter in volume control methods
94 to bSendRelease, and only send a key release when it's true. default to
95 true
96 * fixed:
97 * don't send the power up/down keypress to listeners when in the initial
98 device state (powered off). fixes unexpected shutdown in XBMC when
99 connecting to the CEC adapter.
100 * send a 'menu state activated' command when starting up. bugzid: 113
101 * don't wait for a response when not needed
102 * don't hold a lock while waiting for a response. fixes failed libCEC
103 inits and slow responses
104 * don't replace a command handler when it's being used. fixes possible
105 crash on startup
106 * don't try to do anything before the processor thread has started
107 * don't transmit active source messages when the physical address is
108 still 0xFFFF
109 * don't init the default handler before the physical address is known
110
111 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 29 Dec 2011 03:05:00 +0100
112
2c7c8c4b 113libcec (1.3-1) unstable; urgency=low
19330705
LOK
114
115 * changed/added:
116 * make libudev optional. if libudev is not available on linux, adapter
117 autodetection will also not be available. fixes compilation on Hardy/ATV1
118 * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET
119 language
120 * added vendor support for LG
121 * added vendor support for Philips
122 * added vendor support for Yamaha
123 * added vendor support for Onkyo
124 * added 'scan' command to cec-client, that displays info about devices on
125 the bus. made all ToString() methods available on the interface.
126 * added '-s' or '--single-command' to cec-client. starting cec-client with
127 this parameter executes a single command in cec-client and does not power
128 on devices on startup and power them off on exit. this way, you can use
129 cec-client in a shell script. since there's some handshaking involved at
130 startup, this is not very fast. to execute a command and only display the
131 result and any error/warning, execute it with
132 RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch
133 files are a bit different)
134 * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to
135 cec-client's parameters
136 * handle image view on and text view on
137 * handle routing information and report physical address opcodes
138 * handle audio status updates
139 * send ping and bootloader commands via the output queue
140 * scan the CEC bus for devices when starting libcec
141 * pass all commands that are directed at libcec to listeners
142 * interface changes:
143 * added GetActiveSource()/cec_get_active_source()
144 * added IsActiveSource()/cec_is_active_source()
145 * added GetDevicePhysicalAddress()/cec_get_device_physical_address()
146 * added GetDeviceOSDName()/cec_get_osd_name()
147 * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/
148 cec_send_key_release()
149 * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(),
150 MuteAudio()/cec_mute_audio()
151 * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/
152 cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type().
153 * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load
154 and when a device with the same physical address is detected, libcec will
155 use the selected hdmi port on that device. should fix source selection on
156 other devices, like an amplifier
157 * added a hook in libcec for physical address autodetection
158 * fixed:
159 * don't request the physical address from the tv (it's always 0x0000)
160 * set the proper ackmask before doing anything else
161 * don't unlock the transmit mutex in CCECProcessor while waiting for an
162 answer
163 * fix device polling
164 * refactor CEC read/write. keep a single lock for all writes, not one per
165 device
166 * ignore other data while waiting for a response
167 * retry failed tranmissions
168 * don't delete a message before it's been sent when starting the bootloader
169 * or when sending a ping
170 * fixed possible segfault when switching the command handler after a vendor
171 * id changed
172 * handle audio opcodes correctly
173 * inactive source should be directly addressed at the TV
174 * don't report a changed physical address when it hasn't changed
175 * routing information sets the stream path, not the physical address
176 * don't scan the whole bus in CCECProcessor::IsActiveDeviceType()
177 * don't request the vendor id from devices that are handled by libcec
178 * mark device status as present when a command was received from a device
179 * always send a power on command in CCECBusDevice::PowerOn()
180 * don't request updates statusses unless needed
181 * report physical address sends 3 parameters, not 2. check whether the
182 device type is correct
183 * devices can send vendor commands from other vendors, so don't assume the
184 device is of a certain vendor when it sends commands with a vendor id
185 * thread safety fixes. bugzid: 19
186 * clear any previous input when opening a connection to the adapter.
187 bugzid: 54
188 * use the correct source address in CSLCommandHandler::HandleVendorCommand()
189 * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
190 * renamed enum methods. fixes potential macro collision with isset().
191 thanks davilla
192 * don't change the active device when receiving stream path changed
193 messages. fixes wrong source selection when powering after the TV.
194
195 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 09 Dec 2011 12:16:00 +0100
196
94d98b71
LOK
197libcec (1.2-1) unstable; urgency=low
198
199 * bugfixes:
200 * pass the deck_control command to libcec listeners
201 * check whether the initiator is valid in CCECProcessor::ParseCommand().
202 fixes possible segfault when parsing invalid data
203
204 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 12 Nov 2011 13:36:00 +0100
205
c3da3073
LOK
206libcec (1.1-3) unstable; urgency=low
207
208 * fixed return value in CCECProcessor::SetStreamPath(), which prevented
209 active source and menu state from being sent
210
211 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 23:36:00 +0100
212
f0197d4f
LOK
213libcec (1.1-2) unstable; urgency=low
214
215 * forgot to update the headers to v1.1
216
217 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100
218
4f8dcef2
LOK
219libcec (1.1-1) unstable; urgency=low
220
221 * interface changes:
222 * added logical address autodetection and let libcec handle multiple types
223 simultaniously. for logical address autodetection, you have to use
224 CECInit()/cec_init_typed() instead of CECCreate()/cec_init()
225 * added SetActiveSource()/cec_set_active_source() to the interface.
226 deprecated SetActiveView()/cec_set_active_view()
227 * added SetMenuState()
228 * added PollDevice()/cec_poll_device()
229 * removed duplicate method SetActiveSource() / SetActiveView()
230 * added SetDeckControlMode() and SetDeckInfo()
231 * fixed:
232 * added vendor detection for panasonic and broadcast active view and set
233 menu state when a panasonic device sets the stream path. thanks for the
234 pointer cptcoconut.
235 * added vendor code for pioneer
236 * osd string is 13 chars max. don't send more
237 * send the correct cec version for each device
238 * switch to panasonic specific cec implementation if a panasonic device was
239 detected
240 * send the correct device type in TransmitPhysicalAddress()
241 * send a reply from the correct device when the stream path is requested
242 * opcode 0x80 means the stream path changed, not the physical address
243 * don't poll for a vendor ID in monitoring mode
244 * fixed parameter parsing in SetVendorId()
245 * buffer up commands that are received while waiting for an ack. only send
246 'active source' message for the actual active source
247 * win32: prepend the com port path with '\\.\', so com ports > 9 can be
248 accessed. thanks smolesen
249 * audio systems cannot be an active source, so don't transmit active
250 source message from this device
251 * only send 'active source' when powered on
252 * only set the osd name for the primary device. use default values for
253 others
254 * increase physical address with 0x100 per device
255 * win32: removed unneeded afxres.h include in the resource files, which
256 is not present when using studio express. thanks Ghuron
257 * fixed C headers
258 * mark the active source as active and other devices as inactive
259 * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER
c6b7b98b 260 * transmit the menu state as (active) when the stream path is set
4f8dcef2
LOK
261 * changed:
262 * changed copyright of boblight files with permission of the original
263 author
264 * partial handling of audio related opcodes
265 * more consistent log messages
266 * set a device type and name for each CCECBusDevice
267 * keep a power and menu state per device
268 * renamed all Broadcast...() and Report...() methods to Transmit...()
269 * renamed SetOSDString() to TransmitOSDString()
270 * changed debug level of 'did not receive ack' from error to debug
271 * only set the power status to 'on' for the primary device
272 * moved method decriptions from cecc.h to cec.h
273 * only send a power on command when a device isn't on already and set
274 the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while
275 powering on
276 * handle CEC_OPCODE_STANDBY
277 * handle CEC_OPCODE_ACTIVE_SOURCE
278 * always start in standby mode and let the tv (or other device) send the
279 power on command
280 * renamed the last few enums
281 * handle deck related opcodes.
282 * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown'
283
284 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 17:42:00 +0100
285
84c27c41 286libcec (1.0-1) unstable; urgency=low
5984d274
LOK
287
288 * interface changes:
289 * set lib interface version back to 1.0 and rename GetLibVersion() to
290 GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion()
291 * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor
292 version number to 1
293 * fixed:
294 * samsung's vendor specific remote keypresses don't send key releases. added
295 call to AddKey() directly after the keypress
296 * always reset the button press time in CLibCEC::AddKey()
297 * always wait for a signal in CCECProcessor::Transmit()
298 * changed:
299 * drop shared_ptr and use a normal pointer. removed boost dependency
300
301 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 04 Nov 2011 00:14:00 +0100
302
b3efc8f2
LOK
303libcec (0.8-2) unstable; urgency=low
304
305 * added 'libboost-dev' to build deps
306
307 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 23:31:00 +0100
308
971d0e9e
LOK
309libcec (0.8-1) unstable; urgency=low
310
311 * interface changes:
312 * added GetDevicePowerStatus()/cec_get_device_power_status()
313 * added GetDeviceVendorId()/cec_get_device_vendor_id()
314 * added GetDeviceMenuLanguage()/cec_get_device_menu_language()
315 * added GetDeviceCecVersion()/cec_get_device_cec_version()
316 * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
b3efc8f2
LOK
317 monitoring is enabled, the device will only log the data it received,
318 but will not respond to any message
971d0e9e 319 * removed timeout parameter in Transmit() and included the ack timeout in
b3efc8f2 320 the cec_command struct
971d0e9e
LOK
321 * made the vendor id -> vendor name translation available
322 * made CEC_LOG levels powers of 2
323 * introduced CEC_LOG_TRAFFIC log level
324 * fixed:
325 * set the correct ackmask on startup
326 * wait for ack while keeping a lock
327 * wait for the processor thread to start before continueing on startup
328 * wait for messages to be transmitted before continueing in
b3efc8f2 329 CCECProcessor::Transmit()
971d0e9e
LOK
330 * only set the logical address once when it has changed
331 * correct source for broadcast messages
332 * win32: create Release type installer
333 * changed:
334 * make all reads and write in CAdapterCommunication go through buffers.
335 * poll for a vendor ID of connected devices and switch to a non-standard
b3efc8f2 336 CEC implementation if needed.
971d0e9e
LOK
337 * added vendor detection of Samsung and LG devices
338 * handle samsung remote command 'return'
339 * cec-client:
340 * added -la and --logical-address to the command line params
341 * added -d and --log-level params to cec-client
342 * added -sf and --short-log-file, which only log the actual messages, not
b3efc8f2 343 the level and timestamp
971d0e9e
LOK
344 * added -f and --log-file parameters to cec-client
345 * added option to change the log level to cec-client
346
b3efc8f2 347 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 22:58:00 +0100
971d0e9e 348
8f084f00
LOK
349libcec (0.7-1) unstable; urgency=low
350
351 * send a keypress with 0 duration when a key is pressed and with a duration
352 set when it's released
353 * added SetOSDString() to the interface (not supported by all tvs)
354 * fixed: 'routing change' is a broadcast message. log routing changes, but
355 don't send a 'set active view' message, so the active input won't be
356 changed
357 * log keypresses in the debug log
358 * added 'pa' command to cec-client, to change the physical address
359 * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
360 the HDMI port number to use can be changed
361 * fixed: put the message processing code from WaitForAck() in ParseMessage().
362 fixes missing incoming message logging of non-data messages when not
363 waiting for an ACK
364 * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
365 before returning
366 * fixed: set initiator and destination first in cec_command::push_back().
367 fixes 'tx' command in cec-client
368 * fixed: keep trying to connect while iTimeout isn't reached (default 10
369 seconds). fixes exit with a 'permission denied' error when the device isn't
370 ready yet. remove CEC_SETTLE_DOWN_TIME
371 * fixed: don't call SetActiveView() when reporting the power status. fixes
372 loop which causes some TVs to report failed connections
373 * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
374 * fixed: add the device type as parameter when sending the physical address.
375 thanks bobo1on1
376 * fixed: typo in libcec.pc.in
377 * added optional strLib parameter to LoadLibCec(), so the location of the
378 shared library can be specified
379 * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
380 * use int instead of bool on the public C interface and remove stdbool.h include
381 * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
382 cecloader.h, CECTypes.h => cectypes.h
383 * updated debian package. split up libcec and libcec-dev
384 * fixed: changed to use dlopen instead of static linkage. shuffled headers a
385 bit. bumped interface to version 7
386 * removed 'rt' from libraries. it's not needed (anymore)
387 * fixed: reset the active view after a routing change. issue #1
388 * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
389 error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
390 * added contributors link
391
392 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 14 Oct 2011 17:34:00 +0200
393
11d0a2d6
LOK
394libcec (0.6-1) unstable; urgency=low
395
396 * bumped interface version to 6
397 * fixed packet output (reporting the OSD name correctly now)
398 * refactored packet structs: split up in cec commands and adapter messages
399 * fixed i/o timings
400 * added Darwin support (thanks Davilla!)
401 * fixed WaitForAck()
402 * fixed possible deadlock when starting a new thread
403 * implemented vendor id and device class parsing. full detection will follow
404 * added "on" and "standby" commands to the test client
405 * retransmit packets if needed
406 * fix GetTimeMs() on linux
407 * added timestamp to log messages
408
409 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 09 Oct 2011 15:15:00 +0200
410
9519c249 411libcec (0.5-1) unstable; urgency=low
25701fa6
LOK
412
413 * bumped interface version to 5
414 * don't pass std::string and std::vector accross the interface
415 * fixed heap corruption crashes on windows
416 * fixed some memory leaks
417 * reset all structs to default values before doing with them
418
11d0a2d6 419 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 07 Oct 2011 22:00:00 +0200
25701fa6 420
262f3b05
LOK
421libcec (0.4-3) unstable; urgency=low
422
423 * fixed reconnect
424 * fixed some threading related bugs
425 * fixed deadlock on exit
426 * fixed wrongly reported physical address
427
428 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 06 Oct 2011 00:19:00 +0200
429
4463fb80
LOK
430libcec (0.4-2) unstable; urgency=low
431
432 * fixed int parameter sizes and some signed/unsigned warnings
433 * check whether m_port isn't NULL in ReadFromDevice
434 * stop the processor thread and delete the CSerialPort instance on exit
435 * added mutex in CSerialPort
436 * fix segfault on exit
437 * renamed libPlatform -> platform.
438 * stuck everything from libCEC in the CEC namespace to avoid namespace
439 polution
440
441 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 23:45:00 +0200
442
88c5a743
LOK
443libcec (0.4-1) unstable; urgency=low
444
445 * bumped interface version to 4
446 * timeout parameter removed from Close()/cec_close(). return type changed to
447 void
448 * added cec_destroy() method
449 * removed timeout parameter from Transmit()
450 * change the default argument of PowerOnDevices() to CECDEVICE_TV
451 * removed PowerOffDevices(). use StandbyDevices() instead
452 * removed obsolete methods from the interface
453 * fixed bug: pthread_cond_wait was called without the mutex locked
454 * fixed possible deadlock: don't send messages and wait for an ack with the
455 mutex locked in CCECParser
456 * created a separate reader thread and fixed the 'lock timeout' bug
457 * testclient: use CECDEVICE_TV instead of the default argument
458 (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices()
459
460 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 00:48:00 +0200
461
a9bb5b56
LOK
462libcec (0.3-1) unstable; urgency=low
463
464 * added device detection support for Windows
465
466 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 02 Oct 2011 12:09:33 +0200
467
c3f9951c
LOK
468libcec (0.2-1) unstable; urgency=low
469
470 * added a Close() method to the interface
471 * Added CEC command that were received by the adapter in a buffer that can be
472 read by a client with GetNextCommand()/cec_get_next_command(). added a
473 'help' command to the test client, that displays all available commands
474 * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use
475 SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to
476 the testclient to set the logical address of the cec adapter
477 * Added optional logical and physical address parameters to
478 LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace
479 close tag in CECExports.h. updated interface documentation. bumped
480 interface version to 2.
481 * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the
482 test client. the previous one was too long and being rejected
483
484 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 28 Sep 2011 01:33:00 +0200
485
abbca718
LOK
486libcec (0.1-1) unstable; urgency=low
487
488 * Initial release v0.1
489
490 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 28 Sep 2011 23:55:48 +0200