libcec (1.5-4) unstable; urgency=low * changed/added: * OS-X installation requirements and pointer * full v2 firmware support: * ping the adapter every 15 seconds. bugzid: 541 * added v2 msgcodes. bugzid: 543 * implemented the write methods for the v2 configuration. bugzid: 543 * included the logical addresses in the persisted configuration for v2. bugzid: 543 * persist the configuration before closing the connection. only try to persist the configuration when talking to a v2 firmware. bugzid: 543 * added GetSetting() to CUSBCECAdapterCommunication. bugzid: 543 * read the persisted settings from the ROM, and update it in libcec_configuration if found. bugzid: 543 * cec-client: set bGetSettingsFromROM to 1 in cec-client. bugzid: 543 * cec-client: only read persisted EEPROM settings when -r or --rom is provided as cmdline arg. bugzid: 543 * call SetControlledMode(false) as last command when closing the connection in v2. bugzid: 542 * initial FreeBSD support: simply try to use ttyU* * fixed: * set controlled mode and retry to send the previous command if it failed with MSGCODE_COMMAND_REJECTED * m_iLineTimeout was never initialised and used. fixes MSGCODE_REJECTED when transmitting a message and incorrect line timeouts being used * mac configure compile bugzid: 157 * cec-config-gui: fixed application exit when the user clicked 'no' when asked to reconnect. bugzid: 556 * only wait for multiple 'command accepted' response when sending a transmit command, and only to 1 in other cases. bugzid: 543 * set the correct logical address mask before switching to autonomous mode. bugzid: 543 * re-added SetLineTimeout(). bugzid: 543 * CUSBCECAdapterCommunication::SetControlledMode checked for the wrong sent state * os-x: don't add 0.5 before dividing in GetTimeMs() * os-x: struct timespec now values weren't set correctly -- Pulse-Eight Packaging Fri, 16 Mar 2012 10:12:00 +0100 libcec (1.5-3) unstable; urgency=low * fixed: * OS-X compilation * default to firmware version 1 after 3 tries. some versions didn't send a version. * fixed cec-config win32 compilation -- Pulse-Eight Packaging Sat, 03 Mar 2012 15:21:00 +0100 libcec (1.5-2) unstable; urgency=low * changed/added: * added Toshiba's vendor id, and set the device ID of the primary device to Toshiba's and transmit it when starting * lock in SyncedBuffer * added a timeout to StopThread() * also add commands to unsupported features when receiving CEC_ABORT_REASON_REFUSED * cec-config-gui: set cbPortNumber enabled when the physical address override isn't checked instead * cec-config-gui: added support for the new 'send inactive source' setting * interface changes: * added an 'send inactive source' option to libcec_configuration, only supported by client/server 1.5.1 and up. bugzid: 439 * added a command to the interface to start the bootloader directly, without going through all checks. bugzid: 218 * LibCecSharp: implemented support for the new 'send inactive source' setting * fixed: * don't send an updated configuration when libCEC hasn't been initialised fully. bugzid: 459 * don't send an updated configuration back when initialising. let the client call the GetCurrentConfiguration() method. bugzid: 459 * configuration updates from libCEC. bugzid: 459 * fixed accidental double deref. the method parameter already does that. github #24 * use CLOCK_MONOTONIC for timing info, since gettimeofday is affected by ntp and by manually adjusting the system time * the timeout value of pthread_cond_timedwait has to be referenced to CLOCK_REALTIME * don't add data to the input buffer in CUSBCECAdapterCommunication before it's fully initialised * fixed return value of CUSBCECAdapterCommunication::ParseMessage(). fixes messages not being parsed in certain occasions * don't try to transmit when the processor is being stopped * set the server version in the LibCEC's constructor, since this is checked by clients. fixes 'invalid libCEC version' popup when inserting the adapter * don't wait for the full timeout to pass in CCECProcessor:: OpenConnection(), but retry to connect 2 times. fixes 'port busy' errors when initialising libCEC. bugzid: 436 * use the correct Sleep() method in CCECProcessor::OpenConnection(). the thread hasn't been started there yet, so the sleep wasn't working. fixes 'device or resource busy' when plugging in the adapter. bugzid: 436 * check the adapter ping and firmware before starting the reader thread, so we really leave the com port alone for a second when it fails because of a busy error. bugzid: 436 * ensure that the connection is really closed before retrying to connect. bugzid: 436 * LibCecSharp: recreate the delegates properly when (re)connecting to LibCecSharp -- Pulse-Eight Packaging Tue, 28 Feb 2012 21:19:00 +0100 libcec (1.5-1) unstable; urgency=low * changed/added: * a new libcec_configuration structs, which allows the client app to pass a number of new options, like waking multiple devices on startup, overriding the vendor id, etc. * a new configuration GUI for Windows (.NET). this allows you to set libCEC's configuration for XBMC in a convenient GUI. * a CLI configuration tool (unfinished) for other platforms. will be finished in an update. * implemented power up for LG devices other than a TV * win32: don't install libcec to the system directory by default, and delete previous (testing) copies if present * wait for multiple responses, not just for one at a time * set the ackmask to 0 when closing the connection * don't send 'image view on' when calling SetActiveSource() * don't send power on, acitve source and standby commands by default in cec-client * platform: added CTryLockObject * platform: added an Init() method in CTimeout, so it can be reset * interface changes: * added a new initialiser method: CecInitialise()/cec_initialise(), that accepts a "libc_configuration" struct as parameter. this way, the signature of the init method can stay the same when adding new options. in LibCecSharp, the new method appears as a new constructor. * added CanPersistConfiguration()/cec_can_persist_configuration() * added PersistConfiguration()/cec_persist_configuration() * added GetCurrentConfiguration()/cec_get_current_configuration() * added SetConfiguration()/cec_set_configuration() * added GetLogicalAddresses()/cec_get_logical_addresses(): returns the list of addresses controlled by libCEC * added RescanDevices()/cec_rescan_devices(): lets libCEC force polls to all logical addresses. * added a callback that is called when libCEC's configuration changed. * moved the autodetect address api call to libcec_configuration. only send power up commands to non-tv devices when the power state is not on/transition->on. let players call the power up/power down command. * return the anynet return keycode directly instead of translating it to 'return' for v1.5.0+ clients * extracted CecSharpTypes.h in LibCecSharp. LibCecSharp is now in the CecSharp namespace * include the local cectypes.h in cec.h and cecc.h instead of system wide * deprecated GetLibVersion() methods. use libcec_configuration instead * removed deprecated CECCreate() method * fixed: * fixed a lot of LG specific issues * fixed OS-X compilation. credits: Dustin Cooper * fixed a couple of possible deadlocks, e.g. when closing the connection while receiving data * cleaned up existing code * libCEC no longer puts incoming data in a fifo buffer, but tries to process it directly, which fixes issues like libCEC blocking processing new commands while waiting for transmission acks. * 'unsupported command' marking in CCECBusDevice * ensure that the ackmask is always set to 0 when closing the connection and that the call doesn't block the Close() call * don't try to read or write in CUSBCECAdapterCommunication when the connection has been closed * LibCecSharp: added quotes to the linker statement for libcec.lib. fixes compilation in paths with spaces. closes #20 * LibCecSharp: set the callback methods in libcec to NULL before closing the connection, since these might already have been destroyed in .NET * LibCecSharp: delete the internal callback struct when closing the connection * LibCecSharp: pass correctly formatted logical address lists * ensure that the vendor id is requested first when requesting info from a device, so we are using the correct handler * keep the 'busy state' of the command handler in CCECBusDevice * poll the next device when the current is handled by libCEC. * check the vendor id of a device before sending a power on command * ensure that there always is at least one device type set * transmit a keypress and key release as power on command when the target device isn't the TV * don't do a full reinit when not needed * fix active source switches for the standard CEC implementation * ensure that we don't send data to ourself * check whether the port is open, not whether libCEC is initialised in Transmit() * platform: fixed return value from CCondition::Wait() * platform: don't broadcast but wake one thread in CProtectedSocket::MarkReady() * platform: include stdint.h in windows/os-types.h instead of typedef'ing ints * platform: fixed tcp socket error handling and return value. * platform: fixed return values of socket operations in lib/platform * platform: added predicate in CCondition * deleted the signed driver from the tree, since that doesn't work. let the installer create a new signed driver on the production build system -- Pulse-Eight Packaging Mon, 19 Feb 2012 01:04:00 +0100 libcec (1.4-4) unstable; urgency=low * changed/added: * added tcp client sockets to lib/platform (WIP) * clean up lib/platform * added: set controlled mode on after opening a connection to the adapter (for firmware v2) * added an IAdapterCommunicationCallback interface an use a callback method to pass newly received cec_commands to CCECProcessor * added "driver only" and "driver + libcec" sections to the installer * added a signed driver * created a separate driver installer, which is included in the libCEC installer. uninstalls the old unsigned version of libCEC and the driver when it's found and installs the new one in C:\Program Files(x86)\ Pulse Eight\USB-CEC Adapter. * don't sign development binaries with a temporary key. devs can do that themselves when they want LibCecSharp in the GAC * interface changes: * added SetStreamPath()/cec_set_stream_path_logical()/ cec_set_stream_path_physical() to the interface, to send a "set stream path" command over the CEC bus, used to activate another source. * fixed: * transmit 'menu state activated' after the stream path has been set to a device that is handled by libCEC. should fix remote commands not working properly on Panasonic TVs and after another source has been active. bugzid: 233 * set the ackmask to 0x0 when trying to find a free logical address * keep trying to reconnect to the com port until the timeout runs out. bugzid: 230 * wait 500 ms before trying to retransmit a command. always wait for the result of a transmission in CCECCommandHandler::Transmit() * receive and send full cec_commands, not CCECAdapterMessages in CAdapterCommunication. extract an IAdapterCommunication interface. fixed potentially missed data in CAdapterCommunication * close and delete the connection when the processor thread ends. fixes reconnect after standby (access denied / connection already opened) * don't replace handlers when not initialised, or the primary device's logical addres isn't known yet, which can lead to crashes. don't call handlers directly in CCECProcessor without holding a lock on them * fixed possible crash when command handler were switched while it was being used * keep the mutex locked when calling ReplaceHandlers() in CCECProcessor * win32: also timeout when data is received in SocketRead() * win32: fixed < vista runtime and compilation * win32: ping the adapter and request the firmware version in CUSBCECAdapterCommunication instead of CCECProcesssor. fixes failed libCEC inits * win32: fixed crash on exit in LibCecSharp -- Pulse-Eight Packaging Mon, 6 Feb 2012 14:26:00 +0100 libcec (1.4-3) unstable; urgency=low * fixed: * try to ping the device and grab the firmware version until the connect timeout runs out. fixes failed reconnect after standby, when the adapter is still being initialised -- Pulse-Eight Packaging Thu, 27 Jan 2012 13:05:00 +0100 libcec (1.4-2) unstable; urgency=low * changed/added: * added a firmware flash script for linux. usage: ./support/cec-flash-device.sh /path/to/firware.hex * refactored threading/locking - added windows native instead of pthread-win32, so we can compile native x64 too * check whether the adapter responds when connecting to it and report the firmware version of the adapter after connecting * moved create-installer.cmd to support/ * completely removed AM_SILENT_RULES * interface changes: * compile LibCecSharp against .NET framework 2.0 and sign the assembly * fixed: * only the key release events were sent, not keypresses, which appeared in clients as laggy keypresses * fixed reconnect after standby * wait for active tranmission to finish when opening a connection to the adapter. fixes initialisation errors * set the default transmit timeout properly instead of using 0 * fixed possible deadlock because of a negative timeout in CAdapterCommunication::WaitForTransmitSucceeded() * fixed error message in cec-client (unable to open the device on port ...) * exit cec-client after entering bootloader mode * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED -- Pulse-Eight Packaging Thu, 25 Jan 2012 23:28:00 +0100 libcec (1.4-1) unstable; urgency=low * changed/added: * added the vendor id for Sony * always refresh the power state of a device when it hasn't been updated for 30 seconds * do silent builds by default * interface changes: * added optional callback methods to libCEC. enable them by calling EnableCallbacks(ICECCallbacks *callbacks) / cec_enable_callbacks(ICECCallbacks *callbacks). after this method is called, the GetNext...() methods will not return any data * added the same callbacks to LibCecSharp. implement CecCallbackMethods and override the methods in there * fixed: * use the given timeout when trying to open a connection to the CEC adapter * resolved difference between method name in LibCECC.cpp and cecc.h. credits: Doug Johnson * don't transmit physical addresses while holding a lock in CCECProcessor * don't hold a lock when sending an active source message. * unload libCEC when the lib version is invalid * "unused" warnings suppressed -- Pulse-Eight Packaging Thu, 12 Jan 2012 19:06:00 +0100 libcec (1.3-3) unstable; urgency=low * changed/added: * place in libudev include in an extern C block. fixes compilations on older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann * added pkg-config to the dependencies list. issue #15 * updated README. closes #14 * added a script that tests some basic functions of the CEC adapter: /support/cec-test-device.sh * fixed: * don't make libCEC the active source when changing the physical address. don't send active source messages on startup, when not the active source fixes unwanted device power ups * replace the command handler directly after receiving a changed vendor id. change the primary type from recording device to playback device for panasonic TVs * don't send a deck status update when sending an active source message for panasonic TVs * only switch handlers once when using the generic handler * don't switch handlers when not needed * hold a lock in CCECProcessor::SetHDMIPort() * don't send deck status updates when sending an active source message by default -- Pulse-Eight Packaging Thu, 3 Jan 2012 22:48:00 +0100 libcec (1.3-2) unstable; urgency=low * changed/added: * copy libcec.dll to the XBMC installation dir when XBMC is found * disable background polling. let the client request this info when needed * update the power status of a device when it's set to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON * wait for the correct response when requesting something, not just any response * don't keep trying the same command/request after receiving a feature abort message * interface changes: * change the previously unused boolean parameter in volume control methods to bSendRelease, and only send a key release when it's true. default to true * fixed: * don't send the power up/down keypress to listeners when in the initial device state (powered off). fixes unexpected shutdown in XBMC when connecting to the CEC adapter. * send a 'menu state activated' command when starting up. bugzid: 113 * don't wait for a response when not needed * don't hold a lock while waiting for a response. fixes failed libCEC inits and slow responses * don't replace a command handler when it's being used. fixes possible crash on startup * don't try to do anything before the processor thread has started * don't transmit active source messages when the physical address is still 0xFFFF * don't init the default handler before the physical address is known -- Pulse-Eight Packaging Thu, 29 Dec 2011 03:05:00 +0100 libcec (1.3-1) unstable; urgency=low * changed/added: * make libudev optional. if libudev is not available on linux, adapter autodetection will also not be available. fixes compilation on Hardy/ATV1 * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET language * added vendor support for LG * added vendor support for Philips * added vendor support for Yamaha * added vendor support for Onkyo * added 'scan' command to cec-client, that displays info about devices on the bus. made all ToString() methods available on the interface. * added '-s' or '--single-command' to cec-client. starting cec-client with this parameter executes a single command in cec-client and does not power on devices on startup and power them off on exit. this way, you can use cec-client in a shell script. since there's some handshaking involved at startup, this is not very fast. to execute a command and only display the result and any error/warning, execute it with RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch files are a bit different) * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to cec-client's parameters * handle image view on and text view on * handle routing information and report physical address opcodes * handle audio status updates * send ping and bootloader commands via the output queue * scan the CEC bus for devices when starting libcec * pass all commands that are directed at libcec to listeners * interface changes: * added GetActiveSource()/cec_get_active_source() * added IsActiveSource()/cec_is_active_source() * added GetDevicePhysicalAddress()/cec_get_device_physical_address() * added GetDeviceOSDName()/cec_get_osd_name() * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/ cec_send_key_release() * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(), MuteAudio()/cec_mute_audio() * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/ cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type(). * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load and when a device with the same physical address is detected, libcec will use the selected hdmi port on that device. should fix source selection on other devices, like an amplifier * added a hook in libcec for physical address autodetection * fixed: * don't request the physical address from the tv (it's always 0x0000) * set the proper ackmask before doing anything else * don't unlock the transmit mutex in CCECProcessor while waiting for an answer * fix device polling * refactor CEC read/write. keep a single lock for all writes, not one per device * ignore other data while waiting for a response * retry failed tranmissions * don't delete a message before it's been sent when starting the bootloader * or when sending a ping * fixed possible segfault when switching the command handler after a vendor * id changed * handle audio opcodes correctly * inactive source should be directly addressed at the TV * don't report a changed physical address when it hasn't changed * routing information sets the stream path, not the physical address * don't scan the whole bus in CCECProcessor::IsActiveDeviceType() * don't request the vendor id from devices that are handled by libcec * mark device status as present when a command was received from a device * always send a power on command in CCECBusDevice::PowerOn() * don't request updates statusses unless needed * report physical address sends 3 parameters, not 2. check whether the device type is correct * devices can send vendor commands from other vendors, so don't assume the device is of a certain vendor when it sends commands with a vendor id * thread safety fixes. bugzid: 19 * clear any previous input when opening a connection to the adapter. bugzid: 54 * use the correct source address in CSLCommandHandler::HandleVendorCommand() * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5 * renamed enum methods. fixes potential macro collision with isset(). thanks davilla * don't change the active device when receiving stream path changed messages. fixes wrong source selection when powering after the TV. -- Pulse-Eight Packaging Fri, 09 Dec 2011 12:16:00 +0100 libcec (1.2-1) unstable; urgency=low * bugfixes: * pass the deck_control command to libcec listeners * check whether the initiator is valid in CCECProcessor::ParseCommand(). fixes possible segfault when parsing invalid data -- Pulse-Eight Packaging Sat, 12 Nov 2011 13:36:00 +0100 libcec (1.1-3) unstable; urgency=low * fixed return value in CCECProcessor::SetStreamPath(), which prevented active source and menu state from being sent -- Pulse-Eight Packaging Fri, 11 Nov 2011 23:36:00 +0100 libcec (1.1-2) unstable; urgency=low * forgot to update the headers to v1.1 -- Pulse-Eight Packaging Fri, 11 Nov 2011 18:56:00 +0100 libcec (1.1-1) unstable; urgency=low * interface changes: * added logical address autodetection and let libcec handle multiple types simultaniously. for logical address autodetection, you have to use CECInit()/cec_init_typed() instead of CECCreate()/cec_init() * added SetActiveSource()/cec_set_active_source() to the interface. deprecated SetActiveView()/cec_set_active_view() * added SetMenuState() * added PollDevice()/cec_poll_device() * removed duplicate method SetActiveSource() / SetActiveView() * added SetDeckControlMode() and SetDeckInfo() * fixed: * added vendor detection for panasonic and broadcast active view and set menu state when a panasonic device sets the stream path. thanks for the pointer cptcoconut. * added vendor code for pioneer * osd string is 13 chars max. don't send more * send the correct cec version for each device * switch to panasonic specific cec implementation if a panasonic device was detected * send the correct device type in TransmitPhysicalAddress() * send a reply from the correct device when the stream path is requested * opcode 0x80 means the stream path changed, not the physical address * don't poll for a vendor ID in monitoring mode * fixed parameter parsing in SetVendorId() * buffer up commands that are received while waiting for an ack. only send 'active source' message for the actual active source * win32: prepend the com port path with '\\.\', so com ports > 9 can be accessed. thanks smolesen * audio systems cannot be an active source, so don't transmit active source message from this device * only send 'active source' when powered on * only set the osd name for the primary device. use default values for others * increase physical address with 0x100 per device * win32: removed unneeded afxres.h include in the resource files, which is not present when using studio express. thanks Ghuron * fixed C headers * mark the active source as active and other devices as inactive * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER * transmit the menu state as (active) when the stream path is set * changed: * changed copyright of boblight files with permission of the original author * partial handling of audio related opcodes * more consistent log messages * set a device type and name for each CCECBusDevice * keep a power and menu state per device * renamed all Broadcast...() and Report...() methods to Transmit...() * renamed SetOSDString() to TransmitOSDString() * changed debug level of 'did not receive ack' from error to debug * only set the power status to 'on' for the primary device * moved method decriptions from cecc.h to cec.h * only send a power on command when a device isn't on already and set the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while powering on * handle CEC_OPCODE_STANDBY * handle CEC_OPCODE_ACTIVE_SOURCE * always start in standby mode and let the tv (or other device) send the power on command * renamed the last few enums * handle deck related opcodes. * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown' -- Pulse-Eight Packaging Fri, 11 Nov 2011 17:42:00 +0100 libcec (1.0-1) unstable; urgency=low * interface changes: * set lib interface version back to 1.0 and rename GetLibVersion() to GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion() * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor version number to 1 * fixed: * samsung's vendor specific remote keypresses don't send key releases. added call to AddKey() directly after the keypress * always reset the button press time in CLibCEC::AddKey() * always wait for a signal in CCECProcessor::Transmit() * changed: * drop shared_ptr and use a normal pointer. removed boost dependency -- Pulse-Eight Packaging Fri, 04 Nov 2011 00:14:00 +0100 libcec (0.8-2) unstable; urgency=low * added 'libboost-dev' to build deps -- Pulse-Eight Packaging Tue, 01 Nov 2011 23:31:00 +0100 libcec (0.8-1) unstable; urgency=low * interface changes: * added GetDevicePowerStatus()/cec_get_device_power_status() * added GetDeviceVendorId()/cec_get_device_vendor_id() * added GetDeviceMenuLanguage()/cec_get_device_menu_language() * added GetDeviceCecVersion()/cec_get_device_cec_version() * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when monitoring is enabled, the device will only log the data it received, but will not respond to any message * removed timeout parameter in Transmit() and included the ack timeout in the cec_command struct * made the vendor id -> vendor name translation available * made CEC_LOG levels powers of 2 * introduced CEC_LOG_TRAFFIC log level * fixed: * set the correct ackmask on startup * wait for ack while keeping a lock * wait for the processor thread to start before continueing on startup * wait for messages to be transmitted before continueing in CCECProcessor::Transmit() * only set the logical address once when it has changed * correct source for broadcast messages * win32: create Release type installer * changed: * make all reads and write in CAdapterCommunication go through buffers. * poll for a vendor ID of connected devices and switch to a non-standard CEC implementation if needed. * added vendor detection of Samsung and LG devices * handle samsung remote command 'return' * cec-client: * added -la and --logical-address to the command line params * added -d and --log-level params to cec-client * added -sf and --short-log-file, which only log the actual messages, not the level and timestamp * added -f and --log-file parameters to cec-client * added option to change the log level to cec-client -- Pulse-Eight Packaging Tue, 01 Nov 2011 22:58:00 +0100 libcec (0.7-1) unstable; urgency=low * send a keypress with 0 duration when a key is pressed and with a duration set when it's released * added SetOSDString() to the interface (not supported by all tvs) * fixed: 'routing change' is a broadcast message. log routing changes, but don't send a 'set active view' message, so the active input won't be changed * log keypresses in the debug log * added 'pa' command to cec-client, to change the physical address * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so the HDMI port number to use can be changed * fixed: put the message processing code from WaitForAck() in ParseMessage(). fixes missing incoming message logging of non-data messages when not waiting for an ACK * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK before returning * fixed: set initiator and destination first in cec_command::push_back(). fixes 'tx' command in cec-client * fixed: keep trying to connect while iTimeout isn't reached (default 10 seconds). fixes exit with a 'permission denied' error when the device isn't ready yet. remove CEC_SETTLE_DOWN_TIME * fixed: don't call SetActiveView() when reporting the power status. fixes loop which causes some TVs to report failed connections * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed. * fixed: add the device type as parameter when sending the physical address. thanks bobo1on1 * fixed: typo in libcec.pc.in * added optional strLib parameter to LoadLibCec(), so the location of the shared library can be specified * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB * use int instead of bool on the public C interface and remove stdbool.h include * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h => cecloader.h, CECTypes.h => cectypes.h * updated debian package. split up libcec and libcec-dev * fixed: changed to use dlopen instead of static linkage. shuffled headers a bit. bumped interface to version 7 * removed 'rt' from libraries. it's not needed (anymore) * fixed: reset the active view after a routing change. issue #1 * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear * added contributors link -- Pulse-Eight Packaging Fri, 14 Oct 2011 17:34:00 +0200 libcec (0.6-1) unstable; urgency=low * bumped interface version to 6 * fixed packet output (reporting the OSD name correctly now) * refactored packet structs: split up in cec commands and adapter messages * fixed i/o timings * added Darwin support (thanks Davilla!) * fixed WaitForAck() * fixed possible deadlock when starting a new thread * implemented vendor id and device class parsing. full detection will follow * added "on" and "standby" commands to the test client * retransmit packets if needed * fix GetTimeMs() on linux * added timestamp to log messages -- Pulse-Eight Packaging Sun, 09 Oct 2011 15:15:00 +0200 libcec (0.5-1) unstable; urgency=low * bumped interface version to 5 * don't pass std::string and std::vector accross the interface * fixed heap corruption crashes on windows * fixed some memory leaks * reset all structs to default values before doing with them -- Pulse-Eight Packaging Fri, 07 Oct 2011 22:00:00 +0200 libcec (0.4-3) unstable; urgency=low * fixed reconnect * fixed some threading related bugs * fixed deadlock on exit * fixed wrongly reported physical address -- Pulse-Eight Packaging Thu, 06 Oct 2011 00:19:00 +0200 libcec (0.4-2) unstable; urgency=low * fixed int parameter sizes and some signed/unsigned warnings * check whether m_port isn't NULL in ReadFromDevice * stop the processor thread and delete the CSerialPort instance on exit * added mutex in CSerialPort * fix segfault on exit * renamed libPlatform -> platform. * stuck everything from libCEC in the CEC namespace to avoid namespace polution -- Pulse-Eight Packaging Tue, 04 Oct 2011 23:45:00 +0200 libcec (0.4-1) unstable; urgency=low * bumped interface version to 4 * timeout parameter removed from Close()/cec_close(). return type changed to void * added cec_destroy() method * removed timeout parameter from Transmit() * change the default argument of PowerOnDevices() to CECDEVICE_TV * removed PowerOffDevices(). use StandbyDevices() instead * removed obsolete methods from the interface * fixed bug: pthread_cond_wait was called without the mutex locked * fixed possible deadlock: don't send messages and wait for an ack with the mutex locked in CCECParser * created a separate reader thread and fixed the 'lock timeout' bug * testclient: use CECDEVICE_TV instead of the default argument (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices() -- Pulse-Eight Packaging Tue, 04 Oct 2011 00:48:00 +0200 libcec (0.3-1) unstable; urgency=low * added device detection support for Windows -- Pulse-Eight Packaging Sun, 02 Oct 2011 12:09:33 +0200 libcec (0.2-1) unstable; urgency=low * added a Close() method to the interface * Added CEC command that were received by the adapter in a buffer that can be read by a client with GetNextCommand()/cec_get_next_command(). added a 'help' command to the test client, that displays all available commands * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to the testclient to set the logical address of the cec adapter * Added optional logical and physical address parameters to LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace close tag in CECExports.h. updated interface documentation. bumped interface version to 2. * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the test client. the previous one was too long and being rejected -- Pulse-Eight Packaging Fri, 28 Sep 2011 01:33:00 +0200 libcec (0.1-1) unstable; urgency=low * Initial release v0.1 -- Pulse-Eight Packaging Wed, 28 Sep 2011 23:55:48 +0200