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