+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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> 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 <packaging@pulse-eight.com> Fri, 11 Nov 2011 18:56:00 +0100
+
libcec (1.1-1) unstable; urgency=low
* interface changes:
* 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