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