cec: fixed crash when replacing handlers - std::map::clear() already calls the destru...
[deb_libcec.git] / ChangeLog
index 26e76628dbbf196a2aa927043ea8a5a0482347e1..a4f65e1da52ef01533b2d7b6493d1dc1f9bec9ee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,144 @@
+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: