Commit | Line | Data |
---|---|---|
f962137e LOK |
1 | libcec (1.3-3) unstable; urgency=low |
2 | ||
3 | * changed/added: | |
4 | * place in libudev include in an extern C block. fixes compilations on | |
5 | older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann | |
6 | * added pkg-config to the dependencies list. issue #15 | |
7 | * updated README. closes #14 | |
8 | * added a script that tests some basic functions of the CEC adapter: | |
9 | /support/cec-test-device.sh | |
10 | * fixed: | |
11 | * don't make libCEC the active source when changing the physical address. | |
12 | don't send active source messages on startup, when not the active source | |
13 | fixes unwanted device power ups | |
14 | * replace the command handler directly after receiving a changed vendor | |
15 | id. change the primary type from recording device to playback device | |
16 | for panasonic TVs | |
17 | * don't send a deck status update when sending an active source message | |
18 | for panasonic TVs | |
19 | * only switch handlers once when using the generic handler | |
20 | * don't switch handlers when not needed | |
21 | * hold a lock in CCECProcessor::SetHDMIPort() | |
22 | * don't send deck status updates when sending an active source message by | |
23 | default | |
24 | ||
25 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 3 Jan 2012 22:48:00 +0100 | |
26 | ||
188d35cf LOK |
27 | libcec (1.3-2) unstable; urgency=low |
28 | ||
29 | * changed/added: | |
30 | * copy libcec.dll to the XBMC installation dir when XBMC is found | |
31 | * disable background polling. let the client request this info when needed | |
32 | * update the power status of a device when it's set to | |
33 | CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON | |
34 | * wait for the correct response when requesting something, not just any | |
35 | response | |
36 | * don't keep trying the same command/request after receiving a feature | |
37 | abort message | |
38 | * interface changes: | |
39 | * change the previously unused boolean parameter in volume control methods | |
40 | to bSendRelease, and only send a key release when it's true. default to | |
41 | true | |
42 | * fixed: | |
43 | * don't send the power up/down keypress to listeners when in the initial | |
44 | device state (powered off). fixes unexpected shutdown in XBMC when | |
45 | connecting to the CEC adapter. | |
46 | * send a 'menu state activated' command when starting up. bugzid: 113 | |
47 | * don't wait for a response when not needed | |
48 | * don't hold a lock while waiting for a response. fixes failed libCEC | |
49 | inits and slow responses | |
50 | * don't replace a command handler when it's being used. fixes possible | |
51 | crash on startup | |
52 | * don't try to do anything before the processor thread has started | |
53 | * don't transmit active source messages when the physical address is | |
54 | still 0xFFFF | |
55 | * don't init the default handler before the physical address is known | |
56 | ||
57 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 29 Dec 2011 03:05:00 +0100 | |
58 | ||
2c7c8c4b | 59 | libcec (1.3-1) unstable; urgency=low |
dfb08039 LOK |
60 | |
61 | * changed/added: | |
62 | * make libudev optional. if libudev is not available on linux, adapter | |
63 | autodetection will also not be available. fixes compilation on Hardy/ATV1 | |
64 | * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET | |
65 | language | |
66 | * added vendor support for LG | |
67 | * added vendor support for Philips | |
68 | * added vendor support for Yamaha | |
69 | * added vendor support for Onkyo | |
70 | * added 'scan' command to cec-client, that displays info about devices on | |
71 | the bus. made all ToString() methods available on the interface. | |
72 | * added '-s' or '--single-command' to cec-client. starting cec-client with | |
73 | this parameter executes a single command in cec-client and does not power | |
74 | on devices on startup and power them off on exit. this way, you can use | |
75 | cec-client in a shell script. since there's some handshaking involved at | |
76 | startup, this is not very fast. to execute a command and only display the | |
77 | result and any error/warning, execute it with | |
78 | RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch | |
79 | files are a bit different) | |
19330705 LOK |
80 | * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to |
81 | cec-client's parameters | |
dfb08039 LOK |
82 | * handle image view on and text view on |
83 | * handle routing information and report physical address opcodes | |
84 | * handle audio status updates | |
85 | * send ping and bootloader commands via the output queue | |
86 | * scan the CEC bus for devices when starting libcec | |
87 | * pass all commands that are directed at libcec to listeners | |
88 | * interface changes: | |
89 | * added GetActiveSource()/cec_get_active_source() | |
90 | * added IsActiveSource()/cec_is_active_source() | |
91 | * added GetDevicePhysicalAddress()/cec_get_device_physical_address() | |
92 | * added GetDeviceOSDName()/cec_get_osd_name() | |
93 | * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/ | |
94 | cec_send_key_release() | |
95 | * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(), | |
96 | MuteAudio()/cec_mute_audio() | |
97 | * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/ | |
98 | cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type(). | |
99 | * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load | |
100 | and when a device with the same physical address is detected, libcec will | |
101 | use the selected hdmi port on that device. should fix source selection on | |
102 | other devices, like an amplifier | |
103 | * added a hook in libcec for physical address autodetection | |
104 | * fixed: | |
105 | * don't request the physical address from the tv (it's always 0x0000) | |
106 | * set the proper ackmask before doing anything else | |
107 | * don't unlock the transmit mutex in CCECProcessor while waiting for an | |
108 | answer | |
109 | * fix device polling | |
110 | * refactor CEC read/write. keep a single lock for all writes, not one per | |
111 | device | |
112 | * ignore other data while waiting for a response | |
113 | * retry failed tranmissions | |
114 | * don't delete a message before it's been sent when starting the bootloader | |
115 | * or when sending a ping | |
116 | * fixed possible segfault when switching the command handler after a vendor | |
117 | * id changed | |
118 | * handle audio opcodes correctly | |
119 | * inactive source should be directly addressed at the TV | |
120 | * don't report a changed physical address when it hasn't changed | |
121 | * routing information sets the stream path, not the physical address | |
122 | * don't scan the whole bus in CCECProcessor::IsActiveDeviceType() | |
123 | * don't request the vendor id from devices that are handled by libcec | |
124 | * mark device status as present when a command was received from a device | |
125 | * always send a power on command in CCECBusDevice::PowerOn() | |
126 | * don't request updates statusses unless needed | |
127 | * report physical address sends 3 parameters, not 2. check whether the | |
128 | device type is correct | |
129 | * devices can send vendor commands from other vendors, so don't assume the | |
130 | device is of a certain vendor when it sends commands with a vendor id | |
131 | * thread safety fixes. bugzid: 19 | |
132 | * clear any previous input when opening a connection to the adapter. | |
133 | bugzid: 54 | |
134 | * use the correct source address in CSLCommandHandler::HandleVendorCommand() | |
135 | * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5 | |
136 | * renamed enum methods. fixes potential macro collision with isset(). | |
137 | thanks davilla | |
19330705 LOK |
138 | * don't change the active device when receiving stream path changed |
139 | messages. fixes wrong source selection when powering after the TV. | |
dfb08039 | 140 | |
19330705 | 141 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 09 Dec 2011 12:16:00 +0100 |
dfb08039 | 142 | |
94d98b71 LOK |
143 | libcec (1.2-1) unstable; urgency=low |
144 | ||
145 | * bugfixes: | |
146 | * pass the deck_control command to libcec listeners | |
147 | * check whether the initiator is valid in CCECProcessor::ParseCommand(). | |
148 | fixes possible segfault when parsing invalid data | |
149 | ||
150 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sat, 12 Nov 2011 13:36:00 +0100 | |
151 | ||
c3da3073 LOK |
152 | libcec (1.1-3) unstable; urgency=low |
153 | ||
154 | * fixed return value in CCECProcessor::SetStreamPath(), which prevented | |
155 | active source and menu state from being sent | |
156 | ||
157 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 23:36:00 +0100 | |
158 | ||
f0197d4f LOK |
159 | libcec (1.1-2) unstable; urgency=low |
160 | ||
161 | * forgot to update the headers to v1.1 | |
162 | ||
163 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100 | |
164 | ||
4f8dcef2 LOK |
165 | libcec (1.1-1) unstable; urgency=low |
166 | ||
167 | * interface changes: | |
168 | * added logical address autodetection and let libcec handle multiple types | |
169 | simultaniously. for logical address autodetection, you have to use | |
170 | CECInit()/cec_init_typed() instead of CECCreate()/cec_init() | |
171 | * added SetActiveSource()/cec_set_active_source() to the interface. | |
172 | deprecated SetActiveView()/cec_set_active_view() | |
173 | * added SetMenuState() | |
174 | * added PollDevice()/cec_poll_device() | |
175 | * removed duplicate method SetActiveSource() / SetActiveView() | |
176 | * added SetDeckControlMode() and SetDeckInfo() | |
177 | * fixed: | |
178 | * added vendor detection for panasonic and broadcast active view and set | |
179 | menu state when a panasonic device sets the stream path. thanks for the | |
180 | pointer cptcoconut. | |
181 | * added vendor code for pioneer | |
182 | * osd string is 13 chars max. don't send more | |
183 | * send the correct cec version for each device | |
184 | * switch to panasonic specific cec implementation if a panasonic device was | |
185 | detected | |
186 | * send the correct device type in TransmitPhysicalAddress() | |
187 | * send a reply from the correct device when the stream path is requested | |
188 | * opcode 0x80 means the stream path changed, not the physical address | |
189 | * don't poll for a vendor ID in monitoring mode | |
190 | * fixed parameter parsing in SetVendorId() | |
191 | * buffer up commands that are received while waiting for an ack. only send | |
192 | 'active source' message for the actual active source | |
193 | * win32: prepend the com port path with '\\.\', so com ports > 9 can be | |
194 | accessed. thanks smolesen | |
195 | * audio systems cannot be an active source, so don't transmit active | |
196 | source message from this device | |
197 | * only send 'active source' when powered on | |
198 | * only set the osd name for the primary device. use default values for | |
199 | others | |
200 | * increase physical address with 0x100 per device | |
201 | * win32: removed unneeded afxres.h include in the resource files, which | |
202 | is not present when using studio express. thanks Ghuron | |
203 | * fixed C headers | |
204 | * mark the active source as active and other devices as inactive | |
205 | * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER | |
c6b7b98b | 206 | * transmit the menu state as (active) when the stream path is set |
4f8dcef2 LOK |
207 | * changed: |
208 | * changed copyright of boblight files with permission of the original | |
209 | author | |
210 | * partial handling of audio related opcodes | |
211 | * more consistent log messages | |
212 | * set a device type and name for each CCECBusDevice | |
213 | * keep a power and menu state per device | |
214 | * renamed all Broadcast...() and Report...() methods to Transmit...() | |
215 | * renamed SetOSDString() to TransmitOSDString() | |
216 | * changed debug level of 'did not receive ack' from error to debug | |
217 | * only set the power status to 'on' for the primary device | |
218 | * moved method decriptions from cecc.h to cec.h | |
219 | * only send a power on command when a device isn't on already and set | |
220 | the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while | |
221 | powering on | |
222 | * handle CEC_OPCODE_STANDBY | |
223 | * handle CEC_OPCODE_ACTIVE_SOURCE | |
224 | * always start in standby mode and let the tv (or other device) send the | |
225 | power on command | |
226 | * renamed the last few enums | |
227 | * handle deck related opcodes. | |
228 | * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown' | |
229 | ||
230 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 11 Nov 2011 17:42:00 +0100 | |
231 | ||
35d9c32a LOK |
232 | libcec (1.0-1) unstable; urgency=low |
233 | ||
234 | * interface changes: | |
235 | * set lib interface version back to 1.0 and rename GetLibVersion() to | |
236 | GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion() | |
237 | * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor | |
238 | version number to 1 | |
239 | * fixed: | |
240 | * samsung's vendor specific remote keypresses don't send key releases. added | |
241 | call to AddKey() directly after the keypress | |
242 | * always reset the button press time in CLibCEC::AddKey() | |
243 | * always wait for a signal in CCECProcessor::Transmit() | |
244 | * changed: | |
245 | * drop shared_ptr and use a normal pointer. removed boost dependency | |
246 | ||
247 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 04 Nov 2011 00:14:00 +0100 | |
248 | ||
b3efc8f2 LOK |
249 | libcec (0.8-2) unstable; urgency=low |
250 | ||
251 | * added 'libboost-dev' to build deps | |
252 | ||
253 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 23:31:00 +0100 | |
254 | ||
971d0e9e LOK |
255 | libcec (0.8-1) unstable; urgency=low |
256 | ||
257 | * interface changes: | |
258 | * added GetDevicePowerStatus()/cec_get_device_power_status() | |
259 | * added GetDeviceVendorId()/cec_get_device_vendor_id() | |
260 | * added GetDeviceMenuLanguage()/cec_get_device_menu_language() | |
261 | * added GetDeviceCecVersion()/cec_get_device_cec_version() | |
262 | * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when | |
b3efc8f2 LOK |
263 | monitoring is enabled, the device will only log the data it received, |
264 | but will not respond to any message | |
971d0e9e | 265 | * removed timeout parameter in Transmit() and included the ack timeout in |
b3efc8f2 | 266 | the cec_command struct |
971d0e9e LOK |
267 | * made the vendor id -> vendor name translation available |
268 | * made CEC_LOG levels powers of 2 | |
269 | * introduced CEC_LOG_TRAFFIC log level | |
270 | * fixed: | |
271 | * set the correct ackmask on startup | |
272 | * wait for ack while keeping a lock | |
273 | * wait for the processor thread to start before continueing on startup | |
274 | * wait for messages to be transmitted before continueing in | |
b3efc8f2 | 275 | CCECProcessor::Transmit() |
971d0e9e LOK |
276 | * only set the logical address once when it has changed |
277 | * correct source for broadcast messages | |
278 | * win32: create Release type installer | |
279 | * changed: | |
280 | * make all reads and write in CAdapterCommunication go through buffers. | |
281 | * poll for a vendor ID of connected devices and switch to a non-standard | |
b3efc8f2 | 282 | CEC implementation if needed. |
971d0e9e LOK |
283 | * added vendor detection of Samsung and LG devices |
284 | * handle samsung remote command 'return' | |
285 | * cec-client: | |
286 | * added -la and --logical-address to the command line params | |
287 | * added -d and --log-level params to cec-client | |
288 | * added -sf and --short-log-file, which only log the actual messages, not | |
b3efc8f2 | 289 | the level and timestamp |
971d0e9e LOK |
290 | * added -f and --log-file parameters to cec-client |
291 | * added option to change the log level to cec-client | |
292 | ||
b3efc8f2 | 293 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 01 Nov 2011 22:58:00 +0100 |
971d0e9e | 294 | |
8f084f00 LOK |
295 | libcec (0.7-1) unstable; urgency=low |
296 | ||
297 | * send a keypress with 0 duration when a key is pressed and with a duration | |
298 | set when it's released | |
299 | * added SetOSDString() to the interface (not supported by all tvs) | |
300 | * fixed: 'routing change' is a broadcast message. log routing changes, but | |
301 | don't send a 'set active view' message, so the active input won't be | |
302 | changed | |
303 | * log keypresses in the debug log | |
304 | * added 'pa' command to cec-client, to change the physical address | |
305 | * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so | |
306 | the HDMI port number to use can be changed | |
307 | * fixed: put the message processing code from WaitForAck() in ParseMessage(). | |
308 | fixes missing incoming message logging of non-data messages when not | |
309 | waiting for an ACK | |
310 | * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK | |
311 | before returning | |
312 | * fixed: set initiator and destination first in cec_command::push_back(). | |
313 | fixes 'tx' command in cec-client | |
314 | * fixed: keep trying to connect while iTimeout isn't reached (default 10 | |
315 | seconds). fixes exit with a 'permission denied' error when the device isn't | |
316 | ready yet. remove CEC_SETTLE_DOWN_TIME | |
317 | * fixed: don't call SetActiveView() when reporting the power status. fixes | |
318 | loop which causes some TVs to report failed connections | |
319 | * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed. | |
320 | * fixed: add the device type as parameter when sending the physical address. | |
321 | thanks bobo1on1 | |
322 | * fixed: typo in libcec.pc.in | |
323 | * added optional strLib parameter to LoadLibCec(), so the location of the | |
324 | shared library can be specified | |
325 | * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB | |
326 | * use int instead of bool on the public C interface and remove stdbool.h include | |
327 | * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h => | |
328 | cecloader.h, CECTypes.h => cectypes.h | |
329 | * updated debian package. split up libcec and libcec-dev | |
330 | * fixed: changed to use dlopen instead of static linkage. shuffled headers a | |
331 | bit. bumped interface to version 7 | |
332 | * removed 'rt' from libraries. it's not needed (anymore) | |
333 | * fixed: reset the active view after a routing change. issue #1 | |
334 | * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an | |
335 | error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear | |
336 | * added contributors link | |
337 | ||
338 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 14 Oct 2011 17:34:00 +0200 | |
339 | ||
11d0a2d6 LOK |
340 | libcec (0.6-1) unstable; urgency=low |
341 | ||
342 | * bumped interface version to 6 | |
343 | * fixed packet output (reporting the OSD name correctly now) | |
344 | * refactored packet structs: split up in cec commands and adapter messages | |
345 | * fixed i/o timings | |
346 | * added Darwin support (thanks Davilla!) | |
347 | * fixed WaitForAck() | |
348 | * fixed possible deadlock when starting a new thread | |
349 | * implemented vendor id and device class parsing. full detection will follow | |
350 | * added "on" and "standby" commands to the test client | |
351 | * retransmit packets if needed | |
352 | * fix GetTimeMs() on linux | |
353 | * added timestamp to log messages | |
354 | ||
355 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 09 Oct 2011 15:15:00 +0200 | |
356 | ||
9519c249 | 357 | libcec (0.5-1) unstable; urgency=low |
25701fa6 LOK |
358 | |
359 | * bumped interface version to 5 | |
360 | * don't pass std::string and std::vector accross the interface | |
361 | * fixed heap corruption crashes on windows | |
362 | * fixed some memory leaks | |
363 | * reset all structs to default values before doing with them | |
364 | ||
11d0a2d6 | 365 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 07 Oct 2011 22:00:00 +0200 |
25701fa6 | 366 | |
262f3b05 LOK |
367 | libcec (0.4-3) unstable; urgency=low |
368 | ||
369 | * fixed reconnect | |
370 | * fixed some threading related bugs | |
371 | * fixed deadlock on exit | |
372 | * fixed wrongly reported physical address | |
373 | ||
374 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 06 Oct 2011 00:19:00 +0200 | |
375 | ||
4463fb80 LOK |
376 | libcec (0.4-2) unstable; urgency=low |
377 | ||
378 | * fixed int parameter sizes and some signed/unsigned warnings | |
379 | * check whether m_port isn't NULL in ReadFromDevice | |
380 | * stop the processor thread and delete the CSerialPort instance on exit | |
381 | * added mutex in CSerialPort | |
382 | * fix segfault on exit | |
383 | * renamed libPlatform -> platform. | |
384 | * stuck everything from libCEC in the CEC namespace to avoid namespace | |
385 | polution | |
386 | ||
387 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 23:45:00 +0200 | |
388 | ||
88c5a743 LOK |
389 | libcec (0.4-1) unstable; urgency=low |
390 | ||
391 | * bumped interface version to 4 | |
392 | * timeout parameter removed from Close()/cec_close(). return type changed to | |
393 | void | |
394 | * added cec_destroy() method | |
395 | * removed timeout parameter from Transmit() | |
396 | * change the default argument of PowerOnDevices() to CECDEVICE_TV | |
397 | * removed PowerOffDevices(). use StandbyDevices() instead | |
398 | * removed obsolete methods from the interface | |
399 | * fixed bug: pthread_cond_wait was called without the mutex locked | |
400 | * fixed possible deadlock: don't send messages and wait for an ack with the | |
401 | mutex locked in CCECParser | |
402 | * created a separate reader thread and fixed the 'lock timeout' bug | |
403 | * testclient: use CECDEVICE_TV instead of the default argument | |
404 | (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices() | |
405 | ||
406 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 04 Oct 2011 00:48:00 +0200 | |
407 | ||
a9bb5b56 LOK |
408 | libcec (0.3-1) unstable; urgency=low |
409 | ||
410 | * added device detection support for Windows | |
411 | ||
412 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Sun, 02 Oct 2011 12:09:33 +0200 | |
413 | ||
414 | libcec (0.2-1) unstable; urgency=low | |
415 | ||
416 | * added a Close() method to the interface | |
417 | * Added CEC command that were received by the adapter in a buffer that can be | |
418 | read by a client with GetNextCommand()/cec_get_next_command(). added a | |
419 | 'help' command to the test client, that displays all available commands | |
420 | * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use | |
421 | SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to | |
422 | the testclient to set the logical address of the cec adapter | |
423 | * Added optional logical and physical address parameters to | |
424 | LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace | |
425 | close tag in CECExports.h. updated interface documentation. bumped | |
426 | interface version to 2. | |
427 | * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the | |
428 | test client. the previous one was too long and being rejected | |
429 | ||
430 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 28 Sep 2011 01:33:00 +0200 | |
431 | ||
abbca718 LOK |
432 | libcec (0.1-1) unstable; urgency=low |
433 | ||
434 | * Initial release v0.1 | |
435 | ||
a9bb5b56 | 436 | -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 28 Sep 2011 23:55:48 +0200 |