summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog491
1 files changed, 491 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a63b446a..44bd738c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,494 @@
+=== release 1.16.3 ===
+
+2020-10-21 14:45:38 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.16.3
+
+2020-10-21 14:45:38 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst-plugins-base-plugins.args:
+ * docs/plugins/gst-plugins-base-plugins.hierarchy:
+ * docs/plugins/gst-plugins-base-plugins.interfaces:
+ * docs/plugins/inspect/plugin-adder.xml:
+ * docs/plugins/inspect/plugin-alsa.xml:
+ * docs/plugins/inspect/plugin-app.xml:
+ * docs/plugins/inspect/plugin-audioconvert.xml:
+ * docs/plugins/inspect/plugin-audiomixer.xml:
+ * docs/plugins/inspect/plugin-audiorate.xml:
+ * docs/plugins/inspect/plugin-audioresample.xml:
+ * docs/plugins/inspect/plugin-audiotestsrc.xml:
+ * docs/plugins/inspect/plugin-cdparanoia.xml:
+ * docs/plugins/inspect/plugin-compositor.xml:
+ * docs/plugins/inspect/plugin-encoding.xml:
+ * docs/plugins/inspect/plugin-gio.xml:
+ * docs/plugins/inspect/plugin-libvisual.xml:
+ * docs/plugins/inspect/plugin-ogg.xml:
+ * docs/plugins/inspect/plugin-opengl.xml:
+ * docs/plugins/inspect/plugin-opus.xml:
+ * docs/plugins/inspect/plugin-overlaycomposition.xml:
+ * docs/plugins/inspect/plugin-pango.xml:
+ * docs/plugins/inspect/plugin-pbtypes.xml:
+ * docs/plugins/inspect/plugin-playback.xml:
+ * docs/plugins/inspect/plugin-rawparse.xml:
+ * docs/plugins/inspect/plugin-subparse.xml:
+ * docs/plugins/inspect/plugin-tcp.xml:
+ * docs/plugins/inspect/plugin-theora.xml:
+ * docs/plugins/inspect/plugin-typefindfunctions.xml:
+ * docs/plugins/inspect/plugin-videoconvert.xml:
+ * docs/plugins/inspect/plugin-videorate.xml:
+ * docs/plugins/inspect/plugin-videoscale.xml:
+ * docs/plugins/inspect/plugin-videotestsrc.xml:
+ * docs/plugins/inspect/plugin-volume.xml:
+ * docs/plugins/inspect/plugin-vorbis.xml:
+ * docs/plugins/inspect/plugin-ximagesink.xml:
+ * docs/plugins/inspect/plugin-xvimagesink.xml:
+ Update docs
+
+2020-10-21 14:45:36 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * po/da.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/sr.po:
+ Update translations
+
+2020-10-21 12:16:37 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/gl/egl/Makefile.am:
+ gl: dist new private egl header
+
+2020-10-20 15:09:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * README:
+ * common:
+ Automatic update of common submodule
+ From 59cb678 to a825d27
+
+2020-10-17 10:42:49 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefind/xdgmime: Validate mimetypes to be valid GstStructure names before using them
+ On macOS, for example, "text/*" can be returned as mimetype for
+ plaintext files but we don't allow '*' in structure names and this would
+ cause critical warnings.
+ It's a valid mimetype but not a valid structure name.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/616
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/879>
+
+2020-10-12 12:21:17 +0100 Will Miller <will.miller@pexip.com>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * tests/check/libs/rtp.c:
+ gstrtpbuffer: fix header extension length validation
+ We validate the header extensions length of an RTP buffer by comparing
+ it against the block size. Since we multiply the length in words by 4 to
+ get the length in bytes, a suitably large length could cause a wrapround
+ of the uint16, giving a lower length which erroneously passes the check
+ and allows the buffer to be mapped.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/866>
+
+2020-10-09 12:02:14 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/video-info.h:
+ video-info: clarify GST_VIDEO_INTERLACE_MODE_ALTERNATE doc
+ Fields really should alternate in this mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/862>
+
+2020-10-05 12:07:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: fix output state interlace-mode
+ When user is passing the actual interlace-mode when calling
+ gst_video_decoder_set_interlaced_output_state() it should not be
+ overidden by the input interlace-mode.
+ Needed to fix #825 as we want to keep interlace-mode=interleaved from
+ parsers and have the OMX decoder producing interlace-mode=alternate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/862>
+
+2020-10-05 11:38:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: add interlace-mode to debug output when setting output state
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/862>
+
+2020-10-10 17:26:42 +0200 François Laignel <fengalin@free.fr>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: only force streams-selected seqnum after a select-streams
+ The initial streams-selected message might not match any select-streams,
+ in which case it is currently overriden with GST_SEQNUM_INVALID.
+ Related to:
+ - https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/863>
+
+2020-05-14 14:00:22 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+ gl/display/egl: ensure debug category is initialized
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/833>
+
+2020-07-27 18:55:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: Only check downstream caps when handling CAPS events if we didn't negotiate with downstream yet
+ If we already negotiated with downstream there is not point in checking
+ if the caps are supported. We already know that this is the case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/834>
+
+2020-07-27 18:49:48 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: Check all downstream allowed caps structures if they support the upstream rate
+ Otherwise it might happen that downstream prefers a different rate (i.e.
+ puts it into the first structure) and also supports other rates, but
+ audioaggregator would then fail negotiation.
+ Also this now correctly handles downstream returning a range of
+ supported rates.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/795
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/834>
+
+2020-06-02 16:56:44 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format: RGB16/15 are not 16 bit per component but only 5.333 and 5
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/826>
+
+2020-06-04 11:22:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video: Fix NV12_64Z32 number of component
+ This format has 3 components, just like NV12.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/827>
+
+2020-06-12 00:21:56 +0200 David Bender <benderdave@gitlab.fdo>
+
+ * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+ gstglwindow_x11: fix resize
+ This patch was taken from #629#note_178766, the comment made
+ at the time was:
+ The root issue is a mismatch between the initialization of render_rect
+ in GstGLWindowX11Private and what's expected in the draw_cb function.
+ Because render_rect is not explicitly initialized to a width and height
+ of -1 (unlike gstglwindow_wayland_egl.c which does initialize to -1),
+ the less-than check for explicitly-set render_rect at gstglwindow_x11.c:453-454
+ always fails, even when the parent_win has been set and the render rectangle
+ has never been set.
+ Maybe this came from copying the similar check in the wayland code? Regardless,
+ I think the correct inequality should be '<= 0' (on both lines).
+ Alternatively initialization could be changed, but other sinks, e.g.
+ xvimagesink don't appear to use -1 to mean "unset" render_rect this way.
+ The issue can be reproduced by running the example in
+ tests/examples/gl/qt/videooverlay/ on X11, and resizing the output
+ window
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/829>
+
+2020-08-25 12:56:21 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audioresample/gstaudioresample.c:
+ * gst/videorate/gstvideorate.c:
+ * gst/videoscale/gstvideoscale.c:
+ videorate/videoscale/audioresample: Ensure that the caps returned from fixate_caps() are actually fixated
+ If there is some other field than the ones we care about left and not
+ fixated yet then basetransform will just error out. So instead just pass
+ the result through gst_caps_fixate() in the very end.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/832>
+
+2020-08-11 17:15:50 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ pbutils: Add latest H.264 level values
+ The spec now list 6, 6.1 and 6.2.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/831>
+
+2020-07-09 12:45:27 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: Fix negotiation with downstream if there is no peer yet
+ get_allowed_caps() will return NULL, which is not a problem in itself.
+ Just take the template caps for negotiation in that case instead of
+ erroring out.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/830>
+
+2020-06-11 20:57:58 +0300 Jordan Petridis <jpetridis@gnome.org>
+
+ * ext/libvisual/visual.c:
+ libvisual: use gst_element_class_set_metadata when passing dynamic strings
+ gst_element_class_set_metadata is meant to only be used with
+ static or inlined strings, which isn't the case for this element
+ resulting in use-after-free later on.
+ https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_class_set_static_metadata
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/828>
+
+2020-05-06 11:52:20 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ discoverer: Check sinkpad existence before retrieving caps
+ Otherwise we would error out without releasing the caps first.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/825>
+
+2020-05-06 11:44:39 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ discoverer: Ensure that we have fixed, non-empty caps before passing passing to is_subtitle_caps()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/825>
+
+2020-05-06 11:42:05 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ discoverer: Try to get negotiated caps first on pad-added and only then fall back to a caps query
+ The negotiated caps will be more accurate and are fixed caps in any
+ case.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/825>
+
+2020-04-10 22:45:26 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefind: Consider MPEG-PS PSM to be a PES type
+ Include the Program Stream Map packet type 0xBC in the
+ set of packets we treat as PES. This fixes typefinding
+ on MPEG-PS streams with PSM, where the PSM would previously
+ be considered a loss-of-sync and cause the typefind
+ to require more data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/824>
+
+2020-03-11 01:01:34 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: accept WebVTT timestamps without an hour component
+ https://www.w3.org/TR/webvtt1/#webvtt-timestamp
+ mm:ss,000 is a valid WebVTT timestamp
+
+2020-04-10 04:24:03 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/pango/gsttextrender.c:
+ textrender: Fix AYUV output.
+ Fix the check for whether the element is operating in ARGB mode. It
+ was incorrectly checking if the output format has an alpha channel,
+ which is true for both ARGB and AYUV, leading to the element
+ incorrectly outputting ARGB values into AYUV caps.
+
+2020-05-10 15:13:16 +0100 Chris Mayo <aklhfex@gmail.com>
+
+ * m4/gst-gl.m4:
+ build: Replace bashisms in configure for Wayland and GLES3
+ checking for wayland-scanner... wayland-scanner
+ ./configure: 28389: test: xyes: unexpected operator
+ checking libdrm/drm_fourcc.h usability... yes
+ checking libdrm/drm_fourcc.h presence... yes
+ checking for libdrm/drm_fourcc.h... yes
+ checking for glTexDirectVIV in -lGLESv2... no
+ ./configure: 28530: test: xyes: unexpected operator
+ ./configure: 28533: test: x: unexpected operator
+ Causes build failure:
+ make[6]: *** No rule to make target '/stable/xdg-shell/xdg-shell.xml',
+ needed by 'xdg-shell-client-protocol.c'. Stop.
+
+2020-03-26 13:46:56 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: fix segfault
+ Without this fix, it is possible that outbuf is not initialized, which
+ will result in segfault when call gst_buffer_replace (&outbuf, NULL). In
+ addition, the patch fixes potential memory leak in restart path.
+ The segfault can be reproduced by the pipeline below:
+ GST_GL_PLATFORM=egl \
+ gst-launch-1.0 videotestsrc ! msdkh265enc ! msdkh265dec ! \
+ 'video/x-raw(memory:DMABuf)' ! glimagesink
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/619
+
+2020-03-09 10:21:53 +0000 Chris Lord <clord@igalia.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/egl/gsteglimage_private.h:
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Fix fallback from direct dmabuf to dmabuf upload method
+ In the situation that the direct dmabuf path is chosen, but with an
+ unsupported texture format, this causes accept to fail rather than
+ continue and fail at the upload stage. It is also possibly necessary to
+ reconfigure after falling back from direct to non-direct dmabuf upload
+ paths.
+
+2020-03-09 20:16:47 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/compositor/blend.c:
+ compositor: Create a square checkerboard for UYVY/YUY2/YVYU too
+ Previously the "squares" were twice as wide.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/732
+
+2020-03-09 20:12:12 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ compositor: Define a separate checker fill function for BGRx/RGBx than for xBGR/xRGB
+ Otherwise we'll create a cyan or yellow checkerboard.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/736
+
+2020-02-10 10:29:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/video-info.h:
+ video-info: fix typo in doc
+
+2020-02-07 11:18:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/video-frame.h:
+ * tests/check/libs/video.c:
+ video: fix GST_VIDEO_FRAME_IS_BOTTOM_FIELD()
+ GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD is a subset of
+ GST_VIDEO_FRAME_FLAG_TOP_FIELD so needs to be checked accordingly.
+ Fix #726
+
+2020-02-12 13:11:43 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc/appsink: Make setting/replacing callbacks thread-safe
+ Previously we would simply use them without any locking at all, while
+ using the object lock for setting them. Nothing prevented new callbacks
+ to be set in the meantime, potentially calling a callback with already
+ freed user_data.
+ To prevent this move the callbacks into a reference counted struct and
+ use the appsrc/appsink mutex to protect access to it, which is used in
+ all functions calling the callbacks already anyway.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/729
+
+2020-02-10 17:15:13 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ discoverer: Start discovering next URI from right thread
+ When using the cache, we were not using the right GMainContext to setup
+ next URI to discovery, fix that.
+
+2020-02-04 14:14:38 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: error out if memory context is different than ours
+
+2020-02-04 14:06:36 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgltestsrc.c:
+ gltestsrc: NULL out the functions used
+ Fixes segfault when the display changes
+
+2020-02-04 14:01:47 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglviewconvert.c:
+ glviewconvert: fix reset context for GL context change
+ We need to remove GL resources from the old context instead of the new
+ GL context. The two GL context may not even be shared.
+
+2020-02-04 13:59:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglviewconvert.c:
+ glviewconvert: also remove GL buffers on a reset
+ Fixes a possible memory leak on renegotiation
+
+2020-01-28 22:07:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Don't configure NULL chroma-site/colorimetry
+ If there's no known value in the best caps then the functions to convert
+ them to strings will return NULL. Having the fields not in the caps is
+ not a problem, having them with a NULL value however will cause
+ negotiation failures.
+
+2019-06-05 18:17:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: perform _get_highest_precision on the GL thread
+ gst_gl_shader_string_get_highest_precision needs to make an OpenGL call
+ so execution outside the OpenGL thread and context results in undefined
+ behaviour.
+
+2020-01-17 11:22:48 +0100 Dimitrios Katsaros <patcherwork@gmail.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ uridecodebin3: Fixed defauts not being set on initialization
+ The default values were not being set on element initialization. This
+ was a problem for buffer_duration and buffer_size since they would be
+ zero initialized, rather then being set to -1. This would cause the
+ underlaying queue2 element to have no limits and depending on the
+ streamed file, could cause queue2 to allocate massive amounts of memory.
+
+2020-01-13 09:06:02 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/ogg/gstoggstream.c:
+ oggstream: Workaround for broken PAR in VP8 BOS
+ Similarily to the Theora mapping, process 0:N, N:0 and 0:0 pixel aspect ratios
+ as 1:1.
+ Fixes #719
+
+2019-12-27 11:34:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/fft/_kiss_fft_guts_f32.h:
+ * gst-libs/gst/fft/_kiss_fft_guts_f64.h:
+ * gst-libs/gst/fft/_kiss_fft_guts_s16.h:
+ * gst-libs/gst/fft/_kiss_fft_guts_s32.h:
+ * gst-libs/gst/fft/kiss_fft_f32.c:
+ * gst-libs/gst/fft/kiss_fft_f32.h:
+ * gst-libs/gst/fft/kiss_fft_f64.c:
+ * gst-libs/gst/fft/kiss_fft_f64.h:
+ * gst-libs/gst/fft/kiss_fft_s16.c:
+ * gst-libs/gst/fft/kiss_fft_s16.h:
+ * gst-libs/gst/fft/kiss_fft_s32.c:
+ * gst-libs/gst/fft/kiss_fft_s32.h:
+ * gst-libs/gst/fft/kiss_fftr_f32.c:
+ * gst-libs/gst/fft/kiss_fftr_f32.h:
+ * gst-libs/gst/fft/kiss_fftr_f64.c:
+ * gst-libs/gst/fft/kiss_fftr_f64.h:
+ * gst-libs/gst/fft/kiss_fftr_s16.c:
+ * gst-libs/gst/fft/kiss_fftr_s16.h:
+ * gst-libs/gst/fft/kiss_fftr_s32.c:
+ * gst-libs/gst/fft/kiss_fftr_s32.h:
+ * gst-libs/gst/fft/kiss_version:
+ fft: Update our kiss fft version
+ This fixes thread-safety issues and various other minor issues. Our
+ previous version was about 13 years old.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/715
+
+2019-12-20 13:35:53 +0100 Jonas Holmberg <jonashg@axis.com>
+
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ audioencoder: fix segment event leak
+ Segment event was leaked if format != _TIME.
+
+2019-09-03 16:03:49 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gstplaybin2.c:
+ playbin: Handle error message with redirection indication
+ There are in the wild (mp4) streams that basically contain no tracks
+ but do have a redirect info[0], in which case, qtdemux won't be able
+ to expose any pad (there are no tracks) so can't post anything but
+ an error on the bus, as:
+ - it can't send EOS downstream, it has no pad,
+ - posting an EOS message will be useless as PAUSED state can't be
+ reached and there is no sink in the pipeline meaning GstBin will
+ simply ignore it
+ In that case, currently the application could try to handle that but it
+ is pretty complex as it will get the REDIRECT message on the bus at
+ which point it could set the URL but playbin will ignore it, as
+ it will only be for the next EOS, it thus need to set the pipeline to
+ NULL (READY won't do as it is already in READY at that point). And it
+ needs to figure out the following ERROR message on the bus needs to be
+ ignored, which is not really simple.
+ The approach here is to allow element to add details to the ERROR
+ message with a `redirect-location` field which elements like playbin handle
+ and use right away.
+ We could also use the element 'redirect' message in playbin, but the
+ issue with that approach is that the element will still emit the ERROR
+ message on the bus, leading to wrong behaviour. That can't be avoided
+ since in the case the app/parent pipeline is not handling the redirect
+ instruction, the ERROR message is necessary (and there is no way to
+ detect that the message has been "handled" from the element emitting the
+ redirect).
+ [0]: http://movietrailers.apple.com/movies/paramount/terminator-dark-fate/terminator-dark-fate-trailer-2_480p.mov
+
=== release 1.16.2 ===
2019-12-03 11:03:11 +0000 Tim-Philipp Müller <tim@centricular.com>