cec: give priority to messages from the TV. removed the global lock in CCECProcessor...
[deb_libcec.git] / ChangeLog
CommitLineData
fe462cdd
LOK
1libcec (1.5-4) unstable; urgency=low
2
3 * changed/added:
4 * OS-X installation requirements and pointer
5 * full v2 firmware support:
6 * ping the adapter every 15 seconds. bugzid: 541
7 * added v2 msgcodes. bugzid: 543
8 * implemented the write methods for the v2 configuration. bugzid: 543
9 * included the logical addresses in the persisted configuration for v2.
10 bugzid: 543
11 * persist the configuration before closing the connection. only try to
12 persist the configuration when talking to a v2 firmware. bugzid: 543
13 * added GetSetting() to CUSBCECAdapterCommunication. bugzid: 543
14 * read the persisted settings from the ROM, and update it in
15 libcec_configuration if found. bugzid: 543
16 * cec-client: set bGetSettingsFromROM to 1 in cec-client. bugzid: 543
17 * cec-client: only read persisted EEPROM settings when -r or --rom is
18 provided as cmdline arg. bugzid: 543
19 * call SetControlledMode(false) as last command when closing the
20 connection in v2. bugzid: 542
21 * initial FreeBSD support: simply try to use ttyU*
22
23 * fixed:
24 * set controlled mode and retry to send the previous command if it failed
25 with MSGCODE_COMMAND_REJECTED
26 * m_iLineTimeout was never initialised and used. fixes MSGCODE_REJECTED
27 when transmitting a message and incorrect line timeouts being used
28 * mac configure compile bugzid: 157
29 * cec-config-gui: fixed application exit when the user clicked 'no' when
30 asked to reconnect. bugzid: 556
31 * only wait for multiple 'command accepted' response when sending a
32 transmit command, and only to 1 in other cases. bugzid: 543
33 * set the correct logical address mask before switching to autonomous mode.
34 bugzid: 543
35 * re-added SetLineTimeout(). bugzid: 543
36 * CUSBCECAdapterCommunication::SetControlledMode checked for the wrong sent
37 state
38 * os-x: don't add 0.5 before dividing in GetTimeMs()
39 * os-x: struct timespec now values weren't set correctly
40
41 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 16 Mar 2012 10:12:00 +0100
42
2e82cff0
LOK
43libcec (1.5-3) unstable; urgency=low
44
45 * fixed:
46 * OS-X compilation
47 * default to firmware version 1 after 3 tries. some versions didn't send a
48 version.
49 * fixed cec-config win32 compilation
50
51 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 03 Mar 2012 15:21:00 +0100
52
c3c13157
LOK
53libcec (1.5-2) unstable; urgency=low
54
55 * changed/added:
56 * added Toshiba's vendor id, and set the device ID of the primary device to
57 Toshiba's and transmit it when starting
58 * lock in SyncedBuffer
59 * added a timeout to StopThread()
60 * also add commands to unsupported features when receiving
61 CEC_ABORT_REASON_REFUSED
62 * cec-config-gui: set cbPortNumber enabled when the physical address
63 override isn't checked instead
64 * cec-config-gui: added support for the new 'send inactive source' setting
65
66 * interface changes:
67 * added an 'send inactive source' option to libcec_configuration, only
68 supported by client/server 1.5.1 and up. bugzid: 439
69 * added a command to the interface to start the bootloader directly,
70 without going through all checks. bugzid: 218
71 * LibCecSharp: implemented support for the new 'send inactive source'
72 setting
0fabd366 73
c3c13157
LOK
74 * fixed:
75 * don't send an updated configuration when libCEC hasn't been initialised
76 fully. bugzid: 459
77 * don't send an updated configuration back when initialising. let the
78 client call the GetCurrentConfiguration() method. bugzid: 459
79 * configuration updates from libCEC. bugzid: 459
80 * fixed accidental double deref. the method parameter already does that.
81 github #24
82 * use CLOCK_MONOTONIC for timing info, since gettimeofday is affected by
83 ntp and by manually adjusting the system time
84 * the timeout value of pthread_cond_timedwait has to be referenced to
85 CLOCK_REALTIME
86 * don't add data to the input buffer in CUSBCECAdapterCommunication before
87 it's fully initialised
88 * fixed return value of CUSBCECAdapterCommunication::ParseMessage(). fixes
89 messages not being parsed in certain occasions
90 * don't try to transmit when the processor is being stopped
91 * set the server version in the LibCEC's constructor, since this is
92 checked by clients. fixes 'invalid libCEC version' popup when inserting
93 the adapter
94 * don't wait for the full timeout to pass in CCECProcessor::
95 OpenConnection(), but retry to connect 2 times. fixes 'port busy' errors
96 when initialising libCEC. bugzid: 436
97 * use the correct Sleep() method in CCECProcessor::OpenConnection(). the
98 thread hasn't been started there yet, so the sleep wasn't working. fixes
99 'device or resource busy' when plugging in the adapter. bugzid: 436
100 * check the adapter ping and firmware before starting the reader thread, so
101 we really leave the com port alone for a second when it fails because of
102 a busy error. bugzid: 436
103 * ensure that the connection is really closed before retrying to connect.
104 bugzid: 436
105 * LibCecSharp: recreate the delegates properly when (re)connecting to
106 LibCecSharp
107
108 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 28 Feb 2012 21:19:00 +0100
109
099a04fb
LOK
110libcec (1.5-1) unstable; urgency=low
111
112 * changed/added:
113 * a new libcec_configuration structs, which allows the client app to pass
fbaa8dd5
LOK
114 a number of new options, like waking multiple devices on startup,
115 overriding the vendor id, etc.
116 * a new configuration GUI for Windows (.NET). this allows you to set
117 libCEC's configuration for XBMC in a convenient GUI.
118 * a CLI configuration tool (unfinished) for other platforms. will be
119 finished in an update.
099a04fb 120 * implemented power up for LG devices other than a TV
fbaa8dd5
LOK
121 * win32: don't install libcec to the system directory by default, and
122 delete previous (testing) copies if present
123 * wait for multiple responses, not just for one at a time
124 * set the ackmask to 0 when closing the connection
125 * don't send 'image view on' when calling SetActiveSource()
126 * don't send power on, acitve source and standby commands by default in
127 cec-client
128 * platform: added CTryLockObject
129 * platform: added an Init() method in CTimeout, so it can be reset
130
099a04fb
LOK
131 * interface changes:
132 * added a new initialiser method: CecInitialise()/cec_initialise(), that
fbaa8dd5
LOK
133 accepts a "libc_configuration" struct as parameter. this way, the
134 signature of the init method can stay the same when adding new options.
135 in LibCecSharp, the new method appears as a new constructor.
136 * added CanPersistConfiguration()/cec_can_persist_configuration()
137 * added PersistConfiguration()/cec_persist_configuration()
099a04fb 138 * added GetCurrentConfiguration()/cec_get_current_configuration()
fbaa8dd5 139 * added SetConfiguration()/cec_set_configuration()
099a04fb 140 * added GetLogicalAddresses()/cec_get_logical_addresses(): returns the list
fbaa8dd5 141 of addresses controlled by libCEC
099a04fb 142 * added RescanDevices()/cec_rescan_devices(): lets libCEC force polls to
fbaa8dd5
LOK
143 all logical addresses.
144 * added a callback that is called when libCEC's configuration changed.
145 * moved the autodetect address api call to libcec_configuration. only send
146 power up commands to non-tv devices when the power state is not
147 on/transition->on. let players call the power up/power down command.
148 * return the anynet return keycode directly instead of translating it to
149 'return' for v1.5.0+ clients
150 * extracted CecSharpTypes.h in LibCecSharp. LibCecSharp is now in the
151 CecSharp namespace
099a04fb 152 * include the local cectypes.h in cec.h and cecc.h instead of system wide
fbaa8dd5
LOK
153 * deprecated GetLibVersion() methods. use libcec_configuration instead
154 * removed deprecated CECCreate() method
099a04fb
LOK
155
156 * fixed:
157 * fixed a lot of LG specific issues
fbaa8dd5 158 * fixed OS-X compilation. credits: Dustin Cooper
099a04fb 159 * fixed a couple of possible deadlocks, e.g. when closing the connection
fbaa8dd5
LOK
160 while receiving data
161 * cleaned up existing code
099a04fb 162 * libCEC no longer puts incoming data in a fifo buffer, but tries to
fbaa8dd5
LOK
163 process it directly, which fixes issues like libCEC blocking processing
164 new commands while waiting for transmission acks.
165 * 'unsupported command' marking in CCECBusDevice
166 * ensure that the ackmask is always set to 0 when closing the connection
167 and that the call doesn't block the Close() call
168 * don't try to read or write in CUSBCECAdapterCommunication when the
169 connection has been closed
170 * LibCecSharp: added quotes to the linker statement for libcec.lib. fixes
171 compilation in paths with spaces. closes #20
172 * LibCecSharp: set the callback methods in libcec to NULL before closing
173 the connection, since these might already have been destroyed in .NET
174 * LibCecSharp: delete the internal callback struct when closing the
175 connection
176 * LibCecSharp: pass correctly formatted logical address lists
177 * ensure that the vendor id is requested first when requesting info from a
178 device, so we are using the correct handler
179 * keep the 'busy state' of the command handler in CCECBusDevice
180 * poll the next device when the current is handled by libCEC.
181 * check the vendor id of a device before sending a power on command
182 * ensure that there always is at least one device type set
183 * transmit a keypress and key release as power on command when the target
184 device isn't the TV
185 * don't do a full reinit when not needed
186 * fix active source switches for the standard CEC implementation
187 * ensure that we don't send data to ourself
188 * check whether the port is open, not whether libCEC is initialised in
189 Transmit()
190 * platform: fixed return value from CCondition::Wait()
191 * platform: don't broadcast but wake one thread in
192 CProtectedSocket::MarkReady()
193 * platform: include stdint.h in windows/os-types.h instead of typedef'ing
194 ints
195 * platform: fixed tcp socket error handling and return value.
196 * platform: fixed return values of socket operations in lib/platform
099a04fb 197 * platform: added predicate in CCondition
fbaa8dd5
LOK
198 * deleted the signed driver from the tree, since that doesn't work. let the
199 installer create a new signed driver on the production build system
099a04fb
LOK
200
201 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 19 Feb 2012 01:04:00 +0100
202
c75f7f45
LOK
203libcec (1.4-4) unstable; urgency=low
204
205 * changed/added:
206 * added tcp client sockets to lib/platform (WIP)
207 * clean up lib/platform
208 * added: set controlled mode on after opening a connection to the adapter
209 (for firmware v2)
210 * added an IAdapterCommunicationCallback interface an use a callback method
211 to pass newly received cec_commands to CCECProcessor
212 * added "driver only" and "driver + libcec" sections to the installer
213 * added a signed driver
214 * created a separate driver installer, which is included in the libCEC
215 installer. uninstalls the old unsigned version of libCEC and the driver
216 when it's found and installs the new one in C:\Program Files(x86)\
217 Pulse Eight\USB-CEC Adapter.
218 * don't sign development binaries with a temporary key. devs can do that
219 themselves when they want LibCecSharp in the GAC
220 * interface changes:
221 * added SetStreamPath()/cec_set_stream_path_logical()/
222 cec_set_stream_path_physical() to the interface, to send a
223 "set stream path" command over the CEC bus, used to activate another
224 source.
225 * fixed:
226 * transmit 'menu state activated' after the stream path has been set to a
227 device that is handled by libCEC. should fix remote commands not working
228 properly on Panasonic TVs and after another source has been active.
229 bugzid: 233
230 * set the ackmask to 0x0 when trying to find a free logical address
231 * keep trying to reconnect to the com port until the timeout runs out.
232 bugzid: 230
233 * wait 500 ms before trying to retransmit a command. always wait for the
234 result of a transmission in CCECCommandHandler::Transmit()
235 * receive and send full cec_commands, not CCECAdapterMessages in
236 CAdapterCommunication. extract an IAdapterCommunication interface. fixed
237 potentially missed data in CAdapterCommunication
238 * close and delete the connection when the processor thread ends. fixes
239 reconnect after standby (access denied / connection already opened)
240 * don't replace handlers when not initialised, or the primary device's
241 logical addres isn't known yet, which can lead to crashes. don't call
242 handlers directly in CCECProcessor without holding a lock on them
243 * fixed possible crash when command handler were switched while it was
244 being used
245 * keep the mutex locked when calling ReplaceHandlers() in CCECProcessor
246 * win32: also timeout when data is received in SocketRead()
247 * win32: fixed < vista runtime and compilation
248 * win32: ping the adapter and request the firmware version in
249 CUSBCECAdapterCommunication instead of CCECProcesssor. fixes failed
250 libCEC inits
251 * win32: fixed crash on exit in LibCecSharp
252
253 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 6 Feb 2012 14:26:00 +0100
254
1858a00e
LOK
255libcec (1.4-3) unstable; urgency=low
256
257 * fixed:
258 * try to ping the device and grab the firmware version until the connect
259 timeout runs out. fixes failed reconnect after standby, when the adapter
260 is still being initialised
261
262 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 27 Jan 2012 13:05:00 +0100
263
2819463f
LOK
264libcec (1.4-2) unstable; urgency=low
265
266 * changed/added:
267 * added a firmware flash script for linux.
268 usage: ./support/cec-flash-device.sh /path/to/firware.hex
269 * refactored threading/locking - added windows native instead of
270 pthread-win32, so we can compile native x64 too
271 * check whether the adapter responds when connecting to it and report the
1858a00e 272 firmware version of the adapter after connecting
2819463f
LOK
273 * moved create-installer.cmd to support/
274 * completely removed AM_SILENT_RULES
275 * interface changes:
276 * compile LibCecSharp against .NET framework 2.0 and sign the assembly
277 * fixed:
278 * only the key release events were sent, not keypresses, which appeared in
279 clients as laggy keypresses
280 * fixed reconnect after standby
281 * wait for active tranmission to finish when opening a connection to the
282 adapter. fixes initialisation errors
283 * set the default transmit timeout properly instead of using 0
284 * fixed possible deadlock because of a negative timeout in
285 CAdapterCommunication::WaitForTransmitSucceeded()
286 * fixed error message in cec-client (unable to open the device on port ...)
b9aae0cd 287 * exit cec-client after entering bootloader mode
2819463f
LOK
288 * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED
289
290 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 25 Jan 2012 23:28:00 +0100
291
e6b4a29e
LOK
292libcec (1.4-1) unstable; urgency=low
293
294 * changed/added:
295 * added the vendor id for Sony
296 * always refresh the power state of a device when it hasn't been updated
297 for 30 seconds
298 * do silent builds by default
299 * interface changes:
300 * added optional callback methods to libCEC. enable them by calling
301 EnableCallbacks(ICECCallbacks *callbacks) /
302 cec_enable_callbacks(ICECCallbacks *callbacks). after this method is
303 called, the GetNext...() methods will not return any data
304 * added the same callbacks to LibCecSharp. implement CecCallbackMethods
305 and override the methods in there
306 * fixed:
307 * use the given timeout when trying to open a connection to the CEC
308 adapter
309 * resolved difference between method name in LibCECC.cpp and cecc.h.
310 credits: Doug Johnson
311 * don't transmit physical addresses while holding a lock in CCECProcessor
312 * don't hold a lock when sending an active source message.
313 * unload libCEC when the lib version is invalid
314 * "unused" warnings suppressed
315
316 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 12 Jan 2012 19:06:00 +0100
317
d0d8b3c0 318libcec (1.3-3) unstable; urgency=low
f962137e
LOK
319
320 * changed/added:
321 * place in libudev include in an extern C block. fixes compilations on
322 older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann
323 * added pkg-config to the dependencies list. issue #15
324 * updated README. closes #14
325 * added a script that tests some basic functions of the CEC adapter:
326 /support/cec-test-device.sh
327 * fixed:
328 * don't make libCEC the active source when changing the physical address.
329 don't send active source messages on startup, when not the active source
330 fixes unwanted device power ups
331 * replace the command handler directly after receiving a changed vendor
332 id. change the primary type from recording device to playback device
333 for panasonic TVs
334 * don't send a deck status update when sending an active source message
335 for panasonic TVs
336 * only switch handlers once when using the generic handler
337 * don't switch handlers when not needed
338 * hold a lock in CCECProcessor::SetHDMIPort()
339 * don't send deck status updates when sending an active source message by
340 default
341
342 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 3 Jan 2012 22:48:00 +0100
343
188d35cf
LOK
344libcec (1.3-2) unstable; urgency=low
345
346 * changed/added:
347 * copy libcec.dll to the XBMC installation dir when XBMC is found
348 * disable background polling. let the client request this info when needed
349 * update the power status of a device when it's set to
350 CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
351 * wait for the correct response when requesting something, not just any
352 response
353 * don't keep trying the same command/request after receiving a feature
354 abort message
355 * interface changes:
356 * change the previously unused boolean parameter in volume control methods
357 to bSendRelease, and only send a key release when it's true. default to
358 true
359 * fixed:
360 * don't send the power up/down keypress to listeners when in the initial
361 device state (powered off). fixes unexpected shutdown in XBMC when
362 connecting to the CEC adapter.
363 * send a 'menu state activated' command when starting up. bugzid: 113
364 * don't wait for a response when not needed
365 * don't hold a lock while waiting for a response. fixes failed libCEC
366 inits and slow responses
367 * don't replace a command handler when it's being used. fixes possible
368 crash on startup
369 * don't try to do anything before the processor thread has started
370 * don't transmit active source messages when the physical address is
371 still 0xFFFF
372 * don't init the default handler before the physical address is known
373
374 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 29 Dec 2011 03:05:00 +0100
375
2c7c8c4b 376libcec (1.3-1) unstable; urgency=low
dfb08039
LOK
377
378 * changed/added:
379 * make libudev optional. if libudev is not available on linux, adapter
380 autodetection will also not be available. fixes compilation on Hardy/ATV1
381 * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET
382 language
383 * added vendor support for LG
384 * added vendor support for Philips
385 * added vendor support for Yamaha
386 * added vendor support for Onkyo
387 * added 'scan' command to cec-client, that displays info about devices on
388 the bus. made all ToString() methods available on the interface.
389 * added '-s' or '--single-command' to cec-client. starting cec-client with
390 this parameter executes a single command in cec-client and does not power
391 on devices on startup and power them off on exit. this way, you can use
392 cec-client in a shell script. since there's some handshaking involved at
393 startup, this is not very fast. to execute a command and only display the
394 result and any error/warning, execute it with
395 RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch
396 files are a bit different)
19330705
LOK
397 * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to
398 cec-client's parameters
dfb08039
LOK
399 * handle image view on and text view on
400 * handle routing information and report physical address opcodes
401 * handle audio status updates
402 * send ping and bootloader commands via the output queue
403 * scan the CEC bus for devices when starting libcec
404 * pass all commands that are directed at libcec to listeners
405 * interface changes:
406 * added GetActiveSource()/cec_get_active_source()
407 * added IsActiveSource()/cec_is_active_source()
408 * added GetDevicePhysicalAddress()/cec_get_device_physical_address()
409 * added GetDeviceOSDName()/cec_get_osd_name()
410 * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/
411 cec_send_key_release()
412 * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(),
413 MuteAudio()/cec_mute_audio()
414 * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/
415 cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type().
416 * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load
417 and when a device with the same physical address is detected, libcec will
418 use the selected hdmi port on that device. should fix source selection on
419 other devices, like an amplifier
420 * added a hook in libcec for physical address autodetection
421 * fixed:
422 * don't request the physical address from the tv (it's always 0x0000)
423 * set the proper ackmask before doing anything else
424 * don't unlock the transmit mutex in CCECProcessor while waiting for an
425 answer
426 * fix device polling
427 * refactor CEC read/write. keep a single lock for all writes, not one per
428 device
429 * ignore other data while waiting for a response
430 * retry failed tranmissions
431 * don't delete a message before it's been sent when starting the bootloader
432 * or when sending a ping
433 * fixed possible segfault when switching the command handler after a vendor
434 * id changed
435 * handle audio opcodes correctly
436 * inactive source should be directly addressed at the TV
437 * don't report a changed physical address when it hasn't changed
438 * routing information sets the stream path, not the physical address
439 * don't scan the whole bus in CCECProcessor::IsActiveDeviceType()
440 * don't request the vendor id from devices that are handled by libcec
441 * mark device status as present when a command was received from a device
442 * always send a power on command in CCECBusDevice::PowerOn()
443 * don't request updates statusses unless needed
444 * report physical address sends 3 parameters, not 2. check whether the
445 device type is correct
446 * devices can send vendor commands from other vendors, so don't assume the
447 device is of a certain vendor when it sends commands with a vendor id
448 * thread safety fixes. bugzid: 19
449 * clear any previous input when opening a connection to the adapter.
450 bugzid: 54
451 * use the correct source address in CSLCommandHandler::HandleVendorCommand()
452 * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
453 * renamed enum methods. fixes potential macro collision with isset().
454 thanks davilla
19330705
LOK
455 * don't change the active device when receiving stream path changed
456 messages. fixes wrong source selection when powering after the TV.
dfb08039 457
19330705 458 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 09 Dec 2011 12:16:00 +0100
dfb08039 459
94d98b71
LOK
460libcec (1.2-1) unstable; urgency=low
461
462 * bugfixes:
463 * pass the deck_control command to libcec listeners
464 * check whether the initiator is valid in CCECProcessor::ParseCommand().
465 fixes possible segfault when parsing invalid data
466
467 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 12 Nov 2011 13:36:00 +0100
468
c3da3073
LOK
469libcec (1.1-3) unstable; urgency=low
470
471 * fixed return value in CCECProcessor::SetStreamPath(), which prevented
472 active source and menu state from being sent
473
474 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 23:36:00 +0100
475
f0197d4f
LOK
476libcec (1.1-2) unstable; urgency=low
477
478 * forgot to update the headers to v1.1
479
480 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100
481
4f8dcef2
LOK
482libcec (1.1-1) unstable; urgency=low
483
484 * interface changes:
485 * added logical address autodetection and let libcec handle multiple types
486 simultaniously. for logical address autodetection, you have to use
487 CECInit()/cec_init_typed() instead of CECCreate()/cec_init()
488 * added SetActiveSource()/cec_set_active_source() to the interface.
489 deprecated SetActiveView()/cec_set_active_view()
490 * added SetMenuState()
491 * added PollDevice()/cec_poll_device()
492 * removed duplicate method SetActiveSource() / SetActiveView()
493 * added SetDeckControlMode() and SetDeckInfo()
494 * fixed:
495 * added vendor detection for panasonic and broadcast active view and set
496 menu state when a panasonic device sets the stream path. thanks for the
497 pointer cptcoconut.
498 * added vendor code for pioneer
499 * osd string is 13 chars max. don't send more
500 * send the correct cec version for each device
501 * switch to panasonic specific cec implementation if a panasonic device was
502 detected
503 * send the correct device type in TransmitPhysicalAddress()
504 * send a reply from the correct device when the stream path is requested
505 * opcode 0x80 means the stream path changed, not the physical address
506 * don't poll for a vendor ID in monitoring mode
507 * fixed parameter parsing in SetVendorId()
508 * buffer up commands that are received while waiting for an ack. only send
509 'active source' message for the actual active source
510 * win32: prepend the com port path with '\\.\', so com ports > 9 can be
511 accessed. thanks smolesen
512 * audio systems cannot be an active source, so don't transmit active
513 source message from this device
514 * only send 'active source' when powered on
515 * only set the osd name for the primary device. use default values for
516 others
517 * increase physical address with 0x100 per device
518 * win32: removed unneeded afxres.h include in the resource files, which
519 is not present when using studio express. thanks Ghuron
520 * fixed C headers
521 * mark the active source as active and other devices as inactive
522 * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER
c6b7b98b 523 * transmit the menu state as (active) when the stream path is set
4f8dcef2
LOK
524 * changed:
525 * changed copyright of boblight files with permission of the original
526 author
527 * partial handling of audio related opcodes
528 * more consistent log messages
529 * set a device type and name for each CCECBusDevice
530 * keep a power and menu state per device
531 * renamed all Broadcast...() and Report...() methods to Transmit...()
532 * renamed SetOSDString() to TransmitOSDString()
533 * changed debug level of 'did not receive ack' from error to debug
534 * only set the power status to 'on' for the primary device
535 * moved method decriptions from cecc.h to cec.h
536 * only send a power on command when a device isn't on already and set
537 the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while
538 powering on
539 * handle CEC_OPCODE_STANDBY
540 * handle CEC_OPCODE_ACTIVE_SOURCE
541 * always start in standby mode and let the tv (or other device) send the
542 power on command
543 * renamed the last few enums
544 * handle deck related opcodes.
545 * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown'
546
547 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 17:42:00 +0100
548
35d9c32a
LOK
549libcec (1.0-1) unstable; urgency=low
550
551 * interface changes:
552 * set lib interface version back to 1.0 and rename GetLibVersion() to
553 GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion()
554 * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor
555 version number to 1
556 * fixed:
557 * samsung's vendor specific remote keypresses don't send key releases. added
558 call to AddKey() directly after the keypress
559 * always reset the button press time in CLibCEC::AddKey()
560 * always wait for a signal in CCECProcessor::Transmit()
561 * changed:
562 * drop shared_ptr and use a normal pointer. removed boost dependency
563
564 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 04 Nov 2011 00:14:00 +0100
565
b3efc8f2
LOK
566libcec (0.8-2) unstable; urgency=low
567
568 * added 'libboost-dev' to build deps
569
570 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 23:31:00 +0100
571
971d0e9e
LOK
572libcec (0.8-1) unstable; urgency=low
573
574 * interface changes:
575 * added GetDevicePowerStatus()/cec_get_device_power_status()
576 * added GetDeviceVendorId()/cec_get_device_vendor_id()
577 * added GetDeviceMenuLanguage()/cec_get_device_menu_language()
578 * added GetDeviceCecVersion()/cec_get_device_cec_version()
579 * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
b3efc8f2
LOK
580 monitoring is enabled, the device will only log the data it received,
581 but will not respond to any message
971d0e9e 582 * removed timeout parameter in Transmit() and included the ack timeout in
b3efc8f2 583 the cec_command struct
971d0e9e
LOK
584 * made the vendor id -> vendor name translation available
585 * made CEC_LOG levels powers of 2
586 * introduced CEC_LOG_TRAFFIC log level
587 * fixed:
588 * set the correct ackmask on startup
589 * wait for ack while keeping a lock
590 * wait for the processor thread to start before continueing on startup
591 * wait for messages to be transmitted before continueing in
b3efc8f2 592 CCECProcessor::Transmit()
971d0e9e
LOK
593 * only set the logical address once when it has changed
594 * correct source for broadcast messages
595 * win32: create Release type installer
596 * changed:
597 * make all reads and write in CAdapterCommunication go through buffers.
598 * poll for a vendor ID of connected devices and switch to a non-standard
b3efc8f2 599 CEC implementation if needed.
971d0e9e
LOK
600 * added vendor detection of Samsung and LG devices
601 * handle samsung remote command 'return'
602 * cec-client:
603 * added -la and --logical-address to the command line params
604 * added -d and --log-level params to cec-client
605 * added -sf and --short-log-file, which only log the actual messages, not
b3efc8f2 606 the level and timestamp
971d0e9e
LOK
607 * added -f and --log-file parameters to cec-client
608 * added option to change the log level to cec-client
609
b3efc8f2 610 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 22:58:00 +0100
971d0e9e 611
8f084f00
LOK
612libcec (0.7-1) unstable; urgency=low
613
614 * send a keypress with 0 duration when a key is pressed and with a duration
615 set when it's released
616 * added SetOSDString() to the interface (not supported by all tvs)
617 * fixed: 'routing change' is a broadcast message. log routing changes, but
618 don't send a 'set active view' message, so the active input won't be
619 changed
620 * log keypresses in the debug log
621 * added 'pa' command to cec-client, to change the physical address
622 * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
623 the HDMI port number to use can be changed
624 * fixed: put the message processing code from WaitForAck() in ParseMessage().
625 fixes missing incoming message logging of non-data messages when not
626 waiting for an ACK
627 * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
628 before returning
629 * fixed: set initiator and destination first in cec_command::push_back().
630 fixes 'tx' command in cec-client
631 * fixed: keep trying to connect while iTimeout isn't reached (default 10
632 seconds). fixes exit with a 'permission denied' error when the device isn't
633 ready yet. remove CEC_SETTLE_DOWN_TIME
634 * fixed: don't call SetActiveView() when reporting the power status. fixes
635 loop which causes some TVs to report failed connections
636 * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
637 * fixed: add the device type as parameter when sending the physical address.
638 thanks bobo1on1
639 * fixed: typo in libcec.pc.in
640 * added optional strLib parameter to LoadLibCec(), so the location of the
641 shared library can be specified
642 * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
643 * use int instead of bool on the public C interface and remove stdbool.h include
644 * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
645 cecloader.h, CECTypes.h => cectypes.h
646 * updated debian package. split up libcec and libcec-dev
647 * fixed: changed to use dlopen instead of static linkage. shuffled headers a
648 bit. bumped interface to version 7
649 * removed 'rt' from libraries. it's not needed (anymore)
650 * fixed: reset the active view after a routing change. issue #1
651 * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
652 error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
653 * added contributors link
654
655 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 14 Oct 2011 17:34:00 +0200
656
11d0a2d6
LOK
657libcec (0.6-1) unstable; urgency=low
658
659 * bumped interface version to 6
660 * fixed packet output (reporting the OSD name correctly now)
661 * refactored packet structs: split up in cec commands and adapter messages
662 * fixed i/o timings
663 * added Darwin support (thanks Davilla!)
664 * fixed WaitForAck()
665 * fixed possible deadlock when starting a new thread
666 * implemented vendor id and device class parsing. full detection will follow
667 * added "on" and "standby" commands to the test client
668 * retransmit packets if needed
669 * fix GetTimeMs() on linux
670 * added timestamp to log messages
671
672 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 09 Oct 2011 15:15:00 +0200
673
9519c249 674libcec (0.5-1) unstable; urgency=low
25701fa6
LOK
675
676 * bumped interface version to 5
677 * don't pass std::string and std::vector accross the interface
678 * fixed heap corruption crashes on windows
679 * fixed some memory leaks
680 * reset all structs to default values before doing with them
681
11d0a2d6 682 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 07 Oct 2011 22:00:00 +0200
25701fa6 683
262f3b05
LOK
684libcec (0.4-3) unstable; urgency=low
685
686 * fixed reconnect
687 * fixed some threading related bugs
688 * fixed deadlock on exit
689 * fixed wrongly reported physical address
690
691 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 06 Oct 2011 00:19:00 +0200
692
4463fb80
LOK
693libcec (0.4-2) unstable; urgency=low
694
695 * fixed int parameter sizes and some signed/unsigned warnings
696 * check whether m_port isn't NULL in ReadFromDevice
697 * stop the processor thread and delete the CSerialPort instance on exit
698 * added mutex in CSerialPort
699 * fix segfault on exit
700 * renamed libPlatform -> platform.
701 * stuck everything from libCEC in the CEC namespace to avoid namespace
702 polution
703
704 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 23:45:00 +0200
705
88c5a743
LOK
706libcec (0.4-1) unstable; urgency=low
707
708 * bumped interface version to 4
709 * timeout parameter removed from Close()/cec_close(). return type changed to
710 void
711 * added cec_destroy() method
712 * removed timeout parameter from Transmit()
713 * change the default argument of PowerOnDevices() to CECDEVICE_TV
714 * removed PowerOffDevices(). use StandbyDevices() instead
715 * removed obsolete methods from the interface
716 * fixed bug: pthread_cond_wait was called without the mutex locked
717 * fixed possible deadlock: don't send messages and wait for an ack with the
718 mutex locked in CCECParser
719 * created a separate reader thread and fixed the 'lock timeout' bug
720 * testclient: use CECDEVICE_TV instead of the default argument
721 (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices()
722
723 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 00:48:00 +0200
724
a9bb5b56
LOK
725libcec (0.3-1) unstable; urgency=low
726
727 * added device detection support for Windows
728
729 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 02 Oct 2011 12:09:33 +0200
730
731libcec (0.2-1) unstable; urgency=low
732
733 * added a Close() method to the interface
734 * Added CEC command that were received by the adapter in a buffer that can be
735 read by a client with GetNextCommand()/cec_get_next_command(). added a
736 'help' command to the test client, that displays all available commands
737 * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use
738 SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to
739 the testclient to set the logical address of the cec adapter
740 * Added optional logical and physical address parameters to
741 LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace
742 close tag in CECExports.h. updated interface documentation. bumped
743 interface version to 2.
744 * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the
745 test client. the previous one was too long and being rejected
746
747 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 28 Sep 2011 01:33:00 +0200
748
abbca718
LOK
749libcec (0.1-1) unstable; urgency=low
750
751 * Initial release v0.1
752
a9bb5b56 753 -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 28 Sep 2011 23:55:48 +0200