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