Release 1.19.2
authorTim-Philipp Müller <tim@centricular.com>
Thu, 23 Sep 2021 00:33:08 +0000 (01:33 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 23 Sep 2021 00:33:09 +0000 (01:33 +0100)
ChangeLog
NEWS
RELEASE
gst-plugins-base.doap
meson.build

index b600962..889ea4b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.19.2 ===
+
+2021-09-23 01:33:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.19.2
+
+2021-09-21 22:39:46 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.h:
+         pbutils: codec-utils: fix g-ir-scanner warning
+         Warning: GstPbutils: gst_codec_utils_h264_get_profile_flags_level:
+         unknown parameter 'codec_data' in documentation comment, should be 'codecs_data
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1279>
+
+2021-08-24 15:27:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/alsa/gstalsasink.c:
+         alsasink: Allow stop() function to happen during failing writes
+         In ALSA, there is possible temporary failures that may require a retry,
+         though in certain situation, this may leak to the write() function
+         holding on a lock forever preventing the pipeline from going to pause
+         or stop. Fix this by shortly dropping the lock between retries.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1261>
+
+2021-08-24 15:26:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/alsa/gstalsasink.c:
+         alsasink: Improve logging in write() function
+         This moves the "written X frames" lower so that we don't trace
+         confusing negative values on errors and add the error code in the
+         "Write error" log.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1261>
+
+2021-09-10 15:10:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideodecoder.h:
+       * gst-libs/gst/video/meson.build:
+         videodecoder: Add properties to automatically request sync points and vfunc to allow subclasses to handle packet loss / missing data
+         Subclasses could use the new vfunc to activate packet loss concealment,
+         for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274>
+
+2021-09-10 16:12:51 +0200  Havard Graff <havard@pexip.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Fix min-force-key-unit-interval logic and logging
+         The new keyframe is needed when the deadline of the buffer has exeeded
+         the waiting time, not while it is within it.
+         Also, since we look at the deadline of the frame, log that instead of PTS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1278>
+
+2021-08-18 19:40:55 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+       * tests/check/libs/rtpdummyhdrextimpl.c:
+       * tests/check/libs/rtphdrext.c:
+         rtphdrext: Make write function return a signed value
+         Since the return value is documented to possibly be smaller than 0,
+         then it needs to be signed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1258>
+
+2021-06-16 15:07:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/videorate.c:
+         videorate: Add unit test for closing a segment and opening a separate one
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2021-06-16 15:06:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Drop incoming buffers that are outside of the segment
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2020-07-24 17:41:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/videorate/gstvideorate.c:
+       * tests/check/elements/videorate.c:
+         videorate: Only "close" the segment if it is discontinous
+         Otherwise, it will drop valid buffers on a simple segment update
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2020-07-24 17:38:58 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/videorate.c:
+         videorate: Add test for segment update
+         Continue as-is on segment update.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2020-07-24 16:35:04 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Update the base time on segment updates
+         Dropping it to 0 makes videorate push buffers from timestamp 0 again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2021-09-12 10:07:49 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Prevent stream tags from leaking in global tags
+         The PrivateStream should keep track of stream tags only. Likewise, the
+         GstDiscovererInfo should keep track of global tags only.
+         This patch fixes the issue where the discoverer would report duplicated tag
+         titles, especially for Matroska media files. The Matroska demuxer emits
+         correctly-scoped tags, but downstream was making no distinction of them.
+         Fixes #598, #836, https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/827
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1275>
+
+2021-09-09 15:44:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/glprototypes/buffer_storage.h:
+         gl/buffer_storage: re-enable GL_ARB_buffer_storage
+         The extension version doesn't have the ARB suffix.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1273>
+
+2021-09-07 13:55:08 +0200  Tobias Ronge <tobiasr@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Only reset timeout when socket is unused
+         After sending or retrieving data, gstrtspconnection resets the socket's
+         timeout to 0 (infinite). This could cause problems if sending and
+         receiving at the same time. For example, if RTCP data is sent from the
+         streaming thread while gstrtspsrc is already retrieving data.
+         With this patch, timeout is only reset to 0 if there is no other
+         thread using the socket.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1260>
+
+2021-09-02 11:55:09 +0200  Ludvig Rappe <ludvigr@axis.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * tests/check/libs/pbutils.c:
+         pbutils: Add mjpg to MIME codecs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1270>
+
+2021-08-01 18:20:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/playback/gstdecodebin3-parse.c:
+         decodebin3: fix unblocking on input gap events
+         Initial gap events should not be discarded on the input streams,
+         but instead cause unblocking just as buffers do.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239>
+
+2021-06-24 16:00:03 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Guess subtitle/ caps as text streams
+         The subtitles in ogg/kate are identified using subtitle/ caps names.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1213>
+
+2021-08-31 15:31:23 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.h:
+       * tests/check/libs/rtp.c:
+         rtp: add some additional rtcp sdes values
+         Matches the current list at
+         https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-5
+         as of 2021-September.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1267>
+
+2021-08-25 17:03:49 +0200  Ludvig Rappe <ludvigr@axis.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/codec-utils.h:
+       * tests/check/libs/pbutils.c:
+         pbutils: Add function to convert caps to MIME codec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1265>
+
+2021-08-25 17:01:19 +0200  Ludvig Rappe <ludvigr@axis.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/codec-utils.h:
+       * tests/check/libs/pbutils.c:
+         pbutils: Add function for parsing H.264 extradata
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1265>
+
+2021-08-24 18:14:22 +0200  Olivier Blin <olivier.blin@softathome.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: fix redefinition of EGLuint64KHR
+         It is already defined in gst/gl/egl/gstegl.h
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1262>
+
+2021-08-05 19:59:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-orc-dist.c:
+       * gst-libs/gst/video/video-orc-dist.h:
+       * gst-libs/gst/video/video-orc.orc:
+         video-converter: Add support for A420 to RGB fast path
+         Add fast path for A420 -> RGB format conversion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1245>
+
+2021-07-19 22:11:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/blend.c:
+         compositor: Fix crash while drawing background and/or blending for subsampled YUV
+         Fix crash caused by out-of-bounds memory accesses when drawing
+         background and/or blending. This fix is conceptually identical to the
+         approach as the commit of 8ff5079e5eef37b9bd5b212350f0cefbd9546b1b
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1229>
+
+2021-08-15 01:27:39 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: ignore more encoding private fields
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249>
+
+2021-08-09 21:24:34 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstencodebasebin.c:
+       * gst/encoding/gstsmartencoder.c:
+         smartencoder: Respect user `stream-format` when specified
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249>
+
+2021-08-10 02:09:09 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/encoding/gstencodebasebin.c:
+       * gst/encoding/gstsmartencoder.c:
+       * gst/encoding/gstsmartencoder.h:
+         smartencoder: clean up and extend accepted formats
+         * Add support for H265
+         * Don't overwrite original codec_data / streamheader in the output
+         caps, but instead allow them to change and send them to the
+         combiner at the right moment: encoder caps, reencoded GOP,
+         original caps, original GOP(s), and potentially encoder caps
+         and rencoded last GOP.
+         * For H264 / H265, force usage of a format with inband SPS / PPS
+         (avc3 / hev1), this is cleaner than misadvertising avc1, hvc1 and
+         some muxers like mp4mux will actually advertise both differently.
+         Unfortunately, while mp4 supports updating the codec_data and using
+         avc1 with no in-band SPS / PPS updates, it turns out some decoders
+         (eg chrome / firefox) don't handle this particularly well and stop
+         decoding after the reencoded GOP. We could expose a switch to
+         force usage of avc1 / hvc1 nevertheless, but for now stick to
+         requiring that the parser output SPS / PPS in-band with
+         config-interval=-1 (that has not changed)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249>
+
+2021-08-04 00:51:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+         compositor: Add "max-threads" property
+         Adding new property for user to be able to set expected the maximum
+         number of blend task threads. This can be useful in case that user
+         wants to restrict the number of parallel task runners for system
+         resource management or debugging/development purpose.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1242>
+
+2021-07-01 12:41:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+       * gst-libs/gst/pbutils/descriptions.h:
+         pbutils: Expose functions for getting a file extension for caps and flags for describing the format of the caps
+         This information was available internally already but not available from
+         the outside.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1221>
+
+2021-08-04 10:06:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gsturidecodebin.c:
+         playbin/uridecodebin: Emit source-setup signal early before doing the scheduling query
+         Some elements will require the source to be set up properly before the
+         scheduling query returns useful results, e.g. appsrc and giostreamsrc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1241>
+
+2021-06-10 00:55:23 -0700  Devarsh Thakkar <devarsh.thakkar@xilinx.com>
+
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasrc.c:
+         ext: alsa: Fix fallback paths for setting buffer and period times
+         Below fallback paths were introduced in
+         https://github.com/GStreamer/gst-plugins-base/commit/9759810d8206b5f1aa199f98599caec3630a1813
+         if setting period time after buffer time failed :
+         1) Set period time and then buffer time if it doesn't work
+         2) Set only buffer time
+         3) Set only period time
+         These all were not functioning properly since they were using old
+         copy of snd_pcm_hw_params_t which already had some fields set
+         as per previous try and this was causing issues as driver was
+         referring to that old value while trying to set them again in
+         fallback paths.
+         So now we always use the initial copy of snd_pcm_hw_params_t
+         for every fallback  and same is also being done at
+         https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/557c4295107dc7374c850b0bd5331dd35e8fdd0f
+         Also we change the sequence to set period time earlier than
+         buffer time since period bytes being the smaller unit, most of the times
+         if underlying alsa device has a dependency then it is of period bytes
+         to be a multiple of some value (as per underlying DMA constraint)
+         and rest of the parameters like buffer bytes need to be adjusted
+         as per period bytes.
+         The same sequence is also followed in alsa-utils at
+         https://github.com/alsa-project/alsa-utils/commit/9b621eeac4d55c4e881f093be5b163ca07d01b63
+         Fix 2) and 3) scenarios by returning success if the exclusive setting is passed
+         and not doing any further setting for buffer time or period time.
+         Add new fallback path of not setting any buffer time and period time
+         if all above fallback paths fail. The same is also being
+         followed at aforementioned pulseaudio commit.
+         In case of alsasink, remove the retry goto label, since it is not
+         required anymore as fallback paths take care of setting default
+         values if driver is not accepting any of the fallback paths.
+         Use separate label for exit to free params structs and return err
+         code. This also fixes leak in no_rate goto path in alsasink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1212>
+
+2021-05-25 21:16:48 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * tests/check/libs/videoencoder.c:
+         videoencoder: pass upstream HDR information through codec state
+         Don't copy HDR metadata from sink pad, because its caps may not have
+         been set yet if GstVideoEncoder::negotiate is called from
+         GstVideoEncoder::set_format, as e.g. vpx encoder does.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1175>
+
+2021-05-25 21:15:53 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * gst-libs/gst/video/gstvideoutils.c:
+       * gst-libs/gst/video/gstvideoutils.h:
+         videoutils: add HDR metadata fields to GstVideoCodecState
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1175>
+
+2021-08-16 10:19:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-overlay-composition.c:
+         video-overlay-composition: Allow empty overlay compositions
+         Allowing to pass NULL to the constructor removes the need to
+         special-case the first rectangle in calling code and generally
+         simplifies application code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1256>
+
+2021-06-01 15:27:31 +0200  Per Förlin <perfn@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.h:
+         gstrtspconnection: Add support to ignore x-server header reply
+         When connecting to an RTSP server in tunnled mode (HTTP) the server
+         usually replies with a x-server header. This contains the address
+         of the intended streaming server. However some servers return an
+         "invalid" address. Here follows two examples when it might happen.
+         1. A server use Apache combined with a separate RTSP process to handle
+         Https request on port 443. In this case Apache handle TLS and
+         connects to the local RTSP server, which results in a local
+         address 127.0.0.1 or ::1 in the x-server reply. This address is
+         returned to the actual RTSP client in the x-server header.
+         The client will receive this address and try to  connect to it
+         and fail.
+         2. The client use a ipv6 link local address with a specified scope id
+         fe80::aaaa:bbbb:cccc:dddd%eth0 and connects via Http on port 80.
+         The RTSP server receives the connection and returns the address
+         in the x-server header. The client will receive this address and
+         try to connect to it "as is" without the scope id and fail.
+         In the case of streaming data from RTSP servers like 1. and 2. it's
+         useful to have the option to simply ignore the x-server header reply
+         and continue using the original address.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1192>
+
+2021-08-13 19:35:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/sdp/gstmikey.c:
+         sdp: Avoid using g_memdup() since it is deprecated
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib. Instead of using
+         g_memdup2(), we can simply use the new gst_buffer_new_memdup() added
+         in 1.19.x
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1254>
+
+2021-06-04 18:32:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/glprototypes/all_functions.h:
+       * gst-libs/gst/gl/glprototypes/buffer_storage.h:
+       * gst-libs/gst/gl/gstglbuffer.c:
+       * gst-libs/gst/gl/gstglfuncs.h:
+       * gst-libs/gst/gl/gstglmemorypbo.c:
+       * gst-libs/gst/gl/meson.build:
+         glbuffer: support persistent buffer mappings
+         Requires OpenGL 4.4 or EXT_buffer_storage
+         Current mesa exposes GL_ARB_buffer_storage when retrieving the relevant
+         functions returns no-ops and causes failures.
+         Improves throughput of uploads by roughly 30%-60% and download throughput by
+         roughly 10-30% across depending on the exact scenario and hardware.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1191>
+
+2021-07-30 23:57:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Add support for testing gst_video_overlay_set_render_rectangle
+         Add keyboard handler to test gst_video_overlay_set_render_rectangle()
+         API for Windows video elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1235>
+
+2021-07-30 23:04:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Use d3d11videosink by default
+         d3d11videosink was promoted to have primary rank and
+         it's recommended videosink element on Windows
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1235>
+
+2021-07-08 17:47:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/elements/appsink.c:
+         tests: appsink: Add reverse stepping test case
+         To demonstrate reverse stepping issue of
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/848
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1223>
+
+2021-06-03 19:15:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Add test option for threading scenario
+         Add an option to test the case where window thread and pipeline handling
+         thread are different. Mainly to test the HWND leak fixed by
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2302
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1188>
+
+2021-07-27 17:44:02 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+         rtpbasedepayload: remove object locking an extension
+         Doing that is fraught with danger of deadlocks and is not conceptually
+         part of the API contract.  The object lock is generally intended for
+         internal-object-use only.
+         If another lock is needed, that should be added separately.
+         This lock was erronously added as part of:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1118
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1233>
+
+2021-07-27 13:30:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstgldownloadelement.c:
+         gldownload: use the GstGLSyncMeta in all cases
+         fixes qmlglsrc ! gldownload ! videoconvert in some cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1232>
+
+2021-07-22 17:11:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+         glcontext: egl: Stop comparing native surface pointer
+         This was noticed with wayland, sometimes the newly create native
+         handle can have the same pointer (even though its new). This lead
+         to unwanted errors or crash.
+         Fixes #927
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1231>
+
+2021-07-22 17:02:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglwindow.c:
+         glwindow: Add "window-handle-changed" signal
+         This allow other objects to clear any wrapper object that depends
+         on the previous handle, and properly re-create the new wrappers without
+         having to resort into doing pointer comparison.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1231>
+
+2021-07-23 13:39:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         Revert "glwindow: wayland: Skip redoing surfaces if window haven't changed"
+         This reverts commit aba6bd7822f4c0f572765bfaada76f454a594317.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1231>
+
+2021-02-22 13:17:18 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+       * tests/check/elements/appsrc.c:
+         appsrc: serialize custom events with buffers flow
+         Application may want to inject events to the pipeline and keep them
+         synchronized with the buffers flow.
+         Fix #247
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1046>
+
+2021-02-19 13:32:48 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsink.h:
+       * tests/check/elements/appsink.c:
+         appsink: add API to catch events
+         There is currently no way for users to receive incoming events from
+         appsink while keeping them properly serialized with the buffers flow.
+         This can be especially useful when application is injecting custom
+         downstream events into the pipeline and needs to know when they reached
+         appsink.
+         Solving this by adding a new signal notifying about new incoming events
+         and a set of action signals and method to pull those events.
+         The API is actually pulling the samples and events all together as they
+         are actually fetched from the same queue.
+         Having a specific API to pull only events would have the side effect of
+         discarding samples (and pulling samples would discard events) making
+         this API not convenient for users.
+         Partially fix #247
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1046>
+
+2021-02-19 14:45:08 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+         appsink: factor out dequeue_object()
+         No semantic change, will be used to implement new event API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1046>
+
+2021-07-20 09:37:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         glwindow: wayland: Skip redoing surfaces if window haven't changed
+         The problem is that EGLNativeWindowSurface and wl_egl_surface are the
+         same object underneath, so we must recreate both together. As an
+         optimization, the EGLNativeWindowSurface wrapper is only re-created
+         if the window_handle changed.
+         On Mesa, this would cause crash, which will be fixed by:
+         https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11979
+         And will lead to proper errors in the future or on other GL stack. This
+         issue was encounter using a permanent GstGLDisplay after cycling one of
+         multiple independent pipelines through NULL state.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1230>
+
+2021-07-20 09:36:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         glwindow: wayland: Remove redundant create_surfaces call
+         The surfaces will be created in _roundtrip_async, so no need to call
+         this early. This should cause no functional difference.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1230>
+
+2021-06-11 09:02:29 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: improve decoder selection
+         Currently the decoder selection is very naive: The type with the highest
+         rank that matches the current caps is used. This works well for software
+         decoders. The exact supported caps are always known and the static caps are
+         defined accordingly.
+         With hardware decoders, e.g. vaapi, the situation is different. The decoder
+         may reject the caps later during a caps query. At that point, a new decoder
+         is created. However, the same type is chosen an after several tries,
+         decodebin fails.
+         To avoid this, do the caps query while adding the decoder and try again
+         with other decoder types if the query fails:
+         1. create the decoder from the next matching type
+         2. add and link the decoder
+         3. change the decoder state to READY
+         4. do the caps query
+         if it fails then remove the decoder again and go back to 1.
+         5. expose the source pad
+         6. sync the decoder state with the parent.
+         This way, the decoder is already part of the pipeline when the state change
+         to READY happens. So context handling should work as before.
+         Exposing the source pad after the query was successful is important:
+         Otherwise the thread from the decoder source pad may block in a blocked pad
+         downstream in the playsink waiting for other pads to be ready.
+         The thread now blocks trying to set the state back to NULL while holding
+         the SELECTION_LOCK. Other streams may block on the SELECTION_LOCK and the
+         playsink never unblocks the pad. The result is a deadlock.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1201>
+
+2021-07-14 16:09:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+         gl: x11: Issue XSync to close our top level window
+         This is similar action as when the window handle is modified, we now issue
+         XSync whenever we destroy our internal window. This ensure that the window is
+         properly closed before the connecgtion is dropped.
+         Fixes #815
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1226>
+
+2021-07-14 11:43:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         gl: wayland: Fix hinding the window on close()
+         When the window is called, we properly destroy all surfaces, which effectively
+         will unmap that surface and should make it disapear on screen, but we also
+         destroy the wl_source, a GSource that is resposibble of dispatching and executing
+         messages to/from the Wayland server.
+         As a side effect, the server never gets the message and the surfaces are
+         "leaked" on the server. We fix this using wl_display_flush() before destroying
+         the wl_source.
+         Fixes #815
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1226>
+
+2021-07-15 11:09:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/examples/gl/sdl/meson.build:
+         tests: example: Add missing glx_dep when building sdlshare
+         Might be realted to some recent Mesa cleanup, but GLX is not longer visible
+         through libOpenGL, so add the missing deps now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1227>
+
+2021-05-17 12:04:50 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/examples/gl/qt/qglwtextureshare/meson.build:
+         examples/qt/textureshare: add explicit dep on glx_dep
+         Fixes linking:
+         /usr/bin/ld: subprojects/gst-plugins-base/tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.p/qglrenderer.cpp.o: undefined reference to symbol 'glXGetCurrentContext'
+         /usr/bin/ld: /usr/lib64/libGLX.so.0: error adding symbols: DSO missing from command line
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1143>
+
+2021-05-14 14:10:55 +0200  Haelwenn (lanodan) Monnier <contact@hacktivis.me>
+
+       * gst-libs/gst/gl/meson.build:
+         gl: Try GLVND 'opengl' and 'glx' first
+         This fixes targetting desktop OpenGL without libGL.so
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1143>
+
+2021-07-12 09:37:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Only post QoS messages if the property is enabled
+         Previously one of the branches did not check for the property value. To
+         avoid this in the future, check inside the QoS calculation function
+         instead.
+         As a side effect this now always prints the debug messages into the logs
+         when samples are dropped, which is useful information even without the
+         QoS messages.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1224>
+
+2021-07-09 09:49:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * tests/check/elements/audiomixer.c:
+         audioaggregator: Resync on the next buffer when dropping a buffer on discont resyncing
+         If a buffer is dropped during resyncing on a discont because either its
+         end offset is already before the current output offset of the
+         aggregator or because it fully overlaps with the part of the current
+         output buffer that was already filled, then don't just assume that the
+         next buffer is going to start at exactly the expected offset. It might
+         still require some more dropping of samples.
+         This caused the input to be mixed with an offset to its actual position
+         in the output stream, causing additional latency and wrong
+         synchronization between the different input streams.
+         Instead consider each buffer after a discont as a discont until the
+         aggregator actually resynced and starts mixing samples from the input
+         again.
+         Also update the start output offset of a new input buffer if samples
+         have to be dropped at the beginning. Otherwise it might be mixed too
+         early into the output and overwrite part of the output buffer that
+         already took samples from this input into account.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/912
+         which is a regression introduced by https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1180/
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1224>
+
+2021-05-26 18:20:02 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/audiomixer.c:
+         audiomixer: Add test for QoS message posting
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-26 10:38:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audio aggregator: Post QoS message when dropping audio
+         Post a QoS message every time some audio samples are dropped.
+         Also print log messages to make it easier to debug
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-25 18:05:05 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audio aggregator: Count samples that are dropped or processed
+         Keep a count of samples that are dropped or processed as statistics
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-21 16:16:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audio aggregator: Add QoS property to pad
+         Add a property to emit a QoS message whenever any data is dropped.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-21 16:10:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audio aggregator: Rename property enum to match class name
+         Add "CONVERT" into the property enum as we're going to add an
+         enum specifically for the base pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2019-09-24 17:14:10 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideodecoder.h:
+       * gst-libs/gst/video/gstvideoutils.h:
+       * tests/check/libs/videodecoder.c:
+         videodecoder: add API to receive subframes
+         A video decoder can now receive subframes and start decoding
+         instead of waiting for the full frame to be complete.
+         Subframe support will reduce latency as described in the
+         video encoder base class.
+         A unit test illustrating this API is available in
+         tests/check/libs/videodecoder.c.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/454>
+
+2021-07-03 19:36:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/gl/wgl/gstglcontext_wgl.c:
+         gl/context/wgl: Add missing NULL init
+         The value of uninitialized local variable is varying depending
+         on compiler and not guaranteed to be NULL initialized.
+         That results in pointing random address instead of expected function pointer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1222>
+
+2021-03-12 13:55:38 +0100  Francisco Javier Velázquez-García <francisco.velazquez@ltnglobal.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videotestsrc/gstvideotestsrc.c:
+       * gst/videotestsrc/gstvideotestsrc.h:
+       * gst/videotestsrc/videotestsrc.c:
+       * gst/videotestsrc/videotestsrc.h:
+         videotestsrc: Add SMPTE75 RP-219 color bars conformant
+         Implement 8-bit values of SMPTE RP 2019-1:2014.  The bar widths and
+         heights are the result of fractions as integers.  The remainders of
+         widths are distributed in a way that they match the values in Table
+         C.1 (a) in the specification.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
+
+2021-03-12 20:58:40 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/videotestsrc/videotestsrc.c:
+         videotestsrc: Add a start parameter to _blend_line
+         Makes it easier to paint part of a line.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
+
+2021-03-12 20:57:13 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/videotestsrc/videotestsrc.c:
+         videotestsrc: Keep tmpline unchanged in_convert_tmpline
+         This will allow us to repeatedly
+         call it to render subsequent lines.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
+
+2021-06-15 13:22:55 -0700  Michael de Gans <47511965+mdegans@users.noreply.github.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+         appsink: fix incorrect return nullability
+         This commit fixes the annoations for return nullability on several
+         GstAppSink functions. This was causing bindings to be generated
+         incorrectly.
+         Fixes #914
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1203>
+
+2021-05-19 16:22:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+         compositor: Add scaling policy to support PAR-aware scaling
+         Adding "sizing-policy" property for user to be able to specify
+         scaling policy (aspect-ratio for example).
+         At the moment, supported mode is only keep-aspect-ratio, but we might
+         be able to add more policies such as cropping, etc.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/696
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156>
+
+2021-05-19 20:11:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideosink.c:
+       * gst-libs/gst/video/gstvideosink.h:
+         video: Deprecate gst_video_sink_center_rect()
+         ... and add gst_video_center_rect() method as a replacement.
+         The method is useful for outside of videosink subclasses as well
+         but the old naming might be able to mislead people.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156>
+
+2021-05-24 19:11:51 +0200  Jakub Adam <jakub.adam@ktknet.cz>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: don't write empty extension header
+         When some header extensions are present but none decides to write any
+         data to the currently processed RTP buffer, remove the extension data
+         section.
+         Resulting RTP buffer wasn't formatted correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173>
+
+2021-05-24 19:02:42 +0200  Jakub Adam <jakub.adam@ktknet.cz>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.h:
+       * tests/check/libs/rtp.c:
+         rtpbuffer: Add gst_rtp_buffer_remove_extension_data()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173>
+
+2021-05-24 19:01:24 +0200  Jakub Adam <jakub.adam@ktknet.cz>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: map RTP buffer READWRITE when setting headers
+         GstRTPHeaderExtension::write can map the RTP buffer for reading. If that
+         happens on a buffer that is already mapped WRITE-only by the payloader,
+         the payloader's mapping gets invalidated (GstRTPBuffer::map will point
+         to a different instance of GstMemory).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173>
+
+2021-06-24 14:56:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: Make all fields private
+         The presence of a method and a field with the same name confuses the C#
+         binding generator. As there are accessor functions for all the fields,
+         let's just make them private.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1218>
+
+2021-06-26 12:50:58 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+         gst: don't use volatile to mean atomic
+         volatile is not sufficient to provide atomic guarantees and real atomics
+         should be used instead.  GCC 11 has started warning about using volatile
+         with atomic operations.
+         https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
+         Discovered in gst-plugins-good#868
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1219>
+
+2021-06-25 23:42:34 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Set up matrix tables only once.
+         When configuring a multi-thread converter, only allocate the
+         shared colour conversion matrices once for the first thread,
+         to avoid allocating multiple times and leaking memory.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1216>
+
+2021-05-06 19:01:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Set up gamma tables only once
+         When the video converter is using multiple threads, the gamma tables
+         were created multiple times, leaking the tables set up for the previous
+         thread.
+         Only calculate the tables once.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1140>
+
+2021-05-06 18:22:45 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+         audio-converter: Free config when gst_audio_converter_new fails
+         The config got leaked when parameter validation fails.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1140>
+
+2021-06-25 15:24:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/gl/glprototypes/sync.h:
+         glprototypes: Add GST_GL_API_OPENGL to available version of sync
+         Make sync APIs usable if supported, even when GST_GL_API_OPENGL3 is
+         not selected
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1215>
+
+2021-04-23 18:03:20 +0200  Per Förlin <perfn@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         gstrtspconnection: Add IPv6 support for tunneled mode
+         An IPv6 address must be specified within [] brackets.
+         Add brackets for IPv6 address used for tunneled mode,
+         for non-tunneled this is already supported.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1145>
+
+2021-06-16 14:49:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Call drain() rather then finish() on segment-done
+         The finish() virtual function documentation state that "Sub-classes can refuse
+         to decode new data after." Though, it is very common to issue a non-flushing
+         seek after that event in gapless playback uses case. This fixes potential
+         stalls with code using segment seeks, by using drain() virtual funciton
+         instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1206>
+
+2021-06-08 14:55:36 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/ogg/gstoggdemux.c:
+         oggdemux: fix a race in push mode when performing the duration seek
+         There may be two or more threads involved here however the important
+         interaction is the use of ogg->seeK_event_drop_till value that was only
+         set in the push-mode seek-event thread and could race with upstream
+         sending e.g. and EOS (or data).
+         Scenario is this:
+         1. oggdemux performs a seek to near the end of the file to try and find
+         the duration. ogg->push_state is set to PUSH_DURATION.
+         2. Seek is picked up by the dedicated seek event thread and sets
+         ogg->seek_event_drop_till to the seek event's seqnum.
+         3. Most operations are blocked or dropped waiting on the duration to
+         be determined and processing continues until a duration is found.
+         4. Two branching options for how this ultimately plays out
+         4a. The source is too fast and we receive an EOS event which is dropped
+         because ogg->push_state == PUSH_DURATION.  In this case everything
+         works.
+         4b. We hit our 'almost at the end' check in
+         gst_ogg_pad_handle_push_mode_state() and attempt to seek back to the
+         beginning (or to a user-provided seek).  This seek is marshalled to
+         the seek event thread without setting ogg->seek_event_drop_till but
+         with change ogg->push_state = PUSH_PLAYING.  If an EOS event or
+         e.g. buffers arrive from upstream before the seek event thread has
+         picked up the seek event, then the EOS/data is processed as if it
+         came as a result of the seek event.  This is the case that fails.
+         The fix is two-fold:
+         1. Preemptively set ogg->seek_event_drop_till when setting the seek
+         event so that data and other events can be dropped correctly.
+         2. In addition to dropping and EOS events while ogg->push_state ==
+         PUSH_DURATION, also drop any EOS events that are received before the
+         seek event has been processed by also tracking the seqnum of the seek.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1196>
+
+2021-06-21 14:06:14 +0000  Sergei Kovalev <sergei@pexip.com>
+
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+         audiobasesink: Fix of double lock release
+         Add missing "return;" which prevents double lock release.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1208>
+
+2021-06-21 08:34:07 +0000  Corentin Damman <c.damman@intopix.com>
+
+       * COPYING:
+         Update COPYING
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1207>
+
+2021-06-16 15:55:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/x11/gstglcontext_glx.c:
+       * gst-libs/gst/gl/x11/gstglcontext_glx.h:
+         gl/context: fill a GError on platform-specific fill_info() error
+         Fixes bindings assuming that GError is always set on error:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809#note_957493
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809#note_957494
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809#note_957498
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1204>
+
+2021-06-16 12:13:21 +0200  François Laignel <fengalin@free.fr>
+
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+       * gst-libs/gst/audio/gstaudiostreamalign.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         Check mandatory ClockTime arguments
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1205>
+
+2021-06-11 09:27:46 -0600  Scott Moreau <oreaus@gmail.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         gl/wayland: Use consistent wl_display when creating work queue for proxy wrapper
+         Without this, glimagesink since wayland 727c7903 fails with
+         gst-launch-1.0: ../src/wayland-client.c:2181: wl_proxy_set_queue:
+         Assertion 'proxy->display == queue->display' failed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1200>
+
+2021-06-07 17:54:46 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h:
+         gl/viv-fb: fix gl plugin hang when run with viv-fb backend
+         below commit change the window resize thread and cause viv-fb backend
+         hang, need move resize code after window->open is called. Otherwise,
+         the resize message will send to a thread that not start running and
+         window resize call will waiting forever.
+         Commit:        b887db1efe816c0c28b60a6842fa9005a26c1502
+         glwindow: fix racy resize updates
+         Take locks around resize handling and marshall all resizes to the
+         windowing thread by default.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1195>
+
+2021-06-10 12:41:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Add AV12 DMABuf import support
+         The per plane format mapping for AV12 was missing, which would force
+         raw upload.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1199>
+
+2021-06-10 12:39:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Fix wrong stride when importing DMABuf
+         When the code was ported to use component index instead of plane
+         index, the call to GST_VIDEO_INFO_PLANE_STRIDE() was accidently ported
+         to use component index, but this macro takes a plane index.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1199>
+
+2021-06-08 17:27:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: When dropping buffers before handling the initial segment use the latest input segment
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1198>
+
+2021-06-08 13:05:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: Correctly check if this is the first buffer that was queued
+         By checking the queue length this would also count events and caps. We
+         already keep track of the number of buffers separately so just use that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1197>
+
+2021-06-05 02:35:30 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: signal enough-data even when leaking
+         this is convenient for application that wish to monitor whether
+         the appsrc is leaking.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1193>
+
+2021-06-03 21:14:42 +0200  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtp/header: Add missing `array length` annotation to read/write methods
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1190>
+
+2021-06-03 13:40:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/video/video-format.h:
+         video: Sort video formats correctly
+         AV12 should be right after A420 because it is the same format with just
+         one plane less, instead of being next to I420/NV12 which don't have an
+         alpha channel.
+         RGBP should be before GBR because it's the same format except for the
+         more canonical component order.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/790
+         which actually checks on the CI if the algorithm defined in
+         video-format.h is implemented correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1189>
+
+2021-06-03 15:57:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: hold extra pad ref while calling parent
+         Our subsequent cleanup needs a ref on the pad and calling the parent may
+         release the last reference and could cause a use-after-free.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1187>
+
+2021-06-03 15:57:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglstereosplit.c:
+         gl/stereo: fix a coupld of caps leaks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1187>
+
+2021-05-22 15:42:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gl/display: remove choosing egl fallback from GST_GL_PLATFORM
+         If GST_GL_WINDOW is unset but GST_GL_PLATFORM=egl, then we were choosing
+         to create an GstGLDisplayEGL directly instead of going through the any
+         more specific windowing system implementation (X11, Wayland).
+         The 'create an GstGLDisplayEGL when GST_GL_PLATFORM=egl' was a fallback
+         as we did not have entries for all EGL-using window systems previously.
+         Now that we do, the fallback can be removed.  An EGLDisplay can still
+         be created by setting GST_GL_WINDOW=egl or as one option.
+         Fixup of https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1154
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1169>
+
+2021-05-23 23:51:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/alsa/gstalsamidisrc.c:
+       * ext/ogg/gstoggdemux.c:
+       * gst-libs/gst/gl/x11/gstglcontext_glx.c:
+       * gst-libs/gst/riff/riff-read.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/sdp/gstmikey.c:
+       * gst-libs/gst/video/video-anc.c:
+       * meson.build:
+         Use g_memdup2() where available and add fallback for older GLib versions
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1171>
+
+2021-06-01 15:28:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
 === release 1.19.1 ===
 
 2021-06-01 00:09:54 +0100  Tim-Philipp Müller <tim@centricular.com>
diff --git a/NEWS b/NEWS
index cc6c3b4..0e581c3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,15 +1,15 @@
 GStreamer 1.20 Release Notes
 
 GStreamer 1.20 has not been released yet. It is scheduled for release
-around July 2021.
+around October/November 2021.
 
 1.19.x is the unstable development version that is being developed in
-the git master branch and which will eventually result in 1.20, and
-1.19.1 is the current development release in that series
+the git main branch and which will eventually result in 1.20, and 1.19.2
+is the current development release in that series
 
-It is expected that feature freeze will be around June/July 2021,
-followed by several 1.19 pre-releases and the new 1.20 stable release
-around July 2021.
+It is expected that feature freeze will be in early October 2021,
+followed by one or two 1.19.9x pre-releases and the new 1.20 stable
+release around October/November 2021.
 
 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
@@ -17,7 +17,7 @@ around July 2021.
 See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
 version of this document.
 
-Last updated: Sunday 30 May 2021, 16:00 UTC (log)
+Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
 
 Introduction
 
@@ -247,6 +247,10 @@ Documentation improvements
 Possibly Breaking Changes
 
 -   this section will be filled in in due course
+-   MPEG-TS SCTE-35 API changes (FIXME: flesh out)
+-   gst_parse_launch() and friends now error out on non-existing
+    properties on top-level bins where they would silently fail and
+    ignore those before.
 
 Known Issues
 
@@ -274,16 +278,15 @@ the git 1.20 branch, which will be a stable branch.
 
 1.20.0
 
-1.20.0 is scheduled to be released around July 2021.
+1.20.0 is scheduled to be released around October/November 2021.
 
 Schedule for 1.22
 
 Our next major feature release will be 1.22, and 1.21 will be the
 unstable development version leading up to the stable 1.22 release. The
-development of 1.21/1.22 will happen in the git master branch.
+development of 1.21/1.22 will happen in the git main branch.
 
-The plan for the 1.22 development cycle is yet to be confirmed, but it
-is hoped that feature freeze will take place some time in December 2021.
+The plan for the 1.22 development cycle is yet to be confirmed.
 
 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff --git a/RELEASE b/RELEASE
index dbd8eec..a25e5b2 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-base 1.19.1.
+This is GStreamer gst-plugins-base 1.19.2.
 
 GStreamer 1.19 is the development branch leading up to the next major
 stable version which will be 1.20.
index ddc16d6..7b223bd 100644 (file)
@@ -36,6 +36,16 @@ A wide range of video and audio decoders, encoders, and filters are included.
 
  <release>
   <Version>
+   <revision>1.19.2</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2021-09-23</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.19.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.19.1</revision>
    <branch>master</branch>
    <name></name>
index 435679e..9b00253 100644 (file)
@@ -1,5 +1,5 @@
 project('gst-plugins-base', 'c',
-  version : '1.19.1.1',
+  version : '1.19.2',
   meson_version : '>= 0.54',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])