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