Update ChangeLogs for 1.21.2
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-base / ChangeLog
index 889ea4b..912667c 100644 (file)
+2022-11-07 20:31:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+         discoverer: Annotate `DiscovererInfo::get_audio_streams()` and others with the concrete stream info type
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3353>
+
+2022-11-05 07:34:27 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: Fix non-closed tag handling.
+         Unclear what the goal was, but we could end up reading way past the next_tag.
+         Instead just move everything from after the end tag ('>') to the next_tag.
+         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53040
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3340>
+
+2022-10-31 16:06:45 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Fix leak
+         Release the reference on the collection which was given to us when extracting it
+         from the event/message.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-10-13 22:15:58 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Fix missing pad unref
+         GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
+         When running a pipeline like above, leaks are observed.
+         0:00:56.882419132 240637 0x5562c528ccc0 TRACE             GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d20a0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
+         0:00:56.882429131 240637 0x5562c528ccc0 TRACE             GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d2be0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
+         0:00:56.882437056 240637 0x5562c528ccc0 TRACE             GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d3720, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
+         gst_element_release_request_pad does not unref the pad. It needs to
+         be followed by gst_object_unref. Doing that fixes the above leaks.
+         Use g_ptr_array_new_with_free_func with gst_object_unref as the free
+         function to unref the pad after release.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3177>
+
+2022-10-26 13:42:59 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         pbutils: add correct mime mapping for vp9
+         Based on https://www.webmproject.org/vp9/mp4/#codecs-parameter-string
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260>
+
+2022-10-27 15:13:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+         core/base: Only post latency messages if the latency values have actually changed
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282>
+
+2022-10-27 07:21:19 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Only post latency message if it changed
+         Posting latency messages causes a full and potentially expensive latency
+         recalculation of the pipeline. While subclasses should check whether the latency
+         really changed or not before calling this function, we ensure that we do not
+         post such messages if it didn't change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282>
+
+2022-10-26 10:25:43 +0200  Daniels Umanovskis <du@axentia.se>
+
+       * sys/ximage/ximagesink.c:
+       * sys/xvimage/xvcontext.c:
+         ximagesink, xvimagesink: set the _NET_WM_PID atom on the window
+         This makes it easier for X11 window management to work with windows created by these sinks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3267>
+
+2022-10-25 09:39:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglshader.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/sdp/gstmikey.c:
+         Fix various warnings from gobject-introspection
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>
+
+2022-10-21 21:50:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+       * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         gl/vulkan: Fix static linking on macOS
+         duplicate symbol '__invoke_on_main' in:
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
+         ld: 1 duplicate symbol for architecture x86_64
+         clang: error: linker command failed with exit code 1 (use -v to see invocation)
+         Also make the same change in iOS for consistency.
+         Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3242>
+
+2022-10-04 05:39:51 +0100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         build/gl: fix automatic dispmanx detection for rpi4
+         rpi4 doesn't contain dispmanx but still contains bcm_host.pc which
+         confuses the configure detection.  Add an explicit check for
+         EGL_DISPMANX_WINDOW_T to ensure that we only build with dispmanx when
+         the types are available.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/893
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/952
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3230>
+
+2022-10-19 22:08:17 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglcontextconfig.c:
+         docs/glcontextconfig: rename title to not be GstGLContext
+         Can be confusing havint two pages that both have GstGLContext as the
+         title.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3227>
+
+2022-07-06 21:45:24 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * ext/cdparanoia/meson.build:
+         cdparanoia: Ignore compiler warning coming from the cdparanoia header
+         When trying to build the plugin, GCC starts complaining about issues
+         with one of the cdparanoia headers and it block us from being able
+         to build the plugin with Werror.
+         The current warning in the header look like this:
+         ```
+         [1/2] Compiling C object subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so.p/gstcdparanoiasrc.c.o
+         In file included from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.h:37,
+         from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.c:31:
+         /usr/include/cdda/cdda_interface.h:164:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
+         164 |   "Success",
+         |   ^~~~~~~~~
+         ...
+         /usr/include/cdda/cdda_interface.h:163:14: warning: ‘strerror_tr’ defined but not used [-Wunused-variable]
+         163 | static char *strerror_tr[]={
+         |              ^~~~~~~~~~~
+         [2/2] Linking target subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so
+         ```
+         Last release of cdparanoia was in 2008, so our best bet for the
+         time is to ignore the warnings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2722>
+
+2022-10-17 14:43:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/sdp/gstmikey.c:
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdp: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 14:51:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/tag/gstid3tag.c:
+       * gst-libs/gst/tag/gstvorbistag.c:
+       * gst-libs/gst/tag/gstxmptag.c:
+       * gst-libs/gst/tag/id3v2.c:
+       * gst-libs/gst/tag/lang.c:
+       * gst-libs/gst/tag/licenses.c:
+       * gst-libs/gst/tag/tags.c:
+         tag: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 11:31:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/allocators/gstdmabuf.c:
+       * gst-libs/gst/allocators/gstfdmemory.c:
+         allocators: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 12:16:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl_device.c:
+       * gst-libs/gst/gl/gstglbasememory.c:
+       * gst-libs/gst/gl/gstglbasememory.h:
+       * gst-libs/gst/gl/gstglbufferpool.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglshader.c:
+       * gst-libs/gst/gl/gstglsl.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+       * gst-libs/gst/gl/x11/gstgldisplay_x11.c:
+         gl: Add/fix various annotations
+         And fix a memory leaks in gst_gl_display_egl_new() error cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 00:19:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/descriptions.c:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/pbutils/missing-plugins.c:
+         pbutils: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 00:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtpmeta.c:
+       * gst-libs/gst/rtp/gstrtppayloads.c:
+         rtp: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 23:52:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspdefs.c:
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/rtsp/gstrtsptransport.c:
+       * gst-libs/gst/rtsp/gstrtspurl.c:
+         rtsp: Add/fix various annotations
+         Also initialize out parameters so that they don't have an undefined
+         value in case of errors.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 22:08:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsrc.c:
+         app: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 22:04:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/audio-channel-mixer.c:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-info.c:
+       * gst-libs/gst/audio/audio-resampler.c:
+       * gst-libs/gst/audio/audio.c:
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+       * gst-libs/gst/audio/gstaudiobasesrc.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+         audio: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 21:59:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/gstvideotimecode.c:
+       * gst-libs/gst/video/video-anc.c:
+       * gst-libs/gst/video/video-anc.h:
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-multiview.c:
+       * gst-libs/gst/video/video-overlay-composition.c:
+       * gst-libs/gst/video/video-sei.h:
+         video: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 13:01:53 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Fix usage of raw and non-raw source provider
+         The computation in analyze_source was wrong, and would state that the element
+         has "all raw source pads" if it had at least one.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1029
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3199>
+
+2022-10-17 18:38:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * tests/check/libs/rtp.c:
+         rtpbuffer: Initialize extended timestamp to the first wraparound period
+         This allows correct handling of wrapping around backwards during the
+         first wraparound period and avoids the infamous "Cannot unwrap, any
+         wrapping took place yet" error message.
+         It allows makes sure that for actual timestamp jumps a valid value is
+         returned instead of 0, which then allows the caller to handle it
+         properly. Not having this can have the caller see the same timestamp (0)
+         for a very long time, which for example can cause rtpjitterbuffer to
+         output the same timestamp for a very long time.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1500
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3202>
+
+2022-10-14 16:12:45 +0200  Edward Hervey <edward@centricular.com>
+
+       * tools/gst-play.c:
+         gst-play: Don't leak the stream collection
+         We are given a reference to the collection when parsing it from the
+         message. Just store it (instead of referencing it again).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3186>
+
+2022-10-13 11:21:42 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/riff/riff-media.c:
+         riff: Mark jpeg as parsed
+         This is needed so that autoplugging works with avidemux and JPEG decoders that
+         need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine
+         with 'jpegdec' decoder regardless.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3175>
+
+2022-10-07 11:46:29 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Do not close segment when getting a same segment twice
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3059>
+
+2022-09-14 16:39:48 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+       * gst/videorate/gstvideorate.h:
+       * tests/validate/meson.build:
+       * tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest:
+       * tests/validate/videorate/fill_segment_after_caps_changed_before_eos/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/fill_segment_after_caps_changed_before_eos/flow-expectations/log-videorate-src-expected:
+         videorate: Handle closing segment on EOS right after caps event
+         The scenario is what we try in the tests:
+         - we have a segment with .stop set
+         - some frame(s) flow
+         - we get a CAPS event
+         - we get an EOS (before getting buffers after the CAPS event)
+         in that case, without that patch, the segment is not properly closed
+         which is not correct. In this patch we keep track of previous caps until
+         a new buffer arrives, this way in that situation we set previous caps
+         again, and close the segment with the previous buffer.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1352
+         in this specific case
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3059>
+
+2022-08-22 16:33:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         opengl: Fix usage of eglCreate/DestroyImage
+         The implementation was inconsistent between create and destroy. EGLImage
+         creation and destruction is requires for EGL 1.5 and up, while
+         otherwise the KHR version is only available if EGL_KHR_image_base
+         feature is set. Not doing these check may lead to getting a function
+         pointer to a stub, which is notably the case when using apitrace.
+         Fixes #1389
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2925>
+
+2022-10-06 16:23:56 +0200  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: allow to call "dispose" multiple times
+         https://docs.gtk.org/gobject/concepts.html#reference-counts-and-cycles
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3135>
+
+2022-10-06 13:03:26 +0200  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: fix mutex leaks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3126>
+
+2022-10-03 15:20:53 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstdecodebin3-parse.c:
+         decodebin3: Do not try to plug a decoder on raw formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3123>
+
+2022-10-06 00:00:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideosink.c:
+         videosink: Don't return unknown end-time from get_times()
+         ... in case of reverse playback. Otherwise basesink will not
+         wait for clock
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3121>
+
+2021-07-02 16:22:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: fix Y412_LE DMABuf import support
+         This fixed the error below:
+         GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp !
+         "video/x-raw(memory:DMABuf),format=Y412_LE" ! glimagesink
+         0:00:00.063737691 576978 0x557c11266920 ERROR             gleglimage
+         gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for
+         DMABuf.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2021-07-02 16:01:19 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: add Y410 DMABuf import support
+         This fixed the error below:
+         GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \
+         "video/x-raw(memory:DMABuf),format=Y410" ! glimagesink
+         0:00:00.040553883 576732 0x55be9b35f920 ERROR             gleglimage
+         gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for
+         DMABuf.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2021-07-02 20:31:22 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: add Y212_LE / Y212_BE DMABuf import support
+         This fixed the error below:
+         GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp \
+         ! "video/x-raw(memory:DMABuf),format=Y212_LE" ! glimagesink
+         0:00:00.148086281 575148 0x562a6d36d920 ERROR             gleglimage
+         gsteglimage.c:555:_drm_rgba_fourcc_from_info: Unsupported format for
+         DMABuf.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2021-07-02 15:37:19 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: add Y210 DMABuf import support
+         This fixed the error below:
+         GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \
+         "video/x-raw(memory:DMABuf),format=Y210" ! glimagesink
+         0:00:00.039881627 571365 0x56245eba6920 ERROR             gleglimage
+         gsteglimage.c:549:_drm_rgba_fourcc_from_info: Unsupported format for
+         DMABuf
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2022-10-04 03:57:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
+
+=== release 1.21.1 ===
+
+2022-10-04 01:14:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.21.1
+
+2022-10-04 01:13:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.21.1
+
+2022-10-01 02:33:49 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gstplaysinkaudioconvert.c:
+       * gst/playback/gstplaysinkaudioconvert.h:
+         playsink: Hold a reference to the soft volume element
+         Always hold a reference to the soft volume element
+         provided by the playsinkaudioconvert bin helper, the
+         same as when volume is provided by a sink element,
+         or the soft volume element gets unreffed too soon.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3108>
+
+2022-10-01 04:51:21 +1000  Jan Schmidt <jan@centricular.com>
+
+       * sys/xvimage/xvimageallocator.c:
+         xvimagesink: Don't leak XvShmImage
+         If allocating an XvShmImage generates an X error, but
+         still returns some allocated memory, make sure to free it
+         so it doesn't leak.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:49:16 +1000  Jan Schmidt <jan@centricular.com>
+
+       * sys/xvimage/xvcontext.c:
+         xvimagesink: Zero initialize mask array
+         Clear the stack array before setting bits to pass to
+         XISelectEvents(). Fixes spurious crash from an X error:
+         X Error of failed request:  BadValue (integer parameter out of range for operation)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:47:31 +1000  Jan Schmidt <jan@centricular.com>
+
+       * sys/xvimage/xvcontext.c:
+         xvimagesink: Don't leak temporary
+         Use a stack variable instead of a temporarily
+         malloced variable that wasn't being freed
+         properly. Fixes a small leak of a GstXvTouchDevice
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:41:06 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Make sure event is writable before modifying
+         Make sure we're operating on a private copy of an event when
+         modifying it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:40:09 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Make sure event is writable before modifying.
+         Make sure we're operating on a private copy of an event before
+         modifying it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:37:05 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Don't lose a ref on EOS event
+         Make sure not to give away the ref on the final EOS
+         event for which the probe handler is returning GST_PAD_PROBE_REMOVE
+         when pushing the event manually.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-09-30 00:10:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+       * tests/check/libs/pbutils.c:
+         pbutils: descriptions: add meta/x-klv
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-30 00:07:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+       * tests/check/libs/pbutils.c:
+         pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
+         And add a little unit test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-29 09:39:15 +0100  James Cowgill <james.cowgill@blaize.com>
+
+       * gst-libs/gst/tag/gstxmptag.c:
+         xmptag: Call gst_tag_register_musicbrainz_tags during init
+         We need to call this to register the MusixBrainz tags before we use
+         them in an XMP schema.
+         Fixes this critical when attempting to run jpegparse on a JPEG
+         containing MusicBrainz XMP tags:
+         GStreamer-CRITICAL **: 20:41:07.885: gst_tag_get_type: assertion 'info != NULL' failed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3092>
+
+2022-09-29 14:36:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/interactive/test-effect-switch.c:
+         test-effect-switch: Fix some memory leaks and make effect element ownership clearer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2018-03-28 17:54:15 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+         buffer: drop parent meta in deep copy/foreach_metadata
+         The purpose of a deep buffer copy is to be able to release the source
+         buffer and all its dependencies. Attaching the parent buffer meta to
+         the newly created deep copy needlessly keeps holding a reference to the
+         parent buffer.
+         The issue this solves is the fact you need to allocate more
+         buffers, as you have free buffers being held for no reason. In the good
+         cases it will use more memory, in the bad case it will stall your
+         pipeline (since codecs often need a minimum number of buffers to
+         actually work).
+         Fixes #283
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
+
+2022-09-27 13:41:37 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Fix memory issues with active selection list
+         This had a couple of issues:
+         * The backing strings (from GstStream) could disappear
+         * The actual list wasn't properly reset/freed when decodebin3 was re-used
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3083>
+
+2022-09-21 19:19:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Use implicit builtin dirs in pkgconfig generation
+         Starting with Meson 0.62, meson automatically populates the variables
+         list in the pkgconfig file if you reference builtin directories in the
+         pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+         We need this, because ${prefix}/libexec is a hard-coded value which is
+         incorrect on, for example, Debian.
+         Bump requirement to 0.62, and remove version compares that retained
+         support for older Meson versions.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-06 17:25:50 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videorate/gstvideorate.c:
+       * gst/videorate/gstvideorate.h:
+       * tests/validate/meson.build:
+       * tests/validate/videorate/duplicate_on_eos.validatetest:
+       * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/duplicate_on_eos_disbaled.validatetest:
+       * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/duplicate_on_eos_half_sec.validatetest:
+       * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-src-expected:
+         videorate: Add a `max-closing-segment-duplication-duration` property
+         This allows users to let videorate fully fill the segments when received
+         EOS or on new segment, removing an arbitrary limit of 25 duplicates which
+         might not be what the user wants (for example on low FPS stream in GES,
+         that sometimes leaded to broken behavior)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-12 09:46:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * tools/meson.build:
+         meson: Set install_tag on some targets
+         Trying to follow recommendation from Meson documentation:
+         https://mesonbuild.com/Installing.html#installation-tags
+         Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+         plugins in the default 'runtime' category. This simplifies distribution
+         of GStreamer application skipping parts that are not needed, similarly
+         to what Cerbero does by hardcoding huge list of files.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-19 08:54:15 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Fix doc
+         Argument names weren't correct
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3043>
+
+2022-09-09 16:57:18 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstdecodebin2.c:
+         decodebin2: Do not fail if one of the decoders isn't able to output the requested format
+         when expose-all=False
+         When trying to find an decoder in that case, we loop over the different
+         decoder factories, and check that it outputs a format that matches the
+         requested one (through the :caps property), but if we find a decoder
+         that do match but later on some other don't we end up failing
+         autopluging. This patch ensures that we still plug the decoder that can
+         work.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3011>
+
+2022-08-29 10:20:55 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl:meson: Minor typo fix
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         doc: Do not build plugins to build the doc
+         It is not actually necessary
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-07 10:36:09 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst/playback/gsturidecodebin.c:
+         discoverer: Fix discovering source that expose raw audio/video
+         Exposes a "uridecodebin:post-stream-topology" property as the discoverer
+         needs to have topology information about all streams so we need
+         `uridecodebin` to always plug decodebins for that case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 17:11:08 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gsturidecodebin.c:
+         uridecodebin: Fix some property documentation syntax
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 10:39:21 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gsturidecodebin.c:
+       * tests/validate/meson.build:
+       * tests/validate/uridecodebin/expose_raw_pad_caps.validatetest:
+         uridecodebin: Ensure that pads caps are set before exposing them
+         We are supposed to guarantee that pads that are exposed have the caps
+         set, but for sources that have pad with "all raw caps" templates, we end
+         up exposing pads that don't have caps set yet, which can break code (in
+         GES for example).
+         To avoid that we let uridecodebin plug a `decodebin` after such pads and
+         let decodebin to handle that for us. In the end the only thing that
+         decodebin does in those cases is to wait for pads to be ready and expose
+         them, after that `uridecodebin` will expose those pads.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2021-03-24 14:20:18 -0500  Zebediah Figura <z.figura12@gmail.com>
+
+       * meson.build:
+         meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+         GLib made the unfortunate decision to prevent libgobject from ever being
+         unloaded, which means that now any library which registers a static type
+         can't ever be unloaded either (and any library that depends on those,
+         ad nauseam).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-07-06 04:18:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video-format: Workaround MSVC build error
+         ../gst-libs/gst/video/video-format.c(6779): error C2219: syntax error:
+         type qualifier must be after '*'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2719>
+
+2022-09-07 16:35:38 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/subparse/mpl2parse.c:
+         subparse: fix crash when parsing invalid timestamps in mpl2
+         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49245
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2989>
+
+2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/alsa/meson.build:
+       * ext/cdparanoia/meson.build:
+       * ext/gl/meson.build:
+       * ext/libvisual/meson.build:
+       * ext/ogg/meson.build:
+       * ext/opus/meson.build:
+       * ext/pango/meson.build:
+       * ext/theora/meson.build:
+       * ext/vorbis/meson.build:
+       * gst/adder/meson.build:
+       * gst/app/meson.build:
+       * gst/audioconvert/meson.build:
+       * gst/audiomixer/meson.build:
+       * gst/audiorate/meson.build:
+       * gst/audioresample/meson.build:
+       * gst/audiotestsrc/meson.build:
+       * gst/compositor/meson.build:
+       * gst/encoding/meson.build:
+       * gst/gio/meson.build:
+       * gst/overlaycomposition/meson.build:
+       * gst/pbtypes/meson.build:
+       * gst/playback/meson.build:
+       * gst/rawparse/meson.build:
+       * gst/subparse/meson.build:
+       * gst/tcp/meson.build:
+       * gst/typefind/meson.build:
+       * gst/videoconvertscale/meson.build:
+       * gst/videorate/meson.build:
+       * gst/videotestsrc/meson.build:
+       * gst/volume/meson.build:
+       * meson.build:
+       * sys/ximage/meson.build:
+       * sys/xvimage/meson.build:
+         meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+         Removing some copy pasted code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/fft/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/riff/meson.build:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/sdp/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/video/meson.build:
+       * meson.build:
+         meson: Namespace the plugins_doc_dep/libraries variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+         meson: Rename plugins list and make them "dependency" objects
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 14:50:38 +0000  Ádám Balázs <broothy@gmail.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+         gstaudioconvert: doc: Fix mix-matrix example
+         mix-matrix should contain float elements, modify the example to do so
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2966>
+
+2022-08-30 14:29:41 +0200  Rafael Caricio <rafael@caricio.com>
+
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+         audiovisualizer: fix buffer mapping to not increase refcount
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953>
+
+2022-08-23 19:12:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/ximage/ximagesink.c:
+       * sys/xvimage/xvimagesink.c:
+         x(v)imagesink: Don't create invalid GstNavigationModifierType by simply passing through X11 event states
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2931>
+
+2022-07-22 13:41:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/playback/gstrawcaps.h:
+         playback: add onvif metadata caps to raw caps
+         + remove encoding from x-onvif-metadata caps output by qtdemux
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2889>
+
+2022-08-23 16:02:31 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+         videoconvert: fix passthrough on equivalent transfer
+         When the input info and output info are equal, except for the
+         transfer functions that are *not* equivalent, we need to set up
+         a converter as we won't be passthrough.
+         Fixes an assertion in that case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2929>
+
+2022-08-17 12:53:02 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-converter.h:
+       * tests/check/libs/video.c:
+         base: video-converter: add accessors for input and output formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2905>
+
+2022-08-05 20:52:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videoconvertscale/gstvideoconvert.c:
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+       * gst/videoconvertscale/gstvideoconvertscale.h:
+       * gst/videoconvertscale/gstvideoscale.c:
+         videoconvert,videoscale: Do conversion in videoconvert and scaling in videoscale
+         Keep behaving the same as before videoconvertscale port
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-05 20:16:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videoconvertscale/gstvideoconvert.c:
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+       * gst/videoconvertscale/gstvideoconvertscale.h:
+       * gst/videoconvertscale/gstvideoscale.c:
+       * tests/validate/convertscale/convert_disable_scale.validatetest:
+       * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+       * tests/validate/convertscale/scale_disable_convert.validatetest:
+       * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+       * tests/validate/meson.build:
+         Revert "videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale"
+         This reverts commit cd7a91cef1c6a2e24d440126b7f2ab543fb205c5.
+         Reverting properties, scaling in videoconvert and converting in
+         videoscale will be disabled by the other commit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-12 22:42:28 -0700  Khem Raj <raj.khem@gmail.com>
+
+       * gst/subparse/gstssaparse.c:
+         ssaparse: include required system headers for isspace() and sscanf() functions
+         Newer compilers ( clang 15 ) have turned stricter and errors out instead
+         of warning on implicit function declations
+         Fixes
+         gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+         while (isspace(*t))
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879>
+
+2022-08-12 13:16:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspurl.c:
+       * tests/check/libs/rtsp.c:
+         rtspurl: Use gst_uri_join_strings() in gst_rtsp_url_get_request_uri_with_control() instead of a hand-crafted, wrong version
+         For example the query string of the base must not be taken over to the
+         request URL unless there is no control path, and control paths can be
+         absolute and must not be considered relative if they start with a /.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/971
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-08-12 13:15:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/libs/rtsp.c:
+         rtspurl: Use fail_unless_equals_string() in tests
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-07-27 22:34:42 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/pango/gstbasetextoverlay.c:
+       * ext/pango/gstbasetextoverlay.h:
+         basetextoverlay: Don't miscalculate text running times
+         When a new segment event arrives, it immediately updates
+         the current stored segment, which was used for calculating
+         the running time of the current text buffer for every
+         passing video frame. This means a segment that arrives
+         after the text buffer might get used to (mis)calculate
+         the running times subsequently.
+         Instead, calculate and store the right running time
+         using the current segment when storing the buffer. Later
+         the stored segment can get freely updated.
+         This fixes the case where pieces of video and text streams
+         are seamlessly concatenated and fed through the text overlay.
+         Previously, it could lead to the current text buffer suddenly
+         have a massive running time and blocking all further input.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2802>
+
+2022-08-09 18:06:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/opus/gstopusenc.c:
+         opusenc: improve inband-fec property documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2853>
+
+2022-06-30 16:14:27 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * ext/alsa/gstalsaplugin.c:
+         gstalsaplugin: return the result of the element registration
+         Previously there were branches that would return FALSE, however
+         it looks like we forgot to return the new result variable.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/900
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2695>
+
+2022-01-22 02:35:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/encoding/gstsmartencoder.c:
+         smartencoder: fix detection of avc1
+         While avc1 is the FourCC, avc is the name used in caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-22 02:29:54 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/playback/gstdecodebin2.c:
+         decodebin2: don't reverse stream topology order
+         This can be important for instance when a container holds multiple
+         tracks with the same media type, with no indication (eg tags) of
+         which track is the default one.
+         In that case, players usually pick the first track by default.
+         This is especially useful when using smart editing with GES, as
+         it will result in the same ordering as the input file that was
+         used as a template.
+         For reference, this yields the same order as ffprobe.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 01:02:52 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/encoding/gstsmartencoder.c:
+         gstsmartencoder: don't make calculations for invalid DTS
+         Instead, as the current code relies on having a valid DTS (for lining
+         up passed through and re-encoded segments), simply compute a DTS
+         from the PTS if the DTS was invalid.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:57:16 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: don't order profiles by stream ID ..
+         when creating a profile from a discoverer info.
+         There is no justification for the existing code, and talking with
+         Thibault he cannot remember why the sort was in place.
+         On the other hand, this allows GES users to not have to implement
+         a callback for the select-tracks-for-object callback when using
+         it to trim a single clip, which the output profile was built from:
+         track elements will be placed in the appropriate track by default,
+         that is the one that will be connected to the matching profile.
+         For multi-clip timelines, the situation doesn't change, users will
+         still have to implement a callback and do the leg work of placing
+         track elements (if any) in a matching track (if any).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:49:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: ignore more output caps fields
+         chroma-format, bit-depth-chroma, bit-depth-luma are all informative
+         fields set by the H265 and H265 parser upon receiving an SPS.
+         They shouldn't be constrained downstream of the parser, instead
+         if a user wants those to ultimately match certain values they
+         should do so by constraining a profile.
+         In this case however, we also always remove the profile constraint
+         in order to let encoders pick a suitable one as a function of the
+         raw input video format and their own capabilities.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-08-01 17:25:56 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Avoid crash with unknown streams
+         With the new addition of handling unknown sream types we *could* end up with a
+         chain which doesn't have a current_pad (it's an intermediary one)
+         Fixes #1287
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2822>
+
+2022-05-25 18:40:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+         With the 2.72 release, glib-networking developers have decided that
+         TLS certificate validation cannot be implemented correctly by them, so
+         they've deprecated it.
+         In a nutshell: a cert can have several validation errors, but there
+         are no guarantees that the TLS backend will return all those errors,
+         and things are made even more complicated by the fact that the list of
+         errors might refer to certs that are added for backwards-compat and
+         won't actually be used by the TLS library.
+         Our best option is to ignore the deprecation and pass the warning onto
+         users so they can make an appropriate security decision regarding
+         this.
+         We can't deprecate the tls-validation-flags property because it is
+         very useful when connecting to RTSP cameras that will never get
+         updates to fix certificate errors.
+         Relevant upstream merge requests / issues:
+         https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+         https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+         https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-13 22:37:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         compositor: Update plugins cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-01-18 21:21:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Warn when inputs are SDR/HDR mixed
+         Let user know that the result of mixed SDR/HDR is not guaranteed
+         to be a good visual quality.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-24 20:21:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+         compositor: Add support for all formats
+         For formats which we don't have fast-path implementation, compositor
+         will convert it to common unpack formats (AYUV, ARGB, AYUV64 and ARGB64)
+         then blending will happen using the intermediate formats.
+         Finally blended image will be converted back to the selected output format
+         if required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-20 00:41:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/compositor.c:
+         compositor: Add support for Y444 high bitdepth formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 16:32:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositororc-dist.c:
+       * gst/compositor/compositororc-dist.h:
+       * gst/compositor/compositororc.orc:
+         compositor: Add support for I420/I422 high bitdepth formats
+         Implementation for {I420,I422}_{10,12}_{LE,BE} formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 21:46:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+         compositor: Calculate background color only once
+         ... instead of do that per fill_color() call in case of RGB format.
+         Moreover, respect selected GstVideoColorRange
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-07-27 15:42:44 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: protect cancellable by a mutex
+         It is entirely possible for the cancellable to be cancelled (and freed)
+         in gst_rtsp_connection_flush() while there may be an ongoing read/write
+         operation.
+         Nothing prevents gst_rtsp_connection_flush() from waiting for the
+         outstanding read/writes.
+         This could lead to a crash like (where cancellable has been freed
+         within gst_rtsp_connection_flush()):
+         #0  0x00007ffff4351096 in g_output_stream_writev (stream=stream@entry=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6af950,  cancellable=cancellable@entry=0x7fff300288a0, error=error@entry=0x7ffe2c6af958) at ../subprojects/glib/gio/goutputstream.c:377
+         #1  0x00007ffff44b2c38 in writev_bytes (stream=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6afb90, block=block@entry=1, cancellable=0x7fff300288a0) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:1320
+         #2  0x00007ffff44b583e in gst_rtsp_connection_send_messages_usec (conn=0x7fff30001370, messages=messages@entry=0x7ffe2c6afcc0, n_messages=n_messages@entry=1, timeout=timeout@entry=3000000) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:2056
+         #3  0x00007ffff44d2669 in gst_rtsp_client_sink_connection_send_messages (sink=0x7fffac0192c0, timeout=3000000, n_messages=1, messages=0x7ffe2c6afcc0, conninfo=0x7fffac019610) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:1929
+         #4  gst_rtsp_client_sink_try_send (sink=sink@entry=0x7fffac0192c0, conninfo=conninfo@entry=0x7fffac019610, requests=requests@entry=0x7ffe2c6afcc0, n_requests=n_requests@entry=1, response=response@entry=0x0, code=code@entry=0x0) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:2845
+         #5  0x00007ffff44d3077 in do_send_data (buffer=0x7fff38075c60, channel=<optimized out>, context=0x7fffac042640) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:3896
+         #6  0x00007ffff4281cc6 in gst_rtsp_stream_transport_send_rtp (trans=trans@entry=0x7fff20061f80, buffer=<optimized out>) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c:632
+         #7  0x00007ffff4278e9b in push_data (stream=0x7fff40019bf0, is_rtp=<optimized out>, buffer_list=0x0, buffer=<optimized out>, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2586
+         #8  check_transport_backlog (stream=0x7fff40019bf0, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2645
+         #9  0x00007ffff42793b3 in send_tcp_message (idx=<optimized out>, stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2741
+         #10 send_func (stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2776
+         #11 0x00007ffff7d59fad in g_thread_proxy (data=0x7fffbc062920) at ../subprojects/glib/glib/gthread.c:827
+         #12 0x00007ffff7a8ce2d in start_thread () from /lib64/libc.so.6
+         #13 0x00007ffff7b12620 in clone3 () from /lib64/libc.so.6
+         Fix by adding a cancellable lock and returning an extra reference used
+         across all read/write operations.  gst_rtsp_connection_flush() can free
+         the in-use cancellable and it will no longer affect any in progress
+         read/write.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2799>
+
+2022-07-22 13:13:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/audiomixer/gstaudiointerleave.c:
+         audiointerleave: fix property docs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2785>
+
+2022-07-23 02:49:20 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/video-chroma.c:
+         video: Fix scaling in 4x horizontal co-sited chroma
+         4x downscaling of chroma with co-sited chroma has never worked
+         it seems.
+         Fixes incorrect videotestsrc output and videoconvert conversions
+         to Y41B, YUV9, YVU9 and IYU9 with co-sited chroma.
+         e.g.
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y41B,width=1280,height=720 ! \
+         videoconvert ! autovideosink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2789>
+
+2022-07-02 06:08:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't force upstream alpha format
+         "video/x-raw,format=RGBA ! some-video-filter ! video/x-raw,format=NV12"
+         is a very common case and therefore such erroring at baseclass
+         does not seem to be a desired behavior.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2703>
+
+2022-07-17 00:30:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Use primaries compare function
+         Avoid conversion if both color primaries are functionally equal
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-16 23:36:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+       * tests/check/libs/video.c:
+         video-color: Add primaries and colorimetry compare functions
+         SMPTE 170M and 240M use the same RGB and white point coordinates
+         and therefore both primaries can be considered functionally
+         equivalent.
+         Also, some transfer functions have different name but equal
+         gamma functions. Adding another colorimetry compare function
+         to deal with thoes cases at once
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-12 14:47:20 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: only allow setting the GL display/context if it is a valid value
+         Otherwise, when setting the external application context, then the
+         display may be cleared and then not used and the asharing mechanism does
+         not work anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2750>
+
+2022-07-07 23:40:22 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Add raw caps to sink pad when needed.
+         When checking if the current upload method can support
+         the requested caps filter in _transform_caps(),
+         make sure the sink pad reports raw caps.
+         Fixes #1311
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-07 23:54:44 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         gstglupload: Remove raw caps from individual methods
+         Raw memory upload should always be the least preferred input
+         caps, only added by the raw memory uploader as the last thing
+         in the caps.
+         Caps negotiation should still choose raw data when it needs to,
+         and other upload methods that can accept raw data buffers will still do so.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-11 20:12:30 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: always convert when user provides converter-config
+         The `converter-config` property may be used to perform cropping,
+         conversion should always be performed when the user set the property
+         to a non-NULL value.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2746>
+
+2022-07-08 20:49:21 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         glwindow_cocoa: fix a leak of the GstNSView
+         This leak is also causing a leak of the GstGLCAOpenGLLayer
+         which leaks the GstGLWrappedContext and the GstGLDisplay
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-07-08 20:38:51 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+         gl: Fix leak of the whole CGL context
+         This was leaking the CGL context and several resources
+         allocated in the context, around 70MB for a 1080p clip
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-06-14 12:22:22 +0200  Marc Leeman <m.leeman@televic.com>
+
+       * gst-libs/gst/video/video-format.c:
+         base: lookup RGB format without alpha
+         librfb requests a colour space for depth 32 and bpp 32 with alpha set to
+         0x0, treat this the same as depth 24 with bpp 32.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2627>
+
+2022-07-04 17:27:50 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+         videoconvertscale: ensure writable caps when fixating format
+         gst_video_convert_scale_get_fixed_format() receives 'othercaps' from
+         basetransforms' fixate_caps() vmethod which explicitly mentions that
+         '`othercaps` may not be writable'.
+         The gst_caps_intersect() call just before may or may not produce new
+         caps. Particularly in cases like EMPTY or ANY caps on either of the
+         inputs, only a ref is taken and returned to the caller.
+         As a result, gst_video_convert_scale_fixate_format() may have attempted
+         to modify a non-writable caps structure.
+         Fix by adding a gst_caps_make_writable().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2709>
+
+2022-06-30 00:39:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/subparse/samiparse.c:
+         samiparse: clean up some GString usage
+         There's no need to re-assign the return value of
+         g_string_append_*() functions and such to the variable
+         holding the GString. These return values are just for
+         convenience so function calls can be chained. The actual
+         GString pointer won't change, it's not a GList after all.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:31:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/subparse/samiparse.c:
+         samiparse: micro-optimise entity handling
+         Avoid relocations and hard-code entity string length
+         in the struct, since we basically get it for free here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:13:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/subparse/samiparse.c:
+       * tests/check/elements/subparse.c:
+         samiparse: fix handling of self-closing tags
+         We would check the wrong string (rest of line rather than element)
+         for the / suffix of self-closing tags, which is not only wrong but
+         also has atrocious performance with certain strings like the garbled
+         nonsense clusterfuzz feeds us, which might cause discoverer to time
+         out when processing garbled SAMI files.
+         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47461
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-07-01 23:57:08 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: Fix caps query with no filter"
+         This reverts commit 6f9ae5d7580763b5d18badb76f2166ff0012886a.
+         The _transform_caps() function can't tell the difference
+         between the caller wanting to know the output caps
+         for the current method, or all possible output caps. If
+         it includes caps for all possible methods, glupload can
+         end up negotiating and sending the wrong output caps
+         downstream.
+         Partially reverts !2687
+         Fixes #1310
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2699>
+
+2022-06-28 09:38:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Only consider property changes a geometry change if there as an actual change
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-27 21:28:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Add crop-{left,right,top,bottom} pad properties for cropping inputs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-30 09:02:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdpmessage: Don't set SDP medias from caps without media/payload/clock-rate fields
+         Previously it would've silently failed reading the payload/clock-rate
+         and instead would've used some random value that happened to be on the
+         stack.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-06-30 12:50:17 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Fix caps query with no filter
+         If no filter caps are provided with a caps query, always
+         generate a full set of all caps from all upload methods,
+         not just the configured one. This is needed to handle
+         renegotiation when dealing with raw sysmem caps - as the upload
+         method might accept raw sysmem caps, but only the raw data
+         uploader adds those to the caps query.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 12:46:31 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: allow system memory for dmabuf in transform_caps"
+         This reverts commit f3292dc1561a8d62812c3f1a2bb3de5c5bb6a807.
+         Only the raw data uploader should add sysmem caps to the
+         actual caps query, because we want them to be at the
+         lowest priority. If upstream does select to send raw
+         caps, then the correct upload method will still
+         be chosen because the accept_caps implementation
+         will accept them
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 18:41:01 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         gl: Don't use the full transform_caps() method for reconfiguration check
+         When checking if we need to reconfigure when uploading, check
+         specifically the output caps of the current method will
+         result in compatible/incompatible caps, not the full set
+         of output caps from all upload methods.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 08:42:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video.h:
+         video: Include new video-sei.h in video.h
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2688>
+
+2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         coding style: allow declarations after statement
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+         and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-16 10:19:17 +0000  James Hilliard <james.hilliard1@gmail.com>
+
+       * tests/validate/videorate/change_rate_reverse_playback.validatetest:
+       * tests/validate/videorate/change_rate_while_playing.validatetest:
+         videorate: remove property-value quotes
+         Fixes warnings like:
+         Received a structure string that contains '="0.5"'. Reading as a gdouble value, rather than a string value. This is undesired behaviour, and with GStreamer 1.22  onward, this will be interpreted as a string value instead because it is wrapped in '"' quotes. If you want to guarantee this value is read as a string, before this change, use '=(string)"0.5"' instead. If you want to read in a gdouble value, leave its value unquoted.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2621>
+
+2022-06-25 19:50:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: skip unit tests for dependency-less elements that have been disabled
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-05-13 12:57:06 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/video/video-frame.c:
+       * gst-libs/gst/video/video-frame.h:
+       * tests/check/libs/video.c:
+         GstVideoFrame: Add g_auto() support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-06-08 19:18:48 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst-libs/gst/video/video.c:
+       * gst-libs/gst/video/video.h:
+         avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+         Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+         also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+         decoders that don't properly support field-based decoding, but makes us
+         end up with the wrong aspect ratio if we implement everything properly.
+         As a workaround, detect 1:2 pixel aspect ratio for field-based
+         interlacing, and check if making that 1:1 would make the new display
+         aspect ratio common. In that case, we override it with 1:1.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2022-06-12 05:35:27 -0600  James Hilliard <james.hilliard1@gmail.com>
+
+       * gst/playback/gstdecodebin3-parse.c:
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: fix EOS event sequence
+         See docs:
+         https://gstreamer.freedesktop.org/documentation/additional/design/seqnums.html?gi-language=c#seqnums-sequence-numbers
+         Per docs:
+         When a sink element receives an EOS event and creates a new EOS
+         message to post, it should copy the seqnum from the event to the
+         message because the EOS message is a consequence of the EOS event
+         being received.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2588>
+
+2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * meson.build:
+       * tests/check/elements/audioresample.c:
+         Bump GLib requirement to >= 2.62
+         Can't require 2.64 yet because of
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-16 19:29:10 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/video/meson.build:
+         video: add new video-sei.h header to the list of video_headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/video/video-sei.c:
+       * gst-libs/gst/video/video-sei.h:
+         Fix documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100  Brad Hards <bradh@frogmouth.net>
+
+       * gst-libs/gst/video/video-sei.c:
+       * gst-libs/gst/video/video-sei.h:
+         h264parse: add unit test for Precision Time Stamp in SEI messages
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100  Brad Hards <bradh@frogmouth.net>
+
+       * gst-libs/gst/video/video-sei.c:
+         h264parse: fix copying of data and UUID
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video-sei.c:
+       * gst-libs/gst/video/video-sei.h:
+         h264parse: add support Precision Time Stamp in SEI messages
+         Expose User Data Unregistered as a new Meta and add
+         API to parse Precision Time Stamp (ST 0604).
+         Fixes #927
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-27 14:18:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-info.c:
+         video: Fix NV12_16L32 size calculation
+         The subsampling of the second plane was not taken into account, resulting in a
+         16bit per pixel buffers instead of 12.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2512>
+
+2022-05-25 02:10:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Configure combiner on pad-added if needed
+         When collection is updated, decodebin3 exposes pad first and then
+         streams-selected message is posted.
+         The condition can cause a situation where playbin3 links non-existing
+         combiner/playsink pads (since streams-selected is not posted yet) with
+         new decodebin output pad. This commit will re-check selected/active
+         streams condition on pad-added and reconfigure output if needed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2482>
+
+2022-05-23 21:24:40 -0400  Eli Schwartz <eschwartz@archlinux.org>
+
+       * gst-libs/gst/tag/meson.build:
+         meson: use better zlib dependency fallback
+         zlib is required, and if it isn't found it is checked several ways and
+         then forced via subproject(). This code was added in commit
+         b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
+         zlib doesn't have pkg-config files installed.
+         But Meson already does dependency fallback, and also, since 0.54.0, does
+         the in-between checks for find_library('z') and has_header('zlib.h') via
+         the "system" type dependency. Simplify dependency lookup by marking it
+         as required, which also makes sure that the console log doesn't
+         confusingly list "not found".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2484>
+
+2022-05-19 12:17:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+       * gst-libs/gst/pbutils/descriptions.h:
+         pbutils: Add GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA and ONVIF XML Timed MetaData
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-15 16:53:12 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.h:
+       * tests/check/libs/rtp.c:
+         rtcpbuffer: Allow padding on first reduced size packets
+         It is valid to have the padding set to 1 on the first packet and it
+         happens very often from TWCC packets coming from libwebrtc. This means
+         that we were totally ignoring many TWCC packets.
+         Fix test that checked that a first packet with padding was not valid and
+         instead test a single twcc packet with padding to check precisely what
+         this patch was about.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2422>
+
+2022-05-13 13:31:55 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * tests/check/elements/appsink.c:
+         appsink: Fix race condition on caps handling
+         Background:
+         Whenever a caps event is received by appsink, the caps are stored in the
+         same internal queue as buffers. Only when enough buffers have been
+         popped from the queue to reach the caps, `priv->sample` gets its caps
+         updated to match, so that they are correct for the following buffers.
+         Note that as far as upstream elements are concerned, the caps of appsink
+         are updated immediately when the CAPS event is sent. Samples pulled from
+         appsink retain the old caps until a later buffer -- one that was sent by
+         upstream elements after the new caps -- is pulled.
+         The race condition:
+         When a flush is received, appsink clears the entire internal queue. The
+         caps of `priv->sample` are not updated as part of this process, and
+         instead remain as those of the sample that was last pulled by the user.
+         This leaves open a race condition where:
+         1. Upstream sends a new caps event, and possibly some buffers for the
+         new caps.
+         2. Upstream sends a flush (possibly from a different thread).
+         3. Upstream sends a new buffer for the new caps. Since as far as
+         upstream is concerned, appsink caps are the new caps already, no new
+         CAPS event is sent.
+         4. The appsink user pulls a sample, having not pulled before enough
+         samples to reach the buffers sent in step 1.
+         Bug: the pulled sample has the old caps instead of the new caps.
+         Fixing the race condition:
+         To avoid this problem, when a buffer is received after a flush,
+         `priv->sample`'s caps should be updated with the current caps before the
+         buffer is added to the internal queue.
+         Interestingly, before this patch, appsink already had code for this, in
+         gst_app_sink_render_common():
+         /* queue holding caps event might have been FLUSHed,
+         * but caps state still present in pad caps */
+         if (G_UNLIKELY (!priv->last_caps &&
+         gst_pad_has_current_caps (GST_BASE_SINK_PAD (psink)))) {
+         priv->last_caps = gst_pad_get_current_caps (GST_BASE_SINK_PAD (psink));
+         gst_sample_set_caps (priv->sample, priv->last_caps);
+         GST_DEBUG_OBJECT (appsink, "activating pad caps %" GST_PTR_FORMAT,
+         priv->last_caps);
+         }
+         This code assumes `priv->last_caps` is reset when a flush is received,
+         which makes sense, but unfortunately, there was no code in the flush
+         code path resetting it.
+         This patch adds such code, therefore fixing the race condition. A unit
+         test demonstrating the bug and testing its behavior with the fix has
+         also been added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2413>
+
+2022-05-16 12:34:36 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: unref temporary caps
+         The "possible_caps" needs unref after finished using to
+         avoid memory leak.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2430>
+
+2022-05-05 02:54:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-play.c:
+         tools: gst-play: Print position even if duration is unknown
+         Gives better visual feedback regarding position information
+         although duration is unknown, live streams for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2365>
+
+2022-05-09 16:21:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/gstglcontext_private.h:
+       * gst-libs/gst/gl/gstglcontextquirks.c:
+       * gst-libs/gst/gl/meson.build:
+         gl/context: disable timer queries for ARM Mali-G52
+         Performing a timer query with a default framebuffer that is incomplete
+         (from using a surfaceless context) will produce GL errors.  Disable the
+         timer query on this platform to avoid the errors.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2396>
+
+2022-05-07 04:43:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-device-monitor.c:
+         tools: device-monitor: Print string property as-is without serialize
+         gst_value_serialize() does more than what's needed to printf-ing
+         especially when given GValue is already string. Just print string
+         value as-is without gst_value_serialize() to avoid unreadable
+         string print, especially for multi-bytes character encoding cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2387>
+
+2022-05-06 09:10:09 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gstplaysink.h:
+         playbin3: Cleanup and refactor combiner sourcecombine
+         * Remove fields no longer used, or that can be replaced by smaller code
+         * Rename "channels" to a more meaningful "input pads"
+         * Directly handle/use combiner pads in the combiners instead of on the playbin3
+         main structure
+         Remove the corresponding combiner sinkpad whenever a uridecodebin3 source pad
+         goes away
+         * If used, store the corresponding combiner sink pad in the SourcePad helper
+         structure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2384>
+
+2022-05-03 16:25:19 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Don't modify inexistant GstStream
+         When handling exposing un-handled streams, we can only replace the GstStream for
+         those we are creating ourselves (i.e. the fallback collection).
+         Fixes assertions when the demuxer creates those streams
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 16:08:39 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         playbin3: Don't use unknown types for default selection
+         When creating a fallback default selection from a collection, don't attempt to
+         use unknown stream types
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 13:37:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+         audioconvert: If no channel-mask can be fixated then use a NONE channel layout
+         Otherwise this is generating caps without a channel-mask, which is
+         invalid for >1 channels and will always fail negotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2350>
+
+2022-05-02 14:36:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update cache for NV12_4L4 and NV12_16LE32 gl support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-14 15:02:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         opengl: Add NV12_4L4 conversion support
+         This format is produced notably by Hantro G1/G2 HW. Using a shader instead of
+         the Hantro embedded converter helps reduce drastrictly the memory usage at a
+         relatively small GPU overhead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 14:18:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         opengl: Add NV12_16L32S conversion support
+         This adds a first detiling shader with initial support for
+         NV12_16L32S as produced by Mediatek decoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-13 14:54:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglsl.c:
+         glsl: Enable GLSL 1.30 if we have OpenGL 3.0/3.1
+         As implemented, we only support OpenGL 3 API from version 3.2. Though, there
+         is no issue enabling GLSL 1.30 even if we are going to restrict our API usage
+         to 2. This allows using texelFetch() on OpenGL 3.0 and 3.1 drivers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:24:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglutils.c:
+         opengl: Add low level support for tiled formats
+         This adds support for tiled format in stride and plane size
+         code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-frame.c:
+         video: Port video frame to the new tile size helper
+         This is now moved to the library, so it can be used in multiple
+         places.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:14:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+         video: Add a helper to get the tile size information
+         Since the addition of tiling format with subsampled tile size
+         (NV12_16L32S), getting the tile width/height shifts and tile
+         size have become more complex. Add a helper to extract and
+         scale this information for the selected plane and format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:18:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Add missing NV21/61 support
+         Caps would allow that, but selecting this format would lead to
+         an "no reached" assertion in the code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-27 10:18:39 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: release stream lock after handling gap events
+         The stream lock is taken before handling gap events but was not released in all
+         possible runtime situations. This issue was introduced in:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2307>
+
+2022-04-28 15:32:27 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/subparse/samiparse.c:
+         subparse: don't deref a potentially NULL variable
+         If the html SAMI data is malformed, then retrieving the attribute name
+         may fail.  We then cannot retrieve the attribute value.
+         Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2317>
+
+2022-04-27 09:22:40 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+       * tools/gst-play.c:
+         parsebin: Expose streams of unknown type
+         This actually respects the existing `expose-all-streams` property by exposing
+         them and having them present in the stream collection (as streams of type
+         unknown).
+         Fixes #1179
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2309>
+
+2022-04-27 08:23:59 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstplaybin2.c:
+         playbin2: Remove dead code
+         blacklisted_mimes has been empty for ages. Remove the code "using" it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2306>
+
+2022-04-21 02:04:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/pango/gsttimeoverlay.c:
+       * ext/pango/gsttimeoverlay.h:
+         timeoverlay: add support for reference timestamp time mode
+         + update date-time mode to actually use the timestamp that
+         was selected with the time-mode property
+         Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2252>
+
+2022-04-27 02:08:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: always store input buffer meta before negotiation
+         The decision to store the input buffer depends on whether extensions
+         are to be added to the output buffer, I assume as an optimization.
+         This creates an issue for subclasses that call negotiate(), where
+         header_exts is actually populated, from their handle_buffer()
+         implementation: at chain time, no header extension has been negotiated
+         yet, which means that we don't add extensions to the first batch of
+         buffers that comes out.
+         Keep track of whether negotiate has been called (this is different
+         from the negotiated field) and always store the input buffer until
+         then. This fixes the issue while largely preserving the optimization.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2304>
+
+2022-04-24 23:19:00 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+         videoscale: Fix the src video info error in transfer_colorimetry_from_input()
+         Pipeline such as:
+         gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12,colorimetry=\(string\)bt709 \
+         ! videoscale ! video/x-raw,format=I420 ! fakesink
+         Always trigger a error:
+         ERROR             video-info video-info.c:556:gst_video_info_from_caps: no width property given
+         Because it is called before the fixate_size(), the src caps' resolution
+         may be absent or not fixed. That causes that the src video info can not
+         be created correctly and we can not inherit the colorimetry and chroma-site
+         from the input caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2289>
+
+2022-04-26 10:58:08 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: fix assertion when pushing last and only buffer without duration
+         Fixing this pipeline:
+         gst-launch-1.0 filesrc location=sample.png ! pngdec ! videorate ! fakesink
+         - videorate receives a single buffer with pts = 0, duration = invalid;
+         - then it receives eos triggering this buffer to be pushed downstream;
+         - the pushing code was assuming that a duration was set, which is
+         impossible as we received a single buffer and no output framerate was
+         set either. So the best we can do is to push the buffer without
+         duration.
+         Fix #1177
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2296>
+
+2022-04-26 09:29:39 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/ogg/gstoggstream.c:
+         oggdemux: Protect against invalid framerates
+         This check wasn't done for all mappings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2295>
+
+2022-03-07 08:46:57 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/gl/meson.build:
+         Meson: Fix deprecation warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-21 11:41:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/videorate/gstvideorate.c:
+         Revert "videorate: Update the base time on segment updates"
+         This reverts commit 75b4809ebc23814009bebc70c775ab44d85decf2.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/videorate.c:
+         Revert "videorate: Add test for segment update"
+         This reverts commit a76f38b2c7ddbed546bb058c32ebcf8a553c003f.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/videorate/gstvideorate.c:
+       * tests/check/elements/videorate.c:
+         Revert "videorate: Only "close" the segment if it is discontinous"
+         This reverts commit 6f7922b4dbba5ed780e7b0988669a81848a9e333.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/videorate/gstvideorate.c:
+         Revert "videorate: Drop incoming buffers that are outside of the segment"
+         This reverts commit 24fd80344dbc059b72e13d813ca82f414a9d6cce.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:40:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/videorate.c:
+         Revert "videorate: Add unit test for closing a segment and opening a separate one"
+         This reverts commit 98f2a84a289ed4d4cfac9bc5c73182a56eefa99c.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2020-11-26 18:18:52 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: keep old buffer when processing a MISSING_DATA gap
+         GAP events flagged with MISSING_DATA are transformed into GAP buffers
+         flagged with CORRUPTED.
+         In these cases, it is preferable to simply keep rendering the previous
+         buffer (if there was one) instead of flashing the pad in and out of
+         view.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 18:16:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: fix prepare_frame obscuring check
+         A pad without a buffer or with a GAP buffer cannot obscure a
+         pad below it. Ignore those when considering whether a pad should
+         be drawn.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 15:57:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: a pad without a frame can't obscure the background
+         Skip those when considering whether the background should be
+         drawn
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2022-04-20 16:25:49 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/videoscale.c:
+         videoscale: Add test to ensure that non-scaled metas are kept
+         Just make sure that we're not breaking non-scaled metas
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:15 +0000  James Cowgill <james.cowgill@blaize.com>
+
+       * tests/check/elements/videoscale.c:
+         videoscale: Add test for transform_meta function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:21 +0000  James Cowgill <james.cowgill@blaize.com>
+
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+         videoscale: Don't copy scaled metas
+         Returning TRUE from the `transform_meta` function tells
+         GstBaseTransform to copy the meta into the new buffer. If videoscale
+         has already transformed a meta by scaling it, it should always return
+         FALSE to avoid duplicating the meta.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-04-01 15:16:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/ximage/ximagesink.c:
+       * sys/xvimage/xvimagesink.c:
+         x11: Fix unused variable warnings
+         These are emitted when XInput 2 is not available.
+         ```
+         ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c: In function ‘gst_x_image_sink_handle_xevents’:
+         ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:696:29: warning: unused variable ‘state’ [-Wunused-variable]
+         696 |   GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+         |                             ^~~~~
+         ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:694:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+         694 |   gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+         |                                   ^~~~~~~~~~~~~~~~
+         ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c: In function ‘gst_xv_image_sink_handle_xevents’:
+         ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:427:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+         427 |   gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+         |                                   ^~~~~~~~~~~~~~~~
+         ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:426:29: warning: unused variable ‘state’ [-Wunused-variable]
+         426 |   GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+         |                             ^~~~~
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2093>
+
+2022-04-21 10:21:37 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * tests/validate/convertscale/convert_disable_scale.validatetest:
+       * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+       * tests/validate/convertscale/scale_disable_convert.validatetest:
+       * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+         tests: convertscale: Do not log EOS events in validateflow
+         We already checked that we are getting an EOS before going back to ready
+         and adding the EOS at the end of the .validateflow is racy as the ERROR
+         message might reach the bus before it is logged.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264>
+
+2022-04-14 09:48:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videoconvertscale/gstvideoconvert.c:
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+       * gst/videoconvertscale/gstvideoconvertscale.h:
+       * gst/videoconvertscale/gstvideoscale.c:
+       * tests/validate/convertscale/convert_disable_scale.validatetest:
+       * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+       * tests/validate/convertscale/scale_disable_convert.validatetest:
+       * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+       * tests/validate/meson.build:
+         videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2021-05-21 18:55:25 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videoconvertscale/gstvideoconvert.c:
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+       * gst/videoconvertscale/gstvideoconvertscale.h:
+       * gst/videoconvertscale/gstvideoscale.c:
+         videoconvertscale: Don't claim we can support any kind of memory
+         Since d0133a2d11566ff4c0cded7af8dfdff0046e0e8b "videoconvert: Allow
+         passthrough for ANY caps features" videoconvert will always claim that
+         it supports any kind of memory which is true in very specific case (when
+         it is running in passthrough mode). To get elements that autoplug
+         converters depending on the caps running in the pipeline (like
+         autovideoconvert), we need to have converters no lie about what they can
+         do when queried `accept_caps` or `query_caps`.
+         This still accepts any caps feature as before but it introduces
+         a restriction in the way we handle memory capsfeatures.
+         We keep previous behaviour in videoconvert and videoscale.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2020-04-17 15:23:03 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/meson.build:
+       * gst/videoconvert/gstvideoconvert.c:
+       * gst/videoconvert/meson.build:
+       * gst/videoconvertscale/README:
+       * gst/videoconvertscale/gstvideoconvert.c:
+       * gst/videoconvertscale/gstvideoconvert.h:
+       * gst/videoconvertscale/gstvideoconvertscale.c:
+       * gst/videoconvertscale/gstvideoconvertscale.h:
+       * gst/videoconvertscale/gstvideoconvertscaleplugin.c:
+       * gst/videoconvertscale/gstvideoscale.c:
+       * gst/videoconvertscale/gstvideoscale.h:
+       * gst/videoconvertscale/meson.build:
+       * gst/videoscale/README:
+       * gst/videoscale/meson.build:
+       * meson_options.txt:
+         Introduce the videocolorscale element
+         Now that videoconvert and videoscale's are both based on
+         GstVideoConverter and are using the exact same code, it makes much more
+         sense to have one element doing the two operation, and it can be
+         more efficient in some cases (one single path for both operations).
+         This removes the `videoscale` and `videoconvert` plugins but keeps the element
+         but makes them also do both operations (adding some APIs to each element).
+         There is a small change in API for the `videoscale:dither` property which
+         was previously a totally unused boolean, it is now an enum and is used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-04-07 19:36:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdp: Parse the RFC5576 Source-specific media SDP attributes into caps
+         The format of the caps fields is
+         ssrc-(SSRC_VALUE)-(ATTRIBUTE_NAME)=(ATTRIBUTE_VALUE)
+         .
+         Parsing of the attributes from the caps into the SDP is not implemented
+         as this depends not only a single stream's caps but on the whole rtpbin
+         configuration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-18 18:53:45 +0900  Camilo Celis Guzman <camilo@pexip.com>
+
+       * ext/gl/gstglmixerbin.c:
+         gstglmixerbin: minor refactor of _find_element_pad_template
+         As suggested by @slomo, make the loop more readable and prevent returning
+         a garbage value to the caller from the previous implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2232>
+
+2022-03-25 10:18:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Always define ENABLE_NLS
+         GLib guarantees libintl API is always available, provided by
+         proxy-libintl as last resort. GLib itself unconditionally define
+         ENABLE_NLS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/gettext.h:
+       * gst-libs/gst/gst-i18n-app.h:
+       * gst-libs/gst/gst-i18n-plugin.h:
+         Delete unused i18n headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/alsa/gstalsaelement.c:
+       * ext/alsa/gstalsaplugin.c:
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasrc.c:
+       * ext/cdparanoia/gstcdparanoiasrc.c:
+       * ext/gl/gstgltestsrc.c:
+       * ext/ogg/gstoggdemux.c:
+       * gst-libs/gst/audio/gstaudiobasesrc.c:
+       * gst-libs/gst/audio/gstaudiocdsrc.c:
+       * gst-libs/gst/gl/gstglbasesrc.c:
+       * gst-libs/gst/pbutils/descriptions.c:
+       * gst-libs/gst/pbutils/missing-plugins.c:
+       * gst-libs/gst/pbutils/pbutils.c:
+       * gst-libs/gst/tag/gsttagdemux.c:
+       * gst-libs/gst/tag/lang.c:
+       * gst-libs/gst/tag/tags.c:
+       * gst/encoding/gstencodebasebin.c:
+       * gst/encoding/gstencodingelements.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gstplaybackelement.c:
+       * gst/playback/gstplaybackplugin.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gstplaysinkaudioconvert.c:
+       * gst/playback/gstplaysinkconvertbin.c:
+       * gst/playback/gstplaysinkvideoconvert.c:
+       * gst/playback/gsturidecodebin.c:
+       * gst/playback/gsturidecodebin3.c:
+       * gst/playback/gsturisourcebin.c:
+       * gst/tcp/gstmultifdsink.c:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/tcp/gstmultisocketsink.c:
+       * gst/tcp/gstsocketsrc.c:
+       * gst/tcp/gsttcpclientsink.c:
+       * gst/tcp/gsttcpclientsrc.c:
+       * gst/tcp/gsttcpserversink.c:
+       * gst/tcp/gsttcpserversrc.c:
+       * tools/gst-device-monitor.c:
+       * tools/gst-play.c:
+         Replace gst-i18n-*.h with gi18n-lib.h
+         GLib guarantees libintl is always present, using proxy-libintl as
+         last resort. There is no need to mock gettex API any more.
+         This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+         be defined before including libintl.h, and glib does it for us as part
+         as including glib.h.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 11:21:03 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * tools/gst-play.c:
+         gst-play: Do not split translatable string
+         Concatenating N_() strings does not work with gi18n.h macro, was working
+         only with GStreamer's redefinition.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2021-12-08 11:48:08 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/gl/meson.build:
+         cuda: Factor out a public GstCUDA library
+         So applications and elements implemented outside GStreamer can reuse
+         our infrastructure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2022-04-19 11:05:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-frame.c:
+         video: Fix possible overrun when iterating comp[] array
+         Fix 2 iterations that can overrun the array if the number of component is
+         equal to the size of the array.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-19 10:53:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-frame.c:
+         Revert "video-frame: avoid possible out of bound memory access"
+         This reverts commit c4255f08f787ff6a41504b538fa4c2e911d40ec7.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-18 15:44:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/sdp/meson.build:
+         meson: Add -Wl,-rpath,${libdir} on macOS
+         We made the gstreamer installation prefix relocatable by picking up
+         plugins relative to the location of libgstreamer-1.0.dylib, similar to
+         how it's done for Windows:
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+         This had a lot of side-effects:
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+         A partial fix for the cerbero side of these was:
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+         However, this relied on the consumers knowing that they need to add
+         `LC_RPATH` entries to the libdir of the prefix. This is done
+         automatically by build systems like Meson, but not by others, such as
+         Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+         RPATH entries to the gstreamer-1.0.pc file.
+         This also has the side-effect of fixing the loading of gstreamer rust
+         plugins on macOS:
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2022-04-18 18:14:44 +0900  Camilo Celis Guzman <camilo@pexip.com>
+
+       * gst-libs/gst/video/video-frame.c:
+         video-frame: avoid possible out of bound memory access
+         Although the components' initialization code would fill in -1 to all
+         unset components, make the code a bit more defensive and check for an
+         index bound first.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2231>
+
+2021-11-12 20:13:10 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         gst_plugin_load_file: force plugin reload if diff filename
+         If a file includes a new version of a plugin that exits in the
+         registry, the output of gst-inspect is incorrect. The output has the
+         correct version but incorrect filename, and element description.
+         This seems to have also fixed some documentation issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2021-05-25 14:41:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: fix collection leak
+         get_merged_collection() returns an owned stream collection and was
+         leaked in the else block.
+         Fix leak when running:
+         GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/954>
+
+2022-04-15 14:03:08 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: fix missing lock when unknown stream type in pad-removed cb
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2193>
+
+2022-04-14 15:21:48 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Don't duplicate stream selections
+         Make sure that the requested stream selection isn't identical to the current
+         one. If that's the case, just carry on as usual.
+         This avoids multiple `streams-selected` posting ... when the selection didn't
+         change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2185>
+
+2022-04-14 18:44:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: fix annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2188>
+
+2022-04-15 19:55:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: Don't write header extensions if there's no corresponding input buffer for the packet
+         The GstRTPHeaderExtension API requires the input buffer to exist.
+         This can happen if the output packet is generated e.g. from a caps or
+         tags event like in the case for rtpgstpay.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2198>
+
+2022-04-14 20:10:46 +1000  Brad Hards <bradh@frogmouth.net>
+
+       * tests/interactive/audio-trickplay.c:
+       * tests/interactive/benchmark-appsink.c:
+       * tests/interactive/benchmark-appsrc.c:
+       * tests/interactive/benchmark-video-conversion.c:
+       * tests/interactive/input-selector-test.c:
+       * tests/interactive/meson.build:
+       * tests/interactive/output-selector-test.c:
+       * tests/interactive/playback/decodetest.c:
+       * tests/interactive/playback/test.c:
+       * tests/interactive/playback/test2.c:
+       * tests/interactive/playback/test3.c:
+       * tests/interactive/playback/test4.c:
+       * tests/interactive/playback/test5.c:
+       * tests/interactive/playback/test6.c:
+       * tests/interactive/playback/test7.c:
+       * tests/interactive/playbin-text.c:
+       * tests/interactive/position-formats.c:
+       * tests/interactive/stress-playbin.c:
+       * tests/interactive/stress-videooverlay.c:
+       * tests/interactive/test-box.c:
+       * tests/interactive/test-colorkey.c:
+       * tests/interactive/test-effect-switch.c:
+       * tests/interactive/test-header-compile:
+       * tests/interactive/test-overlay-blending.c:
+       * tests/interactive/test-resample.c:
+       * tests/interactive/test-reverseplay.c:
+       * tests/interactive/test-scale.c:
+       * tests/interactive/test-textoverlay.c:
+       * tests/interactive/test-videooverlay.c:
+       * tests/meson.build:
+         tests: rename 'icles' subdir to be more descriptive
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-12 01:35:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/meson.build:
+         meson: gst-play: Restore Windows high-resolution timer support
+         Fix regression of the commit 2952a73f4083487f33ae83407bef5245d2f8fef2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2154>
+
+2022-04-12 01:01:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-play.c:
+       * tools/meson.build:
+         win32: Enable high-resolution timer for MinGW build
+         timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+         header instead, which defines struct and APIs in case of our MinGW
+         toolchain. Note that in case of native Windows10 SDK (MSVC build),
+         mmsystem.h will include timeapi.h
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-12 15:23:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         Fix `transfer` gobject-introspection annotation typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160>
+
+2022-04-10 10:55:02 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/subparse/gstsubparseelement.c:
+         subparse: don't try to index string with -1
+         If the len of the string turns out to be 0, str[len - 1] resolved to
+         str[-1] which is not a good idea.
+         Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46543
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2147>
+
+2022-04-08 11:10:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/ogg/gstoggstream.c:
+       * ext/ogg/vorbis_parse.c:
+       * ext/ogg/vorbis_parse.h:
+         ogg: fix possible buffer overrun
+         If an ogg stream does not match our expectations of how the end of a
+         buffer may be structured, it was possible to read memory past the end of
+         the buffer parsed by libogg.  Include a bounds check for this case and
+         stop parsing.
+         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3930
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2134>
+
+2022-04-08 01:52:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: fix transfer annotation for push and push_list
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2133>
+
+2022-04-07 10:08:37 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+       * gst-libs/gst/riff/riff-media.c:
+         riff-media: fix memory leak after usage for g_strjoin
+         This leak is observed with valgrind.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2129>
+
+2022-04-06 18:08:46 +0200  Bastian Krause <bst@pengutronix.de>
+
+       * ext/gl/gstgltransformation.c:
+       * ext/gl/gstgltransformation.h:
+         gltransformation: let graphene alloc its structures memory aligned
+         With NEON instructions enabled, graphene expects the memory passed to it
+         16-byte-aligned. Otherwise unaligned memory access faults occur causing
+         SIGBUS signals.
+         graphene has alloc functions for its structures that take care of this,
+         so use them.
+         See also: https://github.com/ebassi/graphene/issues/215#issuecomment-794744829
+         Suggested-by: Sebastian Dröge <sebastian@centricular.com>
+         Signed-off-by: Bastian Krause <bst@pengutronix.de>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1321>
+
+2022-04-04 10:46:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: Clarify buffer ref semantics in signals
+         The documentation could be read to mean that the caller continuous to
+         'own' the buffer, and that there is some other mechanism to find out
+         when to unref it.
+         Clarify that "not taking ownership" here means "taking a reference",
+         and specify that you can unref it at any time after calling the
+         function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2110>
+
+2021-01-21 16:01:38 +0800  Zhao Zhili <quinkblack@foxmail.com>
+
+       * tests/examples/gl/gtk/gstgtk.c:
+       * tests/examples/playback/playback-test.c:
+         examples: fix build on macOS with gtk+-quartz-3.0
+         gdk_quartz_window_get_nsview is not declared in the header file now:
+         error: implicit declaration of function 'gdk_quartz_window_get_nsview'
+         is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+         fixes #979
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-04-01 21:47:59 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/gl/gstglelement.c:
+       * sys/ximage/ximage.c:
+       * sys/xvimage/xvimage.c:
+       * tests/check/elements/glfilter.c:
+       * tests/check/elements/glimagesink.c:
+       * tests/check/elements/glmixer.c:
+       * tests/check/elements/glstereo.c:
+       * tools/gst-play.c:
+         ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-03-30 11:06:02 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Use gmodule-no-export-2.0
+         We don't need `-Wl,--export-dynamic`, that's used only for executables
+         that needs to export an API to be used by plugins they load.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/alsa/meson.build:
+       * ext/cdparanoia/meson.build:
+       * ext/libvisual/meson.build:
+       * ext/ogg/meson.build:
+       * ext/opus/meson.build:
+       * ext/pango/meson.build:
+       * ext/theora/meson.build:
+       * ext/vorbis/meson.build:
+       * gst-libs/gst/sdp/meson.build:
+       * gst/tcp/meson.build:
+       * gst/videoscale/meson.build:
+       * gst/videotestsrc/meson.build:
+       * gst/volume/meson.build:
+       * meson.build:
+       * sys/ximage/meson.build:
+       * sys/xvimage/meson.build:
+       * tests/check/meson.build:
+       * tests/examples/app/meson.build:
+       * tests/examples/audio/meson.build:
+       * tests/examples/decodebin_next/meson.build:
+       * tests/examples/dynamic/meson.build:
+       * tests/examples/encoding/meson.build:
+       * tests/examples/fft/meson.build:
+       * tests/examples/gio/meson.build:
+       * tests/examples/overlay/meson.build:
+       * tests/examples/playback/meson.build:
+       * tests/examples/playrec/meson.build:
+       * tests/examples/seek/meson.build:
+       * tests/examples/snapshot/meson.build:
+       * tools/meson.build:
+         Remove glib and gobject dependencies everywhere
+         They are part of gst_dep already and we have to make sure to always have
+         gst_dep. The order in dependencies matters, because it is also the order
+         in which Meson will set -I args. We want gstreamer's config.h to take
+         precedence over glib's private config.h when it's a subproject.
+         While at it, remove useless fallback args for gmodule/gio dependencies,
+         only gstreamer core needs it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-31 12:47:06 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: should copy metadatas from the incoming buffer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094>
+
+2022-04-01 10:25:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+         playbin/playbin3: Allow setting a NULL URI
+         The URI is already initialized to NULL at the beginning and GstPlayer
+         was assuming that it is possible to set to NULL at a later time too.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1124
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2090>
+
+2022-03-31 23:41:41 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+         navigation: Rename parse_state to parse_modifier_state
+         `parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087>
+
+2022-03-29 17:51:13 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * tests/check/libs/gstglmatrix.c:
+       * tests/check/meson.build:
+         base:gl: add x11 deps to gstglx11_dep
+         On MacOS with homebrew the xlib-xcb.h is in
+         own cellar /opt/homebrew/Cellar/libx11/1.7.3.1/include
+         Need to add the windowing dependencies to gl tests
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2061>
+
+2020-03-30 15:16:29 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * tests/examples/overlay/meson.build:
+         overlay: Fix qt support detection
+         On Ubuntu moc-qt5 command is called moc. This requires Meson 0.54.0 for
+         the new has_tools() method.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2075>
+
+2022-03-29 22:16:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-play-kb.c:
+         gst-play: Improve Win32 keyboard input handling
+         The console HANDLE will be keep signalled state unless application
+         reads console input buffer immediately. So we should read and flush
+         console input buffer from the thread where the event is signalled,
+         instead of GMain context thread.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2058>
+
+2021-09-11 12:17:56 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+       * tools/meson.build:
+         tools: Add support for building gstreamer tools against gst-full
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-28 18:43:27 +0200  Enrique Ocaña González <eocanha@igalia.com>
+
+       * gst/playback/gstplaysink.c:
+         playsink: improve GL context sharing
+         Configure playsink tried element with the bus of the main pipeline.
+         That tried element can be a gl video sink, which would benefit from being
+         able to propagate context messages to the main pipeline and have other
+         internal pipeline elements configured with it. Having different elements
+         configured with the same GL context allows them to share buffers with
+         video/x-raw(memory:GLMemory) caps and achieving zero-copy.
+         Thanks to Alicia Boya García <aboya@igalia.com> for her work co-debugging
+         the issue and contributing to find a solution.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2056>
+
+2021-06-09 11:25:36 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: When streams-aware, remove pads immediately
+         For the same reason we add them immediately
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-06-08 14:31:10 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Don't wait for pads content when streams-aware
+         If the adaptive demux is streams-aware it can add/remove pads at any point in
+         time without the need for no-more-pads or data blocking
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-29 07:31:15 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Don't do buffering if source already does
+         Sources that can internally handle buffering shouldn't have yet-another
+         buffering element after it. This can be simply detected by checking if it can
+         answer a TIME BUFFERING query just after creation.
+         If that is the case, we can expose the element source pads directly
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-28 07:49:10 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Handle upstream selection
+         Detect if upstream handles stream-selection, and if so bypass all stream
+         selection handling (streams are forwarded as-is).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2022-03-28 12:13:12 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+         pbutils: Fix wmv screen detection
+         strncmp vs !strncmp :)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2050>
+
+2022-03-28 10:10:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/video/video-format.h:
+         video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-16 10:31:56 +0000  Corentin Damman <c.damman@intopix.com>
+
+       * gst/rawparse/gstrawvideoparse.c:
+         rawvideoparse: set format from caps in gst_raw_video_parse_set_config_from_caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1970>
+
+2022-03-27 16:35:14 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: slightly better pad/element creation
+         Use the return value from gst_element_link_pads() and gst_bin_add()
+         Fixes:
+         ../ext/gl/gstglmixerbin.c:305:12: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+         gboolean res = TRUE;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2038>
+
+2022-03-25 13:00:13 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         gl: cocoa: fix warnings of unused variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2026>
+
+2022-03-18 16:59:32 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/gl/gstglimagesink.c:
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+       * sys/ximage/ximagesink.c:
+       * sys/xvimage/xvimagesink.c:
+       * tests/check/libs/navigation.c:
+       * tests/examples/playback/playback-test.c:
+         navigation: Add support for key Modifiers in all relevant events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 13:01:52 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+         navigation: Add missing annotation to send_event_simple
+         Adds the missing "transfer full" annotation for the event argument.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2017>
+
+2022-03-22 21:13:31 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * sys/xvimage/meson.build:
+       * sys/xvimage/xvcontext.c:
+       * sys/xvimage/xvcontext.h:
+       * sys/xvimage/xvimagesink.c:
+         xvimagesink: Add touch event support
+         Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+         events, grouping events with identical timestamps into one TOUCH_FRAME.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-03 15:01:46 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * meson_options.txt:
+       * sys/meson.build:
+       * sys/ximage/meson.build:
+       * sys/ximage/ximagesink.c:
+       * sys/ximage/ximagesink.h:
+         ximagesink: Add touch event support
+         Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+         events, grouping events with identical timestamps into one TOUCH_FRAME.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-01-31 20:25:23 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+         navigation: Add API for touchscreen events
+         Add 5 new navigation event types for touchscreen events, with the same
+         naming and meaning as in libinput - touch-down, touch-motion, touch-up,
+         touch-frame and touch-cancel - as well as constructors and parse
+         functions for them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglsinkbin.c:
+       * ext/gl/gstgltransformation.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/videoscale/gstvideoscale.c:
+       * sys/ximage/ximagesink.c:
+       * sys/xvimage/xvimagesink.c:
+       * tests/check/libs/navigation.c:
+       * tests/examples/playback/playback-test.c:
+         all: Use new navigation interface and API
+         Use and implement the new navigation interface in all relevant sink elements,
+         and use API functions everywhere instead of directy accessing the event structure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:22:29 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+         navigation: Add coordinate helper functions
+         Add a function to get x/y coordinates from suitable navigation events,
+         and one to create a copy with given coordinate values.
+         For e.g. translating event coordinates, this avoids having to either
+         switch on the event type to select the right parse function, or
+         having to rely on implementation details of the underlying event
+         structure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:06:12 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+       * tests/check/libs/struct_aarch64.h:
+       * tests/check/libs/struct_arm.h:
+       * tests/check/libs/struct_i386.h:
+       * tests/check/libs/struct_i386_osx.h:
+       * tests/check/libs/struct_ppc32.h:
+       * tests/check/libs/struct_ppc64.h:
+       * tests/check/libs/struct_x86_64.h:
+         navigation: Improve interface to avoid exposing implementation details
+         This deprecates the current send_event interface, and the wrapper
+         functions based on it, replacing it with a send_event_simple interface and
+         wrapper function. Together with the new event constructors, this avoids
+         implementations having to directly access the underlying structure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-18 16:34:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update cache after NV12_8L128 addition
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2021-08-12 11:00:11 +0800  Ming Qian <ming.qian@nxp.com>
+
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+       * gst-libs/gst/video/video-info.c:
+       * tests/check/elements/videoscale.c:
+       * tests/check/libs/video.c:
+         video: Add support for linear 8x128 NV12 tiles and 10bit BE tiles
+         This adds linear 8x128 NV12 based tiles and NV12 10bit big endian tiles.
+         These formats are used by i.MX 8QXP/8QM VPU and exposed in V4L2.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-18 13:42:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Bump all meson requirements to 0.60
+         Lots of new warnings ever since
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 20:43:24 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+         discoverer: chain up to parent finalize methods in all our types
+         Fixes a memory leak:
+         Direct leak of 32 byte(s) in 1 object(s) allocated from:
+         #0 0x5ac5cd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
+         #1 0x1007007 in g_malloc /work/glib-2.72.0/_builddir/../glib/gmem.c:125:13
+         #2 0xf82e82 in g_data_set_internal /work/glib-2.72.0/_builddir/../glib/gdataset.c:464:8
+         #3 0xf833f7 in g_datalist_id_set_data_full /work/glib-2.72.0/_builddir/../glib/gdataset.c:670:3
+         #4 0xef81be in g_object_notify_queue_freeze /work/glib-2.72.0/_builddir/../gobject/gobject.c:295:7
+         #5 0xef79c6 in g_object_unref /work/glib-2.72.0/_builddir/../gobject/gobject.c:3632:16
+         #6 0x5e58bf in LLVMFuzzerTestOneInput /src/gstreamer/ci/fuzzing/gst-discoverer.c:132:5
+         #7 0x4dd1a2 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
+         #8 0x4dc98a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
+         #9 0x4de6c4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:809:5
+         #10 0x4dea29 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
+         #11 0x4ce4a0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
+         #12 0x4f6f52 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
+         #13 0x7f1c709980b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1984>
+
+2022-01-17 16:10:37 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * tests/check/libs/gstglvideomixerelement.c:
+       * tests/check/meson.build:
+         glvideomixerelement: send translated navigation events to the relevant sink pads
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-01-05 19:33:06 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst/compositor/compositor.c:
+       * tests/check/elements/compositor.c:
+         compositor: send translated navigation events to the relevant sink pads
+         Fixes #888
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-03-15 13:59:16 +0100  Corentin Noël <tintou@noel.tf>
+
+       * gst-libs/gst/audio/gstaudiodecoder.h:
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+       * gst-libs/gst/audio/gstaudiosink.h:
+       * gst-libs/gst/audio/gstaudiosrc.h:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst-libs/gst/video/video-chroma.c:
+       * gst-libs/gst/video/video-scaler.c:
+         gst-plugins-base: Fix several annotations
+         Add annotations for virtual methods when possible.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2021-12-16 18:41:38 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/opus/gstopusenc.c:
+         opusenc: change default bitrate-type from cbr to constrained-vbr
+         Which is the default in libopus itself as well, with a comment
+         that constrained-vbr is considered "safer for real-time use".
+         Unclear why CBR was the default in the first place.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1451>
+
+2022-03-15 12:57:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+         rtpbuffer: The out args for rtp extension data are optional
+         The code checks that these are != NULL before dereferencing them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1962>
+
+2022-03-10 10:25:53 +0100  Bastien Nocera <hadess@hadess.net>
+
+       * gst-libs/gst/video/convertframe.c:
+       * meson.build:
+         convertframe: Add support for GL-memory backend GstFrame input
+         Add "gldownload" early in the pipeline so that GL-memory backed raw
+         frames can be downloaded and processed on the CPU.
+         Closes: #1073
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1916>
+
+2022-03-11 18:08:14 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/gl/meson.build:
+         Meson: Set install_tag on some files
+         Meson tries to guess the tag (runtime, devel, etc) for every installed
+         file, but it cannot guess them all. There is a list at the end of
+         meson-log.txt of files we need to tag manually.
+         See https://mesonbuild.com/Installing.html#installation-tags.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-03-02 03:45:48 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Remove stale code
+         Remove now-unused get_stream_type_for_event() function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 16:23:38 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Reset parsebin when new caps arrive
+         Check if parsebin can handle the new caps, and if not reset it so that it can
+         reconfigure itself for the new stream format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-03-09 10:15:08 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Convert checks to assertions
+         "decodebin.input" is never resetted and should always be present, therefore make
+         it an assertion check
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 14:52:07 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Implement ACCEPT_CAPS handling
+         The default query handler would go through typefind, which by default accepts
+         any CAPS. But once configured, parsebin can't reconfigure itself, it should
+         therefore pass through the ACCEPT_CAPS query to the first element after
+         typefind (if any).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 05:48:08 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Hold playbin lock on pad-added
+         Take the playbin lock when accessing the combiner
+         to add a new pad to link to. Fixes races against
+         streams-selected messages triggering reconfiguration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 02:52:47 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Reconfigure on streams-selected message.
+         Don't reconfigure outputs when the select-streams
+         event is sent from the app, as the selection may
+         not take effect for some time. Instead, wait
+         for the pipeline to confirm the new set of
+         selected streams when it sends the message.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-11-11 03:20:23 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaysink.c:
+         playsink: Fix reconfiguration after removing text_sink
+         If we previously had subtitles coming in, the video
+         may be chained through a text overlay block. Before,
+         the code would end up trying to link pads that were
+         already linked and video would not get reconnected
+         properly.
+         To fix that, make sure that the candidate
+         pads are actually unlinked first. If a textoverlay
+         is present and no longer needed, it will be cleaned
+         up later in the reconfiguration sequence.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-08-06 19:27:02 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaysink.c:
+         playsink: Complete reconfiguration on pad release.
+         Requesting a new pad can start a reconfiguration cycle, where
+         playsink will block all input pads and wait for data on them
+         before doing internal reconfiguration. If a pad is released,
+         that reconfiguration might never trigger because it's now waiting
+         for a pad that doesn't exist any more.
+         In that case, complete the reconfiguration on pad release.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1180>
+
+2022-03-08 09:46:33 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/codec-utils.h:
+       * tests/check/libs/pbutils.c:
+         pbutils: Add function to parse RFC 6381 codecs field
+         This is the opposite of `gst_codec_utils_caps_get_mime_codec()`, which allows
+         elements to get the `GstCaps`
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1894>
+
+2022-03-09 16:02:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * tests/check/libs/rtpbasepayload.c:
+         rtpbasepayload: Remove dead twcc code
+         This feature was removed in 7a53fbad68d702ca4905f7da223f4d2884548edc,
+         but this code was left behind.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1902>
+
+2021-12-14 16:14:56 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: Handle GAP events before buffers
+         Make sure we did initial negotiation and segment pushing if we get GAP events
+         before buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2021-11-17 15:30:38 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: Properly propagate sequence numbers
+         If we received a time segment from upstream, we need to make sure we propagate
+         it downstream with the same sequence number.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2022-03-02 03:43:00 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Add lock to protect buffering messages
+         Fix a small race where a group can receive stream-start
+         and post a pending buffering message just as another
+         thread posts a different buffering message, causing them
+         to be received by the application out of order. In the
+         worst case, this leads the application receiving a
+         stale 99% buffering message and going back to buffering
+         right after the 100% buffering message.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1840>
+
+2022-03-02 12:15:19 +0800  Hou Qi <qi.hou@nxp.com>
+
+       * gst/encoding/gstencodebasebin.c:
+         encodebasebin: Use GST_DEBUG instead of GST_ERROR when skipping muxer
+         _get_muxer() skips the muxers that do not satisfy the requirement and select
+         the desired one. It should not print error log, so use debug log instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1830>
+
+2022-03-04 22:21:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gldisplay: Reorder GST_GL_WINDOW check for egl-device
+         "egl-device" should be checked before the "egl", otherwise unexpected egl will be picked
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1853>
+
+2022-02-24 01:41:34 +1100  Jan Schmidt <jan@centricular.com>
+
+       * tools/gst-play.c:
+         gst-play: Allow switching to previous tracks
+         Implement case sensitive key-press handling,
+         and make 'V', 'A', 'S' switch to the previous
+         video, audio, or subtitle track. The lower-case
+         keypress cycles to the next track, as before
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1841>
+
+2021-09-01 14:02:29 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+       * tests/check/libs/sdp.c:
+         sdp: support multiple rid parameters
+         As specified formally in RFC8851
+         Each rid description is placed in its own caps field in the structure.
+         This is very similar to the already existing extmap-$id sdp<->caps
+         transformations that already exists.
+         The mapping is as follows:
+         a=rid:0 direction ';'-separated params
+         where direction is either 'send' or 'recv'
+         gets put into a caps structure like so:
+         rid-0=(string)<"direction","param1","param2",etc>
+         If there are no rid parameters then the caps structure is generated to
+         only contain the direction as a single string like:
+         rid-0=(string)direction
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1760>
+
+2022-03-02 00:52:22 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Remove dead variables
+         Leftover junk from original port
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1820>
+
+2022-02-21 10:49:15 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * gst-libs/gst/tag/licenses.c:
+         Remove the uninstalled term
+         Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+         The `uninstalled` is the old name and the project should stick to a
+         single name for the procedure.
+         Remove the term from all the files, exceptions are variables from
+         dependencies like `uninstalled_variables` from pkgconfig and
+         `meson-uninstalled`.
+         Adjust mentions of the script in the documentation and README.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * README.md:
+         Maintain build instructions at a single location
+         Do not maintain similar build instructions within each gst-plugins-*
+         subproject and the subproject/gstreamer subproject. Use the build
+         instructions from the mono-repository and link to them via hyperlink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2021-12-10 15:51:51 +0100  Célestin Marot <marotcelestin@gmail.com>
+
+       * gst-libs/gst/video/video-info.c:
+         video-info: encoded format can have RGB color-matrix (Fixes #1435)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1435>
+
+2022-02-27 13:19:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video-format-info: Use correct parameter name in gst_video_format_info_extrapolate_stride() docs
+         ../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c:7570: Warning: GstVideo: gst_video_format_info_extrapolate_stride: unknown parameter 'info' in documentation comment, should be 'finfo'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1803>
+
+2022-02-16 18:49:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-converter.h:
+       * gst/audioconvert/gstaudioconvert.c:
+       * gst/audioconvert/gstaudioconvert.h:
+         audioconvert: Add dithering-threshold property
+         By default, no dithering is applied if the target bit depth is above 20
+         bits. This new property allows to apply dithering nonetheless in these
+         cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1730>
+
+2022-02-16 13:28:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/audio-quantize.c:
+         audio-quantize: Switch dither PRNG from LCG to xorshift
+         While this is slightly more expensive (~48% slower per random number) it
+         does not cause any measurable difference when running through a complete
+         audio conversion pipeline.
+         On the other hand its random numbers are of much higher quality and on
+         spectrograms for 32 bit to 24 bit conversion the difference is clearly
+         visible.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1729>
+
+2022-01-22 01:30:57 +1100  Jan Schmidt <jan@centricular.com>
+
+       * tools/gst-play.c:
+         gst-play: Fix trick-mode handling.
+         The instant-rate value in the TrickMode enum is a
+         flag, but the other values are not. Move instant-rate
+         to the end of the enum and give it a value large enough
+         for it to be used without modifying the trick-mode
+         setting.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1788>
+
+2022-02-24 10:09:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/appsrc.c:
+         appsrc: Store strong references to the expected buffers in the tests
+         Otherwise the buffers might already be freed as they were only owned by
+         the GstSample / appsrc and potentially don't survive until the pad
+         probe, as observed in some CI runs of the tests.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1787>
+
+2022-02-22 15:08:48 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Correct use of start_time/end_time
+         When 29713c5d changed most uses of `start_time` and `end_time` to
+         `start_running_time` and `end_running_time`, it missed two.
+         Fixes: 29713c5d40a1d7d1f21dada68f55f7a97f0b7025
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1038
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1779>
+
+2022-02-22 10:54:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: Copy all buffer metadata instead of just GstMetas for the input meta buffer
+         This gives RTP header extensions some more metadata to work from.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1774>
+
+2022-02-21 14:23:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+       * gst-libs/gst/gl/egl/gstglmemoryegl.h:
+       * gst-libs/gst/gl/gstglbasememory.c:
+       * gst-libs/gst/gl/gstglbasememory.h:
+       * gst-libs/gst/gl/gstglbuffer.c:
+       * gst-libs/gst/gl/gstglbuffer.h:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+       * gst-libs/gst/gl/gstglmemorypbo.c:
+       * gst-libs/gst/gl/gstglmemorypbo.h:
+       * gst-libs/gst/gl/gstglrenderbuffer.c:
+       * gst-libs/gst/gl/gstglrenderbuffer.h:
+         gl: Mark GL memory GType functions as deprecated
+         They can't be used in any useful way. The type of every GstMemory is
+         always GST_TYPE_MEMORY and the subtyping relationship has to be
+         implemented on top of that via the associated allocator and mem_type
+         string.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:12:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglshaderstrings.c:
+         gl: Add `#ifndef GST_REMOVE_DEPRECATED` for existing deprecated API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:08:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gl: Add versioned `Deprecated` marker to gst_gl_display_find_window
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:05:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.h:
+       * gst-libs/gst/gl/gstglshaderstrings.h:
+         gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:02:02 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gl-prelude.h:
+         gl: Add GST_GL_DEPRECATED
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-20 14:05:05 +0100  Sebastian Groß <s3b.gr0ss@gmail.com>
+
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+         audiovisualizer: shader: Fix dframe out of bound write
+         shader_fade_and_move_horiz_out writes a complete stride at the end of its
+         dframe data
+         This led to SIGSEGV since the stride reached into sframe->map[0]->memory
+         which could not be umpapped later on.
+         This is due to `d` is increased twice. Once at the end of the upper loop
+         and at the start of the lower loop.
+         The corresponding dframe stride is therefore skipped.
+         Rewind `d` and start at the correct position.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1702
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1751>
+
+2022-02-20 15:20:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Add NV12_16L32S into the cache
+         Autogenerated by CI
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-18 15:25:17 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/libs/video.c:
+         tests: video: Add a unit test for stride extrapolation
+         This is a minimal unit test the show that the stride extrapolation can work
+         with all pixel format we support. This minimal verify that the extrapolation
+         match the stride we set into GstVideoInfo with 320x240 for all the pixel
+         format we support. The tiles formats are skipped, since their stride is
+         set as two 16bit integers, and we also skip over palette planes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:04:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+         video: Add an helper to extrapolate strides
+         Many of the legacy APIs, specifically in the Linux Kernel, have a
+         single stride for the pictures. In this context, it is common
+         to extrapolate the other strides based on the selected pixel
+         format. Such function have been copy pasted from video4linux2
+         plugin into wayland, kms and v4l2codecs plugins.
+         This patch implements a generalized from of that function and
+         make it available to everyone through the video library.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2021-12-02 21:46:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+       * gst-libs/gst/video/video-frame.c:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-tile.h:
+       * tests/check/elements/videoscale.c:
+       * tests/check/libs/video.c:
+         video: Add NV12_16L32S aka Mediatek MM21 support
+         Unlike other simple tiled formats, the Mediatek HW use different tile size
+         per-plane. The tile size is scaled according to the subsampling. Effectively,
+         using the name 16L32S to represent linearly layout tiles of size 16x32 bytes
+         in the Y plane, and 16x16 in the UV plane. In order to make this specificity
+         discoverable, a new SUBTILES flags have been added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-19 01:58:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Use floor() to calculate current position
+         ... instead of round(). Depending on framerate, calculated position
+         may not be clearly represented by using uint64, 30000/1001 for example.
+         Then the result of round() can be sliglhtly larger (1ns) than
+         buffer timestamp. And that will cause unnecessary frame delay.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1747>
+
+2021-10-28 17:09:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/audio/gstaudioencoder.c:
+         base: audioencoder: Keep serialize event behind buffers
+         If a serialized event arrives behind a buffer, it should not be send before
+         it. This fixes the pending event handling so that only early pending events,
+         the one that arrrived or was generated while the adapter was empty get send
+         before pushing buffer. All other events are not pushed after.
+         This issue lead the latency tracer to think our audio encoder did not have any
+         latency. This was testing with opusenc in a live pipeline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1266>
+
+2022-02-06 22:54:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/pbutils/missing-plugins.c:
+         gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+         getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+         instead which provides exactly the same functionality and can be
+         used with UWP as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-10-01 20:27:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
+       * meson.build:
+       * tests/examples/seek/instant-rate-change.c:
+         meson: Do hard build error for some MSVC warnings
+         Handle various MSVC warnings as errors for development version.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-08 23:30:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/seek/instant-rate-change.c:
+         Remove some trailing white spaces
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-01-07 20:02:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * tests/check/elements/compositor.c:
+         videoaggregator: Fix for unhandled negative rate
+         Nagative rates have been considered only in
+         gst_video_aggregator_advance_on_timeout(). Update other places
+         to fix broken reverse playback.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1500>
+
+2021-08-25 20:18:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+       * tests/check/gst/typefindfunctions.c:
+         typefindfunctions: Fix WebVTT format detection
+         If WebVTT file consists of "WebVTT" header without body,
+         the file size can be smaller than 10 bytes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1359>
+
+2022-01-31 13:01:10 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+         navigation: add more constructors for navigation events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
+
+2022-02-07 09:30:58 +0100  David Svensson Fors <davidsf@axis.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Avoid out-of-bounds error
+         For artificial input (in unit tests), all six bytes of
+         constraint_indicator_flags in hevc_caps_get_mime_codec() can be
+         zero. Add a guard against an out-of-bounds error that occurred in that
+         case. Change variables to signed int so comparison with -1 works.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1677>
+
+2020-07-17 14:37:14 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/videotestsrc/gstvideotestsrc.c:
+       * gst/videotestsrc/gstvideotestsrc.h:
+         videotestsrc: Don't re-render every frame when it's not needed.
+         When the pattern being rendered by videotestsrc doesn't have motion,
+         cache a rendered buffer and output it repeatedly with updated
+         metadata.
+         Based on a patch by Edward Hervey <edward@centricular.com>
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/10
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1293>
+
+2021-12-22 18:46:44 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/navigation.h:
+         navigation: Fix Since marker for mouse scroll
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1665>
+
+2022-02-03 01:04:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-color.c:
+         video-color: Fix for missing clipping in PQ EOTF function
+         * Add missing clipping in EOTF
+         * Use pre-calculated values
+         * Update variable names to specification's defined ones
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1629>
+
+2022-02-04 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
+=== release 1.20.0 ===
+
+2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * README:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.20.0
+
+2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.20.0
+
+2022-02-03 18:18:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video.c:
+       * gst-libs/gst/video/video.h:
+         video: fix up GstVideoOrientationMethod type registration
+         ... in order to make older g-i happy (~1.60) which doesn't like
+         freeform descriptions in the value_name field. Which in turn
+         then makes hotdoc happy instead of erroring out when we bump
+         the symbol index version.
+         We usually only (ab)use the name field for description strings
+         for private plugin enums, not for public API visible to bindings.
+         This lets glib-mkenum generate the _get_type() function for the
+         enum again, which in turn will generate the expected value names
+         to match the enums.
+         We might be able to add this back later once we can upgrade the
+         g-i version requirement (and the documentation job image).
+         This reverts most of commit b0aab48cdcf0a454d14aeb4d907209d8ee3f1add
+
+2021-11-21 17:52:48 -0500  Jeremy Cline <jeremy@jcline.org>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: Fix crash when presented with malformed files
+         There's a race condition in gsttagdemux.c between typefinding and the
+         end-of-stream event. If TYPE_FIND_MAX_SIZE is exceeded,
+         demux->priv->collect is set to NULL and an error is returned. However,
+         the end-of-stream event causes one last attempt at typefinding to occur.
+         This leads to gst_tag_demux_trim_buffer() being called with the NULL
+         demux->priv->collect buffer which it attempts to dereference, resulting
+         in a segfault.
+         The malicious MP3 can be created by:
+         printf "\x49\x44\x33\x04\x00\x00\x00\x00\x00\x00%s", \
+         "$(dd if=/dev/urandom bs=1K count=200)" > malicious.mp3
+         This creates a valid ID3 header which gets us as far as typefinding. The
+         crash can then be reproduced with the following pipeline:
+         gst-launch-1.0 -e filesrc location=malicious.mp3 ! queue ! decodebin ! audioconvert ! vorbisenc ! oggmux ! filesink location=malicious.ogg
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/967
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1620>
+
+2022-02-01 05:07:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+         docs: Add objc and objcpp files to hotdoc gst_c_sources
+         Hotdoc should be able to extract and parse comments out of these. Just
+         need to be careful to only add the glob in directories that actually
+         contain *.m (objc) and *.mm (objcpp) files.
+         Also fix some doc comments and remove redundant ones.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614>
+
+=== release 1.19.90 ===
+
+2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.19.90
+
+2022-01-28 14:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.90
+
+2022-01-27 14:22:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtphdrext: Return non-floating references from `gst_rtp_header_extension_create_from_uri()`
+         The header extension objects are never getting a parent object and using
+         floating references only complicates usage, especially via dynamic API
+         like signals.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1582>
+
+2022-01-27 14:26:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtphdrext: Use `set_metadata()` instead of `set_static_metadata()`
+         The latter needs a static string.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1583>
+
+2022-01-26 00:02:49 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/audio-info.c:
+       * gst-libs/gst/audio/audio-info.h:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-info.h:
+         VideoInfo, AudioInfo: fix usage with python bindings
+         * Expose an actual constructor from caps
+         * Error out in overrides for code that was using the "manual
+         allocation" pattern which only worked by chance. Direct
+         the script writer to the new_from_caps constructor instead.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/47
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1571>
+
+2022-01-27 01:38:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/de.po:
+       * po/fr.po:
+       * po/ro.po:
+         gst-plugins-base: update translations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
+
+2022-01-24 12:26:25 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Return NOT_NEGOTIATED when the configuration is invalid
+         Otherwise we just end up outputting garbage.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1558>
+
+2022-01-26 11:12:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Remove extra semicolon in macro usage
+         This is usually necessary to allow gst-indent to treat it as
+         a statement, but we do not run gst-indent on headers and we do not
+         have extra semicolons in other places that this macro is used in the
+         header. Fixes warnings when using the header:
+         ```
+         In file included from gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/video.h:185,
+         from XYZ:9001:
+         gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.h:206:78: warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
+         206 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstVideoAggregatorConvertPad, gst_object_unref);
+         |                                                                              ^
+         gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.h:214:181: warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
+         214 | G_DECLARE_DERIVABLE_TYPE (GstVideoAggregatorParallelConvertPad, gst_video_aggregator_parallel_convert_pad, GST, VIDEO_AGGREGATOR_PARALLEL_CONVERT_PAD, GstVideoAggregatorConvertPad);
+         |                                                                                                                                                                                     ^
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1572>
+
+2022-01-24 12:57:10 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+         audiotestsrc: Produce a default channel mask if possible
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1560>
+
+2021-12-10 20:09:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Fix for broken gamma remap with high bitdepth YUV output
+         Scale down the matrix before calculating RGB -> YUV matrix
+         otherwise offset values will be wrong
+         Fixing pipeline
+         videotestsrc ! video/x-raw,format=ARGB ! videoconvert gamma-mode=remap ! \
+         video/x-raw,format=P010_10LE,colorimetry="bt2020"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1432>
+
+2022-01-23 13:38:37 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Fix property description for new properties
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1556>
+
+2022-01-19 02:42:35 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/playback/gstdecodebin2.c:
+         decodebin2: raise multiqueue max-size-bytes
+         The earlier size of 2 MB was set back in 2009, it doesn't
+         seem unreasonable to raise it to 8 MB these days. The use
+         case at hand is matroskademux containing both a video stream
+         with a very low amount of compression but no decoding latency,
+         and a H265 stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1538>
+
+2021-12-27 03:35:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         Revert "videodecoder: Forward hdr-format info downstream"
+         This reverts commit 9b852181d8a1fa2fb1bf3ba898c6ffa04eea3fd4.
+         It's leftover commit which should've been reverted as a part of
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1148
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1475>
+
+2022-01-20 03:17:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-play.c:
+       * tools/meson.build:
+         tools: gst-play: Enable Windows high-resolution clock
+         Apply https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/817
+         to gst-play as well, especially for better high-framerate
+         (60fps or higher) video support, because
+         15ms default clock precision (actual value is system dependent)
+         is not sufficient for such scenario.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1541>
+
+2022-01-15 19:03:33 +0100  Tomasz Andrzejak <andreiltd@gmail.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+       * tests/check/libs/sdp.c:
+         Add FEC SDP message test
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527>
+
+2022-01-15 17:02:52 +0100  Tomasz Andrzejak <andreiltd@gmail.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdpmessage: fix mapping single char fmtp params
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527>
+
+2022-01-19 11:05:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Mark various string return values as `nullable`
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1539>
+
+2022-01-18 23:17:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: increase GstRTPHeaderExtensionClass padding to LARGE
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/748#note_1223253
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1537>
+
+2022-01-15 10:06:23 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/install-plugins.c:
+       * gst-libs/gst/pbutils/missing-plugins.c:
+       * gst-libs/gst/pbutils/pbutils.c:
+         pbutils: Define one debug category per module
+         Follow-up of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1526>
+
+2022-01-07 18:25:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Always draw if all input buffers are GAP
+         Otherwise output buffers will contain random scene
+         (previously rendered or arbitrary initial values) since we don't
+         draw onto output buffer at all.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1498>
+
+2022-01-06 22:10:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't pass GAP buffer to prepare_frame_start()
+         Likewise we do check the same condition in prepare_frames_finish(),
+         ignore GAP buffer (zero size with GST_BUFFER_FLAG_GAP flag) without
+         any further processing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1498>
+
+2022-01-13 23:00:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/playback/gsturidecodebin.c:
+         uridecodebin: Fix critical warnings
+         Don't pass non-GstObject object to there.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1519>
+
+2022-01-09 09:39:32 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         pbutils: Simplify h264_caps_structure_get_profile_flags_level a bit
+         Refactoring, removing one level of indentation from the function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
+
+2022-01-08 14:57:00 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * tests/check/libs/pbutils.c:
+         pbutils: H.265 support for gst_codec_utils_caps_get_mime_codec()
+         The codec_data caps payload is parsed and a MIME codec string is generated
+         according to the ISO/IEC 14496-15 specification.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
+
+2022-01-08 14:56:06 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/pbutils.c:
+       * tests/check/libs/pbutils.c:
+       * tests/check/libs/profile.c:
+         pbutils: Add a pbutils debug category
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
+
+2022-01-07 14:17:46 +0200  Jordan Petridis <jordan@centricular.com>
+
+         gstglutils: introspection annotations fixups
+         * gst_gl_ensure_element_data: specify the type for the element arg
+         * gst_gl_handle_set_context: correctly annotate the display and
+         gl_ctx as just (out) instead of (inout)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1501>
+
+2022-01-09 14:07:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Use nullable annotation instead of allow-none for various Opus functions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
+
+2022-01-09 14:05:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Annotate out parameters for Opus functions as (optional)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
+
+2022-01-09 14:05:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Add missing annotations to gst_codec_utils_h264_get_profile_flags_level()
+         And fix some minor typos.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
+
+2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+       * meson.build:
+         meson: Add explicit check: kwarg to all run_command() calls
+         This is required since Meson 0.61.0, and causes a warning to be
+         emitted otherwise:
+         https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
+         https://github.com/mesonbuild/meson/issues/9300
+         This exposed a bunch of places where we had broken run_command()
+         calls, unnecessary run_command() calls, and places where check: true
+         should be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
+
+2021-12-20 21:43:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * gst/audioresample/gstaudioresample.c:
+         audio: Add logging that was useful in figuring out the last commit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
+
+2021-12-20 21:37:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-resampler.c:
+         audio-converter: Fix resampling when there's nothing to output
+         Sometimes we can't output anything because we don't have enough
+         incoming frames. In that case, the resampler was trying to call
+         do_quantize() and do_resample() in a loop forever because there would
+         never be samples to output (so chain->samples would always be NULL).
+         Fix this by not calling chain->make_func() in a loop -- seems
+         completely unnecessary since calling it over and over won't change
+         anything if the make_func() can't output samples.
+         Also add some checks for the input and / or output being NULL when
+         doing conversion or quantization. This will happen when we have
+         nothing to output.
+         We can't bail early, because we need resampler->samples_avail to be
+         updated in gst_audio_resampler_resample(), so we must call that and
+         no-op everything along the way.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
+
+2021-12-16 16:43:37 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst/playback/gsturidecodebin.c:
+         uridecodebin: use non-floating object as signal argument
+         ... as was the case with source-setup signal until change of order
+         in commit 52bca104e447309898ca8904b3914211ec7d4114
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1457>
+
+2021-12-13 16:19:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-info.c:
+         video-info: Don't assume colorimetry of UHD resolution as BT.2020
+         BT.2020 color primaries are designed to cover much wider range of
+         CIE chromaticity than BT.709, and also it's used for both SDR and HDR
+         contents. So, the incorrect assumption (i.e., BT.709 as a BT.2020)
+         is risky and resulting image color tends to be visually very wrong.
+         Unless there's obvious clue, don't consider color space of high resolution
+         video stream as BT.2020
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1445>
+
+2021-12-03 01:45:49 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+       * gst-libs/gst/sdp/meson.build:
+       * tests/check/libs/sdp.c:
+         sdp: Handle level-asymmetry-allowed for H264 streams
+         The ["level-asymmetry-allowed"] field states that the peer wants the
+         profile specified in the "profile-level-id" fields but doesn't care
+         about the level. To express this in GStreamer caps term, we add a
+         "profile" field in the caps, which reuses the usual "profile" semantics
+         for H.264 streams and, and remove "profile-level-id" and
+         "level-asymmetry-allowed" fields.
+         ["level-asymmetry-allowed"]: https://www.iana.org/assignments/media-types/video/H264
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410>
+
+2021-11-19 00:09:03 +0100  Thomas Klausner <tk@giga.or.at>
+
+       * gst/tcp/gstmultifdsink.c:
+         tcp: fix build on Solaris
+         Add missing header.
+         From Claes Nästén via http://gnats.netbsd.org/56509
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1364>
+
+2021-11-16 13:14:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Nullify current item after all play items are freed.
+         There's a potential race condition with this sort of pipelines on
+         certain systems (depends on the processing load):
+         GST_DEBUG_DUMP_DOT_DIR=/tmp \
+         gst-launch-1.0 uridecodebin3 uri=file://stream.mp4 ! glupload ! \
+         glimagesink --gst-debug=*:4
+         Right after the pipeline passes from PAUSED to READY, bin_to_dot_file
+         dumps uridecodebin3 properties, but current uri and suburi might be
+         already freed, causing a potential use-after-freed.
+         This patch makes NULL the current item right after all the play items
+         are freed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1353>
+
+2021-11-12 18:26:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/audio-resampler.c:
+         audio-resampler: Fix segfault when we can't output any frames
+         Sometimes the resampler has enough space to store all the incoming
+         samples without outputting anything. When this happens,
+         gst_audio_resampler_get_out_frames() returns 0.
+         In that case, the resampler should consume samples and just return.
+         Otherwise, we get a segfault when gst_audio_resampler_resample() tries
+         to resample into a NULL 'out' pointer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1343>
+
+2021-11-11 19:11:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/gstpluginsbaseversion.c:
+       * gst-libs/gst/pbutils/install-plugins.c:
+       * gst-libs/gst/video/video-frame.c:
+       * gst-libs/gst/video/videooverlay.c:
+         docs: fix unnecessary ampersand, < and > escaping in code blocks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
+
+2021-11-09 12:10:50 +0000  Jiri Uncovsky <jiri.uncovsky@amit.cz>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontext/egl: add missing unref
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1328>
+
+2021-11-09 12:01:13 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: log when segment changes
+         We were logging when it does not change but not when it does, which is
+         confusing when reading logs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1327>
+
+2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
+=== release 1.19.3 ===
+
+2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.19.3
+
+2021-11-03 15:43:32 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.3
+
+2021-11-01 15:48:58 -0400  Matthias Clasen <mclasen@redhat.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         egl: handle configless contexts
+         With EGL_KHR_no_config_context, EGL contexts may just not
+         have an EGLConfig to give you. Deal with it.
+         Fixes: #858
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1289>
+
+2021-10-30 01:55:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/overlay/win32-videooverlay-playbin.c:
+         examples: win32-videooverlay-playbin: Add a repeat option
+         ... in order to test pipeline/element reuse cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1275>
+
+2021-10-30 16:22:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/video/video-format.h:
+         video: Fix order of new video formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1282>
+
+2021-10-30 15:50:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglutils.c:
+       * gst-libs/gst/video/video.c:
+         base: Fix some annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1281>
+
+2021-10-30 00:34:35 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/playback/playback-test.c:
+       * tests/examples/seek/jsseek.c:
+         Use g_pattern_spec_match() instead of g_pattern_match() which is deprecated since glib 2.70
+         Fixes compiler warnings with glib 2.70
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
+
+2021-10-23 00:44:57 +0200  Piotrek Brzeziński <piotr@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-scaler.c:
+         video-format: Add support for ARGB64 LE/BE and similar variants
+         Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247>
+
+2021-10-25 11:37:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: require matching GStreamer dep versions for unstable development releases
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
+
+2021-10-27 22:49:44 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstdecodebin3-parse.c:
+         decodebin3: Only unblock for GAP events and buffers.
+         An alternate fix for
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239
+         and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1236
+         that makes it clear the intent is to only unblock on a GAP event, and
+         not any others.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1260>
+
+2021-10-26 15:12:16 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: fix critical when sorting pads
+         If the pad does not have a current caps, get_pad() returns the query
+         caps which can be ANY. In such case the caps does not have any structure
+         resulting in a critical warning when calling gst_caps_get_structure().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1254>
+
+2021-10-23 16:06:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Use memcmp() instead of a strange macro around strncmp()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-23 14:31:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Add various CMAF brands to the MP4 typefinder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-23 14:30:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Refactor ftyp brands checking
+         Store known brands in arrays and add a helper function to check them.
+         Also add all the `iso3` to `isob` ISO brands and the `hlsf` ISO
+         fragmented brand.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-23 14:28:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Add various other boxes to the list of known top-level MP4 boxes
+         styp, udta, sidx, ssix, prft, mfra, pdin and meta are in the ISOBMFF
+         spec and emsg in the CMAF spec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-25 01:01:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/af.po:
+       * po/az.po:
+       * po/bg.po:
+       * po/ca.po:
+       * po/cs.po:
+       * po/da.po:
+       * po/de.po:
+       * po/el.po:
+       * po/en_GB.po:
+       * po/eo.po:
+       * po/es.po:
+       * po/eu.po:
+       * po/fi.po:
+       * po/fr.po:
+       * po/fur.po:
+       * po/gl.po:
+       * po/hr.po:
+       * po/hu.po:
+       * po/id.po:
+       * po/it.po:
+       * po/ja.po:
+       * po/lt.po:
+       * po/lv.po:
+       * po/nb.po:
+       * po/nl.po:
+       * po/or.po:
+       * po/pl.po:
+       * po/pt_BR.po:
+       * po/ro.po:
+       * po/ru.po:
+       * po/sk.po:
+       * po/sl.po:
+       * po/sq.po:
+       * po/sr.po:
+       * po/sv.po:
+       * po/tr.po:
+       * po/uk.po:
+       * po/vi.po:
+       * po/zh_CN.po:
+         gst-plugins-base: update translations
+         Fixes #656
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
+
+2021-10-22 17:54:55 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/egl: install required egl.h header
+         Fixes build against using the gir.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1227>
+
+2021-10-20 11:56:32 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * gst/playback/gststreamsynchronizer.c:
+         streamsynchronizer: set running time offset on events
+         It's cleaner and more generic than overriding the qos events.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1210>
+
+2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+       * tests/validate/meson.build:
+         meson: update for meson.build_root() and .build_source() deprecation
+         -> use meson.project_build_root() or .global_build_root() instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/meson.build:
+       * ext/libvisual/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * meson.build:
+       * tests/meson.build:
+         meson: update for dep.get_pkgconfig_variable() deprecation
+         ... in favour of dep.get_variable('foo', ..) which in some
+         cases allows for further cleanups in future since we can
+         extract variables from pkg-config dependencies as well as
+         internal dependencies using this mechanism.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:03:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: clean up conditional paths after version bump
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-02-09 19:56:49 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.h:
+       * gst-libs/gst/pbutils/pbutils-private.h:
+       * tools/gst-discoverer.c:
+         discoverer: Set number to stream infos
+         The idea is that we can reference to streams using this unique number,
+         within the context of that discoverer info. That number should always
+         be usable to reference the streams for a specific stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/897>
+
+2021-10-20 09:37:40 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Don't ref NULL taglist
+         Fixes warning introduced in 064f7bbbfac9610fd391c45091e35391b80e1212
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1200>
+
+2021-10-19 10:07:55 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/audio/meson.build:
+         Revert "audio: Merge simd libs into the main one"
+         This reverts commit 4d3a200358439e6c76c5dd1be2daae0cceb0e44a.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1194>
+
+2021-10-19 17:07:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-overlay-composition.c:
+         video-overlay-composition: Fix constructor guard to actually allow NULL as parameter
+         And don't use a NULL rectangle later.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1195>
+
+2021-10-19 19:46:48 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gl/eagl: fix eagl display creation
+         The GstGLDisplayType of the display was win32 instead of the required eagl.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1188>
+
+2021-08-31 16:21:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * tests/check/libs/rtpbasepayload.c:
+       * tests/check/libs/rtpdummyhdrextimpl.c:
+         tests/rtp/payload: add test for shrinking extension data
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1146>
+
+2021-08-24 21:26:54 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * tests/check/libs/rtp.c:
+         rtp: also support shrinking the extension data
+         Currently the extension data length specified in the RTP header would
+         say it was shorter then the data serialised to a packet. When
+         combining the resulting buffer, the underlying memory would still
+         contain the extra (now 0-filled) padding data.
+         This would mean that parsing the resulting RTP packet would potentially
+         start with a number of 0-filled bytes which many RTP formats are not
+         expecting.
+         Such usage is found by e.g. RTP header extension when allocating the
+         maximum buffer (which may be larger than the written size) and shrinking
+         to the required size the data once all the rtp header extension data has
+         been written.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1146>
+
+2021-10-17 13:14:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/vorbis/gstvorbisdec.c:
+         vorbisdec: don't emit g_warning() on malformed input data
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-17 13:12:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/theora/gsttheoradec.c:
+         theoradec: don't emit g_warning() on malformed input stream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-17 13:04:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: don't use g_warning() for malformed input
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-17 11:39:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tools/meson.build:
+         tools: Define G_LOG_DOMAIN for various tools as well
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-01 15:30:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/fft/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/riff/meson.build:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/sdp/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/video/meson.build:
+         gst-plugins-base: define G_LOG_DOMAIN for all libraries
+         Fixes #634
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-08-15 01:36:14 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         audio/video aggregator: make use of new aggregator inactive pad API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/867>
+
+2021-10-10 17:07:33 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.h:
+       * gst-libs/gst/pbutils/pbutils-private.h:
+       * tools/gst-discoverer.c:
+         discoverer: Advertise container-specific tags with a new API
+         Since commit a55dafe341ac7398e7c37c30d8b760228296da92, stream-scoped tags no
+         longer appeared as top-level tags, introducing a behaviour regression, specially
+         for MP3 files.
+         The `gst_discoverer_info_get_tags()` API now returns all tags detected for the
+         given media, as documented.
+         A new API is introduced to get container-specific tags,
+         `gst_discoverer_container_info_get_tags()`. The discoverer tool was adapted to
+         use it. `gst_discoverer_info_get_tags()` is now deprecated in favor of
+         `gst_discoverer_container_info_get_tags()` and
+         `gst_discoverer_stream_info_get_tags()`.
+         Fixes #759
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1107>
+
+2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: bump meson requirement to >= 0.59
+         For monorepo build and ugly/bad, for advanced feature
+         option API like get_option('xyz').required(..) which
+         we use in combination with the 'gpl' option.
+         For rest of modules for consistency (people will likely
+         use newer features based on the top-level requirement).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2021-10-14 23:02:36 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstsmartencoder.c:
+         smartencoder: Force reencoding of vp9 for profiles can't support
+         If the input file is in a profile we won't be able to output (1 or 3 in BGR
+         format), simply reencode everything for now.
+         Once we add support for that case we can remove that code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-14 22:55:35 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: ignore more fields when creating for discover info
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-14 22:29:19 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstsmartencoder.c:
+         smartencoder: Always plug a vp9parse when encoding vp9
+         This way we know that all relevant fields about video format are
+         added and we avoid renegotiation issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-05 10:46:26 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstsmartencoder.c:
+         smartencoder: Fix renegotiating when reencoding parts of the stream with vpx
+         In the encoded streams we might not have all the information about the
+         raw video stream, but when reencoding they end up being specified, even
+         if those are default values.
+         As vp8 decoders always output frames in some YUV color space we can
+         ensure that when upstream doesn't specify any value in its caps we
+         use the default one which is what we end up doing when decoding/reencoding
+         anyway, so this way downstream (matroskamux in that case) doesn't need
+         to be able to renegotiate (which it doesn't).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-16 09:29:28 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/ogg/meson.build:
+       * ext/vorbis/meson.build:
+         meson: Mark newly fdkaac/ogg/vorbis as allow fallback
+         This way when the dep is `auto` we will fallback if the system
+         dependency is not available.
+         And use https to get libvorbis
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1171>
+
+2021-10-15 22:07:39 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: Fix warning building GstGLEGL
+         We forgot to add the `GstGL` gir as a dependency which was properly
+         done for GstGLWayland and GstGLX11.
+         And document why we use a list for `all_libraries`
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1168>
+
+2021-10-12 15:52:48 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         meson: Streamline the way we detect when to build documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:39:00 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/fft/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/riff/meson.build:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/sdp/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/video/meson.build:
+       * meson.build:
+         meson: List libraries and their corresponding gir definition
+         Introduces a `libraries` variable that contains all libraries in a
+         list with the following format:
+         ``` meson
+         libraries = [
+         [pkg_name, {
+         'lib': library_object
+         'gir': [ {full gir definition in a dict } ]
+         ],
+         ....
+         ]
+         ```
+         It therefore refactors the way we build the gir so that we can reuse the
+         same information to build them against 'gstreamer-full' in gst-build
+         when linking statically
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:37:39 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/sdp/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/video/meson.build:
+       * meson.build:
+         meson: Mark files as files()
+         Making it more robust and future proof
+         And fix issues that it creates
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2021-10-13 21:28:58 +0200  Piotrek Brzeziński <piotr@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Fix v210->I420 last line conversion
+         Last line would not be converted correctly if height was an odd number.
+         Fixed by accounting for data type (8bit vs. 16bit) differences between
+         respective packing and unpacking functions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
+
+2021-10-13 16:53:41 +0200  Piotrek Brzeziński <piotr@centricular.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video-format: Clean up v210 packing code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
+
+2021-10-13 17:25:41 +0200  Piotrek Brzeziński <piotr@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Add fast paths from I420/YV12, UYVY, Y42B and YUY2 to v210
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
+
+2021-10-14 17:48:59 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         gl/dmabuf: add some debug logging about why things may fail to be uploaded
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1145>
+
+2021-09-24 15:02:27 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+         playbin2/3: autoplug/caps: don't expand caps to ANY
+         Retrieving the pad template caps from a ghost pad returns ANY which when
+         merged with any other caps will return ANY.  ANY is not very specific
+         and may cause suboptimal code paths in e.g. decoders that assume the
+         lowest common denominator when presented with ANY caps.
+         Fixes negotiating dma-buf with vaapidecodebin between glupload in the
+         video sink element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1144>
+
+2021-08-02 17:46:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/playback/playback-test.c:
+         examples: playback-test: Fix for UI resize scenario on Windows
+         Application needs to notify videosink element of video widget resize
+         via gst_video_overlay_set_render_rectangle() since WM_SIZE event
+         wouldn't be notified.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1115>
+
+2020-04-15 23:41:52 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/audio/meson.build:
+         audio: Merge simd libs into the main one
+         Actually extract the .o objects from the convience libraries and put
+         them into the main one. Without this, they will just be referenced by
+         the .pc file, but it will be unusable because they are not installed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1122>
+
+2017-08-29 17:21:05 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstgltransformation.c:
+       * ext/gl/gstglutils.c:
+       * ext/gl/gstglutils.h:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/gl/gstglutils.c:
+       * gst-libs/gst/gl/gstglutils.h:
+       * gst-libs/gst/gl/gstglutils_private.h:
+         glutils: Export affine transformation functions for gtkglsink
+         Also remove duplicated copy of those functions from the gl plugin
+         With contributions from Bastien Nocera
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:55:15 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglvideoflip.c:
+       * ext/gl/gstglvideoflip.h:
+         glvideoflip: Replace GstVideoFlipMethod -> GstVideoOrientationMethod
+         It's the same enum, just drop the renamed copy. But keep the registered
+         GEnum as it is part of the API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:51:36 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglvideoflip.c:
+         glvideoflip: Use the API to parse the image orientation
+         This will reduce the code duplication a little.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:51:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: Use the API to parse the image orientation
+         This will reduce the code duplication a little.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:50:59 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/video.c:
+       * gst-libs/gst/video/video.h:
+         video: Add API to parse the image orientation from a GstTagList
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:39:29 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglimagesink.h:
+         glimagesink: Replace GstGLRotateMethod with GstVideoOrientationMethod
+         It's the same enum, just drop the renamed copy. But keep the registered
+         GEnum as it is part of the API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:28:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video.c:
+       * gst-libs/gst/video/video.h:
+         video: Put nicer documentation in GstVideoOrientationMethod
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-09-26 18:05:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tools/gst-play.c:
+         gst-play: pick up minus and plus also from navigation events
+         Makes it easier to test playback rate changes with the video
+         window being in focus.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/928>
+
+2021-10-09 05:39:38 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gsturidecodebin3.c:
+       * gst/playback/gsturisourcebin.c:
+         uridecodebin3/urisourcebin: Reusability fixes
+         Improvements to uridecodebin3 and urisourcebin so that they are
+         reusable across a PAUSED->READY->PAUSED transition.
+         Disconnect and release decodebin3 request pads when urisourcebin
+         removes src pads.
+         In urisourcebin, make sure to remove src pads that are exposed
+         directly (raw pads and static typefind srcpads) when
+         cleaning up.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/768
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1100>
+
+2021-10-10 01:24:44 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Always register 'playbin3' element.
+         If the USE_PLAYBIN3=1 env var is set, we want to replace
+         playbin with playbin3, but separate to that, we always
+         want to register the 'playbin3' element so that applications
+         which explicitly use playbin3 work regardless of the env var.
+         This fixes `USE_PLAYBIN3=1 gst-validate-launcher`, for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1102>
+
+2021-10-05 05:43:13 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Avoid group deactivation deadlock.
+         Change locking around group deactivation to avoid deadlocks
+         when shutting down exactly as a buffering message arrives.
+         The PLAYBIN3_LOCK now protects the active field of the
+         source group. Everything else is still protected by the
+         source-group-lock.
+         Also properly protect group switching operations with
+         the PLAYBIN3_LOCK everywhere.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1049>
+
+2021-09-15 16:49:16 +0200  Ludvig Rappe <ludvigr@axis.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * tests/check/libs/pbutils.c:
+         pbutils: Remove sample entry code "raw"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1045>
+
+2021-09-16 15:18:24 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: differentiate h265 from h264
+         in some cases, the algo gives the same probability
+         to h264 and h265 for h26x stream resulting in a h265
+         stream detected as a h264.
+         if sps/pps/vps detected, increase the probabilty.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/957>
+
+2021-09-26 01:55:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/video-format.h:
+         video: make GST_VIDEO_FORMAT_INFO_IS_*() macros booleans
+         Spotted by Stirling Westrup.
+         Fixes #726
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/926>
+
+2021-09-26 01:52:12 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/audio-info.h:
+         audio: make GST_AUDIO_INFO_IS_UNPOSITIONED return a boolean
+         Luckily this worked right since the flag we check is the
+         only flag and its vale is 1, but feels more correct to
+         actually check for non-zeroness.
+         Spotted by Stirling Westrup.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/926>
+
+2021-09-27 16:11:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: Give "inherited" direction in set_attributes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-27 10:19:51 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtphdrext: Use NULL-safe case insensitive comparison
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-27 10:01:02 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtphdrext: Print warnings when trying to parse caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 13:38:39 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+       * tests/check/libs/rtpdummyhdrextimpl.c:
+         rtphdrext: Pass just the attributes to the subclass
+         Since the base class now does the parsing, there is no need
+         to reproduce that code in all the subclasses, just pass the attributes
+         which are the only relevant bit anyway.
+         Also, only store the direction if the subclass accepted the caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 13:19:22 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/libs/rtphdrext.c:
+         rtphdrext: Use fail_unless_equals_string() to make tests easier to debug
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 13:02:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/libs/rtpdummyhdrextimpl.c:
+       * tests/check/libs/rtphdrext.c:
+         rtphdrext test: Use helper function for caps
+         Also, let the base class parse the direction for us.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 12:51:01 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: Add helper function to set fields in caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:37:45 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtphdrext: Parse direction from the caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:33:32 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtphdrext: Set the direction in the caps from the property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:24:04 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: Store the direction in the base class
+         Store the direction associated wit the RTP header extension in the
+         base class so it can use it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:01:40 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: Set caps without attributes as the default
+         Most subclasses just use the simple function, so just let the base class
+         do it. It makes less code in subclasses.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 15:36:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtphdrext.h:
+         rtphdrext: Put simple caps generation as the base class default
+         Instead of having a helper function that gets called by almost every
+         subclass, just let the base class set the caps fields automatically.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>
+
+       * README:
+       * RELEASE:
+         doc: update IRC links to OFTC
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
+
+2021-09-27 00:53:34 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: request sync-points regularly on error
+         If we are not receiving a sync-point for a very long time, we need to
+         keep asking for them. The request-sync-point logic keeps track of how
+         many keyunitrequests we are allowed to send, but that would not matter
+         if we don't keep asking.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/930>
+
+2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
+
 === release 1.19.2 ===
 
 2021-09-23 01:33:08 +0100  Tim-Philipp Müller <tim@centricular.com>