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