=== release 1.12.3 === 2017-09-18 Sebastian Dröge * configure.ac: releasing 1.12.3 2017-09-18 16:00:48 +0300 Sebastian Dröge * po/cs.po: po: Update translations 2017-07-25 12:37:19 -0400 Thibault Saunier * gst/audioconvert/gstaudioconvert.c: audioconvert: Consider channel=1, channel-mask=0x0 as mono channels=1 is always mono, having it 'unpositioned' does not make sense. This fixes pipeline such as: gst-validate-1.0 audiotestsrc ! audio/x-raw,channels=2,rate=44100,layout=interleaved ! audioconvert ! audioresample ! audio/x-raw, rate=44100, channels=1 ! avenc_mp2 ! fakesink https://bugzilla.gnome.org/show_bug.cgi?id=785407 2017-08-20 12:09:52 +0200 Mark Nauwelaerts * gst/playback/gstplaybin2.c: playbin: ref_sink() sink rather than pointer to sink 2017-08-17 12:13:38 +0100 Tim-Philipp Müller * README: * common: Automatic update of common submodule From 48a5d85 to dd9d403 2016-09-09 10:29:01 +0900 Seungha Yang * gst/playback/gstdecodebin3.c: decodebin3: Don't send duplicated stream-start event group-id in stream-start event might be updated in parse_chain_output_probe (). This cause duplicated stream-start twice with identical stream-id and seq-num, but only group-id is different. Although there is no change, stream-start event will be followed by the first buffer. https://bugzilla.gnome.org/show_bug.cgi?id=771088 2017-01-25 19:20:44 +0900 Seungha Yang * gst/playback/gsturisourcebin.c: urisourcebin: Push EOS if slot is still eos state linked input of slot can be old input, so urisourcebin should check eos state to figure out whether it's new one or not. If not, urisourcebin never ever forwards EOS to downstream at the end of presentation, because the old input is still there without removal https://bugzilla.gnome.org/show_bug.cgi?id=777735 2017-08-09 16:23:03 +0200 Edward Hervey * gst/playback/gstdecodebin3-parse.c: * gst/playback/gstdecodebin3.c: * gst/playback/gsturisourcebin.c: decodebin3/urisourcebin: Switch to actual EOS events internally Use the intended sequence for re-using elements: * EOS * STREAM_START if element is to be re-used This avoids having elements (such as queue/multiqueue/queue2) not properly resetting themselves. When delaying EOS propagation (because we want to wait until all streams of a group are done for example), we re-trigger them by first sending the cached STREAM_START and then EOS (which will cause elements to re-set themselves if needed and accept new buffers/events). https://bugzilla.gnome.org/show_bug.cgi?id=785951 2017-01-25 19:51:17 +0900 Seungha Yang * gst/playback/gstdecodebin3.c: decodebin3: Push EOS to output stream if they are all drained decodebin3 checks input streams and pushes EOS if all input streams are EOSed. If not, fake EOS is pushed to the corresponding slot. When adaptivedemux is used with multi-track configuration, adaptivedemux never ever push EOS to non-selected track because streaming thread for the slot stops with not-linked flow return. So, decodebin3 should generate EOS itself to finish playback. https://bugzilla.gnome.org/show_bug.cgi?id=777735 2017-08-12 15:46:28 +0100 Philippe Normand * gst-libs/gst/app/gstappsrc.c: appsrc: handle duration query only if the property was set https://bugzilla.gnome.org/show_bug.cgi?id=786200 2017-08-08 20:35:25 +0200 Mark Nauwelaerts * gst-libs/gst/audio/gstaudioencoder.c: audioencoder: also adjust sample count upon discont to avoid ts overflow Only adjusting the base_ts might lead to a negative ts and as such integer overflow into a huge timestamp which then propagates into the granulepos and so on. Instead, resync to incoming buffer timestamp using both base_ts and sample count rather than only base_ts. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=785948 2017-08-07 15:27:45 +0300 Sebastian Dröge * gst/playback/gstplaybin2.c: playbin: Make sure to ref_sink() any sinks before calling activate_sink() It is forwarding messages to the playbin bus, thus forwarding messages that contain a floating reference to the application. This generally makes bindings unhappy, we must not leak floating references to them. 2017-08-04 13:39:04 +0300 Sebastian Dröge * gst-libs/gst/tag/gstxmptag.c: xmptag: Stop parsing GPS coordinate if sscanf() fails CID 1139610 2017-07-24 16:48:17 +0300 Sebastian Dröge * gst-libs/gst/video/gstvideodecoder.c: videodecoder: Make sure we have an actually writable buffer when modifying metadata avviddec keeps references to the buffers internally for example, in which case we need to do a shallow copy of the buffer. 2017-07-24 19:18:49 +0530 Satya Prakash Gupta * gst-libs/gst/video/gstvideofilter.c: videofilter: Unmap input frame if mapping output frame failed https://bugzilla.gnome.org/show_bug.cgi?id=785341 2017-07-24 16:29:53 +0300 Sebastian Dröge * gst-libs/gst/video/gstvideometa.c: videometa: Don't crash if adding the timecode meta to a buffer failed 2017-07-24 13:23:17 +0530 Satya Prakash Gupta * gst/subparse/gstssaparse.c: ssaparse: Fix buffer leak in error case https://bugzilla.gnome.org/show_bug.cgi?id=785331 2017-07-19 09:02:26 +0530 Satya Prakash Gupta * gst/encoding/gstencodebin.c: encodebin: fix possible pad ref leak in error code path https://bugzilla.gnome.org/show_bug.cgi?id=785065