Merge pull request #172 from warped-rudi/Pulse-Eight
[deb_libcec.git] / debian / changelog
CommitLineData
b53bfc2d
LOK
1libcec (2.1.3-1) unstable; urgency=low
2
3 * changed / added:
4 * ask users to send an email when receiving an unhandled vendor command
5 * toshiba: map top menu and dvd menu buttons. closes #148
6 * LibCecSharp: sync alert types
7 * LibCecSharp: added CurrentVersion to the version enum
8 * CecSharpClient: use CurrentVersion instead of a hardcoded version
9 * CecTray: power management
10 * CecTray: split up asyncform
11 * CecTray: try/catch xml exceptions when reading the xml config. bugzid:
12 2082
13 * CecTray: use CurrentVersion instead of a hardcoded version
14 * CecTray: display a warning if we can't poll the TV
15 * CecTray: display alerts from libCEC
16 * CecTray: don't use lazy loading for the main controller, but pass the
17 instance. bugzid: 2082
18 * windows: converted to vs2012
19 * fixed:
20 * toshiba: toshiba handler wasn't initialised, and toshiba uses more than
21 one vendor id
22 * libCEC marked itself as inactive source when the stream path changed to
23 a device with a different physical address. bugzid: 2157
24 * TDA995x: report proper firmware revision
25 * windows: fix resource files and backwards compat dll names
26
27 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 10 May 2013 16:47:00 +0100
28
331d659e
LOK
29libcec (2.1.1-1) unstable; urgency=low
30
31 * changed / added:
32 * send an alert when the TV does not respond to polls
33 * fixed:
34 * LG didn't switch sources after the TV powered up
2d852206
LOK
35 * always poll a device when the status is unknown, and don't try to
36 determine whether it needs to be polled by checking the status of other
37 devices
38 * don't mark a device as inactive when receiving a routing change message,
39 only when another device was made acive. fixes the issue that rc
40 passthrough doesn't work when a tv sends a quick routing change to
41 another port before requesting the active source when coming out of
42 standby
331d659e 43 * LibCecSharp: fixed 14 char long OSD name (wasn't \0 terminated)
2d852206
LOK
44 * LibCecSharp: fixed return value of GetActiveDevices(). issue #131
45 * cec-tray: fixed index out of range exception in CECSettingNumeric.cs.
46 bugzid: 2082
47 * cec-tray: ensure that the tray app only initialises once. bugzid: 2082
48 * rpi: don't set the physical address to 1.0.0.0 when receiving
49 VC_HDMI_UNPLUGGED. it may wake up device when they were just sent to
50 standby. issue #142
51 * osx: use the correct dylib name in cecloader.h, used by cec-client
331d659e
LOK
52
53 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 8 Mar 2013 17:21:00 +0100
54
55 libcec (2.1.0-1) unstable; urgency=low
9b56a19a 56
a9403e17 57 * changed / added:
9b56a19a 58 * added vendor id for Denon
a9403e17
LOK
59 * added DetectAdapters() method, that returns all device information for
60 detected adapters, not just the com port
61 * added new method PowerOnScreensaver. credits: @jmarcet
9b56a19a
LOK
62 * LibCECTray: Added ability to send modifiers by nesting commands in
63 KeyInput.cs. credits: Nate Burr
64 * rpi: Added /opt/vc/include/interface/vmcs_host/linux to rpi_cflags to fix
65 building on 'next' firmware branch. credits: Nedim Lisica
66 * fixed:
67 * don't send two active source message sequences to philips. issue #118
68 * don't send deck status updates to philips when activating the source
69 * update the active source status correctly after a manual switch to
70 another source. closes #124
71 * rename cec_audio_status() to cec_audio_get_status() to avoid conflict
72 with the cec_audio_status enum. This makes the C API compile again.
73 credits: Dave Chapman
74 * LibCECTray: Fixed bug with libcec adding the keyup for button commands
75 and making sure they are still executed. credits: Nate Burr
a9403e17
LOK
76 * rpi: register callback for HPD. re-read the physical address when we
77 received VC_HDMI_ATTACHED. issue #109
9b56a19a 78
a9403e17 79 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 26 Feb 2013 23:06:00 +0100
9b56a19a 80
6fb1aefd
LOK
81libcec (2.0.5-1) unstable; urgency=low
82
83 * changed:
84 * also try polls at least twice when it failed
85 * added methods to get the audiostatus and toggle the mute status from the
86 amplifier (if connected)
87 * added comboKey and iComboKeyTimeoutMs to libcec_configuration
88 * force cec_user_control_code_unknown to 0xFF
89 * fixed:
90 * check unsupported features properly
91 * only send an active source message when the stream path changed and we
92 weren't the active source yet
93 * don't mark as inactive source on routing changes
94 * press & hold
95 * never mark user control opcodes as unsupported
96 * report our OSD name to the TV, since some TVs don't request it
97 * initial audiostatus value
98 * don't log a no longer relevant FIXME
99
100 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 6 Dec 2012 20:58:00 +0100
101
0c271bd0
LOK
102libcec (2.0.4-1) unstable; urgency=low
103
104 * changed:
105 * dropped obsolete cec-config
106 * added CEC_CLIENT_VERSION_CURRENT and CEC_SERVER_VERSION_CURRENT. closes
107 #88
108 * support colon separated data for the 'tx' command in cec-client
109 * mark the adapter as (in)active source for firmware v3+
e5d6d558 110 * added 'is' command to cec-client, to mark libCEC as inactive source
0c271bd0
LOK
111 * fixed:
112 * only change the handler of the primary device if the tv has a quirks mode
113 not for other devices
114 * send an active source message when the route was set to the physical
115 address that is handled by libCEC
116 * default double tap timeout wasn't set for panasonic
117 * philips TVs sometimes keep sending key presses without key releases
118 * philips TVs ignore 'image view on' right after they were sent into
119 standby. check the power status of the tv every 5 seconds, until it
120 reports to have powered on
121 * mark a device as powered on when receiving a stream path or routing
122 change
123 * update the active source status correctly on stream path changes
124 * ensure that we only send 'image view on' when needed
125 * mark the TV as 'in transition standby -> on' after sending
126 'image view on', so we don't spam the TV with 'image view on' command
127 while waiting for it to finish powering up. bugzid: 1603. bugzid: 1609.
128 bugzid: 1592
129 * request the active source before requesting device information in
130 cec-client, or it'll display incorrect information when called the first
131 time
132 * update the value of CCECProcessor::m_bMonitor when registering a client.
133 SetControlled() wasn't called on exit, so it took 30 seconds until it was
134 auto-enabled
135 * silence 'unused' warning properly. closes #86
136 * only change the type of the client to 'playback device' instead of
137 'recorder' for panasonic if the TV is a panasonic. issue #84
138 * always poll the TV if it's marked as not present. issue #83. issue #84
139 * only set m_iCurrentButton when the duration isn't known yet. fixes
140 duplicate key press for vendor remote codes. closes #81
141 * delete the right registry key
e5d6d558
LOK
142 * send active source message when we received a routing change with a
143 device that is handled by libCEC as address. issue #89
144 * return value wasn't updated in GetLogicalAddresses()
0c271bd0 145
e5d6d558 146 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 15 Nov 2012 02:26:00 +0100
0c271bd0 147
83715833
LOK
148libcec (2.0.3-1) unstable; urgency=low
149
150 * changed:
151 * log unhandled vendor remote keycodes in the log, so they get logged
152 without debugging enabled
1f74aaee
LOK
153 * double tap timeout increased from 200ms to 250ms
154 * CuBox/NXP* renamed to TDA995x*
83715833
LOK
155 * fixed:
156 * handling of active route changes. github issue #56 and issue #58
157 * new combo key handling broke samsung's vendor specific remote buttons.
158 github issue #54
159 * don't try to set controlled mode when using firmware version 1 and crash.
160 github issue #76
161 * fix for LG models that send a vendor key up after a normal key down.
162 github issue #71
163 * some TVs send keypresses to us without making us the active source. mark
164 us as active source when this happens. github issue #71
165 * LG doesn't send routing changes, and marks the TV as active source when
166 switching to another source that's not been selected in the simplink menu
167 instead. this change keeps libCEC marked as powered on and keep the deck
168 state set to CEC_DECK_INFO_OTHER_STATUS_LG. fixes keypresses not working
169 after switching to another source and back to libCEC's hdmi port via the
170 source select menu instead of the simplink menu. github issue #71
171 * don't respond with an abort message when receiving a vendor remote button
172 command
173 * respond with CEC_ABORT_REASON_INVALID_OPERAND when receiving a keypress
174 without a parameter
175 * typo in stop+pause combo key that prevented one of the keys from working
176 * rpi: log what data we received exactly when we receive an response from
177 the pi's firmware that doesn't match any command that we sent. issue #77
178 * cubox: added adapter ID interface
179
1f74aaee 180 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 31 Oct 2012 15:57:00 +0100
83715833 181
784a6a79
LOK
182libcec (2.0.2-2) unstable; urgency=medium
183
184 * fixed:
185 * updating the device status after a poll was broken and could reset the
186 status of devices that were marked as handled by libCEC to 'not
187 present'
188 * don't keep spamming the bus with a vendor command when an active source
189 switch is pending for panasonic, but only send it when needed
190 * reset CVLCommandHandler::m_bCapabilitiesSent when the TV goes to standby
191
192 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 15 Oct 2012 13:52:00 +0100
193
20fd14a9
LOK
194libcec (2.0.2-1) unstable; urgency=low
195
196 * changed/added:
197 * missing from the previous changelog: added support for the CuBox TDA995x
198 credits: warped-rudi
199 * lower retry timeout for source switches
200 * cec-client: wait for the source switch to finish when cec-client is
201 called with the -s switch
202 * request the power status of the TV directly after registering a new
203 client
204 * fixed:
205 * don't keep trying to send 'image view on' commands to the TV when no TV
206 is connected, and just send the 'set active source' command. fixes source
207 switch and debug log spam for people without a TV connected
208 * don't keep waiting for an updated power status from the TV for Panasonic,
209 but request a status update once every 5 seconds, or we can possibly wait
210 forever for the tv to send it
211 * log what we received exactly when logging FIXME
212 * typo in CVLCommandHandler::VendorPreActivateSourceHook. bugzid: 1087
213 * if we failed to get the physical address of the device that we are
214 connected to in the config, then try to use the address that was
215 persisted in the eeprom before resetting to the default value, 1.0.0.0.
216 closes #50.
217 * don't update the device status of unregistered/broadcast
218 * log all device status changes
219 * CCECClient::IsLibCECActiveSource returns false now while the active
220 source command is pending
221 * log failed acks and other errors in the debug log again
222 * don't send 'image view on' when the TV is already powering up
223 * reset the delayed source switch timeout properly, so we don't spam
224 commands every second
225 * don't change the device status when sending a delayed source switch
226 * don't send out commands to a device that is marked as not present or
227 handled by libCEC
228
229 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 11 Oct 2012 15:48:00 +0100
230
999665e3
LOK
231libcec (2.0.1-1) unstable; urgency=low
232
233 * changed/added:
234 * added Loewe support
235 * added signal handlers to client applications
236 * Documentation updated
a1e112a5 237 * replaced cec-config-gui by libCEC tray
e2f08915 238 * log the exact data for failed transmissions, not the opcode
a1e112a5
LOK
239 * don't log every frame, unless debugging was enabled in ./configure or
240 visual studio
241 * changed some log levels from NOTICE to DEBUG, so the non-debugging output
242 is less spammy
999665e3
LOK
243 * interface changes:
244 * WARNING: breaking API changes
245 * clean up: deprecated methods and fields removed
246 * callback parameters changed to fix plain C compilation
a1e112a5
LOK
247 * added GetAdapterProductId()+GetAdapterVendorId()/
248 cec_get_adapter_product_id()+cec_get_adapter_vendor_id()
3ae8d8d5
LOK
249 * added iDoubleTapTimeoutMs to libcec_configuration
250 * remove all pre-v2.0 compatibility checks
999665e3
LOK
251 * fixed:
252 * fix plain C compilation
e2f08915
LOK
253 * prevent sending directly addressed commands from being sent to broadcast
254 * don't wait for a response when sending a reply, so we don't block message
255 handling
a1e112a5
LOK
256 * message response signaling and logging
257 * prevent double taps by not sending the same key press twice within 200ms
258 * fall back to the primary client when
259 CCECProcessor::HandleLogicalAddressLost() and no client could be found
260 * no more delay up to 2 seconds when exiting libCEC
3ae8d8d5
LOK
261 * don't get caught in a loop in CVLCommandHandler when the source switch
262 was not allowed and no power status request was sent
263 * always send image view on to the tv, don't check the power status
264 * only respond to vendor commands for panasonic if we are the destination
a1e112a5
LOK
265 * rpi: current firmware first sends a change to logical address 'broadcast'
266 and then signals us that the address was lost. libCEC then failed to
267 re-register, because it didn't know any client at this address
999665e3 268
3ae8d8d5 269 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 8 Oct 2012 21:30:00 +0100
999665e3 270
d3fdb5a5
LOK
271libcec (1.9.1-1) unstable; urgency=low
272
273 * changed/added:
274 * added the type of adapter to libcec_configuration,
275 and display the type in cec-client -l
276 * added device detection support for composite usb devices on windows.
277 needs the windows ddk, and it's expected to be found in
278 C:\WinDDK\7600.16385.1
279
280 * interface changes:
281 * adapter type was added to libcec_configuration
282 * moved cec_adapter_messagecode from cectypes.h to USBCECAdapterMessage.h
283
284 * fixed:
285 * retry m_port->Read(..) if an EINTR errror occurs instead of closing the
286 connection. credits @Obruni. closes #38
287 * make cec-client include cecloader.h from our project, not from system
288 * fixed duplicate entries check in CUSBCECAdapterDetection
289 * fixed missing cec_version updates in libcec_configuration
4599ecf0
LOK
290 * transmit an active source message after <set stream path> to a device
291 that's handled by libCEC. closes #43
d3fdb5a5
LOK
292 * rpi: handle vendor specific remote control presses. closes #42
293 * rpi: handle VC_CEC_LOGICAL_ADDR_LOST, sent by the Pi's firmware when
294 the logical address was taken while CEC was being reinitialised
295 * panasonic: send out an active source message when the tv started up
296 because it sometimes doesn't request this
297
298 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 5 Sep 2012 16:54:00 +0100
299
7e316a2f
LOK
300libcec (1.8.2-1) unstable; urgency=low
301
302 * changed/added:
303 * p8: match to the response provided by the firmware when checking
304 responses (added in firmware v2 rev6)
305
306 * fixed:
307 * windows: update the error message when an error occurs while writing to
308 the serial port
309 * delayed source switch time was reset, resulting in an attempt every
310 second until it succeeded
311 * ensure that the vendor commands are always sent for panasonic, and that
312 the deck status for lg isn't reset. fixes some buttons not working after
313 a second or delayed source switch
314 * added guard so ReplaceHandler() doesn't accidently try to replace a
315 handler for the broadcast address
316 * wait until the commandhandler is replaced before registering a client,
317 so we don't register a client and replace it directly afterwards if the
318 tv doesn't support the device type
319 * ensure that the command handler of the tv is replaced before registering
320 a client, or it might result in a double eeprom write attempt
321 * p8: don't disable controlled mode when switching to monitoring mode
322 * p8: do delayed eeprom writes async or it'll block processing other input
323
324 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 3 Aug 2012 02:35:00 +0100
325
2b44051c
LOK
326libcec (1.8.1-1) unstable; urgency=low
327
328 * changed/added:
29104708 329 * added support for the Raspberry Pi.
2b44051c
LOK
330 * added cec-client -i / cec-client --info that calls GetLibInfo()
331 * header cleanups
332 * added CAdapterFactory, to create IAdapterCommunication instances
333 * added --debug to configure, to include -ggdb
334
335 * interface changes:
336 * added GetLibInfo()/cec_get_lib_info(), that shows how libCEC was compiled
337 and with which features included.
338 * added ToString(cec_user_control_code_key) to the interface
339
340 * fixed:
341 * disallow sending CEC_OPCODE_SET_STREAM_PATH - not allowed by the CEC spec
342 * persist the configuration in the eeprom after initialising the client.
343 fixes wrong/old settings being used in autonomous mode, which broke the
344 wake on cec funtion
345 * persist the new configuration when the hdmi port setting changed
346 * cleaned locks around callbacks
033f54dd
LOK
347 * always set controlled mode to false when unregistering the last client.
348 fixes 30 second timeout before controlled mode gets deactivated
349 * updated the cached device type setting properly when persisting new
350 settings. correct return value from WriteEEPROM(). lock a mutex when
351 updating the state
2b44051c
LOK
352 * LibCecSharp: set the primary LA in CecLogicalAddresses
353
033f54dd 354 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 25 Jul 2012 13:05:00 +0100
2b44051c 355
347f7adb
LOK
356libcec (1.7.2-1) unstable; urgency=low
357
358 * changed/added:
359 * display a warning message if libCEC was not compiled with adapter
360 detection for the target platform
361 * panasonic: added a vendor command for panasonic that will enable routing
362 of some more buttons on the remote (guide, text, ...)
f3849e50 363 * standby command won't be forwarded more than once every 10 seconds
57b71640
LOK
364 * added vendor ids for Akai, AOC, Benq, Daewoo, Grundig, Medion, Sharp and
365 Vizio
347f7adb
LOK
366 * cec-client: don't display debug output by default in 'cec-client -l'
367
368 * interface changes:
9d0dd77c
LOK
369 * added a callback for clients that is called when a source is
370 (de)activated, so the client can respond to this action
347f7adb
LOK
371 * added cec_command::PushArray()
372
373 * fixed:
f3849e50 374 * command forwarding. fixes player not going into standby mode
347f7adb
LOK
375 * missing virtual keyword in CCECCommandHandler::
376 GetReplacementDeviceType()
377 * replace the handler (if needed) in GetHandler()
378 * reply with abort reason 'invalid operand' to vendor commands that we
379 don't understand
380 * changed all Handle...() commands to return a cec_abort_reason and send
381 the correct abort reason to the initiator as a response to directly
382 addressed messages
383 * changed 'couldn't change the ackmask: the connection is closed' into a
384 debug message
385 * don't send active source commands when the physical address is invalid or
386 unknown
387 * set the power status of a device to 'powered on' after it sends a stream
388 path change. can save an unneeded power state update request
389 * removed dupe code around delayed activate source commands. check for
390 delayed active source commands every 5 seconds instead of 15 seconds.
391 * panasonic: reset m_bPowerUpEventReceived in CVLCommandHandler when the
392 device lets us know it went into standby mode. fixes possibly failed
393 active source switches after it succeeded once
394 * panasonic: fixed delayed source switch for panasonic
57b71640 395 * panasonic: mark the tv as powered up once it sends the audiomode request
9d0dd77c
LOK
396 * set the physical address of each device controlled by a CCECClient if
397 it's valid
398 * Windows could get stuck in a loop in case there an error occured while
399 reading registry entries
9b77ca0f
LOK
400 * ABI fixes (binary compat with v1.2 for Windows and v1.5.2 for others)
401 * replace the handler directly after getting the vendor id of a device when
402 registering a client
403 * copy the class member values of the old handler when creating a new
404 command handler, or a delayed activate source will get lost when the
405 handler is switched
347f7adb
LOK
406 * cec-client: wrong client version
407 * Makefile cleanups. don't link cec-client and cec-config against libudev
408 and liblockdev
9d0dd77c
LOK
409 * pin libcec to the same version as libcec1
410 * LibCecSharp: update the local configuration after connecting
411 * LibCecSharp: better handling of callbacks
347f7adb 412
9b77ca0f 413 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 27 Jun 2012 02:06:00 +0100
347f7adb 414
0a61dc24 415libcec (1.7.1-1) unstable; urgency=low
071f7a5c 416
0a61dc24
LOK
417 * changed/added:
418 * added physical address detection via ADL for AMD graphics cards
419 * attempt to get the edid from nvidia's graphics card driver on linux via
420 /proc/acpi/video/NGFX/HDMI/EDID
421 * attempt to get the PA from the registry on windows if we fail to get the
422 physical address from the display driver
423 * changed the order in CCECClient::SetPhysicalAddress() so it first checks
424 whether a PA override is set in libcec_configuration.iPhysicalAddress,
425 then checks whether the address can be detected, and if both failed it'll
426 use the HDMI port + base device setting
427 * cec-client: only active the source when reconnecting if libcec was the
428 active source before closing the connection
429 * platform: added tcp server sockets for posix
071f7a5c 430
0a61dc24
LOK
431 * interface changes:
432 * libcec_configuration.bAutodetectAddress is now read-only, and will be set
433 to 1 by libCEC if the PA was autodetected
434 * LibCecSharp: don't use an int but a CecUserControlCode in a CecKeypress
435
436 * fixed:
437 * don't unregister clients in CLibCEC when disconnecting, but only in
438 CCECProcessor. fixes reconnect after close
439 * MSGCODE_TIMEOUT_ERROR is a response to a transmission
440 * retry 'activate source' every 10 seconds if it failed
441 * don't respond with a poll from the broadcast address when receiving
442 in CSLCommandHandler::HandleDeviceVendorId(), but use the primary LA of
443 the client as source instead
444 * hold a lock when changing the ackmask in
445 CUSBCECAdapterCommunication::Open
75060af4
LOK
446 * don't respond with a feature abort to opcode play messages. bugzid: 873
447 * get the vendor id of the TV before allocating logical addresses, so we
448 can determine if the TV supports the requested device type directly
449 * TransmitImageViewOn() and TransmitActiveSource() always returned true,
450 even if sending the command failed, so the retry for failed source
451 activations was never triggered
e3209cf7
LOK
452 * open libcec.so.1 instead of libcec.so in cecloader.h. credits @coling.
453 github issue #30.
454 * fixed missing firmware version and build date in cec-client -l /
455 GetDeviceInformation()
0a61dc24 456
e3209cf7 457 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 10 Jun 2012 13:39:00 +0100
071f7a5c 458
c605d339 459libcec (1.6.1-5) unstable; urgency=low
d3b96c62 460
142d1b01 461 * synced /debian directory with the one in precise (with a couple of changes)
d3b96c62
LOK
462 * changed/added:
463 * serial port locking on linux
464 * cec-client: added -m/--monitor startup options, which will start a
465 monitor-only client. use 'mon 0' to switch to a normal client
466 * display an alert message when the firmware of the adapter can be upgraded
467 * added CEC 1.4 opcodes
468 * send a feature abort again for all unhandled commands
469 * refactored CLibCEC so a client registers itself within CCECProcessor,
470 which then allocates one or more logical addresses for it.
471
472 * interface changes:
473 * added a new setting, bMonitorOnly, which will start a monitor-only client
474
475 * fixed:
476 * ensure that we don't crash out when trying to stop a thread that hasn't
477 been started yet
478 * don't send a 'disconnected' alert when the close method is called
479 * use the correct source when transmitting an abort message as a reposonse
480 to a vendor command with id
481 * removed statics
482 * check the client version, not the server version in
483 libcec_configuration::operator==()
484 * cec-config: fix physical address detection
485 * LibCecSharp: fixed buffer overrun when copying libcec_configuration.
486 fixes crash when trying to save the configuration in the config gui.
487
488 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 14 May 2012 22:39:00 +0100
489
142d1b01
LOK
490libcec (1.6.1-2) unstable; urgency=low
491
492 * Build depends on pkg-config. (Closes: #669919)
493 * libudev-dev only optionally needed for Linux.
494
495 -- Andres Mejia <amejia@debian.org> Sat, 21 Apr 2012 19:03:19 -0400
496
497libcec (1.6.1-1) unstable; urgency=low
498
499 [ Mario Limonciello ]
500 * New upstream version (LP: #982272)
501
502 [ Andres Mejia ]
503 * New release fixes build failure with GCC-4.7. (Closes: #667241)
504 * Bump to Standards-Version 3.9.3.
505
506 -- Andres Mejia <amejia@debian.org> Sat, 21 Apr 2012 00:02:08 -0400
507
508libcec (1.3.2-3) unstable; urgency=low
509
510 * Make dpkg-source options default for packaging.
511
512 -- Andres Mejia <amejia@debian.org> Tue, 10 Jan 2012 18:12:57 -0500
513
514libcec (1.3.2-2) unstable; urgency=low
515
516 * Add options to pass to dpkg-source.
517
518 -- Andres Mejia <amejia@debian.org> Sun, 08 Jan 2012 22:59:34 -0500
519
520libcec (1.3.2-1) unstable; urgency=low
521
522 * Initial release. (Closes: #655143)
523
524 -- Andres Mejia <amejia@debian.org> Sun, 08 Jan 2012 15:36:49 -0500
525
e736e6be
LOK
526libcec (1.6-3) unstable; urgency=low
527
528 * changed/added:
529 * cec-client: show the firmware build date if available in cec-client -l
530 * cec-client: don't activate the source when starting
531 * cec-client: group up the output of the 'scan' command, and add the
532 currently active source to the output
533 * log the libCEC version in the 'connected to the CEC adapter' log entry,
534 and add the firmware build date to the line if it's available, so all
535 relevant version info is available in 1 log line.
536 * async writes for CUSBCECAdapterCommunication. less locks and polls, more
537 speed
538 * added 'make docs' target, that updates the doxygen documentation
539
540 * interface changes:
541 * added operator == and != for libcec_configuration
542 * added GetResponseOpcode(cec_opcode opcode) to cec_command
543 * added the firmware build date to libcec_configuration, so it can be
544 displayed by the client too.
545 * added static CLibCEC::Alert() method and CEC_ALERT_CONNECTION_LOST value
546 * added a callback to handle menu state changes. if the callback method
547 returns 1, then the change is processed by the CCECBusDevice too. if 0,
548 then the CCECBusDevice will always have menu state 'activated', so
549 keypresses are routed. bugzid: 724
550 * added a default menu language to libcec_configuration and set this
551 language for devices controlled by libcec. bugzid: 69
552
553 * fixed
554 * CCECProcessor::IsActiveSource() - TV was never checked
555 * don't call the deprecated SetActiveView() method in cec-client
556 * request the active source if unknown in CCECProcessor::GetActiveSource()
557 * don't try to match a device with PA 0xFFFF.
558 * don't change the power status of a device when changing the stream path
559 * don't set the power status to 'powered off' when marking the source
560 managed by libcec as inactive, or the tv will might send a power control
561 keycode when making it active again, potentially shutting down the system
562 * potential segfault in CCECProcessor::GetDeviceByPhysicalAddress()
563 * stream path changes when changed to the TV source (PA 0)
564 * clear the unsupported features list in CCECBusDevice::ResetDeviceStatus()
565 * never mark vendor commands as unsupported (only some may be unsupported),
566 as well as some others that should never be marked unsupported
567 * don't retry in CCECCommandHandler if the command has been marked as
568 unsupported
569 * don't request the PA of devices when handling an incoming CEC command, or
570 it'll block things while waiting for a response. if that response never
571 comes, or comes late, then other incoming commands will be timed out
572 before they are handled
573 * optimisation - strip unneeded virtual keywords from top level
574 implementations
575 * use the vlcommandhandler for the primary device that is handled by libCEC
576 when a panasonic tv is detected, so delayed activate source commands are
577 using the correct handler. bugzid: 723
578 * set the power status of device controlled by libCEC to
579 CEC_POWER_STATUS_ON
580 instead of IN_TRANSITION_STANDBY_TO_ON. reset the device status of a
581 device if it was detected as removed. bugzid: 755
582 * potentially uninitialised values in cec_command
583 * delay the 'active source' command for panasonic, until the vendor command
584 that reports that the TV is powered on has been received. bugzid: 723
585 * only respond to Give Physical Address with Report Physical Address.
586 bugzid: 592
587 This fixes several reports of the TV improperly switching to the libcec
588 device after it has previously switched to another source. Fix confirmed
589 with Panasonic and also reported to be an issue with Samsung and
590 Philips.
591 * check whether callback methods are set to a valid ptr
592 * number of retries for polls
593 * win32: fix build in paths with spaces. bugzid: 730
594 * LibCecSharp: free the alert GC callback when cleaning up
595 * the wrong setting was being read when powering on devices
596 * close the connection when a comm error was detected, and notify the
597 client via an alert
598 * don't segfault when calling ThreadsWait() without a valid thread
599 * lib/platform: fixed memleak
600 * leak in CCECAdapterMessageQueue::Write
601 * don't send commands if we know them to be unsupported. bugzid: 725
602
603 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 18 Apr 2012 11:30:00 +0100
604
e4a7396c
LOK
605libcec (1.6-2) unstable; urgency=low
606
607 * fixed:
608 * fixed typo in CUSBCECAdapterCommands::RequestSettings() that prevented
609 the settings from being read. the settings were still written, but never
610 read when bGetSettingsFromROM = 1.
611
612 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 18 Apr 2012 11:30:00 +0100
613
c65aa417
LOK
614libcec (1.6-1) unstable; urgency=medium
615
616 * changed/added:
617 * full firmware V2 support
618 * -o/--osdname argument for cec-client to set a custom osd name
619 * added the firmware version to cec-client's -l / --list-devices command.
620 bugzid: 631
621 * added power on command for Samsung AVR devices. bugzid: 361
622 * added buttoncode for 'channels list' on Samsung (0x96)
623 * don't check for the windows ddk when a prebuilt driver installer is
624 present
625 * respond to Get Menu Language. bugzid: 547. In the event that the menu
626 language is undefined in libcec (currently the default), the response
627 will be a feature abort.
628
629 * interface changes:
630 * added the firmware version to libcec_configuration (read-only). bumped
631 server version to 1.6.0. fixed 'unknown server version' message on
632 startup. bugzid: 631
633 * added a new setting to control whether to put the TV in standby when the
634 player is put in standby. added some missing bits (version numbers,
635 config) to LibCecSharp. bugzid: 558
636 * added an alert callback. bugzid: 462
637 * added bShutdownOnStandby to libcec_configuration. bugzid: 660. This
638 setting tells the client to shutdown when the TV switches off and is
639 complimentary to bPowerOffOnStandby, which tells the PC to suspend.
640 They are kept separate to maintain backwards compatability.
641
642 * fixed
643 * gcc 4.7 compilation
644 * poll doesn't have an opcode. bugzid: 591
645 * wait for MSGEND when data was received when opening the connection.
646 bugzid: 536
647 * mark the correct device as active source after a stream path change.
648 if the new address is not found, but the old address is, then mark the
649 old address as inactive. fixes TV switching back to the old active source
650 when it scans for devices. bugzid: 592
651 * ensure that the vendor ID is sent before trying to activate any SL device
652 bugzid: 574
653 * fixed possible crash when in CLibCEC::IsLibCECActiveSource() when libCEC
654 doesn't know which device is the active source. bugzid: 479
655 * correct handling CEC_USER_CONTROL_CODE_POWER. This ensures that the power
656 code always operates as a toggle, depending on the current state, and
657 that SetCurrentButton is always called for a valid user control code.
658 bugzid: 570
659 * frequency wasn't checked in GetTimeMs(), leading to incorrect wait times
660 on some windows systems
661 * refactored USB adapter communication. less locks, shorter locks, added
662 documentation, lots of clean ups and no more incoming messages that are
663 skipped
664 * the destructor of CSerialSocket didn't call Close()
665 * added guards in CSerialPort
666 * reset m_socket to INVALID_SERIAL_SOCKET_VALUE after closing the
667 connection
668 * always wait for thread exit in CThread's desctructor
669 * crash on exit after GetDeviceInformation()
670 * check whether the destination is valid before setting anything in
671 m_bWaitingForAck. fixes heap corruption and crash on exit. bugzid: 479
672 * bUseTVMenuLanguage from libcec_configuration wasn't copied in
673 SetConfiguration(), so this setting was reset to the default value
674 (enabled) every time. bugzid: 617
675 * request the vendor id of a device if needed when the device status is
676 changed into 'present'. bugzid: 361
677 * give priority to messages from the TV. removed the global lock in
678 CCECProcessor when sending. this is no longer needed. bugzid: 238
679 * add some bounds checking to the HDMI port number. bugzid: 508
680 * fixed usbser.sys copying in the driver .INF. bugzid: 503
681 * only update the physical address when it has actually changed. bugzid:
682 672
683 * moved the static variables in os-threads from the header to a separate
684 cpp file, or it could lead to problems when included multiple times
685 * don't send an active source command when the physical address couldn't be
686 set, or it might confuse other CEC devices
687 * serial socket timeouts. bugzid: 654
688 * fixed possible crash when trying to request a vendor id of a device when
689 the address of libCEC isn't known yet. bugzid: 654
690 * extra guard so no commands are transmitted without a valid initiator.
691 bugzid: 654
692 * moved the timed ping to a separate thread. bugzid: 654
693 * persist settings directly when they're changed, only persist settings
694 that actually changed, only instruct the device to persist the settings
695 in eeprom when something changed, and don't persist settings on exit.
696 bugzid: 715
697 * cec-config-gui: persist settings both in the eeprom and in the settings
698 xml file
699 * validate the input in CCECProcessor::IsActiveSource(). fixes potential
700 crash when the active source isn't known. bugzid: 671
701
702 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 16 Apr 2012 18:03:00 +0100
703
fe462cdd
LOK
704libcec (1.5-4) unstable; urgency=low
705
706 * changed/added:
707 * OS-X installation requirements and pointer
708 * full v2 firmware support:
709 * ping the adapter every 15 seconds. bugzid: 541
710 * added v2 msgcodes. bugzid: 543
711 * implemented the write methods for the v2 configuration. bugzid: 543
712 * included the logical addresses in the persisted configuration for v2.
713 bugzid: 543
714 * persist the configuration before closing the connection. only try to
715 persist the configuration when talking to a v2 firmware. bugzid: 543
716 * added GetSetting() to CUSBCECAdapterCommunication. bugzid: 543
717 * read the persisted settings from the ROM, and update it in
718 libcec_configuration if found. bugzid: 543
719 * cec-client: set bGetSettingsFromROM to 1 in cec-client. bugzid: 543
720 * cec-client: only read persisted EEPROM settings when -r or --rom is
721 provided as cmdline arg. bugzid: 543
722 * call SetControlledMode(false) as last command when closing the
723 connection in v2. bugzid: 542
c65aa417 724 * initial FreeBSD support: simply try to use ttyU*
fe462cdd
LOK
725
726 * fixed:
727 * set controlled mode and retry to send the previous command if it failed
728 with MSGCODE_COMMAND_REJECTED
729 * m_iLineTimeout was never initialised and used. fixes MSGCODE_REJECTED
730 when transmitting a message and incorrect line timeouts being used
731 * mac configure compile bugzid: 157
732 * cec-config-gui: fixed application exit when the user clicked 'no' when
733 asked to reconnect. bugzid: 556
734 * only wait for multiple 'command accepted' response when sending a
735 transmit command, and only to 1 in other cases. bugzid: 543
736 * set the correct logical address mask before switching to autonomous mode.
737 bugzid: 543
738 * re-added SetLineTimeout(). bugzid: 543
739 * CUSBCECAdapterCommunication::SetControlledMode checked for the wrong sent
740 state
741 * os-x: don't add 0.5 before dividing in GetTimeMs()
742 * os-x: struct timespec now values weren't set correctly
743
744 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 16 Mar 2012 10:12:00 +0100
745
2e82cff0
LOK
746libcec (1.5-3) unstable; urgency=low
747
748 * fixed:
749 * OS-X compilation
750 * default to firmware version 1 after 3 tries. some versions didn't send a
751 version.
752 * fixed cec-config win32 compilation
753
754 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 03 Mar 2012 15:21:00 +0100
755
c3c13157
LOK
756libcec (1.5-2) unstable; urgency=low
757
758 * changed/added:
759 * added Toshiba's vendor id, and set the device ID of the primary device to
760 Toshiba's and transmit it when starting
761 * lock in SyncedBuffer
762 * added a timeout to StopThread()
763 * also add commands to unsupported features when receiving
764 CEC_ABORT_REASON_REFUSED
765 * cec-config-gui: set cbPortNumber enabled when the physical address
766 override isn't checked instead
767 * cec-config-gui: added support for the new 'send inactive source' setting
768
769 * interface changes:
770 * added an 'send inactive source' option to libcec_configuration, only
771 supported by client/server 1.5.1 and up. bugzid: 439
772 * added a command to the interface to start the bootloader directly,
773 without going through all checks. bugzid: 218
774 * LibCecSharp: implemented support for the new 'send inactive source'
775 setting
0fabd366 776
c3c13157
LOK
777 * fixed:
778 * don't send an updated configuration when libCEC hasn't been initialised
779 fully. bugzid: 459
780 * don't send an updated configuration back when initialising. let the
781 client call the GetCurrentConfiguration() method. bugzid: 459
782 * configuration updates from libCEC. bugzid: 459
783 * fixed accidental double deref. the method parameter already does that.
784 github #24
785 * use CLOCK_MONOTONIC for timing info, since gettimeofday is affected by
786 ntp and by manually adjusting the system time
787 * the timeout value of pthread_cond_timedwait has to be referenced to
788 CLOCK_REALTIME
789 * don't add data to the input buffer in CUSBCECAdapterCommunication before
790 it's fully initialised
791 * fixed return value of CUSBCECAdapterCommunication::ParseMessage(). fixes
792 messages not being parsed in certain occasions
793 * don't try to transmit when the processor is being stopped
794 * set the server version in the LibCEC's constructor, since this is
795 checked by clients. fixes 'invalid libCEC version' popup when inserting
796 the adapter
797 * don't wait for the full timeout to pass in CCECProcessor::
798 OpenConnection(), but retry to connect 2 times. fixes 'port busy' errors
799 when initialising libCEC. bugzid: 436
800 * use the correct Sleep() method in CCECProcessor::OpenConnection(). the
801 thread hasn't been started there yet, so the sleep wasn't working. fixes
802 'device or resource busy' when plugging in the adapter. bugzid: 436
803 * check the adapter ping and firmware before starting the reader thread, so
804 we really leave the com port alone for a second when it fails because of
805 a busy error. bugzid: 436
806 * ensure that the connection is really closed before retrying to connect.
807 bugzid: 436
808 * LibCecSharp: recreate the delegates properly when (re)connecting to
809 LibCecSharp
810
811 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 28 Feb 2012 21:19:00 +0100
812
099a04fb
LOK
813libcec (1.5-1) unstable; urgency=low
814
815 * changed/added:
816 * a new libcec_configuration structs, which allows the client app to pass
fbaa8dd5
LOK
817 a number of new options, like waking multiple devices on startup,
818 overriding the vendor id, etc.
819 * a new configuration GUI for Windows (.NET). this allows you to set
820 libCEC's configuration for XBMC in a convenient GUI.
821 * a CLI configuration tool (unfinished) for other platforms. will be
822 finished in an update.
099a04fb 823 * implemented power up for LG devices other than a TV
fbaa8dd5
LOK
824 * win32: don't install libcec to the system directory by default, and
825 delete previous (testing) copies if present
826 * wait for multiple responses, not just for one at a time
827 * set the ackmask to 0 when closing the connection
828 * don't send 'image view on' when calling SetActiveSource()
829 * don't send power on, acitve source and standby commands by default in
830 cec-client
831 * platform: added CTryLockObject
832 * platform: added an Init() method in CTimeout, so it can be reset
833
099a04fb
LOK
834 * interface changes:
835 * added a new initialiser method: CecInitialise()/cec_initialise(), that
fbaa8dd5
LOK
836 accepts a "libc_configuration" struct as parameter. this way, the
837 signature of the init method can stay the same when adding new options.
838 in LibCecSharp, the new method appears as a new constructor.
839 * added CanPersistConfiguration()/cec_can_persist_configuration()
840 * added PersistConfiguration()/cec_persist_configuration()
099a04fb 841 * added GetCurrentConfiguration()/cec_get_current_configuration()
fbaa8dd5 842 * added SetConfiguration()/cec_set_configuration()
099a04fb 843 * added GetLogicalAddresses()/cec_get_logical_addresses(): returns the list
fbaa8dd5 844 of addresses controlled by libCEC
099a04fb 845 * added RescanDevices()/cec_rescan_devices(): lets libCEC force polls to
fbaa8dd5
LOK
846 all logical addresses.
847 * added a callback that is called when libCEC's configuration changed.
848 * moved the autodetect address api call to libcec_configuration. only send
849 power up commands to non-tv devices when the power state is not
850 on/transition->on. let players call the power up/power down command.
851 * return the anynet return keycode directly instead of translating it to
852 'return' for v1.5.0+ clients
853 * extracted CecSharpTypes.h in LibCecSharp. LibCecSharp is now in the
854 CecSharp namespace
099a04fb 855 * include the local cectypes.h in cec.h and cecc.h instead of system wide
fbaa8dd5
LOK
856 * deprecated GetLibVersion() methods. use libcec_configuration instead
857 * removed deprecated CECCreate() method
099a04fb
LOK
858
859 * fixed:
860 * fixed a lot of LG specific issues
fbaa8dd5 861 * fixed OS-X compilation. credits: Dustin Cooper
099a04fb 862 * fixed a couple of possible deadlocks, e.g. when closing the connection
fbaa8dd5
LOK
863 while receiving data
864 * cleaned up existing code
099a04fb 865 * libCEC no longer puts incoming data in a fifo buffer, but tries to
fbaa8dd5
LOK
866 process it directly, which fixes issues like libCEC blocking processing
867 new commands while waiting for transmission acks.
868 * 'unsupported command' marking in CCECBusDevice
869 * ensure that the ackmask is always set to 0 when closing the connection
870 and that the call doesn't block the Close() call
871 * don't try to read or write in CUSBCECAdapterCommunication when the
872 connection has been closed
873 * LibCecSharp: added quotes to the linker statement for libcec.lib. fixes
874 compilation in paths with spaces. closes #20
875 * LibCecSharp: set the callback methods in libcec to NULL before closing
876 the connection, since these might already have been destroyed in .NET
877 * LibCecSharp: delete the internal callback struct when closing the
878 connection
879 * LibCecSharp: pass correctly formatted logical address lists
880 * ensure that the vendor id is requested first when requesting info from a
881 device, so we are using the correct handler
882 * keep the 'busy state' of the command handler in CCECBusDevice
883 * poll the next device when the current is handled by libCEC.
884 * check the vendor id of a device before sending a power on command
885 * ensure that there always is at least one device type set
886 * transmit a keypress and key release as power on command when the target
887 device isn't the TV
888 * don't do a full reinit when not needed
889 * fix active source switches for the standard CEC implementation
890 * ensure that we don't send data to ourself
891 * check whether the port is open, not whether libCEC is initialised in
892 Transmit()
893 * platform: fixed return value from CCondition::Wait()
894 * platform: don't broadcast but wake one thread in
895 CProtectedSocket::MarkReady()
896 * platform: include stdint.h in windows/os-types.h instead of typedef'ing
897 ints
898 * platform: fixed tcp socket error handling and return value.
899 * platform: fixed return values of socket operations in lib/platform
099a04fb 900 * platform: added predicate in CCondition
fbaa8dd5
LOK
901 * deleted the signed driver from the tree, since that doesn't work. let the
902 installer create a new signed driver on the production build system
099a04fb
LOK
903
904 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 19 Feb 2012 01:04:00 +0100
905
c75f7f45
LOK
906libcec (1.4-4) unstable; urgency=low
907
908 * changed/added:
909 * added tcp client sockets to lib/platform (WIP)
910 * clean up lib/platform
911 * added: set controlled mode on after opening a connection to the adapter
912 (for firmware v2)
913 * added an IAdapterCommunicationCallback interface an use a callback method
914 to pass newly received cec_commands to CCECProcessor
915 * added "driver only" and "driver + libcec" sections to the installer
916 * added a signed driver
917 * created a separate driver installer, which is included in the libCEC
918 installer. uninstalls the old unsigned version of libCEC and the driver
919 when it's found and installs the new one in C:\Program Files(x86)\
920 Pulse Eight\USB-CEC Adapter.
921 * don't sign development binaries with a temporary key. devs can do that
922 themselves when they want LibCecSharp in the GAC
923 * interface changes:
924 * added SetStreamPath()/cec_set_stream_path_logical()/
925 cec_set_stream_path_physical() to the interface, to send a
926 "set stream path" command over the CEC bus, used to activate another
927 source.
928 * fixed:
929 * transmit 'menu state activated' after the stream path has been set to a
930 device that is handled by libCEC. should fix remote commands not working
931 properly on Panasonic TVs and after another source has been active.
932 bugzid: 233
933 * set the ackmask to 0x0 when trying to find a free logical address
934 * keep trying to reconnect to the com port until the timeout runs out.
935 bugzid: 230
936 * wait 500 ms before trying to retransmit a command. always wait for the
937 result of a transmission in CCECCommandHandler::Transmit()
938 * receive and send full cec_commands, not CCECAdapterMessages in
939 CAdapterCommunication. extract an IAdapterCommunication interface. fixed
940 potentially missed data in CAdapterCommunication
941 * close and delete the connection when the processor thread ends. fixes
942 reconnect after standby (access denied / connection already opened)
943 * don't replace handlers when not initialised, or the primary device's
944 logical addres isn't known yet, which can lead to crashes. don't call
945 handlers directly in CCECProcessor without holding a lock on them
946 * fixed possible crash when command handler were switched while it was
947 being used
948 * keep the mutex locked when calling ReplaceHandlers() in CCECProcessor
949 * win32: also timeout when data is received in SocketRead()
950 * win32: fixed < vista runtime and compilation
951 * win32: ping the adapter and request the firmware version in
952 CUSBCECAdapterCommunication instead of CCECProcesssor. fixes failed
953 libCEC inits
954 * win32: fixed crash on exit in LibCecSharp
955
956 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 6 Feb 2012 14:26:00 +0100
957
1858a00e
LOK
958libcec (1.4-3) unstable; urgency=low
959
960 * fixed:
961 * try to ping the device and grab the firmware version until the connect
962 timeout runs out. fixes failed reconnect after standby, when the adapter
963 is still being initialised
964
965 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 27 Jan 2012 13:05:00 +0100
966
2819463f
LOK
967libcec (1.4-2) unstable; urgency=low
968
969 * changed/added:
970 * added a firmware flash script for linux.
971 usage: ./support/cec-flash-device.sh /path/to/firware.hex
972 * refactored threading/locking - added windows native instead of
973 pthread-win32, so we can compile native x64 too
974 * check whether the adapter responds when connecting to it and report the
1858a00e 975 firmware version of the adapter after connecting
2819463f
LOK
976 * moved create-installer.cmd to support/
977 * completely removed AM_SILENT_RULES
978 * interface changes:
979 * compile LibCecSharp against .NET framework 2.0 and sign the assembly
980 * fixed:
981 * only the key release events were sent, not keypresses, which appeared in
982 clients as laggy keypresses
983 * fixed reconnect after standby
984 * wait for active tranmission to finish when opening a connection to the
985 adapter. fixes initialisation errors
986 * set the default transmit timeout properly instead of using 0
987 * fixed possible deadlock because of a negative timeout in
988 CAdapterCommunication::WaitForTransmitSucceeded()
989 * fixed error message in cec-client (unable to open the device on port ...)
b9aae0cd 990 * exit cec-client after entering bootloader mode
2819463f
LOK
991 * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED
992
993 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 25 Jan 2012 23:28:00 +0100
994
e6b4a29e
LOK
995libcec (1.4-1) unstable; urgency=low
996
997 * changed/added:
998 * added the vendor id for Sony
999 * always refresh the power state of a device when it hasn't been updated
1000 for 30 seconds
1001 * do silent builds by default
1002 * interface changes:
1003 * added optional callback methods to libCEC. enable them by calling
1004 EnableCallbacks(ICECCallbacks *callbacks) /
1005 cec_enable_callbacks(ICECCallbacks *callbacks). after this method is
1006 called, the GetNext...() methods will not return any data
1007 * added the same callbacks to LibCecSharp. implement CecCallbackMethods
1008 and override the methods in there
1009 * fixed:
1010 * use the given timeout when trying to open a connection to the CEC
1011 adapter
1012 * resolved difference between method name in LibCECC.cpp and cecc.h.
1013 credits: Doug Johnson
1014 * don't transmit physical addresses while holding a lock in CCECProcessor
1015 * don't hold a lock when sending an active source message.
1016 * unload libCEC when the lib version is invalid
1017 * "unused" warnings suppressed
1018
1019 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 12 Jan 2012 19:06:00 +0100
1020
d0d8b3c0 1021libcec (1.3-3) unstable; urgency=low
f962137e
LOK
1022
1023 * changed/added:
1024 * place in libudev include in an extern C block. fixes compilations on
1025 older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann
1026 * added pkg-config to the dependencies list. issue #15
1027 * updated README. closes #14
1028 * added a script that tests some basic functions of the CEC adapter:
1029 /support/cec-test-device.sh
1030 * fixed:
1031 * don't make libCEC the active source when changing the physical address.
1032 don't send active source messages on startup, when not the active source
1033 fixes unwanted device power ups
1034 * replace the command handler directly after receiving a changed vendor
1035 id. change the primary type from recording device to playback device
1036 for panasonic TVs
1037 * don't send a deck status update when sending an active source message
1038 for panasonic TVs
1039 * only switch handlers once when using the generic handler
1040 * don't switch handlers when not needed
1041 * hold a lock in CCECProcessor::SetHDMIPort()
1042 * don't send deck status updates when sending an active source message by
1043 default
1044
1045 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 3 Jan 2012 22:48:00 +0100
1046
188d35cf
LOK
1047libcec (1.3-2) unstable; urgency=low
1048
1049 * changed/added:
1050 * copy libcec.dll to the XBMC installation dir when XBMC is found
1051 * disable background polling. let the client request this info when needed
1052 * update the power status of a device when it's set to
1053 CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
1054 * wait for the correct response when requesting something, not just any
1055 response
1056 * don't keep trying the same command/request after receiving a feature
1057 abort message
1058 * interface changes:
1059 * change the previously unused boolean parameter in volume control methods
1060 to bSendRelease, and only send a key release when it's true. default to
1061 true
1062 * fixed:
1063 * don't send the power up/down keypress to listeners when in the initial
1064 device state (powered off). fixes unexpected shutdown in XBMC when
1065 connecting to the CEC adapter.
1066 * send a 'menu state activated' command when starting up. bugzid: 113
1067 * don't wait for a response when not needed
1068 * don't hold a lock while waiting for a response. fixes failed libCEC
1069 inits and slow responses
1070 * don't replace a command handler when it's being used. fixes possible
1071 crash on startup
1072 * don't try to do anything before the processor thread has started
1073 * don't transmit active source messages when the physical address is
1074 still 0xFFFF
1075 * don't init the default handler before the physical address is known
1076
1077 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 29 Dec 2011 03:05:00 +0100
1078
2c7c8c4b 1079libcec (1.3-1) unstable; urgency=low
19330705
LOK
1080
1081 * changed/added:
1082 * make libudev optional. if libudev is not available on linux, adapter
1083 autodetection will also not be available. fixes compilation on Hardy/ATV1
1084 * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET
1085 language
1086 * added vendor support for LG
1087 * added vendor support for Philips
1088 * added vendor support for Yamaha
1089 * added vendor support for Onkyo
1090 * added 'scan' command to cec-client, that displays info about devices on
1091 the bus. made all ToString() methods available on the interface.
1092 * added '-s' or '--single-command' to cec-client. starting cec-client with
1093 this parameter executes a single command in cec-client and does not power
1094 on devices on startup and power them off on exit. this way, you can use
1095 cec-client in a shell script. since there's some handshaking involved at
1096 startup, this is not very fast. to execute a command and only display the
1097 result and any error/warning, execute it with
1098 RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch
1099 files are a bit different)
1100 * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to
1101 cec-client's parameters
1102 * handle image view on and text view on
1103 * handle routing information and report physical address opcodes
1104 * handle audio status updates
1105 * send ping and bootloader commands via the output queue
1106 * scan the CEC bus for devices when starting libcec
1107 * pass all commands that are directed at libcec to listeners
1108 * interface changes:
1109 * added GetActiveSource()/cec_get_active_source()
1110 * added IsActiveSource()/cec_is_active_source()
1111 * added GetDevicePhysicalAddress()/cec_get_device_physical_address()
1112 * added GetDeviceOSDName()/cec_get_osd_name()
1113 * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/
1114 cec_send_key_release()
1115 * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(),
1116 MuteAudio()/cec_mute_audio()
1117 * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/
1118 cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type().
1119 * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load
1120 and when a device with the same physical address is detected, libcec will
1121 use the selected hdmi port on that device. should fix source selection on
1122 other devices, like an amplifier
1123 * added a hook in libcec for physical address autodetection
1124 * fixed:
1125 * don't request the physical address from the tv (it's always 0x0000)
1126 * set the proper ackmask before doing anything else
1127 * don't unlock the transmit mutex in CCECProcessor while waiting for an
1128 answer
1129 * fix device polling
1130 * refactor CEC read/write. keep a single lock for all writes, not one per
1131 device
1132 * ignore other data while waiting for a response
1133 * retry failed tranmissions
1134 * don't delete a message before it's been sent when starting the bootloader
1135 * or when sending a ping
1136 * fixed possible segfault when switching the command handler after a vendor
1137 * id changed
1138 * handle audio opcodes correctly
1139 * inactive source should be directly addressed at the TV
1140 * don't report a changed physical address when it hasn't changed
1141 * routing information sets the stream path, not the physical address
1142 * don't scan the whole bus in CCECProcessor::IsActiveDeviceType()
1143 * don't request the vendor id from devices that are handled by libcec
1144 * mark device status as present when a command was received from a device
1145 * always send a power on command in CCECBusDevice::PowerOn()
1146 * don't request updates statusses unless needed
1147 * report physical address sends 3 parameters, not 2. check whether the
1148 device type is correct
1149 * devices can send vendor commands from other vendors, so don't assume the
1150 device is of a certain vendor when it sends commands with a vendor id
1151 * thread safety fixes. bugzid: 19
1152 * clear any previous input when opening a connection to the adapter.
1153 bugzid: 54
1154 * use the correct source address in CSLCommandHandler::HandleVendorCommand()
1155 * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
1156 * renamed enum methods. fixes potential macro collision with isset().
1157 thanks davilla
1158 * don't change the active device when receiving stream path changed
1159 messages. fixes wrong source selection when powering after the TV.
1160
1161 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 09 Dec 2011 12:16:00 +0100
1162
94d98b71
LOK
1163libcec (1.2-1) unstable; urgency=low
1164
1165 * bugfixes:
1166 * pass the deck_control command to libcec listeners
1167 * check whether the initiator is valid in CCECProcessor::ParseCommand().
1168 fixes possible segfault when parsing invalid data
1169
1170 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 12 Nov 2011 13:36:00 +0100
1171
c3da3073
LOK
1172libcec (1.1-3) unstable; urgency=low
1173
1174 * fixed return value in CCECProcessor::SetStreamPath(), which prevented
1175 active source and menu state from being sent
1176
1177 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 23:36:00 +0100
1178
f0197d4f
LOK
1179libcec (1.1-2) unstable; urgency=low
1180
1181 * forgot to update the headers to v1.1
1182
1183 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100
1184
4f8dcef2
LOK
1185libcec (1.1-1) unstable; urgency=low
1186
1187 * interface changes:
1188 * added logical address autodetection and let libcec handle multiple types
1189 simultaniously. for logical address autodetection, you have to use
1190 CECInit()/cec_init_typed() instead of CECCreate()/cec_init()
1191 * added SetActiveSource()/cec_set_active_source() to the interface.
1192 deprecated SetActiveView()/cec_set_active_view()
1193 * added SetMenuState()
1194 * added PollDevice()/cec_poll_device()
1195 * removed duplicate method SetActiveSource() / SetActiveView()
1196 * added SetDeckControlMode() and SetDeckInfo()
1197 * fixed:
1198 * added vendor detection for panasonic and broadcast active view and set
1199 menu state when a panasonic device sets the stream path. thanks for the
1200 pointer cptcoconut.
1201 * added vendor code for pioneer
1202 * osd string is 13 chars max. don't send more
1203 * send the correct cec version for each device
1204 * switch to panasonic specific cec implementation if a panasonic device was
1205 detected
1206 * send the correct device type in TransmitPhysicalAddress()
1207 * send a reply from the correct device when the stream path is requested
1208 * opcode 0x80 means the stream path changed, not the physical address
1209 * don't poll for a vendor ID in monitoring mode
1210 * fixed parameter parsing in SetVendorId()
1211 * buffer up commands that are received while waiting for an ack. only send
1212 'active source' message for the actual active source
1213 * win32: prepend the com port path with '\\.\', so com ports > 9 can be
1214 accessed. thanks smolesen
1215 * audio systems cannot be an active source, so don't transmit active
1216 source message from this device
1217 * only send 'active source' when powered on
1218 * only set the osd name for the primary device. use default values for
1219 others
1220 * increase physical address with 0x100 per device
1221 * win32: removed unneeded afxres.h include in the resource files, which
1222 is not present when using studio express. thanks Ghuron
1223 * fixed C headers
1224 * mark the active source as active and other devices as inactive
1225 * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER
c6b7b98b 1226 * transmit the menu state as (active) when the stream path is set
4f8dcef2
LOK
1227 * changed:
1228 * changed copyright of boblight files with permission of the original
1229 author
1230 * partial handling of audio related opcodes
1231 * more consistent log messages
1232 * set a device type and name for each CCECBusDevice
1233 * keep a power and menu state per device
1234 * renamed all Broadcast...() and Report...() methods to Transmit...()
1235 * renamed SetOSDString() to TransmitOSDString()
1236 * changed debug level of 'did not receive ack' from error to debug
1237 * only set the power status to 'on' for the primary device
1238 * moved method decriptions from cecc.h to cec.h
1239 * only send a power on command when a device isn't on already and set
1240 the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while
1241 powering on
1242 * handle CEC_OPCODE_STANDBY
1243 * handle CEC_OPCODE_ACTIVE_SOURCE
1244 * always start in standby mode and let the tv (or other device) send the
1245 power on command
1246 * renamed the last few enums
1247 * handle deck related opcodes.
1248 * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown'
1249
1250 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 17:42:00 +0100
1251
84c27c41 1252libcec (1.0-1) unstable; urgency=low
5984d274
LOK
1253
1254 * interface changes:
1255 * set lib interface version back to 1.0 and rename GetLibVersion() to
1256 GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion()
1257 * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor
1258 version number to 1
1259 * fixed:
1260 * samsung's vendor specific remote keypresses don't send key releases. added
1261 call to AddKey() directly after the keypress
1262 * always reset the button press time in CLibCEC::AddKey()
1263 * always wait for a signal in CCECProcessor::Transmit()
1264 * changed:
1265 * drop shared_ptr and use a normal pointer. removed boost dependency
1266
1267 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 04 Nov 2011 00:14:00 +0100
1268
b3efc8f2
LOK
1269libcec (0.8-2) unstable; urgency=low
1270
1271 * added 'libboost-dev' to build deps
1272
1273 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 23:31:00 +0100
1274
971d0e9e
LOK
1275libcec (0.8-1) unstable; urgency=low
1276
1277 * interface changes:
1278 * added GetDevicePowerStatus()/cec_get_device_power_status()
1279 * added GetDeviceVendorId()/cec_get_device_vendor_id()
1280 * added GetDeviceMenuLanguage()/cec_get_device_menu_language()
1281 * added GetDeviceCecVersion()/cec_get_device_cec_version()
1282 * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
b3efc8f2
LOK
1283 monitoring is enabled, the device will only log the data it received,
1284 but will not respond to any message
971d0e9e 1285 * removed timeout parameter in Transmit() and included the ack timeout in
b3efc8f2 1286 the cec_command struct
971d0e9e
LOK
1287 * made the vendor id -> vendor name translation available
1288 * made CEC_LOG levels powers of 2
1289 * introduced CEC_LOG_TRAFFIC log level
1290 * fixed:
1291 * set the correct ackmask on startup
1292 * wait for ack while keeping a lock
1293 * wait for the processor thread to start before continueing on startup
1294 * wait for messages to be transmitted before continueing in
b3efc8f2 1295 CCECProcessor::Transmit()
971d0e9e
LOK
1296 * only set the logical address once when it has changed
1297 * correct source for broadcast messages
1298 * win32: create Release type installer
1299 * changed:
1300 * make all reads and write in CAdapterCommunication go through buffers.
1301 * poll for a vendor ID of connected devices and switch to a non-standard
b3efc8f2 1302 CEC implementation if needed.
971d0e9e
LOK
1303 * added vendor detection of Samsung and LG devices
1304 * handle samsung remote command 'return'
1305 * cec-client:
1306 * added -la and --logical-address to the command line params
1307 * added -d and --log-level params to cec-client
1308 * added -sf and --short-log-file, which only log the actual messages, not
b3efc8f2 1309 the level and timestamp
971d0e9e
LOK
1310 * added -f and --log-file parameters to cec-client
1311 * added option to change the log level to cec-client
1312
b3efc8f2 1313 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 22:58:00 +0100
971d0e9e 1314
8f084f00
LOK
1315libcec (0.7-1) unstable; urgency=low
1316
1317 * send a keypress with 0 duration when a key is pressed and with a duration
1318 set when it's released
1319 * added SetOSDString() to the interface (not supported by all tvs)
1320 * fixed: 'routing change' is a broadcast message. log routing changes, but
1321 don't send a 'set active view' message, so the active input won't be
1322 changed
1323 * log keypresses in the debug log
1324 * added 'pa' command to cec-client, to change the physical address
1325 * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
1326 the HDMI port number to use can be changed
1327 * fixed: put the message processing code from WaitForAck() in ParseMessage().
1328 fixes missing incoming message logging of non-data messages when not
1329 waiting for an ACK
1330 * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
1331 before returning
1332 * fixed: set initiator and destination first in cec_command::push_back().
1333 fixes 'tx' command in cec-client
1334 * fixed: keep trying to connect while iTimeout isn't reached (default 10
1335 seconds). fixes exit with a 'permission denied' error when the device isn't
1336 ready yet. remove CEC_SETTLE_DOWN_TIME
1337 * fixed: don't call SetActiveView() when reporting the power status. fixes
1338 loop which causes some TVs to report failed connections
1339 * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
1340 * fixed: add the device type as parameter when sending the physical address.
1341 thanks bobo1on1
1342 * fixed: typo in libcec.pc.in
1343 * added optional strLib parameter to LoadLibCec(), so the location of the
1344 shared library can be specified
1345 * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
1346 * use int instead of bool on the public C interface and remove stdbool.h include
1347 * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
1348 cecloader.h, CECTypes.h => cectypes.h
1349 * updated debian package. split up libcec and libcec-dev
1350 * fixed: changed to use dlopen instead of static linkage. shuffled headers a
1351 bit. bumped interface to version 7
1352 * removed 'rt' from libraries. it's not needed (anymore)
1353 * fixed: reset the active view after a routing change. issue #1
1354 * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
1355 error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
1356 * added contributors link
1357
1358 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 14 Oct 2011 17:34:00 +0200
1359
11d0a2d6
LOK
1360libcec (0.6-1) unstable; urgency=low
1361
1362 * bumped interface version to 6
1363 * fixed packet output (reporting the OSD name correctly now)
1364 * refactored packet structs: split up in cec commands and adapter messages
1365 * fixed i/o timings
1366 * added Darwin support (thanks Davilla!)
1367 * fixed WaitForAck()
1368 * fixed possible deadlock when starting a new thread
1369 * implemented vendor id and device class parsing. full detection will follow
1370 * added "on" and "standby" commands to the test client
1371 * retransmit packets if needed
1372 * fix GetTimeMs() on linux
1373 * added timestamp to log messages
1374
1375 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 09 Oct 2011 15:15:00 +0200
1376
9519c249 1377libcec (0.5-1) unstable; urgency=low
25701fa6
LOK
1378
1379 * bumped interface version to 5
1380 * don't pass std::string and std::vector accross the interface
1381 * fixed heap corruption crashes on windows
1382 * fixed some memory leaks
1383 * reset all structs to default values before doing with them
1384
11d0a2d6 1385 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 07 Oct 2011 22:00:00 +0200
25701fa6 1386
262f3b05
LOK
1387libcec (0.4-3) unstable; urgency=low
1388
1389 * fixed reconnect
1390 * fixed some threading related bugs
1391 * fixed deadlock on exit
1392 * fixed wrongly reported physical address
1393
1394 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 06 Oct 2011 00:19:00 +0200
1395
4463fb80
LOK
1396libcec (0.4-2) unstable; urgency=low
1397
1398 * fixed int parameter sizes and some signed/unsigned warnings
1399 * check whether m_port isn't NULL in ReadFromDevice
1400 * stop the processor thread and delete the CSerialPort instance on exit
1401 * added mutex in CSerialPort
1402 * fix segfault on exit
1403 * renamed libPlatform -> platform.
1404 * stuck everything from libCEC in the CEC namespace to avoid namespace
1405 polution
1406
1407 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 23:45:00 +0200
1408
88c5a743
LOK
1409libcec (0.4-1) unstable; urgency=low
1410
1411 * bumped interface version to 4
1412 * timeout parameter removed from Close()/cec_close(). return type changed to
1413 void
1414 * added cec_destroy() method
1415 * removed timeout parameter from Transmit()
1416 * change the default argument of PowerOnDevices() to CECDEVICE_TV
1417 * removed PowerOffDevices(). use StandbyDevices() instead
1418 * removed obsolete methods from the interface
1419 * fixed bug: pthread_cond_wait was called without the mutex locked
1420 * fixed possible deadlock: don't send messages and wait for an ack with the
1421 mutex locked in CCECParser
1422 * created a separate reader thread and fixed the 'lock timeout' bug
1423 * testclient: use CECDEVICE_TV instead of the default argument
1424 (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices()
1425
1426 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 00:48:00 +0200
1427
a9bb5b56
LOK
1428libcec (0.3-1) unstable; urgency=low
1429
1430 * added device detection support for Windows
1431
1432 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 02 Oct 2011 12:09:33 +0200
1433
c3f9951c
LOK
1434libcec (0.2-1) unstable; urgency=low
1435
1436 * added a Close() method to the interface
1437 * Added CEC command that were received by the adapter in a buffer that can be
1438 read by a client with GetNextCommand()/cec_get_next_command(). added a
1439 'help' command to the test client, that displays all available commands
1440 * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use
1441 SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to
1442 the testclient to set the logical address of the cec adapter
1443 * Added optional logical and physical address parameters to
1444 LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace
1445 close tag in CECExports.h. updated interface documentation. bumped
1446 interface version to 2.
1447 * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the
1448 test client. the previous one was too long and being rejected
1449
1450 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 28 Sep 2011 01:33:00 +0200
1451
abbca718
LOK
1452libcec (0.1-1) unstable; urgency=low
1453
1454 * Initial release v0.1
1455
1456 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 28 Sep 2011 23:55:48 +0200