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