=== release 1.6.4 === 2016-04-14 Tim-Philipp Müller * configure.ac: releasing 1.6.4 2016-04-11 11:28:09 +0200 Fabrice Bellet * gst-libs/gst/audio/gstaudiosink.c: * gst-libs/gst/audio/gstaudiosrc.c: audio: Fix a race with the audioringbuffer thread There is a small window of time where the audio ringbuffer thread can access the parent thread variable, before it's initialized by the parent thread. The patch replaces this variable use by g_thread_self(). https://bugzilla.gnome.org/show_bug.cgi?id=764865 2016-04-02 10:09:07 +0100 Tim-Philipp Müller * gst-libs/gst/pbutils/gstdiscoverer-types.c: discoverer: copy over result and seekable fields when copying a discoverer info The function gst_discoverer_info_copy doesn't copy the data members seekable and result of the source GstDiscovererInfo. In the case of copying a GstDiscovererInfo for later use, the seekbale will be undefined, which in practice usually will be false, even though the seekable of the original GstDiscovererInfo is true. https://bugzilla.gnome.org/show_bug.cgi?id=762710 2016-03-24 14:59:48 +1100 Jan Schmidt * gst/playback/gstdecodebin2.c: decodebin2: Hold new buffering_post lock while posting msgs There's a small window between decodebin choosing a buffering level to post and another thread choosing a different buffering level where things can race. Close that window by holding a new lock that's only for posting buffering messages - like what was done in multiqueue. https://bugzilla.gnome.org/show_bug.cgi?id=764020 2016-01-28 16:26:47 +0100 Tom Deseyn * gst/tcp/gstmultisocketsink.c: multisocketsink: handle client close correctly and EWOULDBLOCK Fixes 100% cpu usage when client disconnects. Commit 6db2ee56 would just make multisocketsink ignore reads of 0 bytes without removing the client, so we'd get woken up over and over again for the client. Fix the original issue differently by handling the non-fatal error code. https://bugzilla.gnome.org/show_bug.cgi?id=761257 https://bugzilla.gnome.org/show_bug.cgi?id=743834 2016-03-02 18:47:23 +0200 Sebastian Dröge * gst/encoding/gstencodebin.c: encodebin: Make dispose() function safe to be called multiple times 2016-01-22 18:26:01 -0800 Reynaldo H. Verdejo Pinochet * gst/typefind/gsttypefindfunctions.c: typefind: strengthen check for valid H.263 picture layer Avoids some false positives leading to miss identification: * Prevent picture start code emulation for the first 2 bytes read * Add check for valid "picture coding type" and "PB-frames mode" combination Additionally, change name on confusingly named TR var to what it is, the layer's PTYPE. https://bugzilla.gnome.org/show_bug.cgi?id=693263 2016-02-23 09:36:50 +0100 Edward Hervey * gst/playback/gstplaysink.c: Revert "playsink: Properly mark pending blocked pads" This reverts commit 3bc67006d4075f5bcbaa7de68230c8b0f551d44a. The issue that the patch fixes is only noticeable when using decodebin3, which isn't yet in master. 2016-02-11 19:47:04 +0100 Wim Taymans * gst/audioresample/resample.c: resample: avoid overflows Avoid overflow in rate calculation. This can cause the resampler to start on the wrong phase after a rate change. Avoid overflow in cubic fraction calculation. This can cause noise when dealing with higher samplerates. 2016-02-11 18:01:40 +0100 Wim Taymans * gst/audioresample/resample_sse.h: resample: fix double interpolation sse code We were only reading 2 filter taps and we need to read 4 to do cubic interpolation.