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