Release 1.19.1
authorTim-Philipp Müller <tim@centricular.com>
Mon, 31 May 2021 23:14:22 +0000 (00:14 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 31 May 2021 23:14:24 +0000 (00:14 +0100)
ChangeLog
NEWS
README
RELEASE
gst-plugins-bad.doap
meson.build

index 86cb247..acb7343 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.19.1 ===
+
+2021-06-01 00:14:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * README:
+       * RELEASE:
+       * gst-plugins-bad.doap:
+       * meson.build:
+         Release 1.19.1
+
+2021-04-08 10:11:52 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2codecs: gstv4l2codecsvp8dec: implement a render delay
+         The v4l2 backend support delayed output for performance reasons.
+         It is then possible to use render delays to queue multiple requests
+         simultaneously, thus increasing performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2150>
+
+2021-04-07 18:24:27 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp8decoder.h:
+         codecs: gstvp8decoder: add support for render delay
+         Some decoding APIs support delayed output for performance reasons.
+         One example would be to request decoding for multiple frames and
+         then query for the oldest frame in the output queue.
+         This also increases throughput for transcoding and improves seek
+         performance when supported by the underlying backend.
+         Introduce support in the vp8 base class, so that backends that
+         support render delays can actually implement it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2150>
+
+2021-05-17 10:49:41 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Stop transceivers update after first SDP error
+         When invalid SDP is supplied, _update_transceiver_from_sdp_media() sets the
+         GError, so it is invalid to continue any further SDP processing, we have to exit
+         early when the first error is raised.
+         Fixes #1595
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2254>
+
+2021-05-28 23:21:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11: Suppress some warning logs
+         We uses gst_d3d11_device_new() for enumerating device which can
+         fail for some reason. Don't print warning log for the case.
+         And decoding capability check is the same case as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2286>
+
+2021-05-28 17:05:02 -0400  Roman Sivriver <roman@rsiv.net>
+
+       * ext/hls/gsthlssink2.c:
+         hlssink2: Initialize debug category to prevent an assert with `fatal-warnings`
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2288>
+
+2021-05-21 20:02:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Reuse converter on alpha update
+         ... instead of creating converter object
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2276>
+
+2021-05-18 01:24:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11converter: Introduce config to be extensible
+         Add a config argument like that of GstVideoConverter so that
+         we can add more options without modifying existing methods
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2276>
+
+2021-05-21 21:30:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11shader.h:
+         d3d11shader: Don't hold state object in GstD3D11Quad
+         We might want to update state object
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2276>
+
+2021-05-27 16:22:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.h:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.h:
+       * sys/v4l2codecs/plugin.c:
+         v4lcodecs: Validate src formats
+         This add src format validation, this avoid registering element for
+         drivers we don't support any of their src formats. This also special
+         case the AlphaDecodeBin wrapper, as we know that alphacombine element
+         only support I420 and NV12 for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2272>
+
+2021-05-22 16:29:09 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
+       * sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+       * sys/v4l2codecs/meson.build:
+         v4l2codecs: add wrappers for alpha decode
+         codecalpha is a new plugin introduced to support VP8/VP9 alpha as
+         defined in the WebM and Matroska specifications. It splits the stream
+         into two streams, one for the alpha and one for the actual content,
+         then it decodes them separately with vpxdec and finally combine the
+         results as A420 or AV12 (i.e. YUV + an extra alpha plane).
+         The workflow above is setup by means of a bin, gstcodecalphabin.
+         This patch simulates the same workflow into the v4l2codecs namespace,
+         thus using the new v4l2 stateless decoders for hardware acceleration.
+         This is so we can register the new alpha decode elements only if the
+         hardware produces formats we support, i.e. I420 or NV12 for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2272>
+
+2021-05-19 18:45:19 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/codecalpha/gstalphacombine.c:
+         codecalpha: alphacombine: add support for NV12/AV12
+         Alpha combine works by appending the GstMemory for the alpha channel
+         to the GstBuffer containing I420, thereby pushing A420 on its src pad.
+         Add support for the same workflow for NV12, thereby producing the
+         recently introduced AV12 format (NV12 + Alpha).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2277>
+
+2021-05-25 20:21:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Don't set field-order field for progressive caps
+         That would cause negotiation issue
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2282>
+
+2021-05-25 19:47:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Drop framerate from query caps of sinkpad
+         Query caps should return caps which represent the element can accept,
+         not resulting format.
+         Fixing negotiation error with
+         gst-launch-1.0 videotestsrc ! video/x-raw,framerate=25/1 ! interlace field-pattern=0 ! fakesink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2282>
+
+2021-05-26 16:37:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Fix caps update handling
+         New caps is applied only when previous buffer is consumed if any.
+         So, the lastest given caps might not be corresponding to the current buffer
+         to be handled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2284>
+
+2021-05-20 13:47:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvadisplay.h:
+       * gst-libs/gst/va/gstvadisplay_drm.h:
+       * gst-libs/gst/va/gstvadisplay_wrapped.h:
+         libs: va: display: Handle auto clean up macros.
+         Add G_DEFINE_AUTOPTR_CLEANUP_FUNC macro for display classes, so auto
+         pointers are possible to users.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2269>
+
+2021-05-17 19:06:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Add current picture into reference list for SCC.
+         The current picture is not in the DPB, so we need to add it manually
+         to the reference list when SCC is enabled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2255>
+
+2021-05-21 23:47:14 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Set Screen Content extension (SCC) for picture parameters.
+         We already declare the support of HEVC screen content extension profiles
+         in the profile mapping list, but we fail to generate the correct VA picture
+         parameters buffers. This may cause the GPU hang.
+         We need to fill the buffer of VAPictureParameterBufferHEVCExtension correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2255>
+
+2021-05-17 17:47:07 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Use get_profile_from_sps() to recognize the profile.
+         The function of gst_h265_get_profile_from_sps() is better than the
+         function gst_h265_profile_tier_level_get_profile() when we recognize
+         the profile of the stream, becaue it considers the compatibility.
+         It is also used by h265parse to recognize the profile. So it is
+         better to keep the same behaviour with the parse and other decoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2255>
+
+2021-05-21 23:21:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Set range extension for picture and slice parameters.
+         We already declare the support of HEVC range extension profiles in
+         the profile mapping list, but we fail to generate the correct VA
+         picture and slice parameters buffers. This may cause the GPU hang.
+         We need to fill the buffer of VAPictureParameterBufferHEVCExtension
+         and VASliceParameterBufferHEVCExtension correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2255>
+
+2021-05-24 18:18:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Use picture and slide extension parameters.
+         This is transitional commit to later implement extended and screen
+         profiles.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2255>
+
+2021-05-24 18:34:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/dash/gstdashdemux.c:
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlsenc.c:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/sctp/gstsctpenc.c:
+       * ext/sndfile/gstsfdec.c:
+       * gst/videoparsers/gstav1parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * tests/check/elements/kate.c:
+       * tests/check/elements/pcapparse.c:
+         Use gst_buffer_new_memdup()
+         Update for function rename in core.
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/827
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2281>
+
+2021-05-22 18:05:18 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/gstwpevideosrc.cpp:
+       * ext/wpe/meson.build:
+         wpe: Bump wpebackend-fdo version requirement to 1.8
+         Debian bullseye has this version already, and this allows us to get rid of many
+         ifdefs. The mouse scroll handling is actually functional now as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2278>
+
+2021-05-23 16:10:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/dash/gstdashdemux.c:
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlsenc.c:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/sctp/gstsctpenc.c:
+       * ext/sndfile/gstsfdec.c:
+       * gst/videoparsers/gstav1parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * tests/check/elements/kate.c:
+       * tests/check/elements/pcapparse.c:
+         Use new gst_buffer_new_copy()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2279>
+
+2021-05-21 15:18:21 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: update gst_plugins_cache.json
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1152>
+
+2021-05-14 20:22:26 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/winscreencap/dxgicapture.c:
+       * sys/winscreencap/dxgicapture.h:
+       * sys/winscreencap/gstdxgiscreencapsrc.c:
+         dxgiscreencapsrc: renegotiate caps on resolution change
+         When desktop gets resized, recreate the textures and renegotiate the
+         source caps with the updated video dimensions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2249>
+
+2021-05-18 14:09:01 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Set LastSliceOfPic for multi sliced frames.
+         VA-API HEVC decoding needs to known which is the last slice of a
+         picture, but slices are processed sequencially, so we know the
+         last slice until all the slices are already pushed into the
+         VABuffer array.
+         In order to mark the last slice, they are pushed into the
+         VABuffer array with a delay of one slice: the first slice is
+         hold, and when the second slice come, the first one is pushed
+         while holding the second, and so on. Finally, at end_picture(),
+         the last slice is marked and pushed into the array.
+         Co-author: Victor Jaquez <vjaquez@igalia.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2246>
+
+2021-05-20 17:03:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdup.h:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+       * sys/d3d11/gstd3d11desktopdupsrc.h:
+         d3d11desktopdupsrc: Add support for desktop size/rotation mode change
+         Re-negotiates with updated size on desktop size
+         (i.e., resolution, scaling factor), and rotation mode change
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2268>
+
+2021-05-20 10:09:57 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         mpegtsmux: Fixup program array indices after stream removal
+         Each stream stores the `program_array_index` of its position in its
+         program's `streams` array. When we remove a stream from this array, we
+         need to correct the `program_array_index` of all streams that were
+         backshifted by the removal.
+         Also extract the removal into a new function and add some more safety
+         checks.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2266>
+
+2021-05-20 18:49:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+         d3d11memory: Protect map and unmap with device lock
+         We should lock memory object with gst_d3d11_device_lock() first
+         then GST_D3D11_MEMORY_LOCK() need to be used.
+         One observed deadlock case is that:
+         - Thread A takes d3d11 device lock
+         - At the same time, Thread B tries CPU map to d3d11memory which requires
+         d3d11 device lock as well, but it's already taken by Thread A.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2267>
+
+2021-05-20 18:38:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+         d3d11memory: Add trace log for debugging locking thread
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2267>
+
+2021-05-20 15:39:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/audiolatency/gstaudiolatency.c:
+         audiolatency: Drop incoming downstream stick events
+         stream-start, caps, and segment events will be pushed by internal
+         audiotestsrc element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2265>
+
+2021-05-20 15:28:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/audiolatency/gstaudiolatency.c:
+         audiolatency: Use live mode audiotestsrc
+         Expected use case of audiolatency element is that mimic audio capture
+         device which is most likely live source. So audiolatency element
+         should use live mode as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2265>
+
+2021-05-19 18:48:29 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/meson.build:
+         wpe: Bump WPE dependency to 2.28
+         The new audio feature depends on WPE 2.28 so we should just bump our
+         requirement to that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2264>
+
+2021-05-20 00:51:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11compositor.h:
+       * sys/d3d11/gstd3d11compositorbin.cpp:
+         d3d11compositor: Fix missing D3D11 prefix
+         Fix typo, no functional change
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2262>
+
+2021-05-18 17:49:23 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/wpe/gstwpe.cpp:
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpe: Update doc cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2021-04-21 23:14:13 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Properly respect LIBGL_ALWAYS_SOFTWARE
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2021-05-01 21:48:23 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
+       * ext/wpe/wpe-extension/gstwpeextension.c:
+       * ext/wpe/wpe-extension/gstwpeextension.h:
+       * ext/wpe/wpe-extension/meson.build:
+         wpe: Relay messages from WPE internal pipelines
+         It is based on a tracer as it allows us to very easily get
+         every message that are posted on any bus inside the process.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2021-04-19 20:46:46 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpe.cpp:
+       * ext/wpe/gstwpe.h:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/gstwpesrcbin.h:
+       * ext/wpe/gstwpevideosrc.cpp:
+       * ext/wpe/meson.build:
+       * ext/wpe/wpe-extension/gstwpeaudiosink.c:
+       * ext/wpe/wpe-extension/gstwpeextension.c:
+       * ext/wpe/wpe-extension/gstwpeextension.h:
+       * ext/wpe/wpe-extension/meson.build:
+         wpe: Base wpe audio implementation on a web extension
+         This makes the implementation simpler and enable us to map
+         webviews and audio stream much more easily
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2019-12-08 13:16:38 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Enable WebAudio
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2019-12-08 11:49:20 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpe-private.h:
+       * ext/wpe/gstwpe.cpp:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/gstwpesrcbin.h:
+       * ext/wpe/gstwpevideosrc.cpp:
+       * ext/wpe/meson.build:
+       * tests/examples/meson.build:
+       * tests/examples/wpe/meson.build:
+       * tests/examples/wpe/wpe.c:
+         wpe: Implement audio support
+         The wpesrc bin now exposes "sometimes" audio src pads, one for every PCM audio
+         stream created by WPEWebKit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2021-03-10 17:27:52 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpe.cpp:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/gstwpesrcbin.h:
+       * ext/wpe/gstwpevideosrc.cpp:
+       * ext/wpe/gstwpevideosrc.h:
+       * ext/wpe/meson.build:
+         wpe: Move wpesrc to wpevideosrc and add a wrapper bin `wpesrc`
+         Currently the bin contains a single element but we are going
+         to implement audio support and expose extra pads for audio
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
+
+2021-05-18 00:43:23 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/sctp/gstsctpenc.c:
+         sctp: Ensure pad is still a child of element before removal
+         During pipeline shutdown there are several competing paths to remove
+         pads. Avoids tests failing due to:
+         Unexpected critical/warning: Padname '':sink_1 does not belong to element sctpenc1 when removing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2256>
+
+2021-05-17 09:13:28 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/sctp/gstsctpdec.c:
+         sctp: Fix race of pad removal during reset/stop
+         Both reset & stop remove existing pads. Can result in warning from
+         gst_element_remove_pad().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2256>
+
+2021-05-17 09:11:54 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtcbin: Fix race bringing up sctp data channel
+         Notifying before pads are linked can cause the stream to fail to start.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2256>
+
+2021-05-13 21:11:30 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+         webrtcbin: advertise harder the rtcp-mux-only requirement
+         And ignore rtcp ICE candidates
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2239>
+
+2021-05-14 10:47:05 -0500  Sid Sethupathi <sid.sethupathi@gmail.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: update default jb latency docs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2242>
+
+2021-05-18 16:38:04 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/dtls/gstdtlsenc.c:
+         dtls: Let sender know when we are flushing
+         Prevents endless loop during shutdown where we end up sending 0 bytes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2229>
+
+2021-05-18 16:31:47 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsconnection.h:
+         dtls: Add ability to set custom GstFlowReturn on callback error
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2229>
+
+2021-05-18 20:26:38 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportsendbin.c:
+       * ext/webrtc/transportsendbin.h:
+         webrtc: Remove reundundant context object in transportsendbin
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2260>
+
+2021-05-18 20:18:28 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportsendbin.c:
+       * ext/webrtc/transportsendbin.h:
+         webrtc: Wait until ICE is connected to start DTLS handshake process
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2260>
+
+2021-05-18 18:29:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportsendbin.c:
+       * ext/webrtc/transportsendbin.h:
+         webrtcbin: Remove pad probe on nicesink
+         This pad probe is no longer necessary, libnice now drops
+         all buffers before the stream is connected. This pad problem
+         also caused deadlocks in some situations.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2260>
+
+2021-05-17 20:59:19 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkateparse.c:
+       * ext/kate/gstkatetag.c:
+       * ext/kate/gstkatetiger.c:
+         kate: Initialize debug categories
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2258>
+
+2021-05-13 10:27:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvadisplay.c:
+       * gst-libs/gst/va/gstvadisplay.h:
+       * gst-libs/gst/va/gstvadisplay_drm.c:
+       * gst-libs/gst/va/gstvadisplay_wrapped.c:
+         libs: va: Documentation and annotations.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2196>
+
+2021-05-07 17:05:38 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/meson.build:
+       * tests/examples/va/main.c:
+       * tests/examples/va/meson.build:
+       * tests/examples/va/multiple-vpp.c:
+         examples: va: Update the VA examples because of the new va lib.
+         Because we introduce the new va lib, the va examples need to include
+         new header files and add more library linkage.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2196>
+
+2021-05-13 18:46:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvadisplay_wrapped.c:
+       * gst-libs/gst/va/gstvadisplay_wrapped.h:
+       * sys/va/gstvautils.c:
+         libs: va: display_wrapper: Use gpointer for VADisplay.
+         In order to be coherent along all the implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2196>
+
+2021-05-06 18:23:23 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/va/gstvadisplay.c:
+       * gst-libs/gst/va/gstvadisplay.h:
+       * gst-libs/gst/va/gstvadisplay_drm.c:
+       * gst-libs/gst/va/gstvadisplay_drm.h:
+       * gst-libs/gst/va/gstvadisplay_wrapped.c:
+       * gst-libs/gst/va/gstvadisplay_wrapped.h:
+       * gst-libs/gst/va/meson.build:
+       * gst-libs/gst/va/va-prelude.h:
+       * gst-libs/gst/va/va_fwd.h:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvacaps.h:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvadevice.c:
+       * sys/va/gstvadevice.h:
+       * sys/va/gstvadisplay.h:
+       * sys/va/gstvadisplay_priv.c:
+       * sys/va/gstvadisplay_priv.h:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvautils.c:
+       * sys/va/gstvautils.h:
+       * sys/va/gstvavpp.c:
+       * sys/va/meson.build:
+         libs: va: Move the VA common logic as a lib.
+         The VA acceleration now has more usages in linux-like platforms,
+         such as the MSDK. The different plugins based on the VA acceleration
+         need to share some common logic and types. We now move the display
+         related functions and types into a common va lib.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2196>
+
+2021-05-17 11:42:07 +0800  mkba <mengker1031@outlook.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+         msdk: add profile main-still-picture for hevc encoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2253>
+
+2021-05-15 00:39:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Fix too small buffer size error
+         Even though input/output resolutions are identical there, default
+         buffer size of progressive and interleaved formats could be different
+         because we are rounding up height of all plane of interlaced frame
+         to be multiple of two.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2244>
+
+2021-03-01 12:09:43 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: use MFXJoinSession() to join the parent and child sessions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
+
+2021-02-04 15:27:13 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdk: use a new method to create mfx session when using oneVPL dispatcher
+         In oneVPL, MFXLoad() and MFXCreateSession() are required to create a
+         workable mfx session[1]
+         [1] https://spec.oneapi.com/versions/latest/elements/oneVPL/source/programming_guide/VPL_prg_session.html#onevpl-dispatcher
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
+
+2021-02-18 13:38:25 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * meson_options.txt:
+       * sys/msdk/meson.build:
+         msdk: allow user build this plugin against MFX version 2.2+ (oneVPL)
+         Intel oneVPL SDK (oneVPL) is a successor to Intel Media SDK (MSDK)[1].
+         User may use -Dmfx_api=MSDK or -Dmfx_api=oneVPL to specify the required
+         SDK when building this plugin. If the SDK is not specified, meson will
+         try MSDK firstly, then oneVPL if MSDK is not available
+         Version 2.2+ is required in this patch because pkg-config file was not
+         provided officially before version 2.2
+         [1]https://spec.oneapi.com/versions/latest/elements/oneVPL/source/appendix/VPL_intel_media_sdk.html
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
+
+2021-05-14 11:56:49 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9dec.c:
+         msdkvp9dec: do not include mfxvp9.h
+         The VP9 related definitions in mfxvp9.h are available under the
+         condition of 'MFX_VERSION >= MFX_VERSION_NEXT', which implies that these
+         definitions are never used in a public release.
+         This is in preparation for oneVPL support because mfxvp9.h was
+         removed from oneVPL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
+
+2020-08-04 12:53:35 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdk: don't load user plugins for MFX version 2.0+
+         MFX version 2.0+ no longer supports user plugins, please refer to the
+         links for details
+         https://spec.oneapi.com/versions/latest/elements/oneVPL/source/appendix/VPL_intel_media_sdk.html#msdk-full-name-feature-removals
+         https://github.com/oneapi-src/oneVPL
+         This is in preparation for oneVPL support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
+
+2020-08-04 12:55:35 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: exclude the audio code for MFX version 2.0+
+         MFX version 2.0+ no longer supports audio functions, please refer to the
+         links below for details
+         https://spec.oneapi.com/versions/latest/elements/oneVPL/source/appendix/VPL_intel_media_sdk.html#msdk-full-name-feature-removals
+         https://github.com/oneapi-src/oneVPL
+         This is in preparation for oneVPL support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
+
+2021-05-14 14:08:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+         alphacombine: Ignore all events coming from the alpha_pad
+         As per usage of this element, everything from this pad is a
+         duplicate. Instead of implemented needless aggregation, simply
+         drop all events from this pad and let the one from the main stream
+         passthrough. Also stop proxying some queries from the alpha pad_too.
+         This fixes racy test failure:
+         - validate.file.playback.scrub_forward_seeking.opus_vp9-alpha_webm
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2247>
+
+2021-05-14 14:05:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstcodecalphademux.c:
+         codecalphademux: Do not set a GstFlowReturn from a boolean
+         This was a small overlook, gst_pad_send_event() returns a boolean,
+         so setting it into ret could confuse the flow combiner. Though,
+         it didn't bug, since both 0 and 1 are success (though 1 being
+         undefined).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2247>
+
+2021-05-14 14:04:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstcodecalphademux.c:
+         codecalphademux: Remove eos flow return workaround
+         It turns out that downstream returning OK after EOS is a bug in
+         multiqueue. As we moved to queue, we no longer have this issue.
+         Let's keep the code clean and just assuming that downstream will
+         keep returning EOS and allow convergence of flow.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2247>
+
+2021-05-13 15:18:34 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/openh264/gstopenh264element.c:
+         openh264: Don't use GOnce for ABI check
+         It turns out the value used for g_once_* APIs can't be
+         zero. And this is a very cheap check, so let's just do it every time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2240>
+
+2021-05-13 15:25:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc test: Print content of error GstMessage
+         Makes it easier to interpret the result of the CI!
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-06 13:52:32 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin tests: Add test for intersection src pad caps
+         This checks that the codec preferences are intersected also with what
+         the src pad can handle.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-14 19:46:56 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc test: Add explicit test clock
+         This way the test clock is not linked to the multiple harnesses
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-06 17:58:15 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Intersect answer with codec prefs & capabilities
+         In case the local capabilities changed since the last negotiaton,
+         we need to re-intersect and see if the result would be different.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-06 17:50:38 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Ignore current caps for codec negotiation
+         On the sink pad, we want the caps of the current stream, those
+         are the "received_caps" field. If we haven't received caps yet, then
+         we only care about the caps that the next element can accept, that is
+         the caps from the peer pad (and the preferences). Otherwise, we prevent
+         re-negotiation to a better codec when possible.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-05 19:21:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Remove dead code
+         The function is only called to create an offer, so no
+         need to pass the offer parameter and then check it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-05 19:18:02 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc test: Add test for codec preferences negotiation
+         Validate that it does the intersection with the caps from
+         the sink pad and rejects the offer creation otherwise.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-05 19:00:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.h:
+         webrtcbin: Refactor codec preference retrieval
+         Now intersect against pads on both sides if they are available.
+         If the intersection fails, we now just reject the creation of the offer
+         or answer as it means that the codec_preferences are too restrictive or
+         that the caps on both sides the webrtcbin are not compatible.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-30 17:04:12 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Intersect codec preferences with caps from pads
+         When creating an offer or an answer, also take into account
+         the caps on the pads as well as the codec preferences when both are set.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-30 16:21:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Implement caps queries on sinkpad based on codec preferences
+         Also includes a unit test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-30 15:04:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Hold transceiver lock when accessing codec_preferences
+         This is required to allow the applications to modify the preferences.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-30 14:55:41 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+         webrtcbin: Hold lock while accessing the codec preferences
+         They could be changed at runtime by the application, so take the lock
+         when modifying them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-21 15:55:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin tests: Use properties to access the inside of the transceiver object
+         This will allow hiding the insides from unsafe application access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-21 15:54:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+         webrtc rtptransceiver: Implement "codec-preferences" property
+         This allows safer access to the internals of the codec-preferences
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-21 15:38:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+         webrtc rtptransceiver: Implement "kind" property
+         Implement the property as read-only to follow the WebRTC spec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-21 15:34:07 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+         webrtc rtptransceiver: Implement "current-direction" property
+         Implement the property as read-only to follow the WebRTC spec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-04-21 15:29:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+         webrtc rtptransceiver: Implement "mid" property
+         Implement the property as read-only to follow the WebRTC spec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2183>
+
+2021-05-12 17:32:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphadecodebin.c:
+         alphadecodebin: Use normal queues instead of multiqueue
+         The multiqueue was too flexible for our need, allowing to queue passed
+         the configured threshold. It also didn't work well when trying to
+         propagate EOS flow return.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2238>
+
+2021-05-12 17:29:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+         alphacombine: Implement flow return propagation
+         The EOS handling was not the problem way. Instead of this, implement
+         proper prorogation of the flow return for the alpha chain function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2238>
+
+2021-05-12 15:13:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstcodecalphademux.c:
+         codecalphademux: Fix handling of flow combine
+         As the alphacombine is simplified to received matching pair of buffers,
+         we can't just stop streaming when we receive EOS from downstream. Due
+         to usage of queue, the moment we get this return value may differ.
+         Though, by continuing pushing, we override the last_flowret on the pad
+         which can make us miss that we effectively can combine all flow into
+         EOS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2238>
+
+2021-04-29 17:14:43 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/debugutils/gsttestsrcbin.c:
+         testbinsrc: Handle setting URI on the fly
+         Reusing existing streams when possible
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2210>
+
+2021-01-20 14:55:09 +0800  Bing Song <bing.song@nxp.com>
+
+       * data/meson.build:
+       * data/targets/file-extension/ts.gep:
+         transcoding: add encoding target for TS.
+         Add encoding target for streamming.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1965>
+
+2021-04-29 16:51:27 +0200  Johan Sternerup <johast@axis.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Add unit test for closing of data channels
+         Add test for verifying that the data channel "close" action signal
+         triggers an SCTP_RESET_STREAMS request that is propagated to the other
+         side and eventually leads to both sides closing properly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2186>
+
+2021-04-22 10:43:55 +0200  Johan Sternerup <johast@axis.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: Fix deadlock when receiving new sctp stream
+         When receiving an sctp message for a stream that not yet has an
+         sctpdec pad associated with it means we end up in
+         _on_sctpdec_pad_added. At this point we're holding the sctpassocation
+         lock. Then it's not possible to take the pc_lock because then code
+         executing under the pc_lock (which means anything in the webrtc
+         thread) may not take the sctpassociation lock. For example, running
+         the data channel close procedure from the webrtc thread means we
+         eventually end up sending a SCTP_RESET_STREAMS packet which needs to
+         grab the sctpassociation lock.
+         This means _on_sctpdec_pad_added simply cannot take the pc_lock and
+         also it is not possible to postpone the channel creation as we need to
+         link the pads right there. The solution is to introduce a more
+         granular dc_lock that protects only the things that needs to be done
+         to create the datachannel.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2186>
+
+2021-04-20 10:45:46 +0200  Johan Sternerup <johast@axis.com>
+
+       * ext/sctp/sctpassociation.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/sctptransport.c:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/webrtc/webrtcdatachannel.h:
+         webrtcbin: Support closing of data channels
+         Support for closing WebRTC data channels as described in RFC
+         8831 (section 6.7) now fully supported. This means that we can now
+         reuse data channels that have been closed properly. Previously, an
+         application that created a lot of short-lived on-demand data channels
+         would quickly exhaust resources held by lingering non-closed data
+         channels.
+         We now use a one-to-one style socket interface to SCTP just like the
+         Google implementation (i.e. SOCK_STREAM instead of SOCK_SEQPACKET, see
+         RFC 6458). For some reason the socket interface to use was made
+         optional through a property "use-sock-stream" even though code wasn't
+         written to handle the SOCK_SEQPACKET style. Specifically the
+         SCTP_RESET_STREAMS command wouldn't work without passing the correct
+         assocation id. Changing the default interface to use from
+         SOCK_SEQPACKET to SOCK_STREAM now means we don't have to bother about
+         the association id as there is only one association per socket. For
+         the SCTP_RESET_STREAMS command we set it to SCTP_ALL_ASSOC just to
+         match the Google implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2186>
+
+2021-05-07 16:30:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Manually fixate codec-alpha field
+         This is a newly introduced field, and we interpret it as false when missing in
+         the caps. Otherwise, a simple capsfilter will just add the missing field and
+         keep going, despite the upstream caps being a superset.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-05-07 11:28:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstplugin.c:
+         doc: codecalpha: Add plugin documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-05-06 09:12:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Add codecalpha plugin to the plugins cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-04-22 16:50:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphadecodebin.c:
+       * gst/codecalpha/gstalphadecodebin.h:
+       * gst/codecalpha/gstplugin.c:
+       * gst/codecalpha/gstvp8alphadecodebin.c:
+       * gst/codecalpha/gstvp8alphadecodebin.h:
+       * gst/codecalpha/gstvp9alphadecodebin.c:
+       * gst/codecalpha/gstvp9alphadecodebin.h:
+       * gst/codecalpha/meson.build:
+         alphadecodebin: Add wrappers to decode VP8/VP9 alpha
+         This includes base class with wrappers bin that will create a static
+         pipeline capable of handling the VP8/VP9 alpha channel decoding
+         using two instances of vp8/vp9dec element each.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-04-02 15:07:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+       * gst/codecalpha/gstalphacombine.h:
+       * gst/codecalpha/gstplugin.c:
+       * gst/codecalpha/meson.build:
+         codecalpha: Implement alphacombine element
+         This element will merge video buffers in order to use the alpha stream
+         luma plane as the alpha of the video stream. The implementation is zero-copy
+         and currently only support merging I420 stream with an I420, NV12 or GRAY8
+         alpha stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-03-30 15:34:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstcodecalphademux.c:
+         alphacodecdemux: Implement meta demuxing
+         Produce two streams from a buffer that has GstVideoCodecAlphaMeta
+         attached.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-03-24 16:48:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstcodecalphademux.c:
+       * gst/codecalpha/gstcodecalphademux.h:
+       * gst/codecalpha/gstplugin.c:
+       * gst/codecalpha/meson.build:
+       * gst/meson.build:
+       * meson_options.txt:
+         Introduce CODEC Alpha plugin
+         This plugin contains a set of utility elements allowing to extract,
+         decode and combine CODEC (typically VP8/VP9) alpha stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
+
+2021-05-11 13:57:59 +0100  Daniel Stone <daniel@fooishbar.org>
+
+       * ext/openaptx/meson.build:
+         openaptx: Fix to v0.2.0 due to license change
+         openaptx has recently changed its license to explicitly exclude
+         'Freedesktop projects' from using it, which would include GStreamer, as
+         well as shifting to base terms of GPLv3:
+         https://github.com/pali/libopenaptx/commit/811bc18586d634042618d633727ac0281d4170b8
+         This unilateral license change is legally dubious in many ways.
+         The original work came from ffmpeg under the LGPL v2.1, to which third
+         parties may not add additional restrictions (per sections 2 and 7 of the
+         LGPL v2.1), so LGPLv2.1 + may-not-use restrictions are not permissible
+         without the explicit consent of the original copyright holder.
+         The upgrade to LGPL v3.0 without explicit consent from the original
+         copyright holder is in itself permissible through the upgrade terms of
+         the LGPL, however the additional restrictions imposed again conflict
+         with sections 7 and 10 of the GPLv3 (as the base of the LGPLv3, with
+         those sections not being invalidated by the additional LGPLv3 text).
+         Though it does not impact the legal validity of the redeclaration of
+         licensing, the claims that freedesktop.org has violated the terms of the
+         openaptx license in the past are false; the work was contributed to the
+         PulseAudio project with an explicit open license, with the original
+         contributor later attempting to revoke permission for its use, despite
+         the explicit terms of the license giving no ability to do so as they
+         lack a change-of-heart provision.
+         The claims that Collabora violated the license are even more baseless;
+         they are based on an assertion that when I (acting on behalf of
+         freedesktop.org rather than Collabora, in my own unpaid time) banned
+         users from freedesktop.org's GitLab instance due to sustained violations
+         of the Code of Conduct users agree to when creating an account on that
+         platform, this somehow constituted a violation of the license. Even if
+         Collabora were somehow involved in this - which they were not at all -
+         there is no requirement under open licenses that users be given
+         unlimited access under all terms to any platform on the internet. Such
+         terms would mean that open development could only be conducted on
+         completely unmoderated platforms, which does not stand up to any
+         scrutiny.
+         Regardless of the declared license having no legal validity, the LGPL's
+         explicit provision in both v2.1 and v3.0 for such additional
+         restrictions to be stripped, and the low likelihood of it ever being
+         used together with GStreamer as its licensing terms would not be
+         acceptable to any distribution, enforcing a version check seems like the
+         safest way to ensure complete legal clarity, not put users or
+         downstreams in any jeopardy, and comply with the author's stated wishes
+         for v0.2.1 and above to not be used by GStreamer.
+         Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2235>
+
+2021-05-11 10:21:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update cache after RGBP pixel format addition
+         Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1141
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2236>
+
+2021-05-09 23:42:46 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Do not use a common parent_class in vabasedec.
+         We have only one copy of gst_va_base_dec_parent_class inside the
+         vabasedec, so it can not handle the case when there are multi va
+         decoders inside one pipeline. The pipeline:
+         gst-launch-1.0 filesrc location=xxx.h264 ! h264parse \
+         ! vah264dec ! msdkh265enc ! vah265dec ! fakesink
+         generates a assertion of
+         "invalid cast from 'GstVaH264Dec' to 'GstH265Decoder"
+         and gets a crash.
+         We should keep the parent_class for each decoder type.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2231>
+
+2021-05-07 16:02:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         libs: codecs: h264decoder: Assert output_picture virtual method.
+         For new code it's nice to assert if the derived class implemented the
+         output_picture virtual method. Otherwise a segmentation fault
+         occurs. All other decoders assert this method.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2228>
+
+2021-05-06 18:37:45 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Properly free property fields
+         The set location (in two places) and loaded bytes were not freed when
+         the element is destroyed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2222>
+
+2021-05-06 19:17:29 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Properly lock property fields
+         Use the object lock for the following fields:
+         - `bytes`: Written by the `load-bytes` signal unless running; consumed
+         on start.
+         - `draw_background`: Read and written by the `draw-background`
+         property.
+         - `location`: Read and written by the `location` property and the URI
+         handler.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2222>
+
+2021-05-07 11:13:06 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtp/gstrtpsrc.c:
+         rtpsrc: Plug leak of rtcp_send_addr
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2226>
+
+2021-05-07 11:13:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtp/gstrtpsink.c:
+         rtpsink: Return proper pad from _request_new_pad
+         Bizarrely, it returned a pad from the child rtpbin. I noticed because
+         our application leaked the implicitly created ghost pad. Make an
+         explicit ghost pad so this works properly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2227>
+
+2021-05-07 11:12:39 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rist/gstristsrc.c:
+         rist: Plug leak of rtcp_send_addr
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2225>
+
+2021-05-07 11:10:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaav1dec.c:
+         va: av1dec: Avoid structure overwrite.
+         VADecPictureParameterBufferAV1.mode_control_fields.bits were filled
+         twice, overwriting to zeros the first assignation. This patch unifies
+         both assignations.
+         Also it makes explicit an enum casting between libva and gstreamer; it
+         removes the assignation to zero a deprecated parameter; and use an
+         appropriate assertion.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2223>
+
+2021-05-06 17:07:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.c:
+         webrtc: only add nack pli by default if kind is video
+         Sending/receiving PLI's (Picture Loss Indication) for non-video doesn't
+         really make sense.  This also matches what the browsers do.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2220>
+
+2021-05-06 17:06:44 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.c:
+       * ext/webrtc/utils.h:
+         webrtc: move webrtc_kind_from_caps() to utils
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2220>
+
+2021-04-21 17:34:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+       * sys/wasapi2/gstwasapi2client.h:
+       * sys/wasapi2/gstwasapi2sink.c:
+       * sys/wasapi2/gstwasapi2src.c:
+       * sys/wasapi2/gstwasapi2util.h:
+         wasapi2: Propagate HRESULT error code everywhere
+         ... instead of boolean value which cannot notify the reason
+         of the operation failure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2219>
+
+2021-05-06 10:46:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/hls/gsthlssink.c:
+       * ext/hls/gsthlssink2.c:
+       * ext/hls/gstm3u8playlist.c:
+       * ext/hls/gstm3u8playlist.h:
+         hlssink(2): Don't write deprecated EXT-X-ALLOW-CACHE metadata
+         It's deprecated since quite a few versions and various validators
+         complain about it. Instead of the in-manifest metadata this should be
+         handled by the normal HTTP caching headers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2221>
+
+2021-05-06 01:35:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklinkvideosrc: Fix crash when mode is not specified
+         In that case, we will get "VideoInputFrameArrived" callback
+         without "VideoInputFormatChanged"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2218>
+
+2021-05-05 12:34:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: don't invalidate the last PPS when parsing a new SPS
+         This is a port of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2019
+         to h265parse.
+         When a SPS is received then any previous PPS remains valid. So don't clear
+         the PPS flag from the parser state.
+         This is important because there are encoders that don't generated a PPS after
+         every SPS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2217>
+
+2021-04-20 22:18:09 +0200  François Laignel <fengalin@free.fr>
+
+       * ext/dash/gstdashsink.c:
+       * ext/dtls/gstdtlssrtpdec.c:
+       * ext/dtls/gstdtlssrtpenc.c:
+       * ext/hls/gsthlssink2.c:
+       * ext/resindvd/resindvdbin.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportreceivebin.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/rist/gstristsink.c:
+       * gst/rtp/gstrtpsink.c:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsturitranscodebin.c:
+       * sys/dvb/dvbbasebin.c:
+       * sys/uvch264/gstuvch264_src.c:
+       * tests/check/elements/asfmux.c:
+       * tests/check/elements/cccombiner.c:
+       * tests/check/elements/dtls.c:
+       * tests/check/elements/mpegtsmux.c:
+       * tests/check/elements/mplex.c:
+       * tests/check/elements/webrtcbin.c:
+       * tests/examples/playout.c:
+         Use gst_element_request_pad_simple...
+         Instead of the deprecated gst_element_get_request_pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2180>
+
+2021-05-04 12:29:14 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxf: check EOS cond with any segment's flag
+         The previous test was preventing the pad to be in EOS
+         when the segment position was greater than segment stop.
+         It ended up consuming all the data before getting in EOS.
+         Regarding GST_SEEK_FLAG_SEGMENT it seems to be
+         correctly handled later in the method.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2173>
+
+2021-04-19 18:25:06 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: fix keyframe detection in index
+         An index entry should be considered as a keyframe
+         if the flags allow a random access only.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2173>
+
+2021-04-24 10:43:47 +0000  Antonio Rojas <arojas@archlinux.org>
+
+       * ext/openexr/gstopenexrdec.cpp:
+         Fix build with OpenEXR 3
+         Add a header that is no longer transitively included
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2195>
+
+2021-04-22 19:21:01 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp9statefulparser.c:
+         codecs: gstvp9statefulparser: do not carry over segmentation flags
+         Do not carry over segmentation flags from previous frames. The spec
+         says in 7.2.10 that the feature data carry over from previous frames
+         if not updated, but the flags do not.
+         Consider what would happen if a flag B is to depend on a flag A, and
+         B carries over as set from another frame. Further consider that A is
+         now not set in this particular frame. This leads to the invalid state
+         in which flag B is set but flag A isn't.
+         This might cause the bitstream to be rejected by accelerators down
+         the line.
+         Fix it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2203>
+
+2021-04-29 21:44:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdup.h:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+         d3d11desktopdup: Don't ignore error DXGI_ERROR_UNSUPPORTED
+         Although Microsoft's DXGIDesktopDuplication example is considering
+         the DXGI_ERROR_UNSUPPORTED as an expected error
+         (See https://github.com/microsoft/Windows-classic-samples/tree/master/Samples/DXGIDesktopDuplication)
+         it might not be recoverable error if application is
+         run against a discrete GPU
+         (See https://docs.microsoft.com/en-US/troubleshoot/windows-client/shell-experience/error-when-dda-capable-app-is-against-gpu)
+         Do early error out if the error happens while opening device,
+         instead of retrying it forever.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2208>
+
+2021-04-29 22:10:15 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+         d3d11desktopdup: Support desktop switches
+         Before creating output duplication interface, call SetThreadDesktop()
+         with HDESK of the current input desktop in case a desktop switch has
+         occurred.
+         This allows d3d11desktopdupsrc to capture Windows User Account Control
+         (UAC) prompts, which appear on a separate secure desktop. Otherwise
+         IDXGIOutput1::DuplicateOutput() will return E_ACCESSDENIED and the
+         element won't produce any frames as long as the UAC screen is active.
+         Note that in order to access secure desktop the application still has to
+         run at LOCAL_SYSTEM privileges. For GStreamer applications running with
+         regular user privileges this change has no effect.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2209>
+
+2021-04-27 18:08:30 +0000  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/winscreencap/dxgicapture.c:
+         dxgicapture: reinitialize duplication interface on ERROR_ACCESS_LOST
+         IDXGIOutputDuplication can become invalid for example when there's
+         desktop switch, resolution change or Windows User Account Control prompt
+         appears on screen.
+         When that happens, try to re-create the duplication interface for the
+         changed output. Note that in the case of UAC prompt this operation will
+         fail if the GStreamer process doesn't run at LOCAL_SYSTEM privileges. In
+         such situation the source element won't create any frames as long as the
+         output is occupied by UAC screen.
+         In order to enable UAC access to sufficiently privileged GStreamer
+         processes, call SetThreadDesktop() with the desktop handle that
+         currently receives user input before creating our output duplication.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2204>
+
+2021-04-29 09:35:51 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+         msdk: set correct parameters for BGRx frame
+         Otherwise when mapping BGRx frame onto CPU's memory, CPU will get wrong
+         data for B, G, R components
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2205>
+
+2021-04-29 21:12:42 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: advertise support for transport-cc rtcp-fb by default
+         Still requires explicit enabling by the application through the header
+         extension on all the relevant payloaders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2207>
+
+2021-04-29 21:11:25 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtc/stats: provide the twcc stats when available
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2207>
+
+2021-04-28 10:52:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Disable derived for Gallium if RGB and reading.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-04-22 17:08:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Disable derived for i965 if YUV and writing.
+         The problem is for uploading YUV frames using derived images, is that
+         derived images imply tiling, so frames are wrongly uploaded.
+         Though derived for reading might work we cannot know the Intel graphics
+         generation to validate the caching. Overall, it's safer to disable derived
+         images for i965.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-04-22 17:07:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadisplay.c:
+       * sys/va/gstvadisplay.h:
+         va: display: Fix typo.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-04-22 12:42:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Hack for i965 to get linear RGB DMABufs.
+         i965 driver has a hack to provide linear dmabufs, which is required for RGB
+         formats, since they are directly uploaded by glupload, ignoring tiled modifiers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-04-22 15:51:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: Remove unused parameter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-03-31 11:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: Set usage hint generic if DMABuf.
+         iHD driver sets a tiled DRM modifier if surface's usage hint is set to
+         VPP_WRITE. This result in a garbled rendering when using glimagesink.
+         This patch changes the usage hint to generic if the caps feature is
+         DMABuf. Either way only iHD driver, so far, uses the usage hint flag.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-04-20 12:52:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: Get info from caps in decide_allocation()
+         decide_allocation() occurs before set_caps(), where out_info is set,
+         thus setting srcpad_info with zeros or old values. Instead of it, the
+         caps, from the allocation query, are converted and used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127>
+
+2021-04-23 13:56:43 +0200  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpcrfbase.h:
+         avtp: crf: Remove superfluous sink_event variable
+         This variable was introduced by commit 12ad2a4bcd6c ("avtp: Introduce
+         the CRF Sync Element") but it was never used:
+         $ git log -G "sink_event" -- ext/avtp
+         Signed-off-by: Timo Wischer <timo.wischer@de.bosch.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2201>
+
+2020-02-17 14:11:15 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: Add support for error report too
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/909>
+
+2019-12-06 12:48:37 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+       * sys/msdk/gstmsdkdecproputil.c:
+       * sys/msdk/gstmsdkdecproputil.h:
+       * sys/msdk/gstmsdkh264dec.c:
+         msdkh264dec: report error to user
+         Sometimes user want to know what the error is when decoding a stream,
+         This commit adds a property of report-error to msdkh264dec. When
+         report-error is TRUE, msdkh264dec may catch bitstream error and frame
+         corruption, then report the error to application by using GST_ELEMENT_ERROR
+         Refer to the code in
+         https://github.com/Intel-Media-SDK/MediaSDK/tree/master/samples
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/909>
+
+2019-12-06 12:02:50 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: allow sub class to add extra parameters for additional configuration
+         MSDK allows user add extended buffers to a bitstream for additional
+         configuration. This commit is to support this feature in this plugin
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/909>
+
+2021-04-27 21:52:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11basefilter.cpp:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11: Handle device change
+         If incoming buffer holds other d3d11 device, and user wants any device
+         (i.e., adapter index wasn't specified explicitly) update our device
+         with that of buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
+
+2021-04-23 19:29:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Delay window setup as much as possible
+         ... so that videosink can handle device update with
+         d3d11 device of the first buffer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
+
+2021-04-23 18:44:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+         d3d11: Don't accept buffer pool which holds different device
+         At the moment, d3d11 plugin doesn't support texture sharing between
+         different device
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
+
+2021-04-23 18:45:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Run gst-indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
+
+2021-02-23 11:56:53 -0500  Aaron Boxer <boxerab@gmail.com>
+
+       * ext/meson.build:
+       * ext/onnx/gstonnx.c:
+       * ext/onnx/gstonnxclient.cpp:
+       * ext/onnx/gstonnxclient.h:
+       * ext/onnx/gstonnxelement.c:
+       * ext/onnx/gstonnxelement.h:
+       * ext/onnx/gstonnxobjectdetector.cpp:
+       * ext/onnx/gstonnxobjectdetector.h:
+       * ext/onnx/meson.build:
+       * meson_options.txt:
+         onnx: add plugin to apply ONNX neural network models to video
+         This MR provides a transform element that leverage ONNX runtime
+         to run AI inference on a broad range of neural network toolkits, running
+         on either CPU or GPU. ONNX supports 16 different providers at the
+         moment, so with ONNX we immediately get support for Nvidia, AMD, Xilinx
+         and many others.
+         For the first release, this plugin adds a gstonnxobjectdetector element to
+         detect objects in video frames. Meta data generated by the model is
+         attached to the video buffer as a custom GstObjectDetectorMeta meta.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1997>
+
+2021-04-26 18:00:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklinkvideosrc: Fix AFD/Bar VANC size check
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2193>
+
+2021-04-23 18:05:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklinkvideosrc: Automatically detect widescreen vs. normal NTSC/PAL
+         Based on the AFD aspect ratio flag the source can detect (in mode=auto)
+         whether this NTSC/PAL mode is actually a normal or a widescreen one and
+         select the caps according to that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2193>
+
+2021-03-30 12:39:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/jpegformat/gstjpegparse.c:
+         jpegparse: Don't generate timestamp for 0/1 framerates
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2194>
+
+2021-04-23 23:20:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Set flushing to internal pool on flush event
+         d3d11 decoders use internal pool for DPB texture and
+         Gst*Decoder::new_picture() will be blocked if internal pool is full.
+         We should be able to unblock in on flush-start event as expected.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2192>
+
+2021-04-23 16:53:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11: Fix wrong GstD3D11BufferPool type check
+         Fix typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2190>
+
+2021-03-31 18:07:40 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/rtp/gstrtpsrc.c:
+         rtpsrc: Fix wrong/NULL URI handling
+         We can reset the URI to NULL and this fix a deadlock in that case or
+         when the URI was invalid.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2132>
+
+2021-04-22 16:45:27 +0000  Nazar Mokrynskyi <nazar@mokrynskyi.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: downgrade "dropping ICE candidates from SDP" from warning to debug level
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2187>
+
+2021-04-16 20:39:35 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Attach rtpbin even for data channels
+         This is required because the same transport may later be used for RTP.
+         In which case the RTCP needs to flow bi-directionnally already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2172>
+
+2021-03-04 00:41:09 -0800  Frederich Munch <colsebas@hotmail.com>
+
+       * ext/webrtc/nicetransport.c:
+         Fix missing unref of nice-agent causing sockets to never close.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1960>
+
+2021-04-22 16:09:40 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/webrtc/sctptransport.c:
+         webrtc: Fix sctp task's return type.
+         GstWebRTCBinFunc expects a GstStructure* return type.
+         Fixes segfault on PowerPC.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2188>
+
+2021-04-22 15:50:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Fix UWP build
+         Add missing GST_MF_HAVE_D3D11 define guard
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2185>
+
+2021-04-22 15:42:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2: Fix UWP build
+         KSAUDIO_SPEAKER_* defines are WINAPI_PARTITION_DESKTOP only
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2185>
+
+2021-04-21 21:43:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: fix truncated output segment when seeking with a stop
+         In disabling the stop adjustment for negative rates in
+         03031037fafd2d535bbefb1fdf6024b5d1159043 , two instructions
+         were inverted resulting in the stop always being adjusted by
+         0
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2182>
+
+2021-04-20 23:51:49 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * tests/check/elements/netsim.c:
+         tests/netsim: Set src caps before creating buffers
+         GstHarness requires the source pad caps to be set before
+         buffer allocations.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2179>
+
+2021-04-20 02:00:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * tests/check/elements/d3d11colorconvert.c:
+         d3d11: Add support for BGRx and RGBx formats
+         For such formats, we can re-use existing BGRA/RGBA implementations
+         but ignoring alpha channel
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2174>
+
+2021-04-20 18:37:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2: Implement default audio channel mask
+         Some capture devices might not provide channel mask value which will
+         result in capturing failure because of unknown channel mask in case
+         that device generates more than 2 channels. Although it might not
+         be correct, we can assume channel mask with the given number of channels.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2177>
+
+2021-04-20 18:40:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2clinet: Simplify set caps
+         Don't need to iterate all structure to set identical values
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2177>
+
+2021-04-20 18:48:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2client: Run gst-indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2177>
+
+2021-04-13 17:35:58 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin test: Don't fail if data channel is created
+         In tests that voluntarily create a data channel.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2168>
+
+2021-04-19 19:06:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Filter caps isn't fixed
+         Fix an assertion because the filter paramter passed to
+         gst_caps_is_equal_fixed() wasn't fixed. So use the regular
+         gst_caps_is_equal() instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2175>
+
+2021-04-20 02:04:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         d3d11: Update plugin doc cache
+         Updating for removed d3d11videosink wrapper bin and the change of
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2113
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2169>
+
+2021-04-17 20:37:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11videosinkbin.cpp:
+       * sys/d3d11/gstd3d11videosinkbin.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Remove d3d11videosink wrapper bin
+         Drop d3d11videosink wrapper bin and handle texture upload
+         in d3d11videosink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2169>
+
+2021-04-18 13:49:59 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtcdsp/gstwebrtcdsp.cpp:
+         webrtcdsp: Propagate VAD to audio level meta
+         Whenever the voice activity changed on the stream, update or create an
+         AudioLevelMeta and associate it to the corresponding buffer.
+         Fixes #1073
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2170>
+
+2021-04-19 13:06:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: Use correct enum when registering the max-scheduled property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2171>
+
+2021-04-15 14:06:59 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Remove code targeting WebKit < 2.24
+         We already depend on wk >= 2.24
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2165>
+
+2021-04-15 13:28:42 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Make threaded view singleton creation thread safe
+         It was leading to interesting failures.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2165>
+
+2021-04-15 00:02:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+         d3d11: pluginutils: Fix wrong gst_memory_unmap() on _map() failure
+         It was obvious typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2164>
+
+2021-04-13 17:15:22 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * tests/check/elements/avtpcvfdepay.c:
+         tests/avtp: increase timeout of test_depayloader_fragmented_big
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2160>
+
+2021-04-14 01:59:23 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * tests/check/elements/dash_mpd.c:
+         check: fix dash_mpdparser_check_mpd_client_set_methods test.
+         Setting guint64 valist properties without type specifier fails
+         on 32bit archs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2161>
+
+2021-04-13 16:34:15 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * tests/check/elements/line21.c:
+         line21enc: fix remove-caption-meta property test
+         It's possible for the same address to be allocated to the decoded
+         metadata. Switch test to actual detect if it was removed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2159>
+
+2021-04-13 06:40:43 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * tests/check/elements/shm.c:
+         tests: fix shm test deadlock
+         Stopping the consumer first would occasionally allow the producer
+         to fill the shm segment causing it to block in send() and unable
+         to be stopped.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2158>
+
+2021-04-13 05:54:37 -0400  Doug Nazar <nazard@nazar.ca>
+
+         check: Fix test dash_mpdparser_xlink_period
+         Test used http://404/ERROR/XML.period as an invalid url. Curl now
+         interprets that as an 32bit int and tries an actual connect which
+         timesout. Use .invalid as an IANA reserved domain for invalid DNS.
+         curl -v http://404/ERROR/XML.period
+         *   Trying 0.0.1.148:80...
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2157>
+
+2021-04-13 15:42:09 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Fix an unmap typo in _va_copy.
+         No need to unmap the the src memory when failing to allocate the
+         dst mem. It has not been mapped yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2156>
+
+2021-04-06 12:03:32 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: don't fall back to the default device
+         Ohterwise when user set a wrong device, the warning message doesn't get
+         printed if user doesn't set a right debug level in the environment, this
+         behavior might mislead user that the wrong device is being used.
+         This fixed https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1567
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2138>
+
+2021-04-12 17:54:31 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Simplify answer_caps intersection code a little
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-04-12 15:35:41 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin test: Wait for set-local-desc & set-remote-desc to continue
+         To avoid racing betwen the SDPs being set and the next step of the
+         test, let's wait for setting the SDP both locally and remotely to succeed.
+         of the test
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-04-01 14:51:30 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtcbin: Move GstPromise reply to operation framework
+         This makes it possible to reply to all promises in a consistent way
+         without having to do a unlock/relock that is always risky.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-04-01 14:41:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Make sure PC_LOCK is release when replying to promise
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-31 11:56:10 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Take PC lock around all entry points
+         All of those action signals change the internal state, so
+         protect it by using the PC_LOCK
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-31 11:49:36 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Take PC_LOCK when requesting new pad
+         This is needed to avoid having the state change under us.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-31 11:41:45 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin test: Add for the case where a second m-line is renegotiated
+         This is for the case where there answerer forces a specific media type
+         for a m-line, but he origin offer only has the other media type. In this
+         case, we will create a second transceiver on receiving the offer and add
+         the desired media type using renegotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-31 11:40:28 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Ensure that query caps method returns valid caps
+         This means rejecting any caps that aren't fixed. Also, use a filter
+         that will create unfixed caps if the other side just returns ANY.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-31 11:33:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Associate the stream with a new transceiver
+         Otherwise, this newly created transceiver has no stream and it
+         aborts later when it tries to connect the input pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-31 11:30:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Match unassociated transceiver by kind too
+         When a new m-line comes in that doesn't have a transceiver, only match
+         existing transceivers of the same kind.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-30 18:01:56 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Fix typoe in name of error GstStructure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-30 16:16:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc test: Verify that forcing different kinds on peers fails
+         If the offer contains an audio kind and a video kind, forcing them both
+         at m-line zero will fail.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-30 16:04:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc tests: Verify that create-offer is rejected when needed
+         Verify that it gets rejected if a m-line at index 1 is requested but
+         there is no m-line 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-29 19:47:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin test: Add test for various cases where get_request_pad is meant to fail
+         This should ensure that the recently added code works.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 21:09:04 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Enforce direction on request sink pad with a specific name
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 20:55:36 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Try to match an existing transceiver on pad request
+         This should avoid creating extra transceivers that are duplicated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 20:02:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Validate locked m-lines in set*Description
+         Verify that the remote description match the locked m-lines, otherwise
+         just reject the SDP.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 19:38:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: Remove unused session_mid_map
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 18:15:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.h:
+         webrtcbin: Enforce m-line restrictions when creating offer
+         First fail the offer creation if the mid of an existing offer doesn't
+         match a forced m-mline.
+         Then, for all newly added mlines, first look for a transceiver that
+         forces this m-line, then add a "floating" one, then the data channel.
+         And repeat this until we're out of transceivers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 15:57:15 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.h:
+         webrtcbin: Remember if a transceiver had a forced m-line
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 15:54:35 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Enforce same-kind on request sink pad with a specific name
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 15:23:34 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Enforce compatible caps on pad request
+         If a pad is requested with certain caps and there is already a
+         transceiver, reject the pad request if the caps don't match.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 15:19:09 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Reject pad request for a specific m-line if it already exists
+         This way, the app developer is in control.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 15:02:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Make request-pad validation an early return
+         This reduces the indendation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-26 14:48:58 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Add document for webrtcbin itself to generated doc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-23 20:18:24 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin test: Test adding a stream to a stream+datachannel
+         This use-case was previously broken by the expectation of having
+         a 1-1 match between the pad id and the m-line index
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-23 19:51:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Reset received_caps when releasing pad
+         This is to work around a race where the pad is accessed in the
+         webrtc main thread while being released.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-03-23 17:51:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: Split pad name from mline
+         The simple case where this breaks is if you add a
+         datachannel and want to add a new pad (a new media) after). Another
+         case where this is broken is if the order of the media is forced to
+         something different by the peer.
+         It's more simple to just split both things completely. In practice, the
+         pads will be named in the order in which they are allocated, so it
+         shouldn't change the current behaviour, just enable new ones.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
+
+2021-02-25 05:04:00 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/switchbin/gstswitchbin.c:
+         switchbin: When collecting srcpad caps, don't intersect with path caps.
+         The path caps describe the input caps that will select each path, don't
+         intersect those with the srcpad caps, which could be completely
+         different. Instead, when querying allowed caps for the srcpad, just
+         construct the union of all possible output caps from all path srcpads.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2018>
+
+2021-02-16 15:00:07 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/switchbin/gstswitchbin.c:
+         switchbin: Don't report sink pad caps for src pad queries.
+         When handling a caps query on the src pad, don't return the union
+         of input caps. Even when not active, a path element can be queried
+         for srcpad template caps, or for dropping paths the allowed downstream
+         caps is anything - as data will be dropped anyway.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2018>
+
+2021-02-25 15:22:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/accurip/gstaccurip.c:
+       * gst/accurip/gstaccurip.h:
+       * gst/adpcmdec/adpcmdec.c:
+       * gst/adpcmenc/adpcmenc.c:
+       * gst/aiff/aiff.c:
+       * gst/aiff/aiffelements.h:
+       * gst/aiff/aiffmux.c:
+       * gst/aiff/aiffparse.c:
+       * gst/aiff/gstaiffelement.c:
+       * gst/aiff/meson.build:
+       * gst/asfmux/gstasf.c:
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfmux.h:
+       * gst/asfmux/gstasfparse.c:
+       * gst/asfmux/gstasfparse.h:
+       * gst/asfmux/gstrtpasfpay.c:
+       * gst/asfmux/gstrtpasfpay.h:
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+       * gst/audiobuffersplit/gstaudiobuffersplit.h:
+       * gst/audiofxbad/gstaudiochannelmix.c:
+       * gst/audiofxbad/gstaudiochannelmix.h:
+       * gst/audiofxbad/gstaudiofxbad.c:
+       * gst/audiolatency/gstaudiolatency.c:
+       * gst/audiolatency/gstaudiolatency.h:
+       * gst/audiomixmatrix/gstaudiomixmatrix.c:
+       * gst/audiomixmatrix/gstaudiomixmatrix.h:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspacescope.h:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstspectrascope.h:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstsynaescope.h:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/audiovisualizers/gstwavescope.h:
+       * gst/audiovisualizers/plugin.c:
+       * gst/autoconvert/gstautoconvert.c:
+       * gst/autoconvert/gstautoconvert.h:
+       * gst/autoconvert/gstautovideoconvert.c:
+       * gst/autoconvert/gstautovideoconvert.h:
+       * gst/autoconvert/plugin.c:
+       * gst/bayer/gstbayer.c:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/bayer/gstbayerelements.h:
+       * gst/bayer/gstrgb2bayer.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+       * gst/camerabin2/gstplugin.c:
+       * gst/camerabin2/gstviewfinderbin.c:
+       * gst/camerabin2/gstviewfinderbin.h:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.h:
+       * gst/coloreffects/gstchromahold.c:
+       * gst/coloreffects/gstchromahold.h:
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/coloreffects/gstcoloreffects.h:
+       * gst/coloreffects/gstplugin.c:
+       * gst/debugutils/debugutilsbad.c:
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/gstchecksumsink.c:
+       * gst/debugutils/gstchopmydata.c:
+       * gst/debugutils/gstclockselect.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstdebugspy.c:
+       * gst/debugutils/gstdebugutilsbadelements.h:
+       * gst/debugutils/gsterrorignore.c:
+       * gst/debugutils/gstfakeaudiosink.c:
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/debugutils/gsttestsrcbin.c:
+       * gst/debugutils/gstwatchdog.c:
+       * gst/dvbsubenc/gstdvbsubenc.c:
+       * gst/dvbsubenc/gstdvbsubenc.h:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.h:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/dvdspu/gstdvdspu.h:
+       * gst/faceoverlay/gstfaceoverlay.c:
+       * gst/faceoverlay/gstfaceoverlay.h:
+       * gst/festival/gstfestival.c:
+       * gst/festival/gstfestival.h:
+       * gst/fieldanalysis/gstfieldanalysis.c:
+       * gst/fieldanalysis/gstfieldanalysis.h:
+       * gst/freeverb/gstfreeverb.c:
+       * gst/freeverb/gstfreeverb.h:
+       * gst/gaudieffects/gstburn.c:
+       * gst/gaudieffects/gstburn.h:
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstchromium.h:
+       * gst/gaudieffects/gstdilate.c:
+       * gst/gaudieffects/gstdilate.h:
+       * gst/gaudieffects/gstdodge.c:
+       * gst/gaudieffects/gstdodge.h:
+       * gst/gaudieffects/gstexclusion.c:
+       * gst/gaudieffects/gstexclusion.h:
+       * gst/gaudieffects/gstgaussblur.c:
+       * gst/gaudieffects/gstgaussblur.h:
+       * gst/gaudieffects/gstplugin.c:
+       * gst/gaudieffects/gstplugin.h:
+       * gst/gaudieffects/gstsolarize.c:
+       * gst/gaudieffects/gstsolarize.h:
+       * gst/gdp/gstgdp.c:
+       * gst/gdp/gstgdpdepay.c:
+       * gst/gdp/gstgdpdepay.h:
+       * gst/gdp/gstgdpelement.c:
+       * gst/gdp/gstgdpelements.h:
+       * gst/gdp/gstgdppay.c:
+       * gst/gdp/gstgdppay.h:
+       * gst/gdp/meson.build:
+       * gst/geometrictransform/gstbulge.c:
+       * gst/geometrictransform/gstbulge.h:
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstcircle.h:
+       * gst/geometrictransform/gstdiffuse.c:
+       * gst/geometrictransform/gstdiffuse.h:
+       * gst/geometrictransform/gstfisheye.c:
+       * gst/geometrictransform/gstfisheye.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gstkaleidoscope.h:
+       * gst/geometrictransform/gstmarble.c:
+       * gst/geometrictransform/gstmarble.h:
+       * gst/geometrictransform/gstmirror.c:
+       * gst/geometrictransform/gstmirror.h:
+       * gst/geometrictransform/gstperspective.c:
+       * gst/geometrictransform/gstperspective.h:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstpinch.h:
+       * gst/geometrictransform/gstrotate.c:
+       * gst/geometrictransform/gstrotate.h:
+       * gst/geometrictransform/gstsphere.c:
+       * gst/geometrictransform/gstsphere.h:
+       * gst/geometrictransform/gstsquare.c:
+       * gst/geometrictransform/gstsquare.h:
+       * gst/geometrictransform/gststretch.c:
+       * gst/geometrictransform/gststretch.h:
+       * gst/geometrictransform/gsttunnel.c:
+       * gst/geometrictransform/gsttunnel.h:
+       * gst/geometrictransform/gsttwirl.c:
+       * gst/geometrictransform/gsttwirl.h:
+       * gst/geometrictransform/gstwaterripple.c:
+       * gst/geometrictransform/gstwaterripple.h:
+       * gst/geometrictransform/plugin.c:
+       * gst/id3tag/gstid3mux.c:
+       * gst/id3tag/gstid3mux.h:
+       * gst/inter/gstinter.c:
+       * gst/inter/gstinteraudiosink.c:
+       * gst/inter/gstinteraudiosink.h:
+       * gst/inter/gstinteraudiosrc.c:
+       * gst/inter/gstinteraudiosrc.h:
+       * gst/inter/gstintersubsink.c:
+       * gst/inter/gstintersubsink.h:
+       * gst/inter/gstintersubsrc.c:
+       * gst/inter/gstintersubsrc.h:
+       * gst/inter/gstintervideosink.c:
+       * gst/inter/gstintervideosink.h:
+       * gst/inter/gstintervideosrc.c:
+       * gst/inter/gstintervideosrc.h:
+       * gst/interlace/gstinterlace.c:
+       * gst/ivfparse/gstivfparse.c:
+       * gst/ivfparse/gstivfparse.h:
+       * gst/ivtc/gstcombdetect.c:
+       * gst/ivtc/gstcombdetect.h:
+       * gst/ivtc/gstivtc.c:
+       * gst/ivtc/gstivtc.h:
+       * gst/jp2kdecimator/gstjp2kdecimator.c:
+       * gst/jp2kdecimator/gstjp2kdecimator.h:
+       * gst/jpegformat/gstjifmux.c:
+       * gst/jpegformat/gstjifmux.h:
+       * gst/jpegformat/gstjpegformat.c:
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/jpegformat/gstjpegparse.h:
+       * gst/librfb/gstrfbsrc.c:
+       * gst/librfb/gstrfbsrc.h:
+       * gst/midi/midi.c:
+       * gst/midi/midiparse.c:
+       * gst/midi/midiparse.h:
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegdemux.h:
+       * gst/mpegdemux/plugin.c:
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegpsmux/mpegpsmux.h:
+       * gst/mpegtsdemux/gsttsdemux.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/mpegtsparse.h:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+       * gst/mpegtsmux/gstatscmux.c:
+       * gst/mpegtsmux/gstatscmux.h:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+       * gst/mpegtsmux/gstmpegtsmux.h:
+       * gst/mpegtsmux/gstmpegtsmuxplugin.c:
+       * gst/mxf/gstmxfelement.c:
+       * gst/mxf/gstmxfelements.h:
+       * gst/mxf/meson.build:
+       * gst/mxf/mxf.c:
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfmux.c:
+       * gst/netsim/gstnetsim.c:
+       * gst/netsim/gstnetsim.h:
+       * gst/onvif/gstrtponvif.c:
+       * gst/onvif/gstrtponvifparse.c:
+       * gst/onvif/gstrtponvifparse.h:
+       * gst/onvif/gstrtponviftimestamp.c:
+       * gst/onvif/gstrtponviftimestamp.h:
+       * gst/pcapparse/gstirtspparse.c:
+       * gst/pcapparse/gstirtspparse.h:
+       * gst/pcapparse/gstpcapparse.c:
+       * gst/pcapparse/gstpcapparse.h:
+       * gst/pcapparse/plugin.c:
+       * gst/pnm/gstpnm.c:
+       * gst/pnm/gstpnmdec.c:
+       * gst/pnm/gstpnmdec.h:
+       * gst/pnm/gstpnmenc.c:
+       * gst/pnm/gstpnmenc.h:
+       * gst/proxy/gstproxy.c:
+       * gst/proxy/gstproxysink.c:
+       * gst/proxy/gstproxysink.h:
+       * gst/proxy/gstproxysrc.c:
+       * gst/proxy/gstproxysrc.h:
+       * gst/rawparse/gstaudioparse.c:
+       * gst/rawparse/gstaudioparse.h:
+       * gst/rawparse/gstvideoparse.c:
+       * gst/rawparse/gstvideoparse.h:
+       * gst/rawparse/plugin.c:
+       * gst/removesilence/gstremovesilence.c:
+       * gst/removesilence/gstremovesilence.h:
+       * gst/rist/gstrist.c:
+       * gst/rist/gstrist.h:
+       * gst/rist/gstristplugin.c:
+       * gst/rist/gstristrtpdeext.c:
+       * gst/rist/gstristrtpext.c:
+       * gst/rist/gstristrtxreceive.c:
+       * gst/rist/gstristrtxsend.c:
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+       * gst/rist/gstroundrobin.c:
+       * gst/rist/gstroundrobin.h:
+       * gst/rist/meson.build:
+       * gst/rtmp2/gstrtmp2.c:
+       * gst/rtmp2/gstrtmp2element.c:
+       * gst/rtmp2/gstrtmp2elements.h:
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+       * gst/rtmp2/meson.build:
+       * gst/rtp/gstrtpsink.c:
+       * gst/rtp/gstrtpsink.h:
+       * gst/rtp/gstrtpsrc.c:
+       * gst/rtp/gstrtpsrc.h:
+       * gst/rtp/plugin.c:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/sdp/gstsdpdemux.h:
+       * gst/sdp/gstsdpelem.c:
+       * gst/sdp/gstsdpsrc.c:
+       * gst/sdp/gstsdpsrc.h:
+       * gst/segmentclip/gstaudiosegmentclip.c:
+       * gst/segmentclip/gstaudiosegmentclip.h:
+       * gst/segmentclip/gstvideosegmentclip.c:
+       * gst/segmentclip/gstvideosegmentclip.h:
+       * gst/segmentclip/plugin.c:
+       * gst/siren/gstsiren.c:
+       * gst/siren/gstsirendec.c:
+       * gst/siren/gstsirendec.h:
+       * gst/siren/gstsirenenc.c:
+       * gst/siren/gstsirenenc.h:
+       * gst/smooth/gstsmooth.c:
+       * gst/smooth/gstsmooth.h:
+       * gst/speed/gstspeed.c:
+       * gst/speed/gstspeed.h:
+       * gst/subenc/gstsrtenc.c:
+       * gst/subenc/gstsrtenc.h:
+       * gst/subenc/gstsubenc.c:
+       * gst/subenc/gstwebvttenc.c:
+       * gst/subenc/gstwebvttenc.h:
+       * gst/switchbin/gstswitchbin.c:
+       * gst/switchbin/gstswitchbin.h:
+       * gst/switchbin/plugin.c:
+       * gst/timecode/gstavwait.c:
+       * gst/timecode/gstavwait.h:
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+       * gst/timecode/plugin.c:
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsttranscodeelement.c:
+       * gst/transcode/gsttranscodeelements.h:
+       * gst/transcode/gsttranscodeplugin.c:
+       * gst/transcode/gsturitranscodebin.c:
+       * gst/transcode/meson.build:
+       * gst/videofilters/gstscenechange.c:
+       * gst/videofilters/gstscenechange.h:
+       * gst/videofilters/gstvideodiff.c:
+       * gst/videofilters/gstvideodiff.h:
+       * gst/videofilters/gstvideofiltersbad.c:
+       * gst/videofilters/gstzebrastripe.c:
+       * gst/videofilters/gstzebrastripe.h:
+       * gst/videoframe_audiolevel/gstvideoframe-audiolevel.c:
+       * gst/videoframe_audiolevel/gstvideoframe-audiolevel.h:
+       * gst/videoparsers/gstav1parse.c:
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gstjpeg2000parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstpngparse.c:
+       * gst/videoparsers/gstvc1parse.c:
+       * gst/videoparsers/gstvideoparserselement.c:
+       * gst/videoparsers/gstvideoparserselements.h:
+       * gst/videoparsers/gstvp9parse.c:
+       * gst/videoparsers/meson.build:
+       * gst/videoparsers/plugin.c:
+       * gst/videosignal/gstsimplevideomark.c:
+       * gst/videosignal/gstsimplevideomark.h:
+       * gst/videosignal/gstsimplevideomarkdetect.c:
+       * gst/videosignal/gstsimplevideomarkdetect.h:
+       * gst/videosignal/gstvideoanalyse.c:
+       * gst/videosignal/gstvideoanalyse.h:
+       * gst/videosignal/gstvideosignal.c:
+       * gst/vmnc/vmncdec.c:
+       * gst/vmnc/vmncdec.h:
+       * gst/y4m/gsty4mdec.c:
+       * gst/y4m/gsty4mdec.h:
+         gst-plugins: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2110>
+
+2021-04-10 20:34:26 +0200  Helmut Januschka <helmut@januschka.com>
+
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         allow NetStream.Play.PublishNotify Message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2154>
+
+2021-03-26 11:00:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * sys/bluez/bluez-plugin.c:
+       * sys/bluez/gsta2dpsink.c:
+       * sys/bluez/gsta2dpsink.h:
+       * sys/bluez/gstavdtpsink.c:
+       * sys/bluez/gstavdtpsink.h:
+       * sys/bluez/gstavdtpsrc.c:
+       * sys/bluez/gstavdtpsrc.h:
+       * sys/bluez/gstbluezelement.c:
+       * sys/bluez/gstbluezelements.h:
+       * sys/bluez/meson.build:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkaudiosink.cpp:
+       * sys/decklink/gstdecklinkaudiosink.h:
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkaudiosrc.h:
+       * sys/decklink/gstdecklinkdeviceprovider.cpp:
+       * sys/decklink/gstdecklinkdeviceprovider.h:
+       * sys/decklink/gstdecklinkplugin.cpp:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+       * sys/decklink/meson.build:
+       * sys/dvb/dvbbasebin.c:
+       * sys/dvb/dvbbasebin.h:
+       * sys/dvb/gstdvb.c:
+       * sys/dvb/gstdvbelement.c:
+       * sys/dvb/gstdvbelements.h:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/dvb/gstdvbsrc.h:
+       * sys/dvb/meson.build:
+       * sys/fbdev/gstfbdevsink.c:
+       * sys/fbdev/gstfbdevsink.h:
+       * sys/ipcpipeline/gstipcpipeline.c:
+       * sys/ipcpipeline/gstipcpipelineelement.c:
+       * sys/ipcpipeline/gstipcpipelineelements.h:
+       * sys/ipcpipeline/gstipcpipelinesink.c:
+       * sys/ipcpipeline/gstipcpipelinesrc.c:
+       * sys/ipcpipeline/gstipcslavepipeline.c:
+       * sys/ipcpipeline/meson.build:
+       * sys/kms/gstkmssink.c:
+       * sys/kms/gstkmssink.h:
+       * sys/magicleap/mlaudiosink.c:
+       * sys/magicleap/mlaudiosink.h:
+       * sys/magicleap/plugin.c:
+       * sys/opensles/meson.build:
+       * sys/opensles/opensles.c:
+       * sys/opensles/opensles.h:
+       * sys/opensles/openslesplugin.c:
+       * sys/opensles/openslessink.c:
+       * sys/opensles/openslessink.h:
+       * sys/opensles/openslessrc.c:
+       * sys/opensles/openslessrc.h:
+       * sys/shm/gstshm.c:
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsink.h:
+       * sys/shm/gstshmsrc.c:
+       * sys/shm/gstshmsrc.h:
+       * sys/uvch264/gstuvch264.c:
+       * sys/uvch264/gstuvch264_mjpgdemux.c:
+       * sys/uvch264/gstuvch264_mjpgdemux.h:
+       * sys/uvch264/gstuvch264_src.c:
+       * sys/uvch264/gstuvch264_src.h:
+       * sys/uvch264/gstuvch264deviceprovider.c:
+       * sys/uvch264/gstuvch264deviceprovider.h:
+         plugins-sys: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2116>
+
+2021-04-09 01:54:50 +0900  Seungha Yang <seungha@centricular.com>
+
+         codecs: vp9decoder: Update docs
+         * Remove "FIXME 1.20": All the bits are addressed already by using
+         vp9parse element
+         * Fix copy & paste errors: Some comments were copied from h264decoder
+         blindly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2151>
+
+2021-04-09 12:45:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: vp9decoder: Make duplicate_picture() vfunc optional
+         The default implementation was required when superframe parsing
+         was handled by vp9decoder. For instance, if a superframe consists
+         of multiple frames with show_existing_frame header, it was vague
+         that which GstVp9Picture should consume GstVideoCodecFrame.
+         After 1.18 release, we introduced vp9parse element and
+         superframe should be handled by upstream vp9parse elemenet now.
+         So, we don't need to care about the superframe at vp9decoder class
+         level anymore. Simply, a frame corresponding to show_existing_frame
+         can be dropped if subclass doesn't implement duplicate_picture().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2151>
+
+2021-03-30 14:40:53 +0100  Philippe Normand <philn@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/debugutilsbad.c:
+       * gst/debugutils/gstfakeaudiosink.c:
+       * gst/debugutils/gstfakeaudiosink.h:
+       * gst/debugutils/meson.build:
+         debugutils: Add fakeaudiosink element
+         This element can be useful for CI purposes on machines not running any system
+         audio daemon. The element implements the GstStreamVolume interface.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2125>
+
+2021-04-08 14:53:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+         v4l2codecs: allocator: Keep dmabuf mapped
+         DMABuf allocator already implements DMABuf Sync, meaning that doing
+         mmap/munmap (unless the mode have changed) is not required. In fact, on
+         systems with IOMMU it makes the kernel redo the mmu table which is visible
+         in the CPU usage.
+         This change reduces CPU usage when decoding
+         bbb_sunflower_2160p_60fps_normal.mp4 on RK3399 SoC from over 30% to
+         around 15%.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2152>
+
+2021-04-03 14:16:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Implement mem_copy for VA memory.
+         Implementation of mem_copy() virtual method for GstVaAllocator.
+         It's a deep copy where a new VA memory is popped out from the pool or,
+         if pool is empty, a new memory is allocated. The original memory is
+         mapped to read, and if its VAImage is not derived and size to copy is
+         the whole surface, the mapped VAImage of the original memory is put in
+         the new memory. Otherwise a slow memcpy is done between both memories.
+         Fixes: #1568
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2136>
+
+2021-04-08 20:29:29 +0800  Zhao Zhili <zhilizhao@tencent.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: fix optlen of srt_getsockflag
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2149>
+
+2021-01-14 14:24:06 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: fix critical log when play one gray colorspace video
+         Need guess color space based on number of components when cannot
+         got it from sink caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1955>
+
+2020-12-11 16:33:39 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/ldac/gstldacenc.c:
+         ldacenc: Emit message on errors
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1875>
+
+2020-12-11 16:26:00 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/sbc/gstsbcenc.c:
+         sbc: Return hard error on allocation or mapping error
+         Also post a message on the bus in these cases.wpe: Emit load-progress messages
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1875>
+
+2020-10-25 16:39:48 +0000  Matthieu De Beule <matthieu.de@beule.be>
+
+       * gst-libs/gst/player/gstplayer.c:
+         Tell programmers that set_volume uses linear scale (fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1439)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1722>
+
+2020-12-11 14:52:20 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/ldac/gstldacenc.c:
+       * ext/sbc/gstsbcenc.c:
+         sbc/ldac: Don't use GST_CAPS_NONE to mean NULL
+         The GST_CAPS_NONE macro actually returns a instance of
+         a empty caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1874>
+
+2021-03-30 17:24:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: vp9decoder: Allow decoding start with intra-only frame
+         As per spec "7.2 Uncompressed header semantics" and
+         "8.2 Frame order constraints", decoding can start with intra-only
+         frame. This commit is for fixing vp90-2-16-intra-only.webm
+         bitstream test failure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
+
+2021-03-29 02:11:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/va/gstvavp9dec.c:
+         codecs: vp9decoder: Pass GstVideoCodecFrame to duplicate_picture()
+         ... and fix picture duplication logic for vavp9dec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
+
+2021-03-30 11:49:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/va/gstvavp9dec.c:
+         codecs: vp9decoder: Port to GstVp9StatefulParser
+         Use newly implemented VP9 parser. Since new GstVp9FrameHeader
+         struct holds all the information of the stream, baseclass will not
+         pass parser object to new_sequence() method anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
+
+2021-03-27 15:32:59 +0900  Seungha Yang <seungha@centricular.com>
+
+         codecparsers: Reimplement VP9 parser
+         Existing VP9 parser implementation doesn't provide information
+         required by other stateless decoding APIs (i.e., DXVA and NVDEC),
+         specifically loop filter and segmentation parameters might not exist
+         current frame. So parser needs to fill the information by using previously
+         parsed information.
+         We can update the gstvp9parser implementation so that it can provide
+         all information required by stateless decoding APIs with a huge API break,
+         or adding more ugly struct in it.
+         Instead doing as such, this commit introduce a new VP9 parser implementation.
+         What is different from existing one?
+         * All variables will follow the specification as much as possible:
+         VP9 Bitstream & Decoding Process Specification - v0.6 31st March 2016
+         * Parser will fill all the required information for decoding frame
+         to GstVp9FrameHeader struct. In case of old VP9 parser,
+         user needs to read additional data from parser's member variables.
+         * GstVp9StatefulParser object struct is completely completely opaque
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
+
+2021-03-28 16:11:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: vp9decoder: Don't check codec change with show_existing_frame
+         Show existing frame will zero frame_type value but it doesn't mean
+         it's keyframe.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
+
+2021-04-06 16:24:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: Fix holding of reference picture buffer
+         The picture buffer (V4L2 CAPTURE buffer) was being released immediatly
+         when the request was done. This was problematic since even after the
+         request is done, the picture buffer might still be used as a reference
+         and should not be reused for further decoding yet.
+         This change effectively bind the picture buffer lifetime to the request.
+         So that if the picture is never showned (decode only frame) or the request
+         queue is full before the buffer is displayed, the picture buffer will
+         remain alive.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2142>
+
+2021-04-07 07:48:57 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst/rtmp2/rtmp/rtmpmessage.c:
+         rtmp2: Use correct size of write macro for param2.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2146>
+
+2021-04-01 07:59:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: remove unsupported formats because driver's bugs
+         Add a way to filter out video formats from caps because of unresolved
+         bugs in drivers. In this case for media-driver (iHD) where some RGB32
+         formats are not handled correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2129>
+
+2021-03-31 09:59:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavideoformat.c:
+         va: videoformats: Map more color formats.
+         Added Y212_LE, Y412_LE, P012_LE, Y444, RGB16, RGB and BGR10A2_LE in
+         the static map betwen VA and GStreamer color formats. This synchronize
+         the map used in gstremaer-vaapi and this plugin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2129>
+
+2021-03-31 09:50:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadisplay.c:
+       * sys/va/gstvavideoformat.c:
+       * sys/va/gstvavideoformat.h:
+         va: videoformats: Fix RGB32 mapping between VA and GStreamer.
+         Different VA drives might have different definitions for RGB32 color
+         formats because different bit interpretation. Sadly the specification
+         doesn't clarify these interpretations. So VA users have to figure out
+         what's the correct mapping with it's rendering color format
+         definition.
+         This patch aims to fix the static map structure after the
+         VAImageFormats are queried. There is another static map with the
+         different interpretations of the RGB32 formats, and compare them with
+         the given VAImageFormat, then with the GStreamer color format, update
+         the mapping table.
+         Finally, some RGB32 color formats were added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2129>
+
+2021-04-07 01:03:15 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/avtp/gstavtpcvfdepay.c:
+       * ext/avtp/gstavtpcvfpay.c:
+       * ext/avtp/gstavtpsrc.c:
+         avtp: Fix log format macros
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2145>
+
+2021-04-06 13:07:52 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: gstv4l2decoder.c: Add missing include
+         Add missing include for sys/ioctl.h so that these warnings dissapear
+         when compiling:
+         ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2decoder.c:179:9:
+         warning: implicit declaration of function ‘ioctl’
+         [-Wimplicit-function-declaration]
+         Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2140>
+
+2021-04-06 19:18:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/curl/gstcurlsftpsink.c:
+         curlsftpsink: Don't run GST_DEBUG_OBJECT() on a class struct
+         It's supposed to be a GObject.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2141>
+
+2021-03-29 15:29:30 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: add support for RGB 10bit format
+         The SDK can support A2RGB10 format [1], A2RGB10 format corresponds
+         to BGR10A2_LE format in gstreamer. A2RGB10 format only supports
+         low-power mode.
+         Example:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=BGR10A2_LE \
+         ! msdkh265enc low-power=1 ! fakesink
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxframedata
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2126>
+
+2021-03-31 16:18:04 +0200  Wim Taymans <wtaymans@redhat.com>
+
+       * gst-libs/gst/vulkan/android/gstvkwindow_android.c:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+       * gst-libs/gst/vulkan/gstvkapi.h:
+       * gst-libs/gst/vulkan/gstvkhandle.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+       * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+       * sys/applemedia/videotexturecache-vulkan.mm:
+         vulkan: provide a custom VK_DEFINE_NON_DISPATCHABLE_HANDLE
+         If the application did not define one yet, define our own
+         VK_DEFINE_NON_DISPATCHABLE_HANDLE that is independent of the
+         architecture.
+         Vulkan, by default, provides a define that depends on the architecture,
+         which causes the symbol type to be different. This causes an
+         architecture dependent .gir file, which then causes multilib
+         installation problems because the .gir files can't be shared.
+         Make it possible to override the format specifier and provide
+         a default one that is compatible with the default non dispatchable
+         handle.
+         Return VK_NULL_HANDLE from functions that return a non-dispatchable
+         handle.
+         Fixes #1566
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2130>
+
+2021-03-26 17:48:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: postproc, filter: add disable-passthrough property
+         vapostproc tries to be in passthrough mode as much as possible. But
+         they might be situations where the user might force to process the
+         frames. For example, when upstream sets the crop meta and the user
+         wants VA do that cropping, rather than downstream.
+         For those situations this property will disable the passthrough mode,
+         if it's enabled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2058>
+
+2021-02-23 09:01:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: enable cropping by crop meta
+         If incoming buffers have crop meta it's done by vapostproc, iif
+         vapostproc is not in passthrough mode and downstream doesn't handle
+         it.
+         This patch announces the crop meta API in proposed bufferpool, while
+         it stops filtering meta APIs, since it was only filter crop api.
+         Also if downstream supports crop and video metas, vapostporoc
+         announces both meta APIs in upstream bufferpool.
+         Finally, the meta is removed from the buffer if the crop is enabled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2058>
+
+2021-03-04 15:19:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+         va: filter: add gst_va_filter_enable_cropping ()
+         This will toggle the cropping operation in the filter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2058>
+
+2021-01-23 12:53:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter, vpp: add and use GstVaSample struct
+         This new struct describes the input and output GstBuffers to
+         post-process, including VA flags. It also contains the VASurfaceID and
+         VARectangle, but those are private, completed inside GstVaFilter.
+         It is used for pass arguments to gst_va_filter_convert_surface() function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2058>
+
+2021-02-28 08:38:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: Use allocation caps when creating sink pool.
+         When an input buffer needs to be copied into a VA memory, it's
+         required to create a buffer pool. This patch uses the
+         propose_allocation() caps to instantiate the allocator and pool,
+         instead of the negotiated caps, which rather represents the resolution
+         to display.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2058>
+
+2021-01-22 23:54:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstline21dec.c:
+         line21dec: relax caps requirements
+         Instead of requiring interlaced video, simply skip CC detection
+         when the input is progressive.
+         This allows placing line21decoder unconditionally in pipelines,
+         without having to worry about whether the input stream will be
+         interlaced, or even worse interlacing just in case!
+         + update doc cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1885>
+
+2020-12-16 01:02:53 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstline21dec.c:
+       * ext/closedcaption/gstline21dec.h:
+         line21dec: expose mode property
+         That new property can be used to control whether and how
+         detected CC meta should be inserted in the list of existing
+         CC meta on the input frame (if there was any).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1885>
+
+2020-12-15 22:01:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstline21dec.c:
+       * ext/closedcaption/gstline21dec.h:
+         line21dec: expose ntsc-only property
+         When this is set, the element only tries to detect CC when the
+         height is 525 or 486 (NTSC resolutions). The height is already
+         checked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1885>
+
+2021-03-31 11:52:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Use derived images only if not mapped for reading.
+         Derived images are direct maps to surfaces bits, but in Intel Gen7 to
+         Gen9, that memory is not cachable, thus reading can be very slow (it
+         might produce timeout is tests such as fluster).
+         This patch tries first to define if derived images are possible, and
+         later use them only if mapping is not for reading.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2128>
+
+2021-03-31 11:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+         va: caps: Add image formats in raw caps only for non-iHD.
+         This plugin, for decoders more concretely, assumes that a VA config
+         can do certain color conversions when mapping frames onto CPU's
+         memory.
+         This assumption was valid for i965 and Gallium drivers which generates
+         valid outputs in bitstreams testers (v.gr. fluster). Nonetheless, iHD,
+         even when it generates acceptable rendered frames, output's MD5 of
+         tests weren't valid.
+         This patch append the image formats, for color conversion when mapping
+         to memory, for non-iHD drivers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2128>
+
+2021-04-01 15:09:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+         d3d11: Fix for UYVY/VYUY format rendering
+         Don't assume that non-native DXGI formats support RTV and/or SRV.
+         We are mapping UYVY and VYUY formats to DXGI_FORMAT_R8G8_B8G8_UNORM
+         which doesn't support render target view
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2133>
+
+2021-03-25 03:16:05 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+         mpegtsmux: Respect the start-time-selection property.
+         Use the start time provided by the aggregator base class for output
+         times.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2105>
+
+2021-03-29 15:24:38 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: add dblk-idc property
+         The SDK can support deblocking reference structure [1], so add a new
+         property to enable this feature.
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2122>
+
+2021-03-29 15:18:13 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+         msdkh264enc: add dblk-idc property
+         The SDK can support deblocking reference structure [1], so add a new
+         property to enable this feature.
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2122>
+
+2021-03-30 11:34:54 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/flite/gstflite.c:
+       * ext/flite/gstflitetestsrc.c:
+         flite: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2123>
+
+2021-03-30 11:27:11 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dtls/plugin.c:
+         dtls: hotfix: allow per feature registration
+         Use of GST_ELEMENT_REGISTER in plugin.c
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2123>
+
+2021-03-26 19:47:06 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/gs/meson.build:
+         gs: remove clang formatting
+         remove clang formatting during
+         the build.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2115>
+
+2021-03-26 11:41:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/gs/gstgs.cpp:
+       * ext/gs/gstgssink.cpp:
+       * ext/gs/gstgssink.h:
+       * ext/gs/gstgssrc.cpp:
+       * ext/gs/gstgssrc.h:
+         gs: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2115>
+
+2021-03-29 12:15:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Don't reset time tracking when receiving the same segment again
+         This causes avwait to go back into "dropping" mode until audio and video
+         are synced again, which is unnecessary when the segment didn't actually
+         change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2121>
+
+2021-03-17 14:30:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvcodec: nvsldec: Refactor graphics api resource handling
+         * Move GL context object to GstNVDecoder object, and remove
+         duplicated handling of each codec decoder element
+         * Don't create GL context too early. We can create it only if
+         we need to negotiate with downstream gl element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2089>
+
+2021-03-17 14:38:40 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+       * sys/msdk/msdk-enums.c:
+       * sys/msdk/msdk-enums.h:
+         msdkenc{h264,h265}: add intra-refresh-type property
+         The SDK allows user to specify the intra refresh type which can improve
+         error resilience without significant impact on encoded bitstream size
+         caused by I frames [1]
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2090>
+
+2021-03-28 12:03:09 +0200  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         Add @ prefix to enum-variant references in documentation
+         Found while working on GStreamer-rs documentation, some enums had this
+         bit of text pasted verbatim in the enum documentation rather than
+         attached to the enum-variant.  Fortunately it seems these in WebRTC and
+         D3D11 are the only ones matching the non-@-prefixed pattern:
+         ^ \* GST_\w+:\s*\w+
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2118>
+
+2021-03-26 12:20:07 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2/connection: Separate inner from outer cancelling
+         The connection cancels itself when it is closed. To avoid the
+         cancellable passed to `gst_rtmp_connection_new` from being unexpectedly
+         cancelled, separate inner from outer cancellation by holding two
+         cancellables.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1558
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2111>
+
+2021-03-28 12:06:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11vp9dec: Remove debug dump functions
+         Existing debug messages are not quite useful
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2117>
+
+2021-03-28 16:06:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Move zero-copy decision logic into decoder object
+         Get rid of all duplicated code for zero-copy decision and output buffer
+         allocation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2117>
+
+2021-03-26 22:40:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11vp9dec: Ignore show_frame flag in output_picture()
+         baseclass will not call output_picture() if it shouldn't be ouputted.
+         Note that the show_frame flag can be zero when show_existing_frame is set
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2114>
+
+2021-03-26 22:27:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: vp9decoder: Fix to output frame when show_existing_frame flag is set
+         When show_existing_frame flag is set, show_frame flag is zero
+         but we should output previously decoded frame as specified in frame header.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2114>
+
+2021-03-26 21:06:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Do not hardcode the limit minimum resolution to 64
+         Decoder should be able to support lower resolution than 64x64
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2113>
+
+2021-03-25 21:17:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11videosinkbin.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Remove DirectWrite related dead code
+         It's now not enabled since we moved core part to gst-libs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2108>
+
+2021-03-25 03:24:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Don't pass 0/1 framerate to MFT
+         Some MFT implementations do not accept 0/1 framerate and it will
+         result in encoder open failure. If framerate is unknown,
+         we will use arbitrary 25/1 framerate value.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2106>
+
+2021-03-23 13:48:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Resurrect zero-copy for fixed-size DPB pool
+         Enable zero-copy if downstream proposed pool and therefore decoder
+         can know the amount of buffer required by downstream.
+         Otherwise decoder will copy when our DPB pool has no sufficient
+         buffers for later decoding operation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2097>
+
+2021-03-20 19:52:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Implement array-of-texture DPB again
+         Re-implementation of array-of-texture based on d3d11 memory pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2097>
+
+2021-03-18 22:31:55 +0900  Seungha Yang <seungha@centricular.com>
+
+         d3d11: Implement memory pool
+         Major changes:
+         * GstD3D11Allocator: This allocator is now device-independent object
+         which can allocate GstD3D11Memory object for any GstD3D11Device.
+         User can get this object via gst_allocator_find(GST_D3D11_MEMORY_NAME)
+         * GstD3D11PoolAllocator: A new allocator implementation for texture pool.
+         From now on GstD3D11BufferPool will make use of this memory pool allocator
+         to avoid frequent texture reallocation. That usually happens because
+         of buffer copy (gst_buffer_make_writable for example)
+         In addition to that, GstD3D11BufferPool will provide GstBuffer with
+         GstVideoMeta, because CPU access to a GstD3D11Memory without GstVideoMeta
+         is almost impossible since GPU drivers needs padding for stride alignment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2097>
+
+2021-03-20 22:11:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Temporarily remove zero-copy related code
+         We will re-implement it based on memory pool
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2097>
+
+2021-03-23 09:33:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: Set one buffer in pools as minimum.
+         Because some elements, such as videorate check that minimum are
+         different of maximum number of buffers in the proposed pool, since
+         they might hold one or more buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2102>
+
+2021-03-23 19:19:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * tests/check/libs/h264parser.c:
+       * tests/check/libs/h265parser.c:
+         h2645parser: Catch overflows in AVC/HEVC NAL unit length calculations
+         Offset and size are stored as 32 bit guint and might overflow when
+         adding the nal_length_size, so let's avoid that.
+         For the size this would happen if the AVC/HEVC NAL unit size happens to
+         be stored in 4 bytes and is 4294967292 or higher, which is likely
+         corrupted data anyway.
+         For the offset this is something for the caller of these functions to
+         take care of but is unlikely to happen as it would require parsing on a
+         >4GB buffer.
+         Allowing these overflows causes all kinds of follow-up bugs in the
+         h2645parse elements, ranging from infinite loops and memory leaks to
+         potential memory corruptions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2103>
+
+2021-02-25 09:59:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/zxing/gstzxing.cpp:
+       * ext/zxing/gstzxing.h:
+       * ext/zxing/gstzxingplugin.c:
+         zxing: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-25 09:57:00 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/zbar/gstzbar.c:
+       * ext/zbar/gstzbar.h:
+         zbar: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-25 09:51:52 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/x265/gstx265enc.c:
+       * ext/x265/gstx265enc.h:
+         x265: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-25 09:45:10 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+       * ext/wpe/gstwpesrc.h:
+         wpe: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-25 09:27:19 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/wildmidi/gstwildmididec.c:
+       * ext/wildmidi/gstwildmididec.h:
+         wildmidi: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-25 08:18:54 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/webrtcdsp/gstwebrtcdsp.cpp:
+       * ext/webrtcdsp/gstwebrtcdsp.h:
+       * ext/webrtcdsp/gstwebrtcdspplugin.cpp:
+       * ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+       * ext/webrtcdsp/gstwebrtcechoprobe.h:
+       * ext/webrtcdsp/meson.build:
+         webrtcdsp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-25 08:04:42 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/webp/gstwebp.c:
+       * ext/webp/gstwebpdec.c:
+       * ext/webp/gstwebpdec.h:
+       * ext/webp/gstwebpenc.c:
+       * ext/webp/gstwebpenc.h:
+         webp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 18:56:55 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/gstwaylandsink.h:
+         wayland: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 18:45:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/gstvulkanelement.c:
+       * ext/vulkan/gstvulkanelements.h:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkdeviceprovider.c:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkviewconvert.c:
+         vulkan: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 17:34:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/voamrwbenc/gstvoamrwb.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/voamrwbenc/gstvoamrwbenc.h:
+         voamrwbenc: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 17:32:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/voaacenc/gstvoaac.c:
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voaacenc/gstvoaacenc.h:
+         voaacenc: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 13:07:30 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/ttml/gstttmlelement.c:
+       * ext/ttml/gstttmlelements.h:
+       * ext/ttml/gstttmlparse.c:
+       * ext/ttml/gstttmlplugin.c:
+       * ext/ttml/gstttmlrender.c:
+       * ext/ttml/meson.build:
+         ttml: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 12:52:08 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/srtp/gstsrtp.c:
+       * ext/srtp/gstsrtpdec.c:
+       * ext/srtp/gstsrtpdec.h:
+       * ext/srtp/gstsrtpelement.c:
+       * ext/srtp/gstsrtpelements.h:
+       * ext/srtp/gstsrtpenc.c:
+       * ext/srtp/gstsrtpenc.h:
+       * ext/srtp/gstsrtpplugin.c:
+       * ext/srtp/meson.build:
+         srtp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-24 12:39:22 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/srt/gstsrt.c:
+       * ext/srt/gstsrtelement.c:
+       * ext/srt/gstsrtelements.h:
+       * ext/srt/gstsrtplugin.c:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+       * ext/srt/meson.build:
+         srt: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:54:56 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/spandsp/gstdtmfdetect.c:
+       * ext/spandsp/gstdtmfdetect.h:
+       * ext/spandsp/gstspandsp.c:
+       * ext/spandsp/gstspanplc.c:
+       * ext/spandsp/gstspanplc.h:
+       * ext/spandsp/gsttonegeneratesrc.c:
+       * ext/spandsp/gsttonegeneratesrc.h:
+         spandsp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:41:41 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/soundtouch/gstbpmdetect.cc:
+       * ext/soundtouch/gstbpmdetect.hh:
+       * ext/soundtouch/gstpitch.cc:
+       * ext/soundtouch/gstpitch.hh:
+       * ext/soundtouch/plugin.c:
+         soundtouch: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:30:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/sndfile/gstsf.c:
+       * ext/sndfile/gstsfdec.c:
+       * ext/sndfile/gstsfdec.h:
+       * ext/sndfile/gstsfelement.c:
+       * ext/sndfile/gstsfelements.h:
+       * ext/sndfile/gstsfsink.h:
+       * ext/sndfile/meson.build:
+         sndfile: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:18:39 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/smoothstreaming/gstmssdemux.c:
+       * ext/smoothstreaming/gstmssdemux.h:
+       * ext/smoothstreaming/gstsmoothstreaming-plugin.c:
+         smoothstreaming: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:14:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpdec.h:
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/gstsctpenc.h:
+       * ext/sctp/gstsctpplugin.c:
+         sctp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:09:18 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/sbc/gstsbcdec.c:
+       * ext/sbc/gstsbcdec.h:
+       * ext/sbc/gstsbcenc.c:
+       * ext/sbc/gstsbcenc.h:
+       * ext/sbc/sbc-plugin.c:
+         sbc: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 12:00:13 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/rtmp/gstrtmp.c:
+       * ext/rtmp/gstrtmpelement.c:
+       * ext/rtmp/gstrtmpelements.h:
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsink.h:
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/rtmp/meson.build:
+         rtmp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 11:53:12 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/rsvg/gstrsvg.c:
+       * ext/rsvg/gstrsvgdec.c:
+       * ext/rsvg/gstrsvgdec.h:
+       * ext/rsvg/gstrsvgoverlay.c:
+       * ext/rsvg/gstrsvgoverlay.h:
+         rsvg: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-19 11:40:40 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/resindvd/plugin.c:
+       * ext/resindvd/resindvdbin.c:
+       * ext/resindvd/resindvdbin.h:
+         resindvd: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 16:23:42 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/qroverlay/gstdebugqroverlay.c:
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlayelement.c:
+       * ext/qroverlay/gstqroverlayelements.h:
+       * ext/qroverlay/gstqroverlayplugin.c:
+       * ext/qroverlay/meson.build:
+         qroverlay: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 15:56:44 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/opus/gstopus.c:
+       * ext/opus/gstopusparse.c:
+       * ext/opus/gstopusparse.h:
+         opus: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 15:48:12 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openni2/gstopenni2.cpp:
+       * ext/openni2/gstopenni2src.cpp:
+       * ext/openni2/gstopenni2src.h:
+         openni2: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 15:42:44 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openmpt/gstopenmptdec.c:
+       * ext/openmpt/gstopenmptdec.h:
+       * ext/openmpt/plugin.c:
+         openmpt: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 15:30:06 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openjpeg/gstopenjpeg.c:
+       * ext/openjpeg/gstopenjpegdec.c:
+       * ext/openjpeg/gstopenjpegdec.h:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/openjpeg/gstopenjpegenc.h:
+         openjpeg: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 15:21:40 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openh264/gstopenh264dec.cpp:
+       * ext/openh264/gstopenh264element.c:
+       * ext/openh264/gstopenh264elements.h:
+       * ext/openh264/gstopenh264enc.cpp:
+       * ext/openh264/gstopenh264plugin.c:
+       * ext/openh264/meson.build:
+         openh264: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 14:08:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openexr/gstopenexr.c:
+       * ext/openexr/gstopenexrdec.cpp:
+       * ext/openexr/gstopenexrdec.h:
+         openexr: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 13:34:54 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/opencv/gstcameracalibrate.cpp:
+       * ext/opencv/gstcameracalibrate.h:
+       * ext/opencv/gstcameraundistort.cpp:
+       * ext/opencv/gstcameraundistort.h:
+       * ext/opencv/gstcvdilate.cpp:
+       * ext/opencv/gstcvdilate.h:
+       * ext/opencv/gstcvequalizehist.cpp:
+       * ext/opencv/gstcvequalizehist.h:
+       * ext/opencv/gstcverode.cpp:
+       * ext/opencv/gstcverode.h:
+       * ext/opencv/gstcvlaplace.cpp:
+       * ext/opencv/gstcvlaplace.h:
+       * ext/opencv/gstcvsmooth.cpp:
+       * ext/opencv/gstcvsmooth.h:
+       * ext/opencv/gstcvsobel.cpp:
+       * ext/opencv/gstcvsobel.h:
+       * ext/opencv/gstdewarp.cpp:
+       * ext/opencv/gstdewarp.h:
+       * ext/opencv/gstdisparity.cpp:
+       * ext/opencv/gstdisparity.h:
+       * ext/opencv/gstedgedetect.cpp:
+       * ext/opencv/gstedgedetect.h:
+       * ext/opencv/gstfaceblur.cpp:
+       * ext/opencv/gstfaceblur.h:
+       * ext/opencv/gstfacedetect.cpp:
+       * ext/opencv/gstfacedetect.h:
+       * ext/opencv/gstgrabcut.cpp:
+       * ext/opencv/gstgrabcut.h:
+       * ext/opencv/gsthanddetect.cpp:
+       * ext/opencv/gsthanddetect.h:
+       * ext/opencv/gstmotioncells.cpp:
+       * ext/opencv/gstmotioncells.h:
+       * ext/opencv/gstopencv.cpp:
+       * ext/opencv/gstretinex.cpp:
+       * ext/opencv/gstretinex.h:
+       * ext/opencv/gstsegmentation.cpp:
+       * ext/opencv/gstsegmentation.h:
+       * ext/opencv/gstskindetect.cpp:
+       * ext/opencv/gstskindetect.h:
+       * ext/opencv/gsttemplatematch.cpp:
+       * ext/opencv/gsttemplatematch.h:
+       * ext/opencv/gsttextoverlay.cpp:
+       * ext/opencv/gsttextoverlay.h:
+         opencv: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:58:28 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openaptx/gstopenaptxdec.c:
+       * ext/openaptx/gstopenaptxdec.h:
+       * ext/openaptx/gstopenaptxenc.c:
+       * ext/openaptx/gstopenaptxenc.h:
+       * ext/openaptx/openaptx-plugin.c:
+         openaptx: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:52:51 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openal/gstopenal.c:
+       * ext/openal/gstopenalelement.c:
+       * ext/openal/gstopenalelements.h:
+       * ext/openal/gstopenalsink.c:
+       * ext/openal/gstopenalsrc.c:
+       * ext/openal/meson.build:
+         openal: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:41:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/ofa/gstofa.c:
+       * ext/ofa/gstofa.h:
+         ofa: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:35:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/neon/gstneonhttpsrc.h:
+         neon: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:24:18 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/musepack/gstmusepackdec.c:
+       * ext/musepack/gstmusepackdec.h:
+         musepack: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:17:20 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/mplex/gstmplex.cc:
+       * ext/mplex/gstmplex.hh:
+         mplex: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:14:38 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mpeg2enc/gstmpeg2enc.hh:
+         mpeg2enc: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 10:10:16 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/modplug/gstmodplug.cc:
+       * ext/modplug/gstmodplug.h:
+         modplug: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 09:56:08 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/mdns/gstmicrodns.c:
+         mdns: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 09:52:08 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/libmms/gstmms.c:
+       * ext/libmms/gstmms.h:
+         libmms: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 09:50:21 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/libde265/gstlibde265.c:
+       * ext/libde265/libde265-dec.c:
+       * ext/libde265/libde265-dec.h:
+         libde265: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-18 09:48:04 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/ldac/gstldacenc.c:
+       * ext/ldac/gstldacenc.h:
+       * ext/ldac/ldac-plugin.c:
+         ldac: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:38:16 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/kate/gstkate.c:
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateelement.c:
+       * ext/kate/gstkateelements.h:
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkateparse.c:
+       * ext/kate/gstkatetag.c:
+       * ext/kate/gstkatetiger.c:
+       * ext/kate/gstkateutil.c:
+       * ext/kate/meson.build:
+         kate: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:26:42 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/isac/gstisac.c:
+       * ext/isac/gstisacdec.c:
+       * ext/isac/gstisacdec.h:
+       * ext/isac/gstisacenc.c:
+       * ext/isac/gstisacenc.h:
+         isac: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:23:21 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/iqa/iqa.c:
+       * ext/iqa/iqa.h:
+         iqa: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:17:08 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/hls/gsthls.h:
+       * ext/hls/gsthlsdemux.c:
+       * ext/hls/gsthlsdemux.h:
+       * ext/hls/gsthlselement.c:
+       * ext/hls/gsthlselements.h:
+       * ext/hls/gsthlsplugin.c:
+       * ext/hls/gsthlssink.c:
+       * ext/hls/gsthlssink2.c:
+       * ext/hls/gstm3u8playlist.c:
+       * ext/hls/m3u8.c:
+       * ext/hls/m3u8.h:
+       * ext/hls/meson.build:
+         hls: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:07:42 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/gsm/gstgsm.c:
+       * ext/gsm/gstgsmdec.c:
+       * ext/gsm/gstgsmdec.h:
+       * ext/gsm/gstgsmenc.c:
+       * ext/gsm/gstgsmenc.h:
+         gsm: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:04:20 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/gme/gstgme.c:
+       * ext/gme/gstgme.h:
+         gme: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 18:01:05 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+       * ext/fluidsynth/gstfluiddec.h:
+         fluidsynth: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 16:05:02 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/fdkaac/gstfdkaac.c:
+       * ext/fdkaac/gstfdkaacdec.c:
+       * ext/fdkaac/gstfdkaacdec.h:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/fdkaac/gstfdkaacenc.h:
+       * ext/fdkaac/gstfdkaacplugin.c:
+       * ext/fdkaac/meson.build:
+         fdkaac: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 15:59:49 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/faad/gstfaad.c:
+       * ext/faad/gstfaad.h:
+         faad: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 15:59:36 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/faac/gstfaac.c:
+       * ext/faac/gstfaac.h:
+         faac: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 15:35:10 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dts/gstdtsdec.c:
+       * ext/dts/gstdtsdec.h:
+         dts: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 12:22:07 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlselement.c:
+       * ext/dtls/gstdtlselements.h:
+       * ext/dtls/gstdtlsenc.c:
+       * ext/dtls/gstdtlssrtpdec.c:
+       * ext/dtls/gstdtlssrtpdemux.c:
+       * ext/dtls/gstdtlssrtpenc.c:
+       * ext/dtls/meson.build:
+         dtls: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 12:10:31 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/directfb/dfbvideosink.h:
+         directfb: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 12:07:48 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dc1394/gstdc1394src.c:
+       * ext/dc1394/gstdc1394src.h:
+         dc1394: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 12:03:05 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashdemux.c:
+       * ext/dash/gstdashdemux.h:
+       * ext/dash/gstdashsink.c:
+       * ext/dash/gstdashsink.h:
+       * ext/dash/gstplugin.c:
+         dash: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 11:55:14 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/curl/gstcurl.c:
+       * ext/curl/gstcurlelement.c:
+       * ext/curl/gstcurlelements.h:
+       * ext/curl/gstcurlfilesink.c:
+       * ext/curl/gstcurlftpsink.c:
+       * ext/curl/gstcurlhttpsink.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/curl/gstcurlsftpsink.c:
+       * ext/curl/gstcurlsmtpsink.c:
+       * ext/curl/meson.build:
+         curl: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 11:43:33 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/colormanagement/gstcolormanagement.c:
+       * ext/colormanagement/gstlcms.c:
+       * ext/colormanagement/gstlcms.h:
+         colormanagement: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 11:31:35 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+       * ext/closedcaption/gstcccombiner.h:
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+       * ext/closedcaption/gstccextractor.c:
+       * ext/closedcaption/gstccextractor.h:
+       * ext/closedcaption/gstceaccoverlay.c:
+       * ext/closedcaption/gstceaccoverlay.h:
+       * ext/closedcaption/gstclosedcaption.c:
+       * ext/closedcaption/gstline21dec.c:
+       * ext/closedcaption/gstline21dec.h:
+       * ext/closedcaption/gstline21enc.c:
+       * ext/closedcaption/gstline21enc.h:
+         closedcaption: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 10:23:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/chromaprint/gstchromaprint.c:
+       * ext/chromaprint/gstchromaprint.h:
+         chromaprint: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 10:13:45 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/bz2/gstbz2.c:
+       * ext/bz2/gstbz2dec.c:
+       * ext/bz2/gstbz2dec.h:
+       * ext/bz2/gstbz2enc.c:
+       * ext/bz2/gstbz2enc.h:
+         bz2: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 10:10:39 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/bs2b/gstbs2b.c:
+       * ext/bs2b/gstbs2b.h:
+         bs2b: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 10:05:20 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpaafdepay.c:
+       * ext/avtp/gstavtpaafdepay.h:
+       * ext/avtp/gstavtpaafpay.c:
+       * ext/avtp/gstavtpaafpay.h:
+       * ext/avtp/gstavtpcrfcheck.c:
+       * ext/avtp/gstavtpcrfcheck.h:
+       * ext/avtp/gstavtpcrfsync.c:
+       * ext/avtp/gstavtpcrfsync.h:
+       * ext/avtp/gstavtpcvfdepay.c:
+       * ext/avtp/gstavtpcvfdepay.h:
+       * ext/avtp/gstavtpcvfpay.c:
+       * ext/avtp/gstavtpcvfpay.h:
+       * ext/avtp/gstavtpsink.c:
+       * ext/avtp/gstavtpsink.h:
+       * ext/avtp/gstavtpsrc.c:
+       * ext/avtp/gstavtpsrc.h:
+         avtp: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-02-17 09:45:04 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/assrender/gstassrender.c:
+       * ext/assrender/gstassrender.h:
+         assrender: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2020-08-17 09:52:11 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * ext/aom/gstaom.c:
+       * ext/aom/gstav1dec.c:
+       * ext/aom/gstav1dec.h:
+       * ext/aom/gstav1enc.c:
+       * ext/aom/gstav1enc.h:
+         aom: allow per feature registration
+         Split plugin into features including
+         dynamic types which can be indiviually
+         registered during a static build.
+         More details here:
+         https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>
+
+2021-03-23 16:26:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/meson.build:
+         d3d11decoder: Enable high precision clock if needed
+         We've been doing retry with 1ms sleep if DecoderBeginFrame()
+         returned E_PENDING which means application should call
+         DecoderBeginFrame() again because GPU is busy.
+         The 1ms sleep() during retry would result in usually about 15ms delay
+         in reality because of bad clock precision on Windows.
+         To improve throughput performance, this commit will enable
+         high precision clock only for NVIDIA platform since
+         DecoderBeginFrame() call on the other GPU vendors seems to
+         succeed without retry.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2099>
+
+2021-03-03 16:03:07 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegdemux.h:
+         mpegpsdemux: fix accurate seek
+         In an accurate seek, the segment start should be
+         the same as the one requested in the seek.
+         The start should be kept as the one from the
+         segment if its inferior.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2048>
+
+2021-03-03 14:11:21 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegdemux.h:
+         mpegpsdemux: Keep seqnum events
+         Keep the same seqnum of the new segment events for each
+         of the streams.
+         Keep the segment to send the EOS event.
+         Keep the seek seqnum for segment and flush event.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2048>
+
+2021-03-01 16:23:09 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: avoid early EOS
+         In a case of a scr different from 0, after a seek,
+         the src_segment.stop has been updated with the duration
+         not including the base_time (scr). The segment position
+         needs to be tested upon segment.stop + base_time (scr)
+         to check for an EOS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2048>
+
+2021-03-19 16:17:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: disable passthrough as soon as possible
+         After the VA filter creation, when changing the element's state from NULL
+         to READY, immediatly checks for any filter operation requested by the user.
+         If any, the passthrough mode is disabled early, so there's no need for a
+         future renegotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2094>
+
+2021-03-19 16:14:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: rename function to gst_va_vpp_update_passthrough
+         Since it's widely used, a proper name will reflect its importance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2094>
+
+2021-03-22 14:34:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * ext/colormanagement/gstlcms.c:
+       * ext/curl/gstcurlqueue.h:
+       * ext/iqa/iqa.c:
+       * ext/opencv/gstcvdilateerode.cpp:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/resindvd/rsndec.c:
+       * ext/sctp/sctpassociation.c:
+       * ext/ttml/subtitlemeta.c:
+       * ext/wildmidi/gstwildmididec.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+       * gst-libs/gst/codecparsers/gstmpegvideometa.c:
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11utils.c:
+       * gst-libs/gst/sctp/sctpreceivemeta.c:
+       * gst-libs/gst/sctp/sctpsendmeta.c:
+       * gst-libs/gst/vulkan/android/gstvkwindow_android.c:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkcommandbuffer.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkhandle.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimageview.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+       * gst-libs/gst/vulkan/vulkan_mkenum.py:
+       * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/mxf/mxfmetadata.c:
+       * gst/netsim/gstnetsim.c:
+       * gst/rtmp2/rtmp/amf.c:
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmphandshake.c:
+       * gst/rtmp2/rtmp/rtmpmessage.c:
+       * gst/segmentclip/gstsegmentclip.c:
+       * sys/androidmedia/gstamcaudiodec.c:
+       * sys/androidmedia/gstamcvideodec.c:
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/applemedia/coremediabuffer.c:
+       * sys/applemedia/corevideobuffer.c:
+       * sys/applemedia/corevideomemory.c:
+       * sys/applemedia/iosglmemory.c:
+       * sys/applemedia/iosurfaceglmemory.c:
+       * sys/applemedia/iosurfacevulkanmemory.c:
+       * sys/bluez/gstavdtpsrc.h:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+       * sys/ipcpipeline/gstipcpipelinecomm.c:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfvideobuffer.h:
+       * sys/msdk/gstmsdkcontextutil.c:
+       * sys/nvcodec/gstcudacontext.c:
+       * sys/nvcodec/gstcudanvrtc.c:
+       * sys/nvcodec/gstcudautils.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/opensles/openslescommon.c:
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvautils.c:
+       * sys/wasapi/gstwasapiutil.c:
+       * sys/wasapi2/gstwasapi2client.cpp:
+       * sys/winscreencap/dxgicapture.c:
+       * tests/check/libs/vkimage.c:
+         gst: don't use volatile to mean atomic
+         volatile is not sufficient to provide atomic guarantees and real atomics
+         should be used instead.  GCC 11 has started warning about using volatile
+         with atomic operations.
+         https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
+         Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2098>
+
+2021-03-20 16:26:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/meson.build:
+         mfvideoenc: Enable Direct3D multi-thread protection
+         As documented by MS. See also
+         https://docs.microsoft.com/en-us/windows/win32/medfound/supporting-direct3d-11-video-decoding-in-media-foundation#open-a-device-handle
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2095>
+
+2021-03-20 16:15:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         Revert "d3d11: Enable native multi-thread protection layer and make use of it"
+         This reverts commit 872b7f503c49442e559f6a381416c6a84b76a3c6.
+         Native multi-thread protection layer seems to be consuming more CPU
+         resource than application side protection approach in some cases
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2095>
+
+2021-03-19 16:36:41 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: check for more sdp things across the board
+         e.g.
+         - test for a=setup:$val and direction attributes in all tests
+         - test number of media sections
+         - test number of formats in each m= section (for audio/video)
+         - test no duplicate formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2093>
+
+2020-06-23 12:41:27 -0700  Julien <jisorce@oblong.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/gs/.clang-format:
+       * ext/gs/README.md:
+       * ext/gs/gstgs.cpp:
+       * ext/gs/gstgscommon.cpp:
+       * ext/gs/gstgscommon.h:
+       * ext/gs/gstgssink.cpp:
+       * ext/gs/gstgssink.h:
+       * ext/gs/gstgssrc.cpp:
+       * ext/gs/gstgssrc.h:
+       * ext/gs/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         gs: add source and sink for Google Cloud Storage
+         Useful when having a service that runs a GStreamer pipeline
+         or application in Google Cloud to avoid storing the inputs
+         and outputs in the running container or service. For example
+         when analyzing a video from a Google Cloud Storage bucket
+         and extracting images or converting the video and then uploading
+         the results into another Google Cloud Storage bucket.
+         - gssrc allows to read from a file located in Google Cloud
+         Storage and it supports seeking.
+         - gssink allows to write to a file located in Google Cloud
+         Storage. There are 2 modes, one similar to multifilesink and
+         the other similar to filesink.
+         Example:
+         gst-launch-1.0 gssrc location=gs://mybucket/videos/sample.mp4 ! decodebin ! glimagesink
+         gst-launch-1.0 playbin uri=gs://mybucket/videos/sample.mp4
+         gst-launch-1.0 videotestsrc num-buffers=5 ! pngenc ! gssink object-name="img/img%05d.png" bucket-name="mybucket" next-file=buffer
+         gst-launch-1.0 filesrc location=sample.mp4 ! gssink object-name="videos/video.mp4" bucket-name="mybucket" next-file=none
+         When running locally simply set GOOGLE_APPLICATION_CREDENTIALS. But
+         when running in Google Cloud Run or Google Cloud Engine, just set the
+         "service-account-email" property on each element.
+         Closes #1264
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1369>
+
+2021-03-17 23:53:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         d3d11: Enable native multi-thread protection layer and make use of it
+         ... instead of our own GRecMutex locking. In this way, any other
+         Direct3D11 client (MediaFoundation for example) can safely call
+         any Direct3D11 API even when we are sharing our Direct3D11 device
+         with others.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2092>
+
+2021-02-26 03:28:29 +1100  Jan Schmidt <jan@centricular.com>
+
+       * tests/examples/mpegts/meson.build:
+       * tests/examples/mpegts/tsmux-prog-map.c:
+         examples: Add an mpegtsmux example of prog-map usage.
+         Add an example of how to construct the prog-map structure for
+         the MPEG-TS muxers and assign streams to programs, and set PCR
+         and PMT PIDs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2039>
+
+2021-02-26 02:53:33 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         mpegtsmux: Add PMT_%d support to prog-map.
+         Support a PMT_%d field in the prog-map, that's optionally used
+         to set the PMT for each program in the mux.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2039>
+
+2021-03-12 18:10:18 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         mpegtsmux: Don't write PCR until PAT/PMT are output.
+         Make sure streams start cleanly with a PAT/PMT and defer the first PCR
+         output until after that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2073>
+
+2021-03-11 18:21:11 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: finalize PCR timing for complete accuracy
+         In order to always insert a PCR packet right on time, we need to
+         check whether one is needed when outputting any packet, not only
+         a packet for the PCR stream. Most of the PCR packets will remain
+         data-carrying packets, but as a last resort we may insert stuffing
+         packets on the PCR stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2073>
+
+2021-03-11 18:05:25 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         mpegtsmux: Improve PCR/SI scheduling.
+         Change PCR / SI scheduling so that instead of checking if
+         the current PCR is larger than the next target time, instead
+         check if the PCR of the next packet would be too late, so PCR
+         and SI are always scheduled earlier than the target, not later.
+         There are still cases where PCR can be written too late though,
+         because we don't check before each output packet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2073>
+
+2021-03-11 18:05:10 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+         tsmuxstream: Fix comment typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2073>
+
+2021-03-09 13:22:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstcccombiner.c:
+       * ext/closedcaption/gstcccombiner.h:
+       * tests/check/elements/cccombiner.c:
+         cccombiner: implement scheduling
+         Prior to that, cccombiner's behaviour was essentially that of
+         a funnel: it strictly looked at input timestamps to associate
+         together video and caption buffers.
+         This patch instead exposes a "schedule" property, with a default
+         of TRUE, to control whether caption buffers should be smoothly
+         scheduled, in order to have exactly one per output video buffer.
+         This can involve rewriting input captions, for example when the
+         input is CDP sequence counters are rewritten, time codes are dropped
+         and potentially re-injected if the input video frame had a time code
+         meta.
+         Caption buffers may also get split up in order to assign captions to
+         the correct field when the input is interlaced.
+         This can also imply that the input will drift from synchronization,
+         when there isn't enough padding in the input stream to catch up. In
+         that case the element will start dropping old caption buffers once
+         the number of buffers in its internal queue reaches a certain limit
+         (configurable).
+         The property is exposed so that existing users of cccombiner can
+         revert back to the original behaviour, but should eventually be
+         removed, as that behaviour was simply inadequate.
+         This commit also disallows changing the input caption type, as
+         this would needlessly complicate implementation, and removes
+         the corresponding test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2076>
+
+2021-03-17 19:26:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+         d3d11: Use render-target and shader-resource bind flags by default
+         Even if bind flags is not needed by an element, other element
+         might need such bind flags.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2091>
+
+2021-03-15 00:04:21 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: Fix features lost in transform_caps().
+         When we transform the caps from the sink to src, or vice versa, the
+         "caps" passed to us may only contain parts of the features. Which
+         makes our vpp lose some feature in caps and get a negotiation error.
+         The correct way should be:
+         Cleaning the format and resolution of that caps, but adding all VA,
+         DMA features to it, making it a full feature caps. Then, clipping it
+         with the pad template.
+         fixes: #1551
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2081>
+
+2021-03-15 16:25:36 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Ignore 'error-cancelled' 'failures'
+         This happens when the user use the 'load-bytes' signal and nothing is wrong there
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2085>
+
+2021-03-16 19:09:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: WARNING if ID3D11VideoDevice is unavailable, not ERROR
+         gst_d3d11_decoder_new() method is also used for device capability
+         checking during plugin init. Although we are checking hardware
+         flag prior to that, it doesn't guarantee ID3D11VideoDevice interface.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2088>
+
+2021-03-16 17:56:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+         mediafoundation: Fix resource leak
+         IMFActivate would hold its internal objects unless user call ShutdownObject(),
+         even if we release the IMFActivate. Here internal objects may
+         include Direct3D objects, such as texture, device handle for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2087>
+
+2021-03-16 15:58:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11colorconvert: Fix caps leak
+         GstBaseTransform::fixate_caps() takes ownership of passed
+         othercaps argument.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2086>
+
+2021-03-13 19:00:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/examples/va/meson.build:
+       * tests/examples/va/multiple-vpp.c:
+         va: example: multiple-vpp: test sharpen with dynamic controller
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2082>
+
+2021-03-13 18:57:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: synchronize segment with stream time
+         This is required to use dynamic controllable parameters.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2082>
+
+2021-03-15 18:26:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Do negotiation again per forward/reverse playback mode change
+         For reverse playback, we are always copying decoded
+         frame to downstream buffer. So the pool size can be
+         and need to be large enough.
+         In case that forward playback, however, we need to restrict
+         the max pool size for performance reason. Otherwise decoder
+         will keep copying decoded texture to downstream buffer pool
+         if decoding is faster than downstream throughput
+         performance and also there are queue element between them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2083>
+
+2021-03-15 19:48:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Avoid switching conversion tool during playback
+         Decoder might be able to copy decoded texture to the other buffer pool
+         during playback depending on context. In that case, copied one
+         has no D3D11_BIND_DECODER bind flag.
+         If we used ID3D11VideoProcessor previously for decoder texture,
+         and incoming texture supports ID3D11VideoProcessor as well even if it has no
+         D3D11_BIND_DECODER flag (having D3D11_BIND_RENDER_TARGET for example),
+         allow zero-copying instead of using our fallback texture.
+         Frequent conversion tool change (between ID3D11VideoProcessor and generic shader)
+         might result in inconsistent image quality.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2084>
+
+2021-03-12 13:50:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: postproc: only drop filters if they change
+         Currently, at every frame the filters array is recreated. This is not
+         optimal, since it should be only rebuilt if the VA filter's related
+         properties change. This patches does that by using a flag.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2078>
+
+2021-03-14 16:11:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Refactor device open step and negotiation
+         * Remove redundant method arguments
+         * Don't allocate staging texture if downstream supports d3d11 memory
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079>
+
+2021-03-14 15:08:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Move profile GUID handling into decoder object
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079>
+
+2021-03-14 14:26:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Get rid of private struct
+         Completely hide member variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079>
+
+2021-03-14 12:50:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         Revert "d3d11vp9dec: Add support for internal frame resizing"
+         This reverts commit 58a4c33a0e4f4e5415d8578166716e0d65c0c27e
+         We should use ID3D11VideoProcessor instead of shader
+         to avoid copy. We need to revisit this topic later
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079>
+
+2021-03-13 22:47:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+         d3d11device: Hold ID3D11VideoDevice and ID3D11VideoContext object
+         ... instead of QueryInterface-ing per elements. Note that
+         ID3D11VideoDevice and ID3D11VideoContext objects might not be available
+         if device doesn't support video interface.
+         So GstD3D11Device object will create those objects only when requested.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079>
+
+2021-03-14 13:01:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11: Run gst-indent for all C++ code
+         Since all d3d11 plugin implementation code are C++, we need to
+         run gst-indent manually. This is preparation for later
+         "gst-indent sys/d3d11/*.cpp" run.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2077>
+
+2021-03-13 17:40:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11basefilter.cpp:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11compositorbin.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11convert.h:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+       * sys/d3d11/gstd3d11download.cpp:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11videosinkbin.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Port to C++
+         Direct3D11 objects are COM, and most COM C APIs are verbose
+         (C++ is a little better). So, by using C++ APIs, we can make code
+         shorter and more readable.
+         Moreover, "ComPtr" helper class (which is C++ only) can be
+         utilized, that is very helpful for avoiding error-prone COM refcounting
+         issue/leak.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2077>
+
+2021-03-12 12:36:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/examples/va/multiple-vpp.c:
+         va: example: multiple-vpp: test direction change
+         If the driver supports it (iHD, so far) and the parameter -d is set,
+         the direction of the video will be changed randomly.
+         In the code you can select, at compilation time, if the direction
+         change is done by element's property or by pipeline events.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2074>
+
+2021-03-11 18:53:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: update passthrough and reconfigure pads
+         Added helper function _update_passthrough() which will define and set
+         the pass-through mode of the filter, and it'll either reconfigure both
+         pads or it will just mark the src pad for renegotiation or nothing at
+         all.
+         There are cases where both pads have to be reconfigured (direction
+         changed, for example), other when just src pad has to (filters
+         updated) or none (changing to ready state).
+         The requirement of renegotiation depends on the need to enable/disable
+         its VA buffer pools.
+         This patch sets pass-through mode by default, so the buffer pools
+         aren't allocated if no filtering/direction operations are defined,
+         which is the correct behavior.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2074>
+
+2021-02-25 14:09:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/zxing/gstzxing.cpp:
+       * ext/zxing/meson.build:
+       * tests/check/elements/zxing.c:
+         zxing: update to support version 1.1.1
+         Support new API in 1.1.1
+         Update the supported input video format.
+         Update tests to use parse_launch
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2037>
+
+2021-03-10 13:10:28 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: do not clip the frame
+         If the current buffer is delta unit such as P or B
+         frame, the buffer should not be clipped and need to
+         let the decoder handle the segment boundary situation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2070>
+
+2021-03-11 02:36:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+         d3d11device: Fix wrong printf formatting
+         Add missing '%' there
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2069>
+
+2021-02-20 11:36:42 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder-private.h:
+       * gst-libs/gst/transcoder/gsttranscoder-signal-adapter.c:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+         transcoder: Add state-changed signal
+         Similar to GstPlayer, a new signal for state tracking is now emitted at runtime,
+         as a commodity for applications which then don't need to monitor the pipeline
+         GstBus for state changes anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2028>
+
+2020-12-07 10:47:30 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay-signal-adapter.c:
+       * gst-libs/gst/player/gstplayer-media-info-private.h:
+       * gst-libs/gst/player/gstplayer-media-info.c:
+       * gst-libs/gst/player/gstplayer-wrapped-video-renderer-private.h:
+       * gst-libs/gst/player/gstplayer-wrapped-video-renderer.c:
+       * gst-libs/gst/player/gstplayer.c:
+       * gst-libs/gst/player/meson.build:
+         player: Rewrite as GstPlay wrapper
+         For the time being the GstPlayer library remains as a wrapper for GstPlay, in
+         order to keep existing applications working and give them time to port to
+         GstPlay. GstPlayer will remain in -bad for a couple cycles and the plan for
+         GstPlay is to move it to -base before 1.20.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2020-12-07 09:56:26 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         play: Flush API bus before exiting main loop
+         Otherwise the bus might attempt to dispatch queued messages after the thread
+         ended, causing runtime warnings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2020-11-29 18:55:48 +0000  Philippe Normand <philn@igalia.com>
+
+       * tests/check/libs/play.c:
+       * tests/check/meson.build:
+         play: tests: Switch user-agent test to a real HTTP server
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2020-11-14 10:56:51 +0000  Philippe Normand <philn@igalia.com>
+
+       * meson_options.txt:
+       * tests/check/libs/play.c:
+       * tests/check/meson.build:
+         play: tests: Refactor to use new Message bus API
+         Instead of relying on an extra GMainLoop, the messages are poped from the player
+         bus and handled synchronously. This should avoid flaky behaviors.
+         Fixes #608
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2020-11-14 10:47:53 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         play: Plug media_info leak
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2020-04-28 21:09:40 +0200  Stephan Hesse <stephan@emliri.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         play: Rename internal buffering field to buffering_percent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2019-11-02 16:14:13 +0100  Stephan Hesse <stephan@emliri.com>
+
+       * docs/libs/play/index.md:
+       * docs/libs/play/sitemap.txt:
+       * docs/meson.build:
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/play/gstplay-media-info-private.h:
+       * gst-libs/gst/play/gstplay-media-info.c:
+       * gst-libs/gst/play/gstplay-media-info.h:
+       * gst-libs/gst/play/gstplay-message-private.h:
+       * gst-libs/gst/play/gstplay-signal-adapter.c:
+       * gst-libs/gst/play/gstplay-signal-adapter.h:
+       * gst-libs/gst/play/gstplay-types.h:
+       * gst-libs/gst/play/gstplay-video-overlay-video-renderer.c:
+       * gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
+       * gst-libs/gst/play/gstplay-video-renderer-private.h:
+       * gst-libs/gst/play/gstplay-video-renderer.c:
+       * gst-libs/gst/play/gstplay-video-renderer.h:
+       * gst-libs/gst/play/gstplay-visualization.c:
+       * gst-libs/gst/play/gstplay-visualization.h:
+       * gst-libs/gst/play/gstplay.c:
+       * gst-libs/gst/play/gstplay.h:
+       * gst-libs/gst/play/meson.build:
+       * gst-libs/gst/play/play-prelude.h:
+       * gst-libs/gst/play/play.h:
+         play: Introducing the new playback library
+         This aims to be a replacement for the GstPlayer library. In GstPlay, notifications are
+         sent as application messages through a dedicated GstBus. The GMainContext-based
+         signal dispatcher was replaced by a GObject signal adapter, now relying on the
+         bus to emit its signals. The signal dispatcher is now optional and fully
+         decoupled from the GstPlay object.
+         Co-authored with: Philippe Normand <philn@igalia.com>
+         Fixes #394
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
+
+2021-03-09 13:00:10 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Don't post messages with the mutex locked
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2063>
+
+2021-03-01 20:53:53 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: don't generate duplicate rtx payloads when bundle-policy is set
+         It was possible to generate a SDP that had an RTX payload type
+         that matched one of the media payload types when providing caps via
+         codec_preferences without any sink pads.
+         Fixes
+         m=video 9 UDP/TLS/RTP/SAVPF 96
+         ...
+         a=rtpmap:96 VP8/90000
+         a=rtcp-fb:96 nack pli
+         a=fmtp:96 apt=96
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2046>
+
+2021-03-08 14:30:52 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * tests/check/elements/interlace.c:
+       * tests/check/meson.build:
+         tests: Add negotiation tests for the interlace elements
+         Many complicated cases exist. Would be good to have some checks.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2062>
+
+2021-03-08 20:59:14 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Discard stored_frame on EOS and PAUSED_TO_READY
+         Would otherwise leak it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2062>
+
+2021-03-08 16:16:25 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/interlace/gstinterlace.c:
+         interlace: Specify interlace-modes in the sink pad template
+         Especially specify the field-order in the interleaved mode. Otherwise it
+         might cause the negotiation to fail, because
+         GST_PAD_SET_ACCEPT_INTERSECT is not set on the sinkpad, and the
+         field-order is missing in the sink template but can be present in the
+         outside caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2062>
+
+2021-03-07 16:47:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+         nvh264sldec: Reopen decoder object if larger DPB size is required
+         Equivalent to the d3d11h264dec fix
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1839
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2059>
+
+2021-03-03 01:23:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+         d3d11: Fix an HLSL compiler warning
+         warning X3578: Output value 'main' is not completely initialized
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2052>
+
+2021-01-27 10:55:13 +0800  Bing Song <bing.song@nxp.com>
+
+       * tools/gst-transcoder.c:
+         transcoder: handle SIGINT and SIGHUP
+         Handle SIGINT and SIGHUP in transcoder. Or the output file maybe corrupt.
+         Fixes #1507
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1987>
+
+2021-03-04 17:42:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Keep track of actually configured DPB size
+         ... instead of the largest we ever seen.
+         Note that d3d11h264dec element holds previously configured DPB size
+         for later decoder object re-open decision.
+         This is to fix below case:
+         1) Initial SPS, required DPB size is 6
+         - decoder object is opened with DPB size 6
+         - max_dpb_size is now 6
+         2) SPS update with resolution change, required DPB size is 1
+         - decoder object is re-opened with DPB size 1
+         - max_dpb_size should be updated to 1, but it didn't happen (BUG)
+         3) SPS update without resolution change, only required DPB size is updated to 6
+         - decoder object should be re-opened but didn't happen
+         because we didn't update max_dpb_size at 2).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2056>
+
+2021-03-03 16:19:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/interlace/gstinterlace.c:
+         interlace: add more formats, esp 10-bit, 12-bit and 16-bit ones
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2054>
+
+2021-02-16 11:23:17 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: retrieve interlaced information
+         Lets the decoder knows if the frames are interlaced or not.
+         Provide this information to the driver while filling reference
+         pictures fields in slice params structure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-11-27 16:00:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Reduce controls for subsequent slices
+         Only the SLICE_PARAMS and PRED_WEIGHTS are needed for the second and
+         following slices.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-08-14 10:13:09 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Implement optional scaling matrix
+         The new H.264 uAPI requires that all drivers support
+         scaling matrix only as an option, when a non-flat
+         scaling matrix is provided in the bitstream headers.
+         Take advantage of this and avoid passing the scaling
+         matrix if not needed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-09-30 14:34:15 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Only set SPS control if needed
+         Given V4L2 controls are cached in V4L2, there is no need
+         to set them if they don't change. Set the SPS control
+         only if a new sequence was received by the parser.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-09-30 14:22:14 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Only slice-based need SLICE_PARAMS and PRED_WEIGHTS
+         Frame-based decoding mode doesn't require SLICE_PARAMS and
+         PRED_WEIGHTS controls.
+         Moreover, if the driver doesn't support these two controls, trying
+         to set them will fail. Fix this by only setting these on
+         slice-based decoding mode.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-09-30 14:14:41 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: h264: Add API checks
+         Check that the V4L2 H264 controls' sizes match
+         our expectation. If not, then probably there's an API
+         mismatch which will cause errors or decoding corruption.
+         Also, print a warning if the kernel version is too old.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-09-30 10:40:51 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/linux/h264-ctrls.h:
+       * sys/v4l2codecs/linux/media.h:
+       * sys/v4l2codecs/linux/types-compat.h:
+       * sys/v4l2codecs/linux/v4l2-common.h:
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: h264: Update to the new uAPI
+         Starting from Linux v5.11, the V4L2 stateless H.264 uAPI
+         is updated and stable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2020-09-30 10:33:59 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Set the scaling matrix present flag unconditionally
+         We are currently always setting and passing a scaling matrix,
+         so need to set this flag accordingly. Passing a scaling matrix
+         optionally will be implemented in follow-up commit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1624>
+
+2021-03-02 12:46:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: mention the possibility of color balance
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2050>
+
+2021-03-02 12:46:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: plugins update VA elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2050>
+
+2021-03-02 12:44:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: vp8dec, vp9dec: only set NV12 color format for documentation
+         Mention in documentation only the most used output format in VA-API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2050>
+
+2021-03-02 22:01:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11convert: Forward colorimetry and chroma-site from upstream
+         Adopt the improvement of https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1033
+         into d3d11.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 17:47:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11convert: Add support for border drawing
+         ... and fix wrong resizing when downstream requested PAR value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 21:35:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11convert: Prefer video processor over shader
+         ... if video processor was used previously. Otherwise, switching
+         between video processor and shader would result in inconsistent
+         output image quality.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 18:07:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videoprocessor.c:
+         d3d11videoprocessor: Disable auto processing mode explicitly
+         Don't allow auto processing (e.g., denoising), as it might result
+         in unexpected output.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 21:10:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+         d3d11memory: Fix for wrong texture_array_size returns
+         Fix mismatched return values
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 21:13:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Add trace log for DPB pool size debugging
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 20:45:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Always use render-target bind flag for downstream pool
+         To convert decoded texture into other format, downstream would use
+         video processor instead of shader. In order for downstream to
+         be able to use video processor even if we copied decoded texture
+         into downstream pool, we should set this bind flag. Otherwise,
+         downstream would keep switching video processor and shader
+         to convert format which would result in inconsistent image quality.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-02 20:37:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11: Fix wrong preprocessing blocks
+         Missed in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/464
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
+
+2021-03-01 13:44:09 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: fix a wrong caps logic in vpp_transform_caps().
+         The current gst_va_vpp_transform_caps return such as:
+         video/x-raw(memory:VAMemory), width=(int)[ 16, 16384 ], height=(int)[ 16, 16384 ],
+         interlace-mode=(string)progressive, format=(string){ NV12, I420, YV12, YUY2, RGBA,
+         BGRA, P010_10LE, ARGB, ABGR, VUYA }; video/x-raw(memory:DMABuf), width=(int)[ 16,
+         16384 ], height=(int)[ 16, 16384 ], interlace-mode=(string)progressive, format=(string)
+         { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR, VUYA }; video/x-raw,
+         width=(int)[ 16, 16384 ], height=(int)[ 16, 16384 ], interlace-mode=(string)progressive,
+         format=(string){ VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE };
+         video/x-raw(memory:VAMemory), width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ],
+         interlace-mode=(string)progressive; video/x-raw(memory:DMABuf), width=(int)[ 1, 2147483647 ],
+         height=(int)[ 1, 2147483647 ], interlace-mode=(string)progressive; video/x-raw, width=(int)
+         [ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], interlace-mode=(string)progressive
+         Which is not correct. It mixes the template caps and the input query caps together.
+         The correct way should be: clip the template caps with the input caps(remove format
+         and rangify size). The correct answer should be:
+         video/x-raw(memory:VAMemory), width=(int)[ 16, 16384 ], height=(int)[ 16, 16384 ], interlace
+         -mode=(string)progressive, format=(string){ NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE,
+         ARGB, ABGR, VUYA }; video/x-raw(memory:DMABuf), width=(int)[ 16, 16384 ], height=(int)[ 16,
+         16384 ], interlace-mode=(string)progressive, format=(string){ NV12, I420, YV12, YUY2, RGBA,
+         BGRA, P010_10LE, ARGB, ABGR, VUYA }; video/x-raw, width=(int)[ 16, 16384 ], height=(int)[ 16,
+         16384 ], interlace-mode=(string)progressive, format=(string){ VUYA, GRAY8, NV12, NV21, YUY2,
+         UYVY, YV12, I420, P010_10LE }
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2045>
+
+2021-03-01 16:23:37 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsparse: Fix switched DTS/PTS when set-timestamps=false
+         Fixes 30ee21eae36e7279f63b77167ba1dcf5f70b8e83.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2047>
+
+2019-08-15 08:25:26 -0700  Ilya Kreymer <ikreymer@gmail.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+       * ext/webrtc/icestream.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtc ice: Add 'min/max-rtp-port' props for setting RTP port range
+         default min port == 0, max port == 65535 -- if min port == 0, uses existing random port selection (range ignored)
+         add 'gathering_started' flag to avoid changing ports after gathering has started
+         validity checks: min port <= max port enforced, error thrown otherwise
+         include tests to ensure port range is being utilized (by @hhardy)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/119>
+
+2021-02-25 11:58:57 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtc ice: Only ever request one component, it's always rtcpmux
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/119>
+
+2021-02-26 15:40:01 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Add some missing API guards
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2044>
+
+2021-02-26 15:36:48 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder-signal-adapter.c:
+         transcoder: Fix potential use of uninitialized variables
+         gst_structure_get won't touch variables if the field is not present
+         leading to potential use of initialized vars
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2044>
+
+2021-02-26 15:31:29 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder-private.h:
+       * gst-libs/gst/transcoder/gsttranscoder-signal-adapter.c:
+       * gst-libs/gst/transcoder/gsttranscoder-signal-adapter.h:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+       * tools/gst-transcoder.c:
+         transcoder: Rework the API to create/get SignalAdapter
+         We can only have 1 single GstTranscoderSignalAdapter object for a
+         given GstTranscoder object, this enforces that by avoiding to expose
+         a constructor and instead add a method to GstTranscoder to get the
+         signal adapter (internally creating it when needed). We can still
+         cleanly ensure that the signal adapter is running for the requested
+         GMainContext and return NULL if it is not the case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2044>
+
+2021-02-22 16:59:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtcbin: use regular ice nomination by default
+         1. We don't currently deal with an a=ice-options in the SDP which means
+         we currently violate https://tools.ietf.org/html/rfc5245#section-8.1.1
+         which states: "If its peer is using ICE options (present in
+         an ice-options attribute from the peer) that the agent does not
+         understand, the agent MUST use a regular nomination algorithm."
+         2. The recommendation is default to regular nomination in both RFC5245
+         and RFC8445.  libnice change for this is
+         https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/125
+         which requires an API break in libnice.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2031>
+
+2021-02-24 18:43:07 +0000  Philippe Normand <philn@igalia.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Remove un-needed gst_init call
+         We can safely assume GStreamer is already initialized from here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1840>
+
+2020-11-25 22:25:28 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder-message-private.h:
+       * gst-libs/gst/transcoder/gsttranscoder-signal-adapter.c:
+       * gst-libs/gst/transcoder/gsttranscoder-signal-adapter.h:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+       * gst-libs/gst/transcoder/meson.build:
+       * tools/gst-transcoder.c:
+         transcoder: Port to a GstBus API instead
+         Following the move made by GstPlayer in:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/35
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1840>
+
+2020-11-25 22:21:35 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+       * gst-libs/gst/transcoder/meson.build:
+       * gst-libs/gst/transcoder/transcoder-prelude.h:
+         transcoder: Automatically generate enums GTypes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1840>
+
+2020-11-25 22:01:30 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+         transcoder: Port to G_DECLARE
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1840>
+
+2021-02-26 16:36:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosink.cpp:
+         decklinkvideosink: Use correct numerator for 29.97fps
+         It's not 0.2997fps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2042>
+
+2021-02-26 11:39:10 +0100  Edward Hervey <edward@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklinksrc: Use a more accurate capture time
+         Use the hardware reference clock time when the frame was finished being captured
+         instead of a time much further down the road.
+         This improves the stability/accuracy of buffer times.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2040>
+
+2021-02-24 19:14:42 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: No need of fourcc to create surface.
+         In commits 430aa327 and a119a940 there are a regression since it is
+         possible to create surfaces without fourcc, only chroma (rtformat) is
+         required.
+         This regression is shown on radeonsi driver with certain color
+         formats.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2035>
+
+2021-02-24 13:06:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+       * tests/examples/va/meson.build:
+       * tests/examples/va/multiple-vpp.c:
+         va: vpp: implement GstColorBalance interface
+         And modify multiple-vpp example to use it with -r parameter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2033>
+
+2021-02-23 17:22:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: add controllable and mutable playing to GParamFlags
+         Add controllable and mutable playgin to common GParamFlags.
+         Also use this common flags to video-direction
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2033>
+
+2021-02-24 16:57:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkviewconvert.c:
+         vulkan: Fix elements long name.
+         Fix vkcoloconvert and vkviewconvert long names.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2034>
+
+2021-01-12 15:33:49 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/meson.build:
+         msdk: allow user specify a drm device via an env variable
+         User may specify the required device via GST_MSDK_DRM_DEVICE
+         Example:
+         GST_MSDK_DRM_DEVICE=/dev/dri/card0 gst-launch-1.0 videotestsrc ! msdkh264enc
+         ! fakesink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1953>
+
+2021-01-19 15:36:29 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvaav1dec.h:
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvaprofile.c:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         VA: Add the vaav1dec element as the av1 decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1636>
+
+2021-01-19 15:17:58 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+         VA: Add the aux surface for gst buffer used by decoder.
+         The AV1 codec needs to support the film grain feature. When the film
+         grain feature is enabled, we need two surfaces as the output of the
+         decoded picture, one without film grain effect and the other one with
+         it. The first one acts as the reference and is needed for later pictures'
+         reconstruction, and the second one is the real display output.
+         So we need to attach another aux surface to the gst buffer/mem and make
+         that aux surface as the target of vaBeginPicture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1636>
+
+2021-01-19 15:07:38 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+         VA: Add a helper function of decoder_add_slice_buffer_with_n_params.
+         Some codecs such as AV1 needs several parameters associated with one
+         slice. It may have multi tiles within one slice and each tile needs
+         its description parameter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1636>
+
+2021-01-19 14:59:45 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1decoder.h:
+       * gst-libs/gst/codecs/gstav1picture.c:
+       * gst-libs/gst/codecs/gstav1picture.h:
+       * gst-libs/gst/codecs/meson.build:
+         codecs: AV1decoder: Add the AV1 decoder base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1636>
+
+2021-02-23 13:47:29 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: replace assert with error log in va alloc.
+         We should print error log rather than assert when the forcc or
+         the rt_format of va allocator is unrecognized.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1636>
+
+2021-02-21 17:38:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/d3d11/gstd3d11compositor.c:
+       * sys/d3d11/gstd3d11compositorbin.c:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdupsrc.c:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11mpeg2dec.c:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/plugin.c:
+         d3d11: Documentation update
+         * Update class metadata
+         * for wrapper bin elements to be distinguishable from internal element.
+         * D3D11 -> Direct3D11 for consistency
+         * Add missing Since mark everywhere
+         * Update plugin cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2029>
+
+2021-02-21 20:38:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+         d3d11: Reorganize class hierarchy of convert elements
+         AS-IS:
+         D3D11Convert class is baseclass of D3D11ColorConvert and D3D11Scale
+         * GstD3D11Convert
+         |_ GstD3D11ColorConvert
+         |_ GstD3D11Scale
+         TO-BE:
+         Introducing a new base class for color conversion and/or rescale elements
+         * GstD3D11BaseConvert
+         |_ GstD3D11Convert
+         |_ GstD3D11ColorConvert
+         |_ GstD3D11Scale
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2029>
+
+2021-02-21 17:35:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+         d3d11deinterlace: Add missing system memory caps features on templates
+         This element can support system memory
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2029>
+
+2021-02-18 09:53:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter, vpp: process colorimetry
+         A new filter method were added: gst_va_filter_set_formats(). In this
+         way the input & output GstVideoInfo are processed only once per stream
+         negotiation, and not per frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2023>
+
+2021-02-18 05:58:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: check if filter is open on set_orientation()
+         Because the method requires pipeline_caps is filled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2023>
+
+2021-02-17 18:56:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: human readable background color
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2023>
+
+2021-02-17 18:55:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: fail immediately if vaBeginPicture() fails
+         There's no need to try vaRenderPicture() if vaBeginPicture() failed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2023>
+
+2021-02-17 18:30:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: destroy pipeline buffer after destroying filters
+         In 6ae24948 the pipeline buffer destroy were removing assuming it
+         wasn't required. Nonetheless, debugging the code it looks like a
+         buffer leak in iHD driver since the ID of the buffer kept increasing.
+         The difference now is that first the filter buffers are destroy first
+         and later the pipeline buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2023>
+
+2021-02-19 14:27:39 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: Add raw buffer copy when needed.
+         Just like the decoder, the vapostproc also needs to copy the output
+         buffer to raw buffer if downstream elements only supports raw caps
+         and does not support the video meta.
+         The pipeline like:
+         gst-launch-1.0 filesrc location=xxxx ! h264parse ! vah264dec ! \
+         vapostproc ! capsfilter caps=video/x-raw,width=55,height=128 ! \
+         filesink location=xxx
+         needs this logic to dump the data correctly.
+         fixes: #1523
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2026>
+
+2021-02-19 00:03:00 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/sdp/gstsdpsrc.c:
+         sdpsrc: fix double free if sdp is provided as string via the property
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1532
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2025>
+
+2021-02-18 21:38:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2device.c:
+         wasapi2device: Make wasapi2 device distinguishable from wasapi device
+         Both wasapi2 and wasapi plugins use WASAPI API. So "device.api=wasapi"
+         would make sense for the wasapi2 plugin as well. But people would be
+         confused by the identical "device.api=wasapi" property if intended
+         plugin is wasapi, not wasapi2. This change will make them distinguishable
+         by using "device.api" device property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2024>
+
+2021-01-13 00:27:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/meson.build:
+         wasapi2: Always build if Windows 10 SDK is available
+         Add support for building wasapi2 plugin if Windows 10 SDK is
+         available on system
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1951>
+
+2021-02-08 12:24:58 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dtls/gstdtlssrtpbin.c:
+       * ext/dtls/gstdtlssrtpdec.c:
+       * ext/dtls/gstdtlssrtpenc.c:
+         dtls: use GST_WARNING instead of g_warning
+         No need a g_warning which is failing always
+         with gst-inspect -a
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2010>
+
+2021-01-28 12:28:03 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst/videoparsers/gsth264parse.c:
+       * tests/check/elements/h264parse.c:
+         h264parse: don't invalidate the last PPS when parsing a new SPS
+         When a SPS is received then any previous PPS remains valid. So don't clear
+         the PPS flag from the parser state.
+         This is important because there are encoders that don't generated a PPS after
+         every SPS.
+         Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/571
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2019>
+
+2021-02-17 15:15:09 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Detect height change on field-based interlaced files
+         The first time update_src_caps is called, there's no frame parsed yet,
+         therefore we don't know whether the file has alternate-field interlacing
+         mode. If we run it again after we have a frame, it might be that now we
+         have the SEI pic_struct parsed, and therefore we know that it's
+         field-based interlaced, and therefore the height must be multiplied by
+         two. Earlier on this was not detected as a change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2022>
+
+2020-09-19 21:39:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/examples/va/meson.build:
+       * tests/examples/va/multiple-vpp.c:
+         va: add multiple-vpp example
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2015>
+
+2021-02-15 15:54:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: set workaround only for i965 driver
+         In commit 117453b9 a i965 driver workaround was added for all drivers, because
+         at that time we didn't have a driver implementation API.
+         Now there's one. This patch set the workaround only for the i965 driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2021>
+
+2021-02-17 13:46:03 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Fix FPS/duration for interlaced files
+         There can be h265 files with frame-based, not field-based, interlacing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2020>
+
+2021-02-12 18:43:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: MT-safe queue & dequeue dmabuf-based memories
+         One problem that va dmabuf allocator had is when preparing a buffer from
+         dmabuf memories in the allocator pool, specially when a buffer is composed by
+         several memories. This memories have to be by certain number and in certain
+         order.
+         This patch stores the number of memories and their address in order when a
+         dmabuf-based buffer is created and when preparing a buffer, it is reconstructed
+         with this info.
+         Finally, instead of pushing the memories as soon as they are unrefed, they are
+         hold until GstVaBufferSurface's ref_mems_count reaches zero (all the memories
+         related with that buffer/surface are unrefed). Until that happen, all the
+         memories are pushed back into the queue, locked, assuring that all the memories
+         related with a single buffer (with the same surface) remain contiguous, so the
+         buffer reconstruction is assured.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
+
+2021-02-15 15:34:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+         va: pool, allocator: free memories at bufferpool's stop()
+         This patch frees the memories in the allocator's pool after the bufferpool frees
+         all its buffers, sync'ing them at stop() vmethod.
+         By doing it, the current logic in flush_start() is not valid, so the vmethod is removed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
+
+2021-02-12 15:40:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+         va: allocator: remove unused public functions
+         Deleted the public functions:
+         gst_va_dmabuf_allocator_wait_for_memory()
+         gst_va_allocator_wait_for_memory()
+         And all the support for wait, cond in allocator's pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
+
+2021-02-12 13:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: simplify the logic
+         Instead of removing memories from buffers at reset_buffer()/release_buffer() the
+         bufferpool operation is kept as originally designed, still the allocator pool is
+         used too. Thus, this patch restores the buffer size configuration while removing
+         release_buffer(), reset_buffer() and acquire_buffer() vmethods overloads.
+         Then, when the bufferpool base class decides to discard a buffer, the VA
+         surface-based memory is returned to the allocator pool when its last reference
+         is freed, and later reused if a new buffer is allocated again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
+
+2021-02-07 16:12:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvapool.c:
+         va: pool: use allocator pool at alloc()
+         Check if the allocator pool has memories available before creating a
+         new one, but only iif pool is not starting.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
+
+2021-02-08 12:25:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: log buffer at dmabuf setup and prepare
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
+
+2021-01-22 00:10:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11deinterlace.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add support for deinterlacing by using ID3D11VideoProcessor interface
+         Add a new element d3d11deinterlace to support deinterlacing.
+         Similar to d3d11videosink and d3d11compositor, this element is
+         a wrapper bin of set of child elements including helpful
+         conversion elements (upload/download and color convert)
+         to make this element configurable between non-d3d11 elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2016>
+
+2021-02-14 06:23:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11format.c:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+         d3d11: Add a method for conversion from DXGI format to GstVideoFormat
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2016>
+
+2021-01-22 03:26:29 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix timestamping of interlaced fields in output
+         Instead of relying on GstBaseParse default behaviour of computing
+         the duration of a parsed buffer based on the framerate passed
+         to gst_base_parse_set_framerate(), we instead compute the duration
+         ourselves, as we have more information available.
+         In particular, this means we now output buffers with a duration
+         that matches that of raw interlaced buffers when each field is
+         output in a separate buffer.
+         This fixes DTS interpolation performed by GstBaseParse, as the
+         previous behaviour of outputting each field with the duration of
+         a full frame was messing up the base class calculations.
+         When not enough information is available, h264parse simply falls
+         back to calculating the duration based on the framerate and hope
+         for the best as was the case previously.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1973>
+
+2021-02-14 21:01:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11mpeg2dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Take account of min buffers of downstream buffer pool
+         Since our decoder DPB texture pool cannot be grown once it's
+         configured, we should pre-allocate sufficient number of textures
+         for zero-copy playback (but not too many).
+         The "min buffers" allocation query parameter can be a hint for
+         the number of required textures in addition to DPB size.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2017>
+
+2020-10-29 10:54:45 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: Add support for main and high profiles
+         Those are supported (to a certain extent) so we should not limit
+         ourself to baseline
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1789>
+
+2021-02-11 16:04:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: Move frame_unref to handle_frame.
+         In the current code, we call frame_unref only when the frame is
+         outputted. This is OK for normal playback, but when seek happens,
+         the frames stored in DPB is not outputted and causes some memory
+         leak.
+         The correct way is that we should call frame_unref every time we
+         finish the handle_frame(), which is also the behaviour of H264/H265
+         decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2014>
+
+2021-02-07 02:26:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+         d3d11h265dec: Add support for interlaced stream
+         Note that we have no D3D11 deinterlace element yet.
+         If downstream is not support format:Interlaced caps feature including all
+         D3D11 the other elements, aspect-ratio will be adjusted as an
+         alternative approach.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2008>
+
+2021-02-07 00:21:06 +0900  Seungha Yang <seungha@centricular.com>
+
+         codecs: h265decoder: Add support for interlaced stream
+         * Invoke GstH265DecoderClass::new_sequence() method per interlaced
+         stream status update so that subclass can update caps.
+         * Parse picture timing SEI and set buffer flags on GstH265Picture
+         object. Subclass can refer to it like that of our h264decoder
+         implementation.
+         * Remove pointless GstH265PictureField enum
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2008>
+
+2021-02-10 00:59:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah265dec.c:
+         vah265dec: Don't need to pass picture structure to VA
+         This code came from gstvaapidecoder_h265 implementation
+         but picture structure is always GST_VAAPI_PICTURE_STRUCTURE_FRAME.
+         Moreover, in theory, VA doesn't need to know picture structure for
+         decoding HEVC stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2008>
+
+2021-02-06 22:02:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh265dec.c:
+         nvh265sldec: Remove pointless field picture parameter setup
+         HEVC has no decoding flow for interlaced, field picture referencing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2008>
+
+2021-02-08 00:07:26 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: Make the global lock only to DMA buffer's import.
+         The normal gst_va_buffer_get_surface does not need a global lock.
+         Too big lock may make the performance lower.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2009>
+
+2021-02-05 14:05:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: log dmabuf and surface at pool push or pop
+         In order to keep track of the dmabuf fds and surfaces numbers log messages are
+         added at memory_release() (queue push) and prepare_buffer() (queue pop).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1999>
+
+2021-02-02 06:43:27 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: fix HVC1 stream format name
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1999>
+
+2021-02-01 23:19:27 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: refactor context query
+         Context query is handled either by source and sink queries. This patch
+         factors-out its handling in a common utility function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1999>
+
+2020-12-21 18:10:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: use a common GParamFlags definition
+         Instead of repeating the same code along gst_va_filter_install_properties()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1999>
+
+2021-01-22 16:54:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: remove spurious if validation
+         The first if checks for caps, thus else doesn't need to recheck for the
+         opposite.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1999>
+
+2021-02-05 18:13:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: fix frame copy
+         There were two problems with frame copy:
+         1. The input video info are from the format color, not form the allocated VA
+         surface, it's needed to update the sink video info according with the
+         allocator's data.
+         2. The parameters of `gst_video_frame_copy()` were backwards.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-02 18:05:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: request video and alignment metas for src pool
+         This is for the pool used when importing raw video frames to surfaces.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-04 16:43:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: transform_size() must return FALSE
+         transform_size() basetransform vmethod is used when there's no output buffer
+         pool and allocates a system memory buffer. With VA this cannot be allowed, since
+         it needs VASurfaces to process.
+         Thus transform_size() is not required, but to play safe let's return FALSE.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-02 16:22:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: copy input buffer flags and timestamps
+         Strictly speaking right now it's not required do this copy, but let's play safe
+         and assume in the future this metadata might be required while doing the
+         postprocessing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-01 23:55:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: handle context query
+         Previously vapostproc didn't communicate its context through query mechanism,
+         which is required for context sharing. This patch completes this missing bits.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-01 23:50:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: don't copy color, size or orientation video metas
+         If they are processed by the element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-05 16:46:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: don't break passthrough if no color balance required
+         The function `_add_filter_cb_buffer()` returned TRUE if no color balance filter
+         are required, but that's is wrong, since it will break the passthrough. This
+         patch return FALSE which is the correct value for the situation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-01-15 14:07:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: use gst_clear_caps()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2007>
+
+2021-02-02 16:23:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: don't destroy pipeline buffer
+         This was only required by i915 driver before libva-2.0 because it didn't
+         conform.
+         Also changes the way _destroy_filters() is called, now inside a locked block, so
+         it must not lock in it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2006>
+
+2021-02-01 16:57:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: lock member variables access
+         While gst_va_filter_open() and gst_va_filter_close() remain non-thread-safe, the
+         other API calls that modify member variables are locked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2005>
+
+2021-02-03 23:39:00 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+         srt: preserve ABI compatibility
+         Reintroduce socket descriptor parameter removed in 327ad84e to
+         "caller-added" and "caller-removed" signals, just set it always to zero.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2004>
+
+2021-02-04 03:42:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11mpeg2dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Fix deadlock when DPB texture pool is full
+         Unlike other stateless decoder implementations (e.g., VA),
+         our DPB pool cannot be grown since we are using
+         texture array (pre-allocated, fixed-size d3d11 texture pool).
+         So, if there's no more available texture to use,
+         there's no way other than copying it to downstream's
+         d3d11 buffer pool. Otherwise deadlock will happen.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2003>
+
+2021-02-02 19:10:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+         d3d11memory: Add a method for querying texture array size
+         ... and the number of textures in use.
+         Direct3D11 texture array is usually used for decoder DPB pool,
+         and d3d11 decoder elements might want to know
+         whether there's available texture resource or not.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2003>
+
+2020-12-14 20:34:15 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+         srt: don't pass SRT socket ID to "caller-added,removed" signals
+         The caller's IP and port is enough for unique identification. Don't leak
+         the socket handle since using it in unadvised libsrt calls from the
+         application could break the SRT element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1772>
+
+2020-11-04 17:14:03 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: add caller address to stats structure
+         In listener mode, gst_stats() returns an independent set of
+         statistics for every connected caller. Having the caller's IP and port
+         present in each structure allows to correlate the statistics with a
+         particular caller that has been announced by "caller-added" signal.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1772>
+
+2021-02-03 14:27:14 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: Support for alternate-field interlacing
+         Also don't set interlacing information on the caps, see #1313
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1996>
+
+2021-02-02 18:25:31 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+         h264/h265parse: Add VideoTimeCodeMeta to the outgoing buffer
+         The parsers attempted to add the meta to the incoming buffer, which
+         might not be the outgoing buffer or may not have been writable yet.
+         To fix this, call `gst_buffer_make_writable` earlier and make sure to
+         use the `parse_buffer` to add the meta.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1521
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2002>
+
+2021-01-27 15:32:26 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/va/gstvadevice.c:
+         va: sort the device queue
+         If so, the elements will be registered per drm node in order of
+         renderD128, renderD129, ... etc, an element with constant name will be
+         registered on renderD128 on a hardware with multiple drm nodes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1988>
+
+2021-02-02 04:33:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2decoder: Small documentation fix
+         Fixing documentation even though those methods are v4l2codecs plugin internals
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2000>
+
+2021-01-29 09:43:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: h264: Enable 1 frame delay on non-live
+         When doing non-live decoding, enable 1 frame of delay. This will ensure
+         that we queue the next decoding job before we actually wait for the previous
+         to complete. This improves throughput notably on RK3399.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1881>
+
+2021-01-29 09:41:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Add support for render delay
+         This add support for render delay in the decoder helper.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1881>
+
+2021-01-27 15:55:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: Coding style fix
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1881>
+
+2021-01-27 15:53:49 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Poll inside set_done()
+         This removes the need for the gst_v4l2_decoder_is_done() helper and
+         simplify slightly the subclass code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1881>
+
+2020-12-18 16:36:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Make request structure ref-counted
+         This adds a non-thread safe refcount to the GstV4l2Request. This will
+         allow holding on more then one request in order to implement render
+         delay. This is made non-thread safe for speed as we know this will all
+         happen on the same streaming thread.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1881>
+
+2020-12-14 17:07:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Rework handling of queues and pending requests
+         Starting from this patch, all queue and dequeue operation happening
+         on V4L2 is now abstracted with the request. Buffers are dequeued
+         automatically when pending requests are marked done and only 1 in-flight
+         request is now used.
+         Along with fixing issues with request not being reused with slice
+         decoders, this change reduces the memory footprint by allocating only
+         two bitstream buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1881>
+
+2021-01-29 02:09:05 -0500  Staz M <staz@staz.io>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Fixed decklinkvideosink auto format detection
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1994>
+
+2021-01-28 04:03:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+         nvh264sldec: Add support for output-delay to improve throughput performance
+         NVDEC API support delaying getting decoded output, and recommended
+         delay by API document is 4 frames. In case that throughput is
+         more critical factor than latency, we can prefer delayed output
+         as recommended by NVIDIA.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1925>
+
+2020-12-29 19:54:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+         codecs: h264decoder: Add support for output delay
+         Some decoding APIs support delayed output or a command for decoding
+         a frame doesn't need to be sequential to corresponding command for
+         getting decoded frame. For instance, subclass might be able to
+         request decoding for multiple frames and then get for one (oldest)
+         decoded frame or so.
+         If aforementioned case is supported by specific decoding API,
+         delayed output might show better throughput performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1925>
+
+2021-01-27 17:09:07 -0500  Arun Raghavan <arun@asymptotic.io>
+
+       * ext/ldac/gstldacenc.h:
+       * ext/ldac/meson.build:
+         ldac: Use pkg-config instead of raw lib/header search
+         The ldacBT library includes pkg-config files for the standard and ABR
+         libraries, so let's just use that instead of doing a header/library
+         search.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1990>
+
+2021-01-28 02:02:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Don't limit max buffers of buffer pool
+         In some case, especially reverse playback, we would need more than
+         two buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1989>
+
+2021-01-27 04:34:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11shader.c:
+         d3d11: Suppress some warning debug messages
+         * Don't warn for live object, since ID3D11Debug itself seems to be
+         holding refcount of ID3D11Device at the moment we called
+         ID3D11Debug::ReportLiveDeviceObjects(). It would report live object
+         always
+         * Device might not be able to support some formats (e.g., P010)
+         especially in case of WARP device. We don't need to warn about that.
+         * gst_d3d11_device_new() can be used for device enumeration. Don't warn
+         even if we cannot create D3D11 device with given adapter index therefore.
+         * Don't warn for HLSL compiler warning. It's just noise and
+         should not be critical thing at all
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1986>
+
+2020-12-11 05:23:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11videosink/d3d11device.cpp:
+       * tests/examples/d3d11videosink/d3d11device.h:
+       * tests/examples/d3d11videosink/d3d11videosink-shared-texture-d3d9ex.cpp:
+       * tests/examples/d3d11videosink/d3d11videosink-shared-texture.cpp:
+       * tests/examples/d3d11videosink/meson.build:
+         examples: Add d3d11videosink examples for shared-texture use cases
+         Add two examples to demonstrate "draw-on-shared-texture" use cases.
+         d3d11videosink will draw application's own texture without copy
+         by using:
+         - Enable "draw-on-shared-texture" property
+         - make use of "begin-draw" and "draw" signals
+         And then, application will render the shared application's texture
+         to swapchain's backbuffer by using
+         1) Direct3D11 APIs
+         2) Or, Direct3D9Ex + interop APIs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1873>
+
+2020-12-23 23:49:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11videosinkbin.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_dummy.h:
+       * sys/d3d11/meson.build:
+         d3d11videosink: Add support for drawing on application's own texture
+         Add a way to support drawing on application's texture instead of
+         usual window handle.
+         To make use of this new feature, application should follow below step.
+         1) Enable this feature by using "draw-on-shared-texture" property
+         2) Watch "begin-draw" signal
+         3) On "begin-draw" signal handler, application can request drawing
+         by using "draw" signal action. Note that "draw" signal action
+         should be happen before "begin-draw" signal handler is returned
+         NOTE 1) For texture sharing, creating a texture with
+         D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag is strongly recommend
+         if possible because we cannot ensure sync a texture
+         which was created with D3D11_RESOURCE_MISC_SHARED
+         and it would cause glitch with ID3D11VideoProcessor use case.
+         NOTE 2) Direct9Ex doesn't support texture sharing which was
+         created with D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX. In other words,
+         D3D11_RESOURCE_MISC_SHARED is the only option for Direct3D11/Direct9Ex interop.
+         NOTE 3) Because of missing synchronization around ID3D11VideoProcessor,
+         If shared texture was created with D3D11_RESOURCE_MISC_SHARED,
+         d3d11videosink might use fallback texture to convert DXVA texture
+         to normal Direct3D texture. Then converted texture will be
+         copied to user-provided shared texture.
+         * Why not use generic appsink approach?
+         In order for application to be able to store video data
+         which was produced by GStreamer in application's own texture,
+         there would be two possible approaches,
+         one is copying our texture into application's own texture,
+         and the other is drawing on application's own texture directly.
+         The former (appsink way) cannot be a zero-copy by nature.
+         In order to support zero-copy processing, we need to draw on
+         application's own texture directly.
+         For example, assume that application wants RGBA texture.
+         Then we can imagine following case.
+         "d3d11h264dec ! d3d11convert ! video/x-raw(memory:D3D11Memory),format=RGBA ! appsink"
+         ^
+         |_ allocate new Direct3D texture for RGBA format
+         In above case, d3d11convert will allocate new texture(s) for RGBA format
+         and then application will copy again the our RGBA texutre into
+         application's own texture. One texture allocation plus per frame GPU copy will hanppen
+         in that case therefore.
+         Moreover, in order for application to be able to access
+         our texture, we need to allocate texture with additional flags for
+         application's Direct3D11 device to be able to read texture data.
+         That would be another implementation burden on our side
+         But with this MR, we can configure pipeline in this way
+         "d3d11h264dec ! d3d11videosink".
+         In that way, we can save at least one texture allocation and
+         per frame texutre copy since d3d11videosink will convert incoming texture
+         into application's texture format directly without copy.
+         * What if we expose texture without conversion and application does
+         conversion by itself?
+         As mentioned above, for application to be able to access our texture
+         from application's Direct3D11 device, we need to allocate texture
+         in a special form. But in some case, that might not be possible.
+         Also, if a texture belongs to decoder DPB, exposing such texture
+         to application is unsafe and usual Direct3D11 shader cannot handle
+         such texture. To convert format, ID3D11VideoProcessor API needs to
+         be used but that would be a implementation burden for application.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1873>
+
+2021-01-20 20:04:20 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/dash/gstmpdhelper.c:
+         dashsink: add h265 codec support
+         Return hvc1 for video/x-h265 mime type in mpd helper function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1966>
+
+2021-01-23 23:25:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: set the default alignment for input and output.
+         1. Set the default output alignment to frame, rather than current
+         alignment of obu. This make it the same behaviour as h264/h265
+         parse, which default align to AU.
+         2. Set the default input alignment to byte. It can handle the "not
+         enough data" error while the OBU alignment can not. Also make it
+         conform to the comments.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
+
+2021-01-23 19:26:59 +0800  He Junyan <junyan.he@intel.com>
+
+       * tests/check/elements/av1parse.c:
+       * tests/check/elements/av1parse.h:
+         test: Add more test cases for the av1parse obu aligned output.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
+
+2021-01-23 19:21:21 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Reset the annex_b when meet TU inside a buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
+
+2021-01-23 19:05:57 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Output each OBU when output is aligned to obu.
+         The current behaviour for obu aligned output is not very precise.
+         Several OBUs will be output together within one gst buffer. We
+         should output each gst buffer just containing one OBU. This is
+         the same way as the h264/h265 parse do when NAL aligned.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
+
+2021-01-23 17:38:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Always copy the OBU to cache.
+         The current optimization when input align and out out align are
+         the same is not very correct. We simply copy the data from input
+         buffer to output buffer, but we failed to consider the dropping of
+         OBUs. When we need to drop some OBUs(such as filter out the OBUs
+         of some temporal ID), we can not do simple copy. So we need to
+         always copy the input OBUs into a cache.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
+
+2021-01-23 17:26:25 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Improve the logic when to drop the OBU.
+         When drop some OBU, we need to go on. The current manner will make
+         the data access out range of the buffer mapping.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
+
+2021-01-26 11:12:28 +0100  Marijn Suijten <marijns95@gmail.com>
+
+       * ext/ldac/gstldacenc.c:
+         ext/ldac: Move duplicate sampling rates into #define
+         Because there was a typo in one of the duplicates already (see previous
+         commit) it is much safer to specify these once and only once.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1985>
+
+2021-01-26 11:02:21 +0100  Marijn Suijten <marijns95@gmail.com>
+
+       * ext/ldac/gstldacenc.c:
+         ext/ldac: Fix typo in 88200(0) stereo encoder sampling rate
+         Fixes: a57681455 ("ext: Add LDAC encoder")
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1985>
+
+2021-01-11 01:06:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11mpeg2dec.c:
+       * sys/d3d11/gstd3d11mpeg2dec.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add support for MPEG-2 video decoding
+         Add DXVA/Direct3D11 API based MPEG-2 decoder element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1969>
+
+2020-11-27 16:18:29 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpesrc: fix possible small deadlock on shutdown
+         Problem is that unreffing the EGLImage/SHM Buffer while holding the
+         images_mutex lock may deadlock when a new buffer is advertised and
+         an attempt is made to lock the images_mutex there.
+         The advertisement of the new image/buffer is performed in the
+         WPEContextThread and the blocking dispatch when unreffing wants to run
+         something on the WPEContextThread however images_mutex has already been
+         locked by the destructor.
+         Delay unreffing images/buffers outside of images_mutex and instead just
+         clear the relevant fields within the lock.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1843>
+
+2021-01-20 18:16:17 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/dash/gstmpdhelper.c:
+         dashsink: fix double unref of sinkpad caps
+         no need to unref caps in gst_mpd_helper_get_XXX_codec_from_mime
+         it will be unref in caller gst_dash_sink_get_stream_metadata()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1981>
+
+2021-01-22 16:56:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: Fix a typo in frame_restoration_type setting.
+         Fixes: #1500
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1974>
+
+2021-01-22 14:01:01 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Fix some issues in the src caps.
+         1. Add the mono_chrome to identify 4:0:0 chroma-format.
+         2. Correct the mapping between subsampling_x/y and chroma-format.
+         There is no 4:4:0 format definition in AV1. And 4:4:4 should
+         let both subsampling_x/y be equal to 0.
+         3. Send the chroma-format when the color space is not RGB.
+         Fixes: #1502
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1974>
+
+2021-01-22 13:25:50 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Fix the subsampling_x/y to chroma format mapping.
+         The chroma format 4:4:4 needs both subsampling_x and subsampling_y
+         equal to 0.
+         Fixes: #1502
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1974>
+
+2021-01-22 21:10:59 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkutils.c:
+         vulkan: remove duplicated check
+         Checking the same value twice is pointless
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1504
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1977>
+
+2021-01-22 19:26:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/ldac/meson.build:
+         ldac: also look for the ldac/ldacBT.h header.
+         Otherwise there will be a scenario where the library can be found but
+         not the header and a compilation build error will result
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1975>
+
+2021-01-22 09:35:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: fix assignation to proper variable
+         Fix the result of a wrong copy&paste
+         Fixes: #1501
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1976>
+
+2021-01-21 04:41:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Add support for P010 d3d11 texture
+         Add P010 Direct3D11 texture format support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1970>
+
+2021-01-20 02:29:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11compositor.c:
+       * sys/d3d11/gstd3d11compositorbin.c:
+       * sys/d3d11/gstd3d11desktopdupsrc.c:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11pluginutils.c:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/plugin.c:
+         d3d11: Don't use hardcoded maximum resolution value
+         Maximum supported texture dimension is pre-defined based on
+         feature level and it couldn't be INT_MAX in any case.
+         See also https://docs.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-devices-downlevel-intro
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1964>
+
+2021-01-16 19:14:06 +0800  He Junyan <junyan.he@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Add the av1 parse element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1614>
+
+2021-01-16 16:48:38 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: Exclude the size of obu_size when identify OBU.
+         obu->obu_size does not contain the bytes of obu_size itself, we need
+         to exclude it when doing the saint check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1614>
+
+2021-01-06 23:33:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * tests/check/elements/av1parse.c:
+       * tests/check/elements/av1parse.h:
+       * tests/check/meson.build:
+         test: Add test cases for av1parse element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1614>
+
+2020-09-22 14:54:19 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+       * gst/videoparsers/gstav1parse.h:
+       * gst/videoparsers/meson.build:
+       * gst/videoparsers/plugin.c:
+         videoparsers: av1: Add the AV1 parse.
+         This AV1 parse implements the conversion between alignment of obu,
+         tu and frame, and the conversion between stream-format of obu-stream
+         and annexb.
+         TODO:
+         1. May need a property of operating_point to filter the OBUs
+         2. May add a property to disable deep parse.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1614>
+
+2021-01-20 00:57:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+         codecs: mpeg2decoder: Fix a typo in header file's comment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1963>
+
+2021-01-18 20:30:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Fix ugly thread name for Win32 window impl.
+         Don't need to put Win32 twice
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1962>
+
+2021-01-18 20:28:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+         d3d11videosink: Fix MSVC build warnings around UWP code
+         gstd3d11window_corewindow.cpp(408): warning C4189:
+         'storage': local variable is initialized but not referenced
+         gstd3d11window_corewindow.cpp(490): warning C4189:
+         'self': local variable is initialized but not referenced
+         gstd3d11window_swapchainpanel.cpp(481): warning C4189:
+         'self': local variable is initialized but not referenced
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1962>
+
+2021-01-18 19:17:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/meson.build:
+         d3d11: Allow building UWP features with Desktop features if possible
+         WINAPI_PARTITION_DESKTOP and WINAPI_PARTITION_APP can coexist.
+         Although UWP only binaries should be used for production stage,
+         this change will be useful for development stage
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1962>
+
+2020-12-28 02:35:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Do more retry for ID3D11VideoContext::DecoderBeginFrame failure
+         Some GPUs (especially NVIDIA) are complaining that GPU is still busy
+         even we did 50 times of retry with 1ms sleep per failure.
+         Because DXVA/D3D11 doesn't provide API for "GPU-IS-READY-TO-DECODE"
+         like signal, there seems to be still no better solution other than sleep.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1913>
+
+2021-01-18 19:23:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Fix build error on UWP
+         gstd3d11videosink.c(662): error C2065: 'sink': undeclared identifier
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1961>
+
+2021-01-17 01:16:17 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvautils.c:
+         va: Fix some gst_object_unref error because the pointer is NULL.
+         !1957 introduces some error of gst_object_unref for NULL pointer.
+         Fixes all of them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1959>
+
+2021-01-15 16:05:06 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvadecoder.c:
+         va: Make the caps pointer operation atomic in vadecoder.
+         The vadecoder's srcpad_caps and sinkpad_caps pointers are outside of the
+         mutex protection. Just make all operation for them atomic.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1957>
+
+2021-01-15 15:22:07 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvautils.c:
+         va: Fix a latent race condition in vabasedec.
+         The vabasedec's display and decoder are created/destroyed between
+         the gst_va_base_dec_open/close pair. All the data and event handling
+         functions are between this pair and so the accessing to these pointers
+         are safe. But the query function can be called anytime. So we need to:
+         1. Make these pointers operation in open/close and query atomic.
+         2. Hold an extra ref during query function to avoid it destroyed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1957>
+
+2021-01-14 14:37:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+         decklinkaudiosrc: Allow disabling audio sample alignment code by setting the alignment-threshold to 0
+         And handle setting it to GST_CLOCK_TIME_NONE as always aligning without
+         ever detecting a discont.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1956>
+
+2020-12-21 05:11:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh264enc.h:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.h:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmftransform.h:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.h:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * sys/mediafoundation/gstmfvp9enc.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mfvideoenc: Add support for Direct3D11 texture
+         Initial support for d3d11 texture so that encoder can copy
+         upstream d3d11 texture into encoder's own texture pool without
+         downloading memory.
+         This implementation requires MFTEnum2() API for creating
+         MFT (Media Foundation Transform) object for specific GPU but
+         the API is Windows 10 desktop only. So UWP is not target
+         of this change.
+         See also https://docs.microsoft.com/en-us/windows/win32/api/mfapi/nf-mfapi-mftenum2
+         Note that, for MF plugin to be able to support old OS versions
+         without breakage, this commit will load MFTEnum2() symbol
+         by using g_module_open()
+         Summary of required system environment:
+         - Needs Windows 10 (probably at least RS 1 update)
+         - GPU should support ExtendedNV12SharedTextureSupported feature
+         - Desktop application only (UWP is not supported yet)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1903>
+
+2021-01-12 19:12:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/webrtctransceiver.c:
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpsender.c:
+         webrtc: expose transport property on sender and receiver
+         As advised by !1366#note_629558 , the nice transport should be
+         accessed through:
+         > transceiver->sender/receiver->transport/rtcp_transport->icetransport
+         All the objects on the path can be accessed through properties
+         except sender/receiver->transport. This patch addresses that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1952>
+
+2020-12-21 02:47:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/d3d11-prelude.h:
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.c:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+       * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+       * gst-libs/gst/d3d11/gstd3d11format.c:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/d3d11/gstd3d11utils.c:
+       * gst-libs/gst/d3d11/gstd3d11utils.h:
+       * gst-libs/gst/d3d11/meson.build:
+       * gst-libs/gst/meson.build:
+       * sys/d3d11/gstd3d11basefilter.c:
+       * sys/d3d11/gstd3d11basefilter.h:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11compositor.c:
+       * sys/d3d11/gstd3d11compositor.h:
+       * sys/d3d11/gstd3d11compositorbin.c:
+       * sys/d3d11/gstd3d11compositorbin.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdup.h:
+       * sys/d3d11/gstd3d11desktopdupsrc.c:
+       * sys/d3d11/gstd3d11desktopdupsrc.h:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11overlaycompositor.c:
+       * sys/d3d11/gstd3d11overlaycompositor.h:
+       * sys/d3d11/gstd3d11pluginutils.c:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_corewindow.h:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.h:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+       * sys/d3d11/gstd3d11window_win32.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Move core methods to gst-libs
+         Move d3d11 device, memory, buffer pool and minimal method
+         to gst-libs so that other plugins can access d3d11 resource.
+         Since Direct3D is primary graphics API on Windows, we need
+         this infrastructure for various plugins can share GPU resource
+         without downloading GPU memory.
+         Note that this implementation is public only for -bad scope
+         for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/464>
+
+2021-01-12 00:13:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Fix deadlock caused by double lock
+         Trivial bug fix for deadlock
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1949>
+
+2021-01-04 19:34:40 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: replace object lock usage with a new lock
+         Using the object lock is problematic for anything that can dispatch to
+         another thread which is what createWPEView() does inside
+         gst_wpe_src_start().  Using the object lock there can cause a deadlock.
+         One example of such a deadlock is when createWPEView is called, but
+         another (or the same) wpesrc is on the WPEContextThread and e.g. posts a
+         bus message.  This message propagations takes and releases the object
+         lock of numerous elements in quick succession for determining various
+         information about the elements in the bin.  If the object lock is
+         already held, then the message propagation will block and stall bin
+         processing (state changes, other messages) and wpe servicing any events.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1490
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1934>
+
+2021-01-10 23:16:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264picture: Count only complete complementary field pair for dpb fullness decision
+         Our DPB implementation was designed as such that allowing
+         temporary DPB overflow in the middle of field picture decoding
+         and incomplete field pair should not trigger DPB bumping.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1947>
+
+2021-01-10 23:11:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Add support for field-pair input frame
+         In case that upstream pushed buffer as a frame unit, not picture
+         unit for interlaced stream, baseclass should be able to detect
+         AU boundary (i.e., complementary field pair).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1947>
+
+2021-01-10 22:01:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Remove unused private variables
+         ... and reset() method to clear internal status at one place
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1947>
+
+2020-12-22 02:29:03 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: try harder not to pick duplicate media ids
+         On renegotiation, or when the user has specified a mid for
+         a transceiver, we need to avoid picking a duplicate mid for
+         a transceiver that doesn't yet have one.
+         Also assign the mid we created to the transceiver, that doesn't
+         fix a specific bug but seems to make sense to me.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1902>
+
+2021-01-07 23:47:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/meson.build:
+       * tests/examples/va/meson.build:
+         meson: va: Skip configuration on non-linux environment
+         VA plugin is linux-only plugin, so we can skip it earlier.
+         Note that this plugin is making use of libdrm meson fallback,
+         which is unusable on the other platforms such as Windows
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1946>
+
+2021-01-07 12:41:16 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: the unit for max-frame-size is kbyte
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1944>
+
+2021-01-07 09:21:47 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Define options added in later revisions
+         Allows compiling the plugin against old headers.
+         For SRTO_BINDTODEVICE there's nothing we can do, since the value depends on
+         configuration options of the library. Nice.
+         Fixes build with libsrt < 1.4.2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1945>
+
+2020-10-16 19:30:59 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: distinguish authentication error messages
+         Use GST_RESOURCE_ERROR_NOT_AUTHORIZED code in posted error messages
+         related to SRT authentication (e.g. incorrect or missing password) so
+         that the application can recognize them more easily.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1943>
+
+2020-10-16 19:27:37 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: detect socket errors from srt_epoll_wait()
+         On an error event, epoll wait puts the failed socket in both readfds and
+         writefds. We can take advantage of this and avoid explicitly checking
+         socket state before every read or write attempt.
+         In addition, srt_getrejectreason() will give us more detailed
+         description of the connection failure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1943>
+
+2020-12-30 13:51:21 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/transportsendbin.c:
+       * ext/webrtc/transportsendbin.h:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+       * ext/webrtc/webrtctransceiver.h:
+         webrtcbin: Remove remnant of non-rtcp-mux mode
+         There was some code left that wasn't used anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1930>
+
+2020-11-24 22:25:15 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: make possible to specify more sockopts in SRT URI
+         Any socket option that can be passed to libsrt's srt-live-transmit
+         through SRT URI query string is now recognized.
+         Also make the code that applies options to SRT sockets more generic.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1842>
+
+2020-08-26 14:33:57 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtsrc.c:
+         srtsrc: fix typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1541>
+
+2020-08-25 13:44:42 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtsink.c:
+         srtsink: remove unused connection_mode variable
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1541>
+
+2020-11-23 16:12:39 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: obey "wait-for-connection" in caller mode
+         The pipeline now gets stuck in gst_srt_object_write_one() until the
+         receiver comes online, which may or may not be desired based on the use
+         case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1836>
+
+2021-01-05 14:18:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvampeg2dec.c:
+         va: mpeg2dec: refactor the picture reference filling
+         Add the helper function _get_surface_id() which extracts the
+         VASurfaceID from the passed picture. This function gets the surface of
+         the next and previous reference picture.
+         Instead of if-statements, this refactor uses a switch-statement with a
+         fall-through, for P-type pictures, making the code a bit more readable.
+         Also it adds quirks for gallium driver, which cannot handle invalid
+         surfaces as forwarding nor backwarding references, so the function fails.
+         Also iHD cannot handle them, but to avoid failing, the current picture
+         is used as self-reference.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1939>
+
+2021-01-05 14:16:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvampeg2dec.c:
+         va: mpeg2dec: set first field either frame or has a first field
+         Add a helper function _is_frame_start() which check if picture has a
+         frame structure or if it has not an interlaced first field yet. This
+         function is used with filling is_first_field parameter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1939>
+
+2021-01-06 16:38:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: decode only if B and not closed gop
+         Mark as decode only if picture type is B, without previous picture in DBP and
+         closed_gop is 0 as might be understood in "6.3.8 Group of pictures header".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1939>
+
+2021-01-06 12:48:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: rename variables
+         Since prev_picture and next_picture are plain pointers, not pointer to pointers,
+         it's misleading to name them with _ptr suffix.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1939>
+
+2021-01-04 21:02:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadisplay.c:
+       * sys/va/gstvadisplay.h:
+         va: display: parse and set driver implementation
+         This enum can be used for quirk handling. It's not a property because
+         the driver enum list might change, it's not static, thus avoiding the
+         update of GType declaration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1938>
+
+2021-01-04 20:56:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadisplay.c:
+       * sys/va/gstvadisplay.h:
+         va: display: add function precondition check
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1938>
+
+2020-08-25 19:12:13 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: post a message on the bus when broken socket is detected
+         So that the application gets notified may react to it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1935>
+
+2020-12-30 23:29:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvampeg2dec.c:
+         va: mpeg2dec: Using the current picture's surface when missing reference.
+         When missing the reference frames, we should not just discard the current
+         frame. Some streams have group of picture header. It is an optional header
+         that can be used immediately before a coded I-frame to indicate to the decoder
+         if the first consecutive B-pictures immediately following the coded I-frame can
+         be reconstructed properly in the case of a random access.
+         In that case, the B frames may miss the previous reference and can still be
+         correctly decoded. We also notice that the second field of the I frame may
+         be set to P type, and it only ref its first field.
+         We should not skip all those frames, and even the frame really misses the
+         reference frame, some manner such as inserting grey picture should be used
+         to handle these cases.
+         The driver crashes when it needs to access the reference picture while we set
+         forward_reference_picture or backward_reference_picture to VA_INVALID_ID. We
+         now set it to current picture to avoid this. This is just a temp manner.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1929>
+
+2020-12-30 23:14:01 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: Creating the field based on its arriving time.
+         Spec says:
+         In a frame picture top_field_first being set to ‘1’ indicates that the
+         top field of the reconstructed frame is the first field output by the
+         decoding process. top_field_first being set to ‘0’ indicates that the
+         bottom field of the reconstructed frame is the first field output by
+         decoding process.
+         Here, the "output" should be interpreted just as the output order, not
+         including the decoding order. The field should be decoded as the order
+         they comes in the stream. Namely, no matter top_field_first is 0 or 1,
+         the first coming field is the first one to be decoded.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1929>
+
+2021-01-01 16:00:10 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvampeg2dec.c:
+         va: mpeg2dec: Apply buffer_flags to the output buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1929>
+
+2021-01-01 15:56:03 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2picture.h:
+         codecs: Add buffer_flags for mpeg2 picture.
+         We need to store the buffer flags such as GST_VIDEO_BUFFER_FLAG_INTERLACED
+         and GST_VIDEO_BUFFER_FLAG_TFF for interlaced video. Without these flags,
+         the VPP and display elements can not apply filter correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1929>
+
+2020-12-30 23:00:51 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: Reset the quant matrices for each sequence in mpeg2 decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1929>
+
+2020-10-27 11:52:09 +0530  Raghavendra <raghavendra.rao@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsink.h:
+       * ext/srt/gstsrtsrc.c:
+       * ext/srt/gstsrtsrc.h:
+         srt: Add authentication to srtsink and srtsrc elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1725>
+
+2020-12-30 22:52:01 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/dash/gstdashsink.c:
+       * ext/dash/gstmpdrootnode.c:
+         dashsink: fix critical log when exit dynamic pipeline
+         availability-start-time and publish-time shared the same
+         GstDateTime object, this object will be unref twice and
+         cause reference count issue. Should use g_value_dup_boxed()
+         to copy this object.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1928>
+
+2020-12-23 16:11:42 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkenc{h264,h265}: add min-qp and max-qp properties
+         The SDK allows user to set a QP range [1], so add min-qp and max-qp to
+         sepecify QP range. By default, there is no limitations on QP.
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1908>
+
+2020-12-23 13:36:02 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkenc{h264,h265}: add p-pyramid property
+         The SDK can support P-Pyramid reference structure [1], so add a new
+         property to enable this feature in msdkenc{h264,h265}.
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1908>
+
+2020-12-22 16:17:18 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: add b-pyramid property
+         Like as msdkh264enc, b-pyramid is added to enable B-Pyramid reference
+         structure for H265 encoding
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1908>
+
+2020-12-22 14:54:59 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+       * sys/msdk/msdk-enums.c:
+       * sys/msdk/msdk-enums.h:
+         msdkh265enc: add transform-skip property
+         Since the SDK API 1.26, TransformSkip was added to control
+         transform_skip_enabled_flag setting in PPS [1]
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption3
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1908>
+
+2020-12-29 09:41:05 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: needn't close mfx session when failed
+         Otherwise we will get double free issue because mfx session is closed in
+         finalize. See
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1867#note_739346
+         for the double free issue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1916>
+
+2020-12-29 13:29:05 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: PLI/FIR/NACK direction are the opposite of the media
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1924>
+
+2020-12-29 13:15:10 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: Don't try unlocking unlocked mutex
+         When flushing right at the beginning of the video chain function or
+         when failing negotiation at the top of the function, the assrender mutex
+         would be unlocked without being previously locked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1918>
+
+2020-12-27 22:16:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.c:
+         d3d11compositor: Add support for resolution change
+         Not only for position update (e.g., xpos, ypos),
+         we need to configure shader again per resolution change of each
+         input stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1912>
+
+2020-12-28 04:33:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11shader.c:
+         d3d11shader: Fix ID3DBlob object leak
+         Even if HLSL compiler was able to compile our shader code, D3DCompile()
+         might return ID3DBlob object for compile warnings and the object
+         should be released.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1914>
+
+2020-12-28 17:13:22 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: Fix a typo in mpeg2 stateless decoder base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1915>
+
+2020-12-24 20:07:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvampeg2dec.c:
+         va: mpeg2dec: cosmetic changes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1798>
+
+2020-12-27 15:47:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+       * gst-libs/gst/codecs/gstmpeg2picture.c:
+       * gst-libs/gst/codecs/gstmpeg2picture.h:
+         codecs: mpeg2decoder: fix documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1798>
+
+2020-12-24 16:20:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: simplify macros
+         For constructors, instead of casting to pointers, cast to the structures.
+         For compare, use inlined functions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1798>
+
+2020-12-18 22:28:41 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvampeg2dec.h:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         va: Add mpeg2 VA decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1798>
+
+2020-12-18 21:25:08 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+       * gst-libs/gst/codecs/gstmpeg2picture.c:
+       * gst-libs/gst/codecs/gstmpeg2picture.h:
+       * gst-libs/gst/codecs/meson.build:
+         codecs: Add mpeg2 stateless decoder base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1798>
+
+2020-12-27 03:16:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.h:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+         mfvideoenc: Re-define default GOP size value
+         The behavior for zero AVEncMPVGOPSize value would be
+         varying depending on GPU vendor implementation and some
+         GPU will produce keyframe only once at the beginning of encoding.
+         That's unlikely expected result for users.
+         To make this property behave consistently among various GPUs,
+         this commit will change default value of "gop-size" property to -1
+         which means "auto". When "gop-size" is unspecified, then
+         mfvideoenc will calculate GOP size based on framerate
+         like that of our x264enc implementation.
+         See also
+         https://docs.microsoft.com/en-us/windows/win32/directshow/avencmpvgopsize-property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1911>
+
+2020-12-27 03:43:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Fix use of uninitialized value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1911>
+
+2020-12-24 21:31:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11utils.c:
+         d3d11device: Add property for getting adapter LUID
+         LUID (Locally Unique Identifier) can used for identifying GPU
+         and that's required for some Windows APIs (e.g., MFTEnum2()) to setup device.
+         See also
+         https://docs.microsoft.com/en-us/windows/win32/api/mfapi/nf-mfapi-mftenum2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1910>
+
+2020-12-26 20:39:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.h:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * sys/mediafoundation/plugin.c:
+         mfvideoenc: Remove duplicated class registration code
+         Each codec subclass has the same code for class/element registration,
+         so we can move the code into one helper methodm and that will make
+         future enhancement simple.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1909>
+
+2020-12-10 11:11:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/msdk.c:
+         msdk: check GstMsdkContext instead of mfxSession instance
+         When creating a GstMsdkContext instance, it also creates a mfxSession
+         instance, so we may check GstMsdkContext instead of mfxSession instance
+         to make sure MSDK is available. In addition, according to MSDK doc [1],
+         MFXVideoCORE_SetHandle function should be executed before any actual
+         usage of library including queries, otherwise the behavior is
+         unexpected, so we should call MFXVideoCORE_QueryPlatform after
+         MFXVideoCORE_SetHandle on Linux
+         [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#working-with-va-api-applications
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1867>
+
+2020-12-23 21:21:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/plugin.c:
+         d3d11: Remove unnecessary helper methods
+         We can query selected D3D_FEATURE_LEVEL and factory version
+         by using native D3D11 API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1906>
+
+2020-11-21 03:20:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdup.h:
+       * sys/d3d11/gstd3d11desktopdupsrc.c:
+       * sys/d3d11/gstd3d11desktopdupsrc.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Re-implement Desktop Duplication source
+         Add a new video source element "d3d11desktopdupsrc" for capturing desktop image
+         via Desktop Duplication based on Microsoft's Desktop Duplication sample available at
+         https://github.com/microsoft/Windows-classic-samples/tree/master/Samples/DXGIDesktopDuplication
+         This element is expected to be a replacement of existing dxgiscreencapsrc
+         element in winscreencap plugin.
+         Currently this element can support (but dxgiscreencapsrc cannot)
+         - Copying captured D3D11 texture to output buffer without download
+         - Support desktop session transition
+         e.g., can capture desktop without error even in case that
+         "Lock desktop" and "Permission dialog"
+         - Multiple d3d11desktopdupsrc elements can capture the same monitor
+         Not yet implemented features
+         - Cropping rect is not implemented, but that can be handled by downstream
+         - Mult-monitor is not supported. But that is also can be implemented by
+         downstream element for example via multiple d3d11desktopdup elements
+         with d3d11compositor
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1855>
+
+2020-12-22 00:47:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/plugin.c:
+         d3d11device: Add an optional flags argument for creating device
+         Extend gst_d3d11_device_new() method so that caller can specify
+         D3D11_CREATE_DEVICE_FLAG value to use.
+         See https://docs.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_create_device_flag
+         for more detail about D3D11_CREATE_DEVICE_FLAG
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1901>
+
+2020-12-21 14:06:53 +0530  Raju Babannavar <raju.babannavar@gmail.com>
+
+       * gst/dvbsuboverlay/dvb-sub.c:
+         dvbsuboverlay: Add support for dynamic resolution update.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1487
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1897>
+
+2020-12-21 02:56:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11device.h:
+         d3d11device: Remove dead code
+         We don't use this method since the commit of
+         0788492461e1b559230cc5c3a354fe5f48f95f8b
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1892>
+
+2020-12-20 02:39:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11compositor.c:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11: Privatize d3d11memory implementation
+         Hide most of symbols of GstD3D11Memory object.
+         GstD3D11Memory is one of primary resource for imcoming d3d11 library
+         and it's expected to be a extensible feature.
+         Hiding implementation detail would be helpful for later use case.
+         Summary of this commit:
+         * Now all native Direct3D11 resources are private of GstD3D11Memory.
+         To access native resources, getter methods need to be used
+         or generic map (e.g., gst_memory_map) API should be called
+         apart from some exceptional case such as d3d11decoder case.
+         * Various helper methods are added for GstBuffer related operations
+         and in order to remove duplicated code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1892>
+
+2020-12-20 01:06:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.c:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11: Add a helper method for d3d11buffferpool setup
+         Remove duplicated code for d3d11buffferpool setup.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1892>
+
+2020-12-19 00:40:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11overlaycompositor.c:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11device: Remove optional helper methods
+         Most of Direct3D11 APIs can be called without GstD3D11Device
+         abstraction. This is a part of prework for public GstD3D11 library
+         to introduce minimal APIs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1892>
+
+2020-12-20 22:12:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Prepare window once streaming started
+         ... instead of READY state. READY state is too early for setting
+         overlay window handle especially playbin/playsink scenario
+         since playsink will set given overlay handle on videosink once
+         READY state change of videosink is ensured.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1893>
+
+2020-08-19 03:19:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmftransform.h:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.h:
+         mfvideoenc: Improve latency performance for hardware encoder
+         Unlike software MFT (Media Foundation Transform) which is synchronous
+         in terms of processing input and output data, hardware MFT works
+         in asynchronous mode. output data might not be available right after
+         we pushed one input data into MFT.
+         Note that async MFT will fire two events, one is "METransformNeedInput"
+         which happens when MFT can accept more input data,
+         and the other is "METransformHaveOutput", that's for signaling
+         there's pending data which can be outputted immediately.
+         To listen the events, we can wait synchronously via
+         IMFMediaEventGenerator::GetEvent() or make use of IMFAsyncCallback
+         object which is asynchronous way and the event will be notified
+         from Media Foundation's internal worker queue thread.
+         To handle such asynchronous operation, previous working flow was
+         as follows (IMFMediaEventGenerator::GetEvent() was used for now)
+         - Check if there is pending output data and push the data toward downstream.
+         - Pulling events (from streaming thread) until there's at least
+         one pending "METransformNeedInput" event
+         - Then, push one data into MFT from streaming thread
+         - Check if there is pending "METransformHaveOutput" again.
+         If there is, push new output data to downstream
+         (unlikely there is pending output data at this moment)
+         Above flow was processed from upstream streaming thread. That means
+         even if there's available output data, it could be outputted later
+         when the next buffer is pushed from upstream streaming thread.
+         It would introduce at least one frame latency in case of live stream.
+         To reduce such latency, this commit modifies the flow to be fully
+         asynchronous like hardware MFT was designed and to be able to
+         output encoded data whenever it's available. More specifically,
+         IMFAsyncCallback object will be used for handling
+         "METransformNeedInput" and "METransformHaveOutput" events from
+         Media Foundation's internal thread, and new output data will be
+         also outputted from the Media Foundation's thread.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1520>
+
+2020-12-16 18:32:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+         decklinkaudiosrc: Fix duration of the first audio frame after each discont
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1886>
+
+2020-12-16 00:28:08 +0530  Biswapriyo Nath <nathbappai@gmail.com>
+
+       * sys/mediafoundation/gstmfdevice.h:
+         mediafoundation: Fix redefinition of variables.
+         Remove duplicate GstMFDevice and GstMFDeviceProvider declaration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1884>
+
+2020-12-17 04:41:18 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+         audiobuffersplit: Calculate the correct size for fixed size buffers
+         Fix the output-buffer-size property to do what it says by calculating
+         the correct audio buffer size for that target size, rounded down to
+         the nearest whole number of samples.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1887>
+
+2020-12-10 12:35:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink: Implement GstBaseSrc::get_caps() to return more constrained caps
+         Instead of the template caps we can return a subset of them based on the
+         selected properties.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1868>
+
+2020-10-30 02:21:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2: Ensure unmute when opening audio client
+         ISimpleAudioVolume::SetMute() status seems to be preserved even
+         after process is terminated. In order to start audio client with
+         unmuted state, always disable mute when opening audio client.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1731>
+
+2020-12-14 16:12:22 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         tsparse: Don't use non-object for debugging statement
+         Use the pad instead
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
+
+2020-12-14 10:56:39 +0100  Edward Hervey <edward@centricular.com>
+
+       * tests/examples/mpegts/ts-parser.c:
+         examples/ts-parser: Use the section type for descriptor identification
+         Some descriptors can only be present in some section
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
+
+2020-12-14 10:56:02 +0100  Edward Hervey <edward@centricular.com>
+
+       * tests/examples/mpegts/ts-parser.c:
+         examples/ts-parser: Try more descriptor/stream types
+         These were added recently
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
+
+2020-12-09 09:14:12 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegts: Don't add non-padded streams to collection on updates
+         When carrying over existing GstStream to a new GstStreamCollection we need to
+         check whether they *actually* were being used in the previous collection.
+         This avoids adding unknown streams (metadata, PSI, etc...) to the collection on
+         updates.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
+
+2020-11-22 18:48:08 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+       * gst-libs/gst/mpegts/gst-dvb-section.c:
+       * gst-libs/gst/mpegts/gst-dvb-section.h:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.h:
+       * tests/examples/mpegts/ts-parser.c:
+         mpegts: Add support for SIT sections
+         Selection Information Tables (EN 300 468)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1852>
+
+2020-12-14 10:50:02 +0100  Edward Hervey <edward@centricular.com>
+
+       * docs/libs/mpegts/index.md:
+       * gst-libs/gst/mpegts/gst-atsc-descriptor.h:
+       * gst-libs/gst/mpegts/gst-atsc-section.c:
+       * gst-libs/gst/mpegts/gst-atsc-section.h:
+       * gst-libs/gst/mpegts/gst-dvb-section.c:
+       * gst-libs/gst/mpegts/gst-dvb-section.h:
+       * gst-libs/gst/mpegts/gst-hdmv-section.h:
+       * gst-libs/gst/mpegts/gst-isdb-descriptor.h:
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+       * gst-libs/gst/mpegts/gstmpegts-private.h:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.h:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst-libs/gst/mpegts/mpegts.c:
+       * gst-libs/gst/mpegts/mpegts.h:
+         mpegts: Update documentation
+         * Split up into appropriate individual header files
+         * Document more sections and structures
+         * Add well-known list of registration id
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1879>
+
+2020-12-10 16:29:31 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         player/transcoder: Use bus signal watch
+         Instead of implementing exactly the same thing ourself but making
+         `GstBus` not know that it is the case.
+         Since we are *sure* that the bus can't have been access at the point
+         where we add the watch we are guaranteed that the current thread
+         maincontext is going to be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1870>
+
+2020-12-10 15:37:14 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
+
+       * gst/inter/gstintervideosrc.c:
+         intervideosrc: fix negotiation of interlaced caps
+         In 1.0 the field in caps is called "interlace-mode", not "interlaced".
+         Fixes #1480
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1869>
+
+2020-12-11 21:45:25 -0500  Arun Raghavan <arun@asymptotic.io>
+
+       * ext/openaptx/meson.build:
+       * meson_options.txt:
+         openaptx: Drop lib prefix from option name for consistency
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1876>
+
+2020-12-11 08:45:06 +0000  Igor Kovalenko <igor.v.kovalenko@gmail.com>
+
+       * ext/meson.build:
+       * ext/openaptx/gstopenaptxdec.c:
+       * ext/openaptx/gstopenaptxdec.h:
+       * ext/openaptx/gstopenaptxenc.c:
+       * ext/openaptx/gstopenaptxenc.h:
+       * ext/openaptx/meson.build:
+       * ext/openaptx/openaptx-plugin.c:
+       * ext/openaptx/openaptx-plugin.h:
+       * meson_options.txt:
+         openaptx: add aptX and aptX-HD codecs using libopenaptx
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1871>
+
+2020-10-19 14:56:43 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Emit load-progress messages
+         The estimated-load-progress value can be used on application side to display a
+         progress bar for instance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1710>
+
+2020-12-08 16:46:42 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: Don't send the capsheader if src pad has no caps
+         That means we're shutting down, so there's no point in the streamheader
+         being sent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1864>
+
+2020-12-04 17:02:00 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+       * gst/rtmp2/rtmp/rtmpconnection.h:
+         rtmp2/connection: pass the parent cancellable down to the connection
+         Otherwise, when rtpm2src cancels an inflight operation that has a queued
+         message stored, then the rtmp connection operation is not stopped.
+         If the cancellation occurs during rtmp connection start up, then
+         rtpm2src does not have any way of accessing the connection object as it
+         has not been returned yet.  As a result, rtpm2src will cancel, the
+         connection will still be processing things and the
+         GMainContext/GMainLoop associated with the outstanding operation will be
+         destroyed.  All outstanding operations and the rtmpconnection object will
+         therefore be leaked in this case.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1425
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1862>
+
+2020-12-07 14:54:28 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Don't take object lock calling gst_srt_object_get_stats
+         This function takes the sock lock. This can result in a deadlock when
+         another thread holding the sock lock is trying to take the object lock.
+         Thread A (Holds object lock, wants sock lock):
+         #2  gst_srt_object_get_stats at gst-plugins-bad/ext/srt/gstsrtobject.c:1753
+         #3  gst_srt_object_get_property_helper at gst-plugins-bad/ext/srt/gstsrtobject.c:409
+         #4  gst_srt_sink_get_property at gst-plugins-bad/ext/srt/gstsrtsink.c:95
+         #5  g_object_get_property from libgobject-2.0.so.0
+         Thread B (Holds sock lock, wants object lock):
+         #2  gst_element_post_message_default at gstreamer/gst/gstelement.c:2069
+         #3  gst_element_post_message at gstreamer/gst/gstelement.c:2123
+         #4  gst_element_message_full_with_details at gstreamer/gst/gstelement.c:2259
+         #5  gst_element_message_full at gstreamer/gst/gstelement.c:2298
+         #6  gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1407
+         #7  gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
+         #8  gst_srt_object_write_to_callers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
+         #9  gst_srt_object_write at gst-plugins-bad/ext/srt/gstsrtobject.c:1598
+         #10 gst_srt_sink_render at gst-plugins-bad/ext/srt/gstsrtsink.c:179
+         Fixes d2d00e07acc2b1ab1ae5a728ef5dc33c9dee7869.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1861>
+
+2020-11-25 16:24:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+         ccconverter: Add property to specify which sections to include in CDP packets
+         Various software, including ffmpeg's Decklink support, fails parsing CDP
+         packets that contain anything but CC data in the CDP packets.
+         Based on this property, timecodes are not written into the CDP packets
+         even if they're present.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1833>
+
+2020-11-25 14:54:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: Refactor code to only retrieve the timecode meta once
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1833>
+
+2020-12-06 18:03:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.h:
+         va: decode: fix display type
+         Instead of a pointer to GstVaDisplay it was used a VADisplay type, which in
+         certain platforms is the same, and the compiler didn't complain.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1860>
+
+2020-07-03 12:25:31 +0200  Marc Leeman <m.leeman@televic.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/rtp/gstrtpsrc.c:
+       * gst/rtp/gstrtpsrc.h:
+         rtpmanagerbad: allow setting caps on rtpsrc
+         rtpsrc tries to do a lookup of the caps based on the encoding-name. For
+         not so standard encodings, the caps can be set, avoiding the lookup.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1406>
+
+2020-11-22 04:39:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/meson.build:
+         d3d11videosink: Add a property to support rendering statistics data on window
+         Add a new property "render-stats" to allow rendering statistics
+         data on window for debugging and/or development purpose.
+         Text rendering will be accelerated by GPU since this implementation
+         uses Direct2D/DirectWrite API and Direct3D inter-op for minimal overhead.
+         Specifically, text data will be rendered on swapchain backbuffer
+         directly without any copy/allocation of extra texture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1830>
+
+2020-12-04 03:40:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11: Protect ID3D11VideoContext with lock
+         Likewise d3d11 immediate context (i.e., ID3D11DeviceContext),
+         ID3D11VideoContext API is not thread safe. It must be protected therefore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1856>
+
+2020-12-03 17:13:15 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+         docs: don't exit the subdir when optional deps aren't found
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1854>
+
+2020-12-02 11:29:08 +0100  Edward Hervey <edward@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/opencv/gstretinex.cpp:
+       * ext/opencv/gstretinex.h:
+         opencv: Expose retinex parameters
+         Makes the plugin a tad more useful :)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1845>
+
+2020-10-12 14:12:07 +0300  Marius Vlad <marius.vlad@collabora.com>
+
+       * gst-libs/gst/wayland/meson.build:
+         gst-libs/gst/wayland: Install "unstable" wayland header
+         Context creation and retrieval is required, the symbols are exported
+         with the header missing. Users most likely define GST_USE_UNSTABLE_API
+         so they're aware of the implications of using a header that might change
+         between releases.
+         Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1688>
+
+2020-12-03 14:12:06 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/hls/gsthlsdemux.c:
+         hlsdemux: Use actual object for logging
+         i.e. the pad of the stream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1853>
+
+2020-12-03 06:55:00 -0500  Arun Raghavan <arun@asymptotic.io>
+
+       * ext/curl/gstcurlbasesink.c:
+       * ext/curl/gstcurlfilesink.c:
+       * ext/curl/gstcurlftpsink.c:
+       * ext/curl/gstcurlhttpsink.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/curl/gstcurlsmtpsink.c:
+       * ext/curl/gstcurlsshsink.c:
+       * ext/curl/gstcurltlssink.c:
+         curl: Remove incorrect GST_DEBUG_OBJECT() calls
+         klass is not a GstObject, and these debugs print should likely not be
+         around anyway.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1851>
+
+2020-11-25 17:59:54 +0100  Edward Hervey <edward@centricular.com>
+
+       * sys/nvcodec/gstcudanvrtc.c:
+         cuda: Fix lowest targetted architecture for CUDA >= 11.0
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1469
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1835>
+
+2020-11-05 13:48:27 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/mpegtsparse.c:
+         tsparse: Forward incoming timestamps
+         Ensure we properly forward the upstream PTS/DTS on the regular and program
+         source pads. All packets being processed will carry over the latest PTS/DTS (as
+         a reconstructed GstBuffer).
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1419
+         And properly forward PTS/DTS for program pads (which wasn't the case before)
+         Original patch by Vivia Nikolaidou <vivia@ahiru.eu>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1769>
+
+2020-12-02 09:39:45 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Don't log with non-GObject objects
+         Instead of using the streams, log with the pad of the streams.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1457
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1844>
+
+2020-11-20 11:29:46 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+       * tools/gst-transcoder.c:
+         transcodebin: Minor error message enhancement
+
+2020-11-19 22:56:46 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: Unlock while setting decodebin caps
+         Otherwise it will deadlock recursing up to notify parent object property changes
+
+2020-11-19 18:31:34 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: Avoid plugin converter if filter handles ANY caps
+         For example identity or clocksync or this kind of elements can be
+         used with any data flow and we should not enforce decoding to row in
+         that case.
+
+2020-11-19 18:39:33 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: Add filter as soon as it is set
+         Instead of waiting so that we can simply use a clocksync element as
+         filter, otherwise we won't know the pipeline is live as it won't
+         return NO_PREROLL as one would expect in that case.
+         Adding it right away shouldn't create any issue, both ways are fine.
+
+2020-11-19 18:29:15 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/transcode/gsturitranscodebin.c:
+         uritranscodebin: Add `setup-source` and `element-setup` signals
+         The same way as playbinX does it as it is often quite useful
+
+2020-11-19 17:55:10 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsturitranscodebin.c:
+         transcode: Port to encodebin2
+         This allows supporting muxing sinks like hlssink2 or splitmux
+
+2020-11-19 17:55:10 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Handle the case where several errors are posted
+         There were cases where the loop was already destroyed when we were
+         receiving the following message.
+
+2020-11-19 17:54:28 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Minor refactoring to output better debug logs
+
+2020-11-19 17:51:56 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/hls/gsthlssink2.c:
+         hlssink2: Mark as Muxer
+         The way it is usable by encodebin2. This is what splitmux does already.
+
+2020-11-30 17:12:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+         va: decoder: Picture dups only holds GstBuffer
+         Also removes the warning log message at destroying buffers when picture free()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1841>
+
+2020-11-30 15:01:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Remove gst_va_decoder_destroy_buffers()
+         Since GstVaDecodePicture is destroyed completely with its free() function and
+         it's used as destroy notify by codecs picture, there's no need to call
+         gst_va_decoder_destroy_buffers() externally, since the codecs base classes
+         destroy the codec picture when it's required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1841>
+
+2020-11-26 14:04:31 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Destroy picture unreleased buffers when finalize.
+         The current way of GstVaDecodePicture's finalize will leak some
+         resource such as parameter buffers and slice data.
+         The current way deliberately leaves these resource releasing logic
+         to va decoder related function and trigger a warning if we free the
+         GstVaDecodePicture without releasing these resources.
+         But in practice, sometimes, you do not have the chance to release
+         these resource before picture is freed. For example, H264/Mpeg2
+         support multi slice NALs/Packets for one frame. It is possible that
+         we already succeed to parse and generate the first several slices
+         data by _decode_slice(), but then we get a wrong slice NAL/packet
+         and fail to parse it. We decide to discard the whole frame in the
+         decoder's base class, it just free the current picture and does not
+         trigger sub class's function again. In this kind of cases, we do
+         not have the chance to cleanup the resource, and the resource will
+         be leaked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1841>
+
+2020-11-21 19:00:02 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstbaseqroverlay.c:
+       * ext/qroverlay/gstbaseqroverlay.h:
+       * ext/qroverlay/gstdebugqroverlay.c:
+       * ext/qroverlay/gstqroverlay.c:
+         qroverlay: Reuse the same OverlayComposition object when possible
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1829>
+
+2020-11-20 11:28:25 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstbaseqroverlay.c:
+       * ext/qroverlay/gstbaseqroverlay.h:
+       * ext/qroverlay/gstdebugqroverlay.c:
+       * ext/qroverlay/gstqroverlay.c:
+         qroverlay: Rework basing it on overlaycomposition
+         The base class is now a bin which wraps the `overlaycomposition`
+         element and implements the `draw` signal.
+         This way we support all the video formats the GstVideoOverlayComposition
+         API supports and the blending code can be reused. It is also possible
+         to have the blending happen in the sinks now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1829>
+
+2020-11-26 05:55:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Reconfigure decoder object on DPB size change
+         Even if resolution and/or bitdepth is not updated, required
+         DPB size can be changed per SPS update and it could be even
+         larger than previously configured size of DPB. If so, we need
+         to reconfigure DPB d3d11 texture pool again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1839>
+
+2020-11-25 17:52:42 +0100  Marijn Suijten <marijns95@gmail.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+       * gst/inter/gstinteraudiosrc.c:
+         audio: Use new AudioFormatInfo::fill_silence function
+         The function is renamed to be properly associated with AudioFormatInfo
+         (its instance) instead of AudioFormat (an unrelated enum), see [1] for
+         the rename itself.
+         [1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/940
+
+2020-11-05 17:14:22 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         player: Fix get_current_subtitle_track annotation
+         As the info returned is a new object, the annotation should be transfer-full,
+         similarly to the get_current_{audio,video}_track() implementations.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1775>
+
+2020-11-23 20:44:27 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: add a memory pool object helper
+         Since both allocators use a memory pool, with its mutex and cond, this patch
+         refactors it into a single internal object, implementing a generic GstMemory
+         pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1815>
+
+2020-11-17 14:53:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvapool.c:
+         va: pool, allocator: honor GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT
+         In order to honor GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT in VA pool, allocators'
+         wait_for_memory() has to be decoupled from their prepare_buffer() so it could be
+         called in pools' acquire_buffer() if the flag is not set.
+         wait_for_memory() functions are blocking so the received memories are assigned
+         to the fist requested buffer, if multithreaded calls. For this a new mutex were
+         added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1815>
+
+2020-11-17 13:18:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvapool.c:
+         va: allocator: broadcast when flushing
+         This patch handles when the bufferpool request a new buffer while
+         flushing.
+         Also fixes the usage of g_cond_wait(), which demands to be used
+         inside a loop to avoid spurious wakeups.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1815>
+
+2020-11-17 13:17:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: free allocator when a mem is held
+         An application, using for example appsink, can hold buffers from any
+         va allocator after setting the pipeline to NULL. We need to destroy
+         the allocator when that memory is unrefed.
+         This patch juggles a bit with the allocator reference count in
+         memories in order to achieve this:
+         1. When memory is created no alloc ref is modified
+         2. When memory is released, alloc ref is decreased
+         3. When memory is reassiged to a buffer, alloc ref is increased
+         4. When memory is flushed, alloc ref is increased becase it is going
+         to be decreased in gst_memory_unref()
+         Also this patch moves the deallocation of member variables to
+         finalize() rather than dispose()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1815>
+
+2020-11-23 17:01:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: dmabuf: initialize cond
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1815>
+
+2020-11-20 17:32:44 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcstats.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+         webrtc: Make ssrc map into separate data structures
+         They now contain a weak reference and that could be freed later
+         causing strange crashes as GWeakRef are not movable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-15 21:23:08 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Get the remote-inbound stats from the right RTPSource
+         This also means that we need to get the clock-rate from the codec instead
+         of from the RTPSource, as the remote one doesn't include a clock rate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-15 19:36:45 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/gstwebrtcstats.c:
+       * ext/webrtc/gstwebrtcstats.h:
+         webrtcbin: Implement getting stats for a specific pad
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-10 18:21:19 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Also return the raw rtpsource stats for more information
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-09 20:59:58 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Avoid copy of GstStructure
+         Instead transfer the ownership to the new structure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-09 20:45:10 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Remove receiver side when sending
+         Those are just invalid and just reflect what we sent. We'd need to parse the
+         RTCP XR packets from the other side to know more about those.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-09 20:27:40 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Extract statistics from the rtpjitterbuffer
+         And expose them as standardised webrtc statistics
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-09 18:45:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+         webrtcbin: Store the rtpjitterbuffer instances to extract stats from them
+         Store them as web refs to avoid having to worry about freeing later and because
+         the new-jitterbuffer is on a different thread
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-09 19:59:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Document all RTP missing fields according to the latest spec
+         Just document all the missing fields and document which ones will never
+         be implemented because they depend on the codec or depayloader
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-09 19:38:15 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: RTCP computed RTT is only available at sender
+         The receiver doesn't have the information to compute it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-10-08 17:11:30 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Remove redundant lines
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766>
+
+2020-11-04 17:06:02 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+         webrtc: Also remove rtcp_transport from the structure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1765>
+
+2020-11-02 19:55:46 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+         webrtc: Remove APIs to set transport on sender/receiver
+         They're not not used ever.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1765>
+
+2020-11-02 19:49:55 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/nicetransport.c:
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportsendbin.c:
+       * ext/webrtc/transportsendbin.h:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * gst-libs/gst/webrtc/dtlstransport.c:
+       * gst-libs/gst/webrtc/dtlstransport.h:
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+         webrtc: Remove non rtcp-mux code
+         RTCP mux is now always required by the WebRTC spec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1765>
+
+2020-11-20 15:01:03 +0000  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Assume 25fps if framerate is invalid when calculating latency
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1826>
+
+2020-11-20 22:26:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: fix memory leak
+         gst_h264_dbp_get_picture_all() returns a full transfer of the GArray, which
+         needs be unrefed. But it is not unrefed in
+         gst_h264_decoder_find_first_field_picture() leaking it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1827>
+
+2020-11-20 16:07:36 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
+         mpegts: Documentation fixes
+         gtk-doc was complaining :)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1825>
+
+2020-11-20 13:24:24 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/qroverlay/gstdebugqroverlay.c:
+       * ext/qroverlay/gstdebugqroverlay.h:
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+         qroverlay: unset executable flag on source files
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1824>
+
+2020-11-20 13:22:48 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/qroverlay/meson.build:
+         qroverlay: fix auto detection of json-glib for plugin
+         Only want to check for json-glib when libqrencode was found,
+         but also it shouldn't be required but depend on the option.
+         Fixes #1465
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1824>
+
+2020-11-19 21:15:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11memory.c:
+       * tests/check/elements/d3d11colorconvert.c:
+         d3d11: Add support for packed 4:2:2 and 4:4:4 10bits formats
+         Add support for Y210 and Y410 formats which are commonly used format
+         for en/decoders on Windows. Note that those formats cannot be used for
+         render target (output) of shader.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1821>
+
+2020-10-02 18:47:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/openh264/gstopenh264dec.cpp:
+         openh264dec: Accept constrained-high and progressive-high profiles
+         They're just subsets of the high profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634>
+
+2020-10-02 18:47:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Accept constrained-high and progressive-high profiles
+         They're just subsets of the high profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634>
+
+2020-10-02 18:46:56 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * sys/msdk/gstmsdkh264dec.c:
+         msdkh264dec: Accept constrained-high and progressive-high profiles
+         They're just subsets of the high profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634>
+
+2020-09-22 15:42:37 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvh264dec.c:
+         nvdec: Accept progressive-high and contrained-high profiles
+         They're subsets of the high profiles with no interlacing and
+         no B-frames for constrained
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634>
+
+2020-09-28 13:33:00 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: add the set_operating_point() API.
+         The av1 can support multi layers when scalability is enabled. We
+         need an API to set the operating point and filter the OBUs just
+         belonging to some layers(the layers are specified by the operating
+         point).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-10-09 16:13:28 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: Add an API to reset the annex_b state only.
+         In practice, we encounter streams that have one or more temporal units
+         error. When that kind of error temporal units is in annex b format, the
+         whole temporal unit should be discarded.
+         But the temporal units before it are correct and can be used. More
+         important, because of the error temporal unit, the parser is in a wrong
+         state and all later temporal unit are also parsed uncorrectly.
+         We need to add this API to reset the annex_b state only when we meet
+         some temporal unit error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-10-09 16:01:35 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: clean the seen_frame_header in parse_tile_group().
+         The current seen_frame_header is not cleaned correctly. According
+         to the spec, it should be cleaned when tiles are parsed completely.
+         Also delete a verbose seen_frame_header init in reset_state().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-09-29 13:15:37 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: fix a typo in parse_metadata_scalability
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-09-28 18:22:08 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: Do not assert in identify_one_obu when check annex b size.
+         Some buggy stream just writes the wrong temporal unit and frame size in
+         the stream. We should return failure rather than assert to abort.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-09-22 19:16:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: Add unknow AV1 profile define for saint check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-07-24 14:54:37 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: Improve the parse_tile_info.
+         1. store more tile info when parse tile group.
+         The column, row, tile offset and tile data size are all useful for
+         decoder process, especially for HW kind decoder such as VAAPI dec.
+         Also fix the tile group skip size for each tile data.
+         2. No min_inner_tile_width requirement in newest spec.
+         3. Calculate the sbs of each tile for both uniform tile and non-uniformi
+         tile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-07-28 17:25:44 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: Fix a tile info read typo in frame header.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-25 19:44:48 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: Fix a typo when get value of segmentation params.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-25 16:33:26 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: add valid check for global motion params.
+         The global motion params and its matrix values need to be verified
+         before we use them. If it is invalid, we should notify the decoder
+         that it should not be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-25 15:25:56 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: uint8 range is not enough for av1_bitstreamfn_ns
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-25 15:25:06 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: delete duplicated GST_AV1_GM_ABS_ALPHA_BITS define.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-27 21:33:14 +0800  He Junyan <junyan.he@intel.com>
+
+       * tests/check/libs/av1parser.c:
+         test: av1parser: update the test result because of bug fixing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-24 15:29:56 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: Improve the loop filter setting.
+         1. loop_filter_ref_deltas should be int because it needs to compare
+         with 0.
+         2. Move the loop filter init logic to setup_past_independence() and
+         load_previous(), which make it more precise with the spec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-08-14 14:40:49 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: Fix a error report for metadata obu.
+         The metadata OBUs, for example, ITUT_T35 has an undefined payload such
+         as itu_t_t35_payload_bytes field in AV1 spec, which may cause the failure
+         of parsing the trailings bits. We can give a warning and ignore this kind
+         of errors.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-07-28 15:06:04 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecparsers: av1: Fix a level index bug in sequence.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-07-24 12:49:10 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: all ref idx should be gint8.
+         All the ref index need to compare with 0 in reference index decision
+         algorithm. We also need to init them to -1.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
+
+2020-11-14 18:48:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: Add support for interlaced stream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-16 16:29:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: implement gst_va_h264_dec_new_field_picture()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-14 20:46:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: Fix picture_height_in_mbs_minus1
+         Fix for interlaced stream (when sps->frame_mbs_only_flag is equal to one)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-16 16:29:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: admit baseline if stream obeys A.2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-15 00:20:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+         codecs: h264decoder: Add support for field ref picture list modification
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-17 18:39:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+       * sys/va/gstvah264dec.c:
+         codecs: h264decoder: Add more option arguments for reference picture getter
+         In case that "pic_order_cnt_type" is equal to zero, ref picture
+         list for B slice should not include non-existing picture
+         as per spec 8.2.4.2.3. And, the second field is not needed
+         for the process of frame picture reference list construction
+         since it needs to be frame unit, not field picture in that case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-17 18:59:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Split gap picture as well if needed
+         field pair pictures might be required for reference list
+         depending on context.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-05 18:09:06 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264dec: Fix POC calculation for type 0
+         This is mostly for future use as it only fixes the caclulation for interlaced
+         cases, the case of frame seemed correct already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-17 03:11:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Don't try to construct RefPicList0 and RefPicList1 if not required
+         We were trying to construct reference picture list even for
+         I slice before this commit. Reference list is required only for
+         P, SP and B slices. Also, if all existing reference pictures
+         are gap pictures, we don't need to construct lists.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
+
+2020-11-03 01:59:46 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: Check the force_videometa for all memory types.
+         force_videometa should mean that the buffer must use video meta to
+         map correctly. When the stride or the offset of the alloc_info is
+         different from the src caps, the downstream must use video meta.
+         So this flag should not link with the RAW caps only. All kinds of
+         caps(memory:VAMemory, memory:DMABuf) should have this flag.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1711>
+
+2020-11-17 00:18:22 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+         va: basedec: Improve the decide_allocation().
+         In decide_allocation(), we now just use the other_pool for frames
+         copy when the src caps is raw. This can make the logic a little
+         clear. There is no need for us to check the alignment and video
+         meta again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1711>
+
+2020-11-16 23:53:39 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: fallback to system memory if downstream caps is any.
+         When the downstream element reports an ANY caps, and it also fails to
+         support VideoMeta, we should fallback to the system memory.
+         Note: the basetransform kind elements never return valid allocation
+         query before set_caps(). So, if a basetransform return an ANY sink
+         caps, we always fallback to system memory for it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1711>
+
+2020-11-16 04:38:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264dec.c:
+         vah264dec: Fix for long term reference picture signalling
+         Allocate a GArray which is used to fill
+         VAPictureParameterBufferH264.ReferenceFrames (called per frame),
+         instead of alloc/free per frame.
+         Also this commit is to fix the condition where long-term reference
+         picture is needed for VAPictureParameterBufferH264.ReferenceFrames
+         entry.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1813>
+
+2020-11-15 03:41:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Fix MMCO type 1 for interlaced stream
+         If field_pic_flag of current picture is equal to zero,
+         both field of reference field pair should be marked as
+         "unused for reference"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1810>
+
+2020-11-15 02:59:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Fix MMCO type 3 for interlaced stream
+         Depending on short-ref picture corresponding to picNumX value,
+         there's a condition that only one field should be updated to
+         be non-reference picture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1810>
+
+2020-11-15 00:55:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Split frame picture into field pictures if needed
+         In case of interlaced stream, frame pictures need to be splitted
+         into field for reference marking process.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1810>
+
+2020-11-16 00:27:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Add util macro for frame/field picture identification
+         Add a macro to check whether given GstH264Picture is for frame or field
+         decoding.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1810>
+
+2020-11-16 20:44:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Prefer full color range for display target colorspace
+         We don't need to preserve input color range for transformed target
+         color space. Also some GPUs doesn't seem to be happy with 16-235
+         color range for RGB color space.
+         Also, since our default display target color space is
+         DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, choosing full color range
+         would make more sense.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1814>
+
+2020-08-15 02:02:44 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+         wpe: Don't crash when running on X11.
+         Don't assume the available EGL display is a wayland display -
+         instead, check the the GStreamer GL context is EGL, and then
+         use gst_gl_display_egl_from_gl_display to create a
+         GstGLDisplayEGL from that, which also adds refcounting
+         around the underlying EGLDisplay.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1385
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1752>
+
+2020-11-13 20:25:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: dmabuf: log unknown surface format
+         It is possible that surface format is not assigned, keeping its default
+         GStreamer value: unknown, but gst_video_format_to_string() doesn't print
+         unknown format, so this patch does it manually.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1811>
+
+2020-11-13 20:20:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: dmabuf: destroy VASurface if no pooled buffer
+         When gst_va_dmabuf_allocator_setup_buffer_full() receives info (not NULL) it is
+         supposed that this buffer is not part of the allocator pool, so it has to be
+         de-allocated as soon it is freed.
+         This patch sets the destroy notify of the assigned GstVaBufferSurface if info is
+         not NULL.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1811>
+
+2020-11-14 03:20:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264dec.c:
+         vah264dec: Allow missing reference picture
+         baseclass might provide reference picture list with null picture.
+         Ensure picture before filling picture information.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1809>
+
+2020-11-14 03:16:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Don't give up to decode due to missing reference picture
+         Missing reference picture is very common thing for broken/malformed stream.
+         Decoder should be able to keep decoding if it's not a very critical error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1809>
+
+2020-11-13 17:50:03 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtsdemux: Fix off by one error
+         Turns out timestamps of zero are valid :) Fixes issues with streams where the
+         PTS/DTS would be equal to the first PCR.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1807>
+
+2020-11-06 02:45:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11h264dec: Add support for interlaced stream
+         Add support for interlaced stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-10 01:28:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Add support for interlaced stream
+         Initial support for interlaced stream. Subclass should implement
+         new_field_picture() vfunc. Otherwise, baseclass will assume that
+         subclass doesn't support interlaced stream.
+         Restrictions:
+         * Reference picture modification process for interlaced stream
+         is not implemented yet
+         * PAFF (Picture Adaptive Frame Field) is not properly implemented.
+         * Field display ordering (e.g., top-field-first) decision should
+         be enhanced via picture timing SEI parsing
+         * Gap in field picture should be handled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-05 04:16:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Rename DPB methods
+         Clarify wheter it's for picture(field) or frame in order to
+         support interlaced stream, because DPB size is frame unit, not picture
+         in case of interlaced stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-05 03:47:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+         codecs: h264decoder: Remove interlaced stream related constraints
+         ... and add new_field_picture() vfunc so that ensure interlaced
+         decoding support by subclass.
+         The method will be used later with interlaced stream support.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-12 23:49:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.h:
+         codecs: h264decoder: Move to inline GstH264DecoderClass documentation
+         Don't duplicate documentation for class vfunc. Hotdoc doesn't seem
+         to be happy with duplicated documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-06 01:45:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/va/gstvah264dec.c:
+         codecs: h264decoder: Store reference picture type using enum value
+         Managing reference picture type by using two variables
+         (ref and long_term) seems to be redundant and that can be
+         represented by using a single enum value.
+         This is to sync this implementation with gstreamer-vaapi so that
+         make comparison between this and gstreamer-vaapi easier and also
+         in order to minimize the change required for subclass to be able
+         to support interlaced.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-11 01:56:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Minor documentation fix
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1534>
+
+2020-11-13 23:18:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Remove DPB size related spammy debug message
+         It's not informative at all if SPS wasn't updated. Also we are printing
+         DPB size related debug message in another place already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1806>
+
+2020-11-12 22:27:08 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: try harder to update timecode
+         NumClockTS is the maximum number of timecodes the pic_timing SEI
+         can carry, but it is perfectly OK for it to carry fewer, and have
+         one of the clock_timestamp_flags set to 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1804>
+
+2020-11-12 22:32:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix installing of update-timecode property
+         Simply fixes a typo that did not have any adverse effect,
+         and avoid hardcoding initializer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1805>
+
+2020-11-12 19:43:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Don't fill gap picture if it's not allowed
+         We should fill gap picture only if sps->gaps_in_frame_num_value_allowed_flag
+         is set.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1801>
+
+2020-04-16 10:06:29 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegenc.c:
+         openjpegenc: store stripe offset when encoding image
+         The decoder can simply read this offset after decoding
+         to know where to blit the stripe to the full frame
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
+
+2020-03-24 09:15:30 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/openjpeg/meson.build:
+         openjpegenc: take subsampling into account when calculating stripe height
+         We calculate minimum of (stripe height * sub sampling) across all components
+         to ensure that all component dimensions are consistent with sub-sampling.
+         The last stripe for each component is simply the remaining height.
+         limit wavelet resolutions for "thin" stripes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
+
+2020-03-12 13:41:40 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openjpeg/gstopenjpegenc.c:
+         openjpegenc: fix memory leak from mstream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
+
+2020-01-13 14:00:38 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegenc.c:
+         openjpegenc: fail negotation in handle_frame if alignment mismatch
+         If encoder is in stripe mode, then downstream must also support stripe
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
+
+2020-11-12 21:46:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvcodec: Fix various typo
+         Not sure where the DECOCER came from
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1803>
+
+2020-11-12 13:33:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvapool.c:
+         va: comments to explain code
+         There are a couple part where code seems, at least to me, a bit oscure or
+         confusing. So let's better add an explanation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1802>
+
+2020-11-10 14:48:28 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Don't calculate bitrate for header/index fragments
+         They are generally substantially smaller than regular fragments, and therefore
+         we end up pushing totally wrong bitrates downstream.
+         Fixes erratic buffering issues with DASH introduced by
+         66f5e874352016e29f555e3ce693b23474e476db
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1021>
+
+2020-11-09 11:41:10 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/dash/gstdashdemux.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+         adaptivedemux: Store QoS values on the element
+         Storing it per-stream requires taking the manifest lock which can apparenly be
+         hold for aeons. And since the QoS event comes from the video rendering thread
+         we *really* do not want to do that.
+         Storing it as-is in the element is fine, the important part is knowing the
+         earliest time downstream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1021>
+
+2020-11-10 14:48:28 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Don't calculate bitrate for header/index fragments
+         They are generally substantially smaller than regular fragments, and therefore
+         we end up pushing totally wrong bitrates downstream.
+         Fixes erratic buffering issues with DASH introduced by
+         66f5e874352016e29f555e3ce693b23474e476db
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1786>
+
+2020-11-11 18:07:57 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/hls/gsthlsdemux.c:
+         hlsdemux: Don't double-free variant streams on errors
+         If an error happened switching to a new variant, we switch back to the previous
+         one ... except it will be unreffed when settin git.
+         In order to avoid such issues, keep a reference to the old variant until we're
+         sure we don't need it anymore
+         Fixes cases of double-free on variants and its contents
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1799>
+
+2020-11-12 00:42:59 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp8decoder.h:
+         codecs: vp8decoder: Fix two typo of struct name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1797>
+
+2020-10-27 19:53:44 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * sys/bluez/gsta2dpsink.c:
+         gsta2dpsink: Fix GstPad leak
+         The sinkpad returned by a call to gst_element_get_static_pad needs to be
+         unrefed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
+
+2020-09-30 17:12:04 +0530  Arun Raghavan <arun@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/bluez/gsta2dpsink.c:
+         bluez: a2dpsink: Add support for LDAC to a2dpsink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
+
+2020-09-30 13:28:08 +0530  Arun Raghavan <arun@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/bluez/a2dp-codecs.h:
+       * sys/bluez/gstavdtpsink.c:
+       * sys/bluez/gstavdtputil.c:
+         bluez: avdtpsink: Add support for LDAC to avdtpsink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
+
+2020-09-18 17:35:24 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * ext/ldac/gstldacenc.c:
+       * ext/ldac/gstldacenc.h:
+       * ext/ldac/ldac-plugin.c:
+       * ext/ldac/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         ext: Add LDAC encoder
+         LDAC is an audio coding technology developed by Sony that enables the
+         transmission of High-Resolution (Hi-Res) audio contents over Bluetooth.
+         Currently Adaptive Bit Rate (ABR) as supported by libldac encoder is not
+         implemented.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
+
+2020-11-11 18:21:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: Set duration on seeking query if possible
+         Set duration on seeking query in the same way as duration query handler.
+         Otherwise application might get confused as if the duration is unknown.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1791>
+
+2020-11-11 13:39:37 +0200  Raul Tambre <raul@tambre.ee>
+
+       * ext/webrtc/meson.build:
+         webrtc: Update libnice version requirement to 0.1.17
+         Since !1366 nice_agent_get_sockets() is used, which requires 0.1.17.
+         Update the version requirement accordingly.
+         Fixes #1459.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1792>
+
+2020-11-03 17:48:02 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/hls/gsthlsdemux.c:
+       * ext/hls/gsthlsdemux.h:
+         hlsdemux: Re-use streams if possible
+         When switching variants, try to re-use existing streams/pads instead of creating
+         new ones. When dealing with urisourcebin and decodebin3 this is not only the
+         expected way but also avoids a lot of buffering/hang issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757>
+
+2020-11-04 10:36:21 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/hls/m3u8.c:
+       * ext/hls/m3u8.h:
+         m3u8: Make a debug function usable elsewhere
+         The rest of the code might want to use this
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757>
+
+2020-07-12 00:18:38 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/qroverlay/gstdebugqroverlay.c:
+         qroverlay: Generate documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-12 00:03:04 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstdebugqroverlay.c:
+       * ext/qroverlay/gstdebugqroverlay.h:
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+       * ext/qroverlay/meson.build:
+         qroverlay: Add a qroverlay element that allows overlaying any data
+         This moves `gstqroverlay.c` to `gstdebugqroverlay.c` and implements
+         a simple `gstqroverlay` element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-11 23:43:01 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+         qroverlay: Rename qroverlay to debugqroverlay
+         The element is specially focus on debugging purposes and not a generique QR overlay
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-11 23:36:03 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+       * ext/qroverlay/meson.build:
+         qroverlay: Factor out qroverlay logic to a base class
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-11 23:35:55 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstbaseqroverlay.c:
+       * ext/qroverlay/gstbaseqroverlay.h:
+         qroverlay: Factor out qroverlay logic to a base class
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-11 23:06:16 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+         qroverlay: Make subclassable
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-11 20:42:51 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+       * ext/qroverlay/meson.build:
+         qroverlay: Port to VideoFilter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-11 15:04:57 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+         qroverlay: Make default pizel-size 3
+         Otherwise zbar isn't able to read the produced qrcodes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-09 14:14:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+       * ext/qroverlay/meson.build:
+         qroverlay: Cleanup the way we build the json using json-glib
+         And reindent the .h file removing tabs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-09 13:05:20 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+         qroverlay: Fix copyright
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-09 12:51:23 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+         qroverlay: Fix some warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-09 12:49:51 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+         qroverlay: Minor renaming and documentation fixes
+         Matching usual namings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-07-09 12:37:55 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/meson.build:
+       * ext/qroverlay/gstqroverlay.c:
+       * ext/qroverlay/gstqroverlay.h:
+       * ext/qroverlay/meson.build:
+       * meson_options.txt:
+         qroverlay: Import from gst-qroverlay
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
+
+2020-10-30 23:22:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/nvcodec/gstnvvp9dec.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add VP9 stateless decoder element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
+
+2020-10-30 21:20:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvvp8dec.c:
+         nvcodec: nvdecoder: Move to refcount based GstNvDecoderFrame
+         This refcount based way would be helpful for sharing nvdec frame among
+         multiple codec pictures and later zero-copy use case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
+
+2020-10-30 23:38:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.h:
+         nvcodec: nvdecoder: Get rid of G_GNUC_INTERNAL
+         default is visibility=hidden. Don't need to use G_GNUC_INTERNAL
+         for new code therefore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
+
+2020-10-30 20:37:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp8dec.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add VP8 stateless decoder element
+         Like other nvcodec stateless decoders, the rank of this new nvvp8sldec
+         element will be secondary for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
+
+2020-10-30 23:26:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/plugin.c:
+         nvcodec: nvsldec: Fix typo in debug message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
+
+2020-11-09 18:27:14 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtspacketizer: Handle PCR issues with adaptive streams
+         A lot of content producers out there targetting "adaptive streaming" are riddled
+         with non-compliant PCR streams (essentially all the players out there just use
+         PTS/DTS and don't care about the PCR).
+         In order to gracefully cope with these, we detect them appropriately and any
+         small (< 15s) PCR resets get gracefully ignored.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1785>
+
+2020-10-30 14:07:02 +0000  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstcudautils.c:
+         nvcodec: leave g_once_init when all quarks are initialized
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1782>
+
+2020-11-09 23:22:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Fix missing drain handling in bumping
+         Should've included in the commit 5527cc4a2e7ce8eeee1d8a717f99252477d6015f
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1783>
+
+2020-11-09 23:04:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Try reference picture marking process in any case
+         ... even if there is some invalid conditions
+         (because of broken stream, our implementation fault or so).
+         Otherwise baseclass will keep such reference pictures and
+         it would result to DPB full.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1783>
+
+2020-11-09 11:44:36 +0100  Edward Hervey <edward@centricular.com>
+
+       * tests/examples/mpegts/ts-parser.c:
+         examples: Properly handle extended descriptors
+         By checking the extended tag. Provides a bit more information (if extended tag
+         is known)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1781>
+
+2020-11-08 19:08:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Fix for MbaffFrameFlag and FrameNumList
+         As per spec 7.4.3 Slice header semantics, the flag value is derived as
+         MbaffFrameFlag = (mb_adaptive_frame_field_flag && !field_pic_flag)
+         and DXVA uses the value.
+         Regarding FrameNumList, in case of long-term ref, FrameNumList[i]
+         value should be long_term_frame_idx not long_term_pic_num.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1780>
+
+2020-11-05 19:30:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Reset frame number per MMCO type 5
+         It should be cleared so that avoid wrong frame gap detection
+         for following pictures.
+         Passing 4 more conformance bitstream tests
+         * MR2_TANDBERG_E
+         * MR3_TANDBERG_B
+         * MR4_TANDBERG_C
+         * MR5_TANDBERG_C
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1768>
+
+2020-11-05 18:42:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Fix for MMCO type 2
+         As per 8.2.5.4.2, we should mark a picture which has
+         LongTermPicNum == long_term_pic_num as "unused for reference",
+         not pic_num.
+         Passing conformance bitstream test with MR2_MW_A
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1768>
+
+2020-11-05 18:27:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264picture: Add more trace log
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1768>
+
+2020-11-05 13:30:49 +0000  Jason Pereira <mindriot88@users.noreply.github.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+         decklink: correct framerate 2KDCI 23.98
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1771>
+
+2020-11-05 09:11:03 +0100  Rafostar <40623528+Rafostar@users.noreply.github.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         doc: player: mention that get_pipeline method needs unref
+         All other methods in docs clearly mention that an unref is needed, so should `get_pipeline()`. #1450
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1764>
+
+2020-11-05 09:01:47 +0100  Rafostar <40623528+Rafostar@users.noreply.github.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         player: call ref_sink on pipeline
+         Otherwise `gst_player_get_pipeline()` will return a floating reference which may confuse bindings and lead to crash.
+         Fixes #1450
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1763>
+
+2020-11-04 18:43:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Enable some MSVC warnings for parity with GCC/Clang
+         This makes it easier to do development with MSVC by making it warn
+         on common issues that GCC/Clang error out for in our CI configuration.
+         Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1760>
+
+2020-10-21 09:01:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvah265dec.h:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         va: Add HEVC decoding support
+         This add HEVC decoding support into the new VA plugin. This implementation has
+         been tested using the ITU comformance test (through fluster). It fails all
+         MAIN10 tests, as this is not implemented yet along with the following:
+         CONFWIN_A_Sony_1 (looks fine, but md5sum is incorrect)
+         PICSIZE_A_Bossen_1 (height too high)
+         PICSIZE_B_Bossen_1 (same)
+         VPSSPSPPS_A_MainConcept_1 (parser issue)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1714>
+
+2020-11-03 16:05:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Fix wrong warning message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1714>
+
+2020-11-03 11:23:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Remove unsued WpOffsetHalfRangeC
+         This is only needed for VA implementation of weight tables and isn't used
+         within the base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1714>
+
+2020-11-02 00:08:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Rework for DPB management
+         Sync with recent h265decoder DPB implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1761>
+
+2020-11-04 18:47:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Remove unused pts variable
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1761>
+
+2020-11-03 14:12:45 +0900  youngh.lee <youngh.lee@lge.com>
+
+       * gst/aiff/aiffparse.c:
+         aiffparse: Also set a channel mask for 2 channels
+         And only do add debug output at FIXME level when using the fallback
+         channel mask, not for those defined in the AIFF spec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1756>
+
+2020-06-23 10:29:42 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/icestream.c:
+       * ext/webrtc/nicetransport.c:
+       * ext/webrtc/nicetransport.h:
+         webrtc: Add properties to change the socket buffer sizes to ice object
+         libnice doesn't touch the kernel buffer sizes. When dealing with RTP data,
+         it's generally advisable to increase them to avoid dropping packets locally.
+         This is especially important when running multiple higher bitrate streams at
+         the same time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1366>
+
+2020-11-03 02:22:23 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/vulkan/vkdeviceprovider.c:
+         vkdeviceprovider: Avoid deadlock on physical device
+         Don't hold the object lock on the vk physical device while
+         constructing a GstVulkanDevice around it, as
+         GstVulkanDevice can make calls on the physical device that
+         require the object lock.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1754>
+
+2020-11-03 02:14:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265picture.c:
+         codecs: h265picture: Minor update for coding style
+         It's GstH265Dpb, not GstH265Decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1755>
+
+2020-11-03 01:53:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+         codecs: h265decoder: Make GstVideoCodecFrame hold the last reference of the buffer
+         The functionality of passing the last reference of GstH265Picture
+         was silently dropped by the commit eeffd91109a409063e866337452eedd392649775
+         This commit will make it work again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1755>
+
+2020-11-03 01:41:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Clear GstVideoCodecFrame on DPB clear if needed
+         h265decoder might need to clear DPB depending on context even if
+         it's not flushing case. So associated GstVideoCodecFrame needs to be
+         released in case non-flushing case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1755>
+
+2020-11-03 00:57:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Don't drain DPB on EOB/EOS/IDR nalu
+         DPB bumping decision per end-of-bitstream, end-of-sequence or IDR nal
+         should done by spec. In short, draining on EOB/EOS/IDR is undefined
+         behavior as per spec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1755>
+
+2020-11-01 18:32:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Complete dependent slice header
+         This will save the last independent slice and fill in the missing
+         information for dependent slices. This was left over during the porting
+         from gstreamer-vaapi. The private variable prev_independent_slice was
+         already there.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1750>
+
+2020-11-01 18:30:34 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Prevent possible infinite loop
+         Theoretically, one could produce a broken stream that would lead to
+         infinite in the specified algorithm to calculate l0/l1 reference lists.
+         This patch will pearly exit if this condition is met.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1750>
+
+2020-10-22 12:38:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parse: Add missing const qualifier
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1750>
+
+2020-11-02 22:47:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         Revert "d3d11decoder: Use D3D11/DXGI standard colorimetry"
+         This reverts commit a52fc6deeda203add520cb59ae0026d109ecda95.
+         The change breaks H264/HEVC conformance bitstream tests
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1753>
+
+2020-11-02 08:46:25 +0000  Randy Li <ayaka@soulik.info>
+
+       * ext/wayland/wlvideoformat.c:
+         wlvideoformat: fix DMA format convertor
+         In the most of case, this typo would work. But for
+         ARGB8888 and XRGB8888, which shm format is not based on fourcc,
+         which would never appear in format enumeration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1751>
+
+2020-11-01 03:58:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Use D3D11/DXGI standard colorimetry
+         D3D11/DXGI supports smaller set of colorimetry than all possible
+         combination. This restriction would make more streams convertible
+         by using ID3D11VideoProcessor
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1743>
+
+2020-10-31 03:28:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Use ID3D11VideoProcessor only if device supports corresponding conversion
+         ... and drop support for ID3D11VideoProcessor if device doesn't
+         support ID3D11VideoContext1 interface and therefore we cannot
+         query conversion supportability.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1743>
+
+2020-11-01 20:52:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+         d3d11h{264,265}dec: Submit picture level parameters only once
+         Submit PICTURE_PARAMETERS and INVERSE_QUANTIZATION_MATRIX
+         buffers only once per picture. Multiple submission is redundant.
+         Also this modification would fix broken hevc decoding with
+         dependent slice.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1749>
+
+2020-10-31 20:36:13 +0900  Seungha Yang <seungha@centricular.com>
+
+         codecs: h265decocer: Rework for DPB management
+         * Move all DPB bumping process into GstH265Dpb internal
+         * Handle DPB add process in GstH265Dpb struct
+         * Make implementation to be 1:1 mappable with hevc specification
+         * Fix wrong DPB bumping implementation especially when no_output_of_prior_pics_flag
+         was specified.
+         With fixes from Nicolas Dufresne <nicolas.dufresne@collabora.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1748>
+
+2020-10-31 20:31:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Get rid of framerate field from pad template
+         Framerate is optional value and we don't have any framerate
+         related restriction for those elements. This commit is to fix
+         negotiation failure when upstream doesn't set framerate on caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1747>
+
+2020-10-31 21:46:16 +1100  Jan Schmidt <jan@centricular.com>
+
+       * tests/check/elements/dtls.c:
+         tests: Don't set dtlsenc state before linking.
+         Link the dtlsenc in the testsuite before setting it to paused, as it
+         starts a pad task that can generate a not-linked error otherwise.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1744>
+
+2020-10-31 01:23:36 +1100  Jan Schmidt <jan@centricular.com>
+
+       * tests/check/elements/dtls.c:
+         dtls: Catch bus errors and fail instead of hanging.
+         If the DTLS elements fail, they post a bus error and don't signal any
+         key negotiation. Catch the bus error and fail the test early instead
+         of letting it hang and time out.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1741>
+
+2020-10-30 22:52:18 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpenc.c:
+         sctp: Do downward state change logic after chaining up.
+         Call the parent state_change function first when changing state
+         downward, to make sure that the element has stopped before cleaning
+         it up.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1741>
+
+2020-10-30 22:49:22 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+         dtls: Avoid bio_buffer assertion on shutdown.
+         On shutdown, a previous iteration of dtsl_connection_process()
+         might be incomplete and leave a partial bio_buffer behind.
+         If the DTLS connection is already marked closed, drop out
+         of dtls_connection_process early without asserting.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1741>
+
+2020-10-30 16:31:18 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Fix a race on shutdown.
+         The main context can disappear in gst_webrtc_bin_enqueue_task()
+         between checking the is_closed flag and enqueueing a source on the
+         main context. Protect the main context with the object lock instead
+         of the PC lock, and hold a ref briefly to make sure it stays alive.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1741>
+
+2020-07-08 17:24:36 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+       * ext/webrtc/meson.build:
+       * ext/webrtc/sctptransport.c:
+       * ext/webrtc/sctptransport.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+         webrtc: Set the DSCP markings based on the priority
+         This matches how the WebRTC javascript API works and the Chrome implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1707>
+
+2020-07-09 13:39:03 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+         rtpsender: Add API to set the priority
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1707>
+
+2020-07-09 13:42:35 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.h:
+         rtptransceiver: Store the SSRC of the current stream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1707>
+
+2020-07-08 19:13:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Save the media kind in the transceiver
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1707>
+
+2020-07-09 13:45:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Remove unused function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1707>
+
+2020-10-02 21:38:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         webrtc: Document more objects
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1707>
+
+2020-10-31 00:37:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Allow 10bits only profiles
+         HEVC_VLD_Main10 and VP9_VLD_10bit_Profile2 might not support
+         8bit format (i.e., NV12) depending on GPU vendor.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1742>
+
+2020-10-25 13:33:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Remove \n from debug output
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1721>
+
+2020-10-25 13:32:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklinkaudiosink.cpp:
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink: Correctly indent everything
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1721>
+
+2020-10-25 13:30:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklink: Add a default profile id
+         This causes no changes to the profile but keeps the existing settings.
+         The profile can also be changed from e.g. the card's configuration
+         application and in that case probably should be left alone.
+         The default is the new value as it keeps the profile setting as it is,
+         which is consistent with the previous behaviour in 1.18.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1721>
+
+2020-10-25 13:14:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Mark internal function as static
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1721>
+
+2020-10-25 13:13:37 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Remove some dead code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1721>
+
+2020-10-30 10:02:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Update enum value bounds check in gst_decklink_get_mode()
+         The widescreen modes moved after GST_DECKLINK_MODE_2160p60 and using
+         them now would cause an assertion. This is a regression from
+         309f6187fef890c7ffa49305f38e89beac3b1423.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1737>
+
+2020-08-25 14:56:50 +0100  Chris Bass <floobleflam@gmail.com>
+
+       * ext/ttml/ttmlparse.c:
+         ttmlparse: Handle whitespace before XML declaration
+         When ttmlparse is in, e.g., an MPEG-DASH pipeline, there may be
+         whitespace between successive TTML documents in ttmlparse's accumulated
+         input. As libxml2 will fail to parse documents that have whitespace
+         before the opening XML declaration, ensure that any preceding whitespace
+         is not passed to libxml2.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1539>
+
+2020-08-25 14:54:31 +0100  Chris Bass <floobleflam@gmail.com>
+
+       * ext/ttml/ttmlparse.c:
+         ttmlparse: Ensure only single TTML doc parsed
+         The parser handles only one TTML file at a time, therefore if there are
+         multiple TTML documets in the input, parse only the first.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1539>
+
+2020-10-29 13:43:16 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc.c:
+         amc: Fix crash when encoding AVC
+         gstamcvideoenc.c calls gst_amc_avc_profile_to_string() with alternatives
+         set to NULL which causes a crash.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1732>
+
+2020-03-19 15:07:47 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * ext/isac/gstisac.c:
+       * ext/isac/gstisacdec.c:
+       * ext/isac/gstisacdec.h:
+       * ext/isac/gstisacenc.c:
+       * ext/isac/gstisacenc.h:
+       * ext/isac/gstisacutils.c:
+       * ext/isac/gstisacutils.h:
+       * ext/isac/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         isac: add iSAC plugin
+         Wrapper on the iSAC reference encoder and decoder from webrtc,
+         see https://en.wikipedia.org/wiki/Internet_Speech_Audio_Codec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1124>
+
+2020-10-28 11:49:54 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: Create the decodebin in _init
+         This way user can request pads right from the beginning
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151>
+
+2020-10-25 18:04:05 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: Accept more than one stream
+         Look-up the stream matching the given ID also after building the stream list
+         from the received collection. Without this change the transcoder would discard
+         the second incoming stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151>
+
+2020-03-20 09:27:48 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsturitranscodebin.c:
+         transcodebin: Port to decodebin3
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151>
+
+2020-03-19 09:35:57 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst/transcode/gsturitranscodebin.c:
+         uritranscodebin: Move to using a urisourcebin for our source.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151>
+
+2020-03-19 09:34:54 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Base sync transcoding variant on a GMainLoop
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151>
+
+2020-10-29 06:13:05 +0000  Randy Li <ayaka@soulik.info>
+
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/wlwindow.c:
+       * ext/wayland/wlwindow.h:
+         waylandsink: release frame callback when destroyed
+         We would use a frame callback from the surface to indicate
+         that last buffer is rendered, but when we destroy the surface
+         and that callback is not back yet, it may cause the wayland event
+         queue crash.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1729>
+
+2020-10-28 19:00:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2src: Set buffer timestamp on output buffer
+         This timestamp information would be useful for queue2 element
+         when calculating time level and also it makes buffering decision
+         more reliable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1727>
+
+2020-10-28 00:47:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videoprocessor.c:
+         d3d11videoprocessor: Fix wrong input/output supportability check
+         The flag argument of ID3D11VideoProcessorEnumerator::CheckVideoProcessorFormat
+         method is output value, not input.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1726>
+
+2020-10-25 02:27:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+         nvcodec: nvsldec: Add support for CUDA memory
+         Add CUDA memory support. Note that zero copying is not supported yet
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1720>
+
+2020-10-26 05:15:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+         d3d11memory: Adjust log level for some spammy debug messages
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1723>
+
+2020-10-26 05:11:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11convert: Use ID3D11VideoProcessor only if device supports colorspace
+         Check whether conversion with given combination of input/output
+         format and dxgi colorspace is supported or not by driver.
+         If not, we should use shader.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1723>
+
+2020-10-26 05:09:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+         d3d11videoprocessor: Add a method for device's conversion caps check
+         Add a wrapper method for
+         ID3D11VideoProcessorEnumerator1::CheckVideoProcessorFormatConversion.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1723>
+
+2020-10-26 05:04:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11format.c:
+         d3d11format: Map more colorimetry with dxgi colorspace
+         Map more logically identical set of GstVideoColorimetry formats
+         with dxgi color space.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1723>
+
+2020-10-25 23:13:46 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: Set the video_alignment after we get image info.
+         The set_format() of the allocator may change the stride of the
+         alloc_info. We should update the video_align.stride_align based
+         on it. Or, we get a warning in gst_video_meta_validate_alignment().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1698>
+
+2020-10-26 11:50:59 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: Set the padding to VideoAlignment's right.
+         In our va implemenation, we just use image's info to map the buffer.
+         The padding info just plays a role as a place holder to expand the
+         allocation size in caps when decoding size is bigger than display
+         size. So the padding_right or padding_left does not change the result.
+         But we find if using padding_left, it is hard to meet the requirement
+         of gst_video_meta_validate_alignment(), when the video meta's stride
+         is different from the allocation width.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1698>
+
+2020-10-26 01:22:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: No need to call base class' decide_allocation().
+         We have already done the jobs in gst_va_base_dec_decide_allocation()
+         and no need to call base class' decide_allocation() again. The base
+         class' decide_allocation() will set_format() again and let use do the
+         image/surface testing again, which is low performance and no needed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1698>
+
+2020-10-20 14:31:22 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: use _update_image_info() to set allocator parameters.
+         Use this standalone function to update the allocator info and make
+         all ensure_image() and mem_alloc() API clean.
+         We also change the default way of using image. We now set the non
+         derive manner as the default manner, and if it fails, then fallback
+         to the derived image manner.
+         On a lot of platforms, the derived image does not have caches, so the
+         read and write operations have very low performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1698>
+
+2020-10-20 14:09:35 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Add a helper function to update the image info.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1698>
+
+2020-10-19 23:32:44 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Decide the allocator's parameters when set_format().
+         Moving the parameters testing and setting from the allocator_alloc_full()
+         to the allocator_try(). The allocator_alloc_full() will be called every
+         time when we need to allocate a new memory. But all these parameters such
+         as the surface and the image format, rt_format, etc, are unchanged during
+         the whole allocator lifetime. Just setting them in set_format() is enough.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1698>
+
+2020-10-18 17:59:44 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/opencv/meson.build:
+         opencv: allow compilation against 4.5.x
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1709>
+
+2020-03-24 09:18:28 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: sub-sampling parse should take component into account
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1653>
+
+2020-04-21 14:16:45 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: no pts interpolation with subframe.
+         The jpeg2000parser must not interpolate PTS with subframes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1653>
+
+2020-01-13 14:01:19 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: support frame and stripe alignment in caps
+         forward alignment and num-stripes caps properties
+         Use caps height when setting caps for subframe
+         We want downstream to use full frame height, not subframe height
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1653>
+
+2020-10-25 11:46:29 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink: Reset skip counters when starting the sources
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/378>
+
+2018-05-10 14:05:12 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink*src: Post a warning message on the bus about dropped frames
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/378>
+
+2017-11-28 13:44:18 +0100  Georg Lippitsch <glippitsch@toolsonair.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkaudiosrc.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklink*src: Aggregate dropped frame/packet logging
+         decklink*src currently prints a log entry for every dropped frame and
+         audio packet. That completely spams the logs.
+         This change aggregates information about dropped packets and only prints
+         a message once when dropping starts, and a summary when dropping ends.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/705
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/378>
+
+2020-10-24 20:59:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11memory: Protect view object with lock
+         Make resource allocation more thread-safe
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1718>
+
+2020-10-24 02:47:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+         d3d11convert: Add support for conversion using ID3D11VideoProcessor
+         Output texture of d3d11 decoder cannot have the bind flag
+         D3D11_BIND_SHADER_RESOURCE (meaning that it cannot be used for shader
+         input resource). So d3d11convert (and it's subclasses) was copying
+         texture into another internal texture to use d3d11 shader.
+         It's obviously overhead and we can avoid texture copy for
+         colorspace conversion or resizing via ID3D11VideoProcessor
+         as it supports decoder output texture.
+         This commit would be a visible optimization for d3d11 decoder with
+         d3d11compositor use case because we can avoid texture copy per frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1718>
+
+2020-10-24 02:33:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11memory: Store ID3D11VideoProcessorOutputView object
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1718>
+
+2020-10-23 22:29:57 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Fix picture leaks because of reference set.
+         The last frame's reference set has no one to cleanup. We need to
+         clean all pictures in the stop() func.
+         We also add a helper function to cleanup all the pictures in the
+         reference picture set.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1717>
+
+2020-10-23 21:21:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Fix 3 ref array leaks in finalize.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1717>
+
+2020-10-23 16:59:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Reuse ID3D11VideoProcessorInputView if possible
+         GstMemory object could be disposed if GstBuffer is not allocated
+         by GstD3D11BufferPool such as via gst_buffer_copy() and/or
+         gst_buffer_make_writable(). So attaching qdata on GstMemory
+         object would cause unnecessary view alloc/free.
+         By using view pool which is implemented in GstD3D11Allocator,
+         we can avoid redundant view alloc/free.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1716>
+
+2020-10-21 16:28:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11memory: Implement ID3D11VideoProcessorInputView pool
+         Similar to ID3D11VideoDecoderOutputView pool implementation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1716>
+
+2018-04-07 16:33:47 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/codecparsers/meson.build:
+       * gst-libs/gst/insertbin/meson.build:
+       * gst-libs/gst/interfaces/meson.build:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst-libs/gst/player/meson.build:
+       * gst-libs/gst/sctp/meson.build:
+       * gst-libs/gst/transcoder/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/wayland/meson.build:
+       * gst-libs/gst/webrtc/meson.build:
+       * meson.build:
+       * pkgconfig/.gitignore:
+       * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in:
+       * pkgconfig/gstreamer-bad-audio.pc.in:
+       * pkgconfig/gstreamer-codecparsers-uninstalled.pc.in:
+       * pkgconfig/gstreamer-codecparsers.pc.in:
+       * pkgconfig/gstreamer-insertbin-uninstalled.pc.in:
+       * pkgconfig/gstreamer-insertbin.pc.in:
+       * pkgconfig/gstreamer-mpegts-uninstalled.pc.in:
+       * pkgconfig/gstreamer-mpegts.pc.in:
+       * pkgconfig/gstreamer-photography-uninstalled.pc.in:
+       * pkgconfig/gstreamer-photography.pc.in:
+       * pkgconfig/gstreamer-player-uninstalled.pc.in:
+       * pkgconfig/gstreamer-player.pc.in:
+       * pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in:
+       * pkgconfig/gstreamer-plugins-bad.pc.in:
+       * pkgconfig/gstreamer-sctp-uninstalled.pc.in:
+       * pkgconfig/gstreamer-sctp.pc.in:
+       * pkgconfig/gstreamer-transcoder-uninstalled.pc.in:
+       * pkgconfig/gstreamer-transcoder.pc.in:
+       * pkgconfig/gstreamer-vulkan-uninstalled.pc.in:
+       * pkgconfig/gstreamer-vulkan-wayland-uninstalled.pc.in:
+       * pkgconfig/gstreamer-vulkan-wayland.pc.in:
+       * pkgconfig/gstreamer-vulkan-xcb-uninstalled.pc.in:
+       * pkgconfig/gstreamer-vulkan-xcb.pc.in:
+       * pkgconfig/gstreamer-vulkan.pc.in:
+       * pkgconfig/gstreamer-wayland-uninstalled.pc.in:
+       * pkgconfig/gstreamer-wayland.pc.in:
+       * pkgconfig/gstreamer-webrtc-uninstalled.pc.in:
+       * pkgconfig/gstreamer-webrtc.pc.in:
+       * pkgconfig/meson.build:
+         Meson: Use pkg-config generator
+
+2020-07-30 20:23:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+         h265decoder: Add support for l0/l1
+         Add support for reference list needed for VA-API and some V4L2 decoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1713>
+
+2020-07-28 18:37:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+         h265decoder: Sync with the H264 implementation
+         This ensures that we get the last reference to picture being outputed,
+         avoiding GstBuffer structure copies and simplifying the buffer management.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1713>
+
+2020-10-20 17:31:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Directly access ID3D11VideoDecoderOutputView for decoding
+         Decoder output view is stored in GstD3D11Memory object instead of
+         wrapper struct now. So qdata is no more required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1712>
+
+2020-10-20 01:59:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11memory: Implement ID3D11VideoDecoderOutputView pool
+         Similar to texture-array pool, we can reuse decoder output view
+         since the life time of output view is identical to that of texture-array.
+         In this way, we can avoid frequent output view alloc/free.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1712>
+
+2020-10-04 23:39:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+         d3d11memory: Move to GArray to store texture-array status
+         The size D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION is 2048
+         which is too large in practice especially for a texture
+         of dpb
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1712>
+
+2020-10-12 19:20:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvaprofile.c:
+       * sys/va/gstvavp9dec.c:
+       * sys/va/gstvavp9dec.h:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         va: Add VP9 decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1702>
+
+2020-10-16 15:46:20 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Convert launch lines to markdown and move since tag
+         Seems like the examples don't appear in the generated docs because the Since tag
+         was badly positioned in the doc blurb.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1706>
+
+2020-10-16 10:35:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+         codecs: vp9decoder: Add segmentation to picture.
+         VA-API needs AC and DC quant scales for both luma and chroma, and the loop
+         filter level for current frame, but these values are not available outside
+         the private GstVp9Parser structure. And these values may change from frame
+         to frame, so they are picture specific.
+         This patch add GstVp9Segmentation structure array to GstVp9Picture to expose
+         it to derived classes. This approach is safer than passing the parser at
+         picture handling flow.
+         Also, this patch, in order to solve Documentation CI, mark as private the
+         GstVp9Picture structure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1700>
+
+2020-10-12 11:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         codecs: vp9decoder: Pass parser as new_sequence() parameter.
+         In order to know the chroma format, besides profile, subsampling_x and
+         subsampling_y are needed (Spec 7.2.2 Color config semantics). These values are
+         in GstVp9Parser but not in  GstVp9Framehdr.
+         Also, bit_depth is available in parser but not frame header. Evenmore, those
+         values are copied to picture structure later.
+         In case of VA-API, to configure the pipeline, it is require to know the chroma
+         format and depth.
+         It is possible to know chroma and depth through caps coming from vp9parser, but
+         it requires string parsing. It would be less error prone to get these values
+         through the parser structure at new_sequence() virtual method.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1700>
+
+2020-09-23 16:43:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtpsrc.c:
+         rtpsrc: Cleanup on BYE, timeout or when pad is reused
+         In this patch, we enabled 'autoremove' feature of rtpbin and also call
+         'clear-ssrc' on the rtpssrcdemux element when a pad is being reused. This
+         ensure that the jitterbuffer is removed and no threads accumulates.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1575>
+
+2020-09-04 14:18:13 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/rtp/gstrtpsrc.c:
+         rtpsrc: re-use the same src pad for streams that have the same payload type
+         Also use payload type when naming pads, this will make it easier to identify
+         pads and simplify the code.
+         Fixes #1395
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1575>
+
+2020-06-03 01:26:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.c:
+       * sys/d3d11/gstd3d11compositor.h:
+       * sys/d3d11/gstd3d11compositorbin.c:
+       * sys/d3d11/gstd3d11compositorbin.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Introduce d3d11compositor element
+         Add new video composition element which is equivalent to compositor
+         and glvideomixer elements. When d3d11 decoder elements are used,
+         d3d11compositor can do efficient graphics memory handling
+         (zero copying or at least copying memory on GPU memory space).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-08-05 17:27:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11shader.c:
+         d3d11shader: Allow drawing without shader resource view
+         ... for the case that we are rendering on target without input texture.
+         For example, we might want to draw arbitrary shape on render target view
+         without shader resource view.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-08-03 03:19:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+       * sys/d3d11/plugin.c:
+         d3d11convert: Add new subclasses for only color convert or resize
+         New d3d11colorconvert and d3d11scale elements will perform only
+         colorspace conversion and rescale, respectively. Those new elements
+         would be useful when only colorspace conversion or rescale is required
+         and the other part should be done by another elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-08-01 20:16:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+         d3d11colorconverter: Allow setting alpha value to use
+         ... used for reordering case for now. In other words, non-alpha formats
+         such as NV12 is not supported case yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-06-03 01:20:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11overlaycompositor.c:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11colorconverter: Add support conversion with blending
+         This is pre-work for d3d11compositor support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-06-03 00:59:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+         d3d11colorconverter: Add method to support updating destination rect
+         It's equivalent to GST_VIDEO_CONVERTER_OPT_DEST_* options of GstVideoConverter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-06-03 00:46:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11overlaycompositor.c:
+       * sys/d3d11/gstd3d11overlaycompositor.h:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11: Clarify target rect to be updated
+         Rename internal methods to clarify which rect (i.e., input or output)
+         should be updated
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1323>
+
+2020-10-02 10:02:38 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvcodec: Report latency in decoder based on max-display-delay
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2020-10-02 09:22:34 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvcodec: Add max-display-delay decoder property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2020-09-24 11:25:33 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Fix compiler error if OpenGL is not enabled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2020-09-24 10:33:58 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+         nvcodec: Add missing CUDAMemory src caps in h264 decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2020-09-23 13:49:43 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvcodec: Add missing CUDAMemory sink caps in h264 and h265 encoders
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2020-09-22 13:07:19 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * sys/nvcodec/gstcudadownload.c:
+         nvcodec: Fix description of cudadownload element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-08-11 15:02:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/cudaconvert.c:
+       * tests/check/elements/cudafilter.c:
+       * tests/check/meson.build:
+         tests: Add CUDA filter unit tests
+         Adding a test for buffer meta and colorspace conversion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-10-16 22:43:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudafilter.c:
+       * sys/nvcodec/gstcudascale.c:
+       * sys/nvcodec/gstcudascale.h:
+       * sys/nvcodec/meson.build:
+         nvcodec: Add CUDA video scale element
+         Add new element for video resizing using CUDA
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-10-16 22:42:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudabasefilter.c:
+       * sys/nvcodec/gstcudabasefilter.h:
+       * sys/nvcodec/gstcudaconvert.c:
+       * sys/nvcodec/gstcudaconvert.h:
+       * sys/nvcodec/gstcudafilter.c:
+       * sys/nvcodec/gstcudafilter.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add CUDA video convert element
+         Add new element for colorspace conversion using CUDA.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-10-16 22:42:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/cuda-converter.c:
+       * sys/nvcodec/cuda-converter.h:
+       * sys/nvcodec/gstcudacontext.c:
+       * sys/nvcodec/gstcudacontext.h:
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/stub/cuda.h:
+         nvcodec: Add generic CUDA video convert object
+         Introducing generic video convert object similar to video-converter
+         but using CUDA.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-10-16 22:42:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudanvrtc.c:
+       * sys/nvcodec/gstcudanvrtc.h:
+       * sys/nvcodec/gstnvrtcloader.c:
+       * sys/nvcodec/gstnvrtcloader.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/stub/nvrtc.h:
+         nvcodec: Add support runtime CUDA kernel source compilation
+         Add util functions for runtime CUDA kernel source compilation
+         using NVRTC library. Like other nvcodec dependent libraries,
+         NVRTC library will be loaded via g_module_open.
+         Note that the NVRTC library naming is not g_module_open friendly
+         on Windows.
+         (i.e., nvrtc64_{CUDA major version}{CUDA minor version}.dll).
+         So users can specify the dll name using GST_NVCODEC_NVRTC_LIBNAME
+         environment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-10-16 22:42:06 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudabasetransform.c:
+       * sys/nvcodec/gstcudabasetransform.h:
+       * sys/nvcodec/gstcudadownload.c:
+       * sys/nvcodec/gstcudadownload.h:
+       * sys/nvcodec/gstcudaupload.c:
+       * sys/nvcodec/gstcudaupload.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add CUDA upload/download elements with base class for CUDA filters
+         Similar to glupload/gldownload elements but for CUDA memory.
+         It will help transfer memory between system and nvidia GPU
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-10-16 22:21:05 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Peer direct access support
+         If support direct access each other, use device to device memory copy
+         without staging host memory
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-08-30 17:19:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudacontext.c:
+       * sys/nvcodec/gstcudacontext.h:
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+         cudacontext: Enable direct CUDA memory access over multiple GPUs
+         If each device context can access each other, enable peer access
+         for better interoperability.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-08-30 13:57:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Support CUDA buffer pool
+         When upstream support CUDA memory (only nvdec for now), we will create
+         CUDA buffer pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-08-30 13:55:25 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Support CUDA buffer pool
+         If downstream can accept CUDA memory caps feature (currently nvenc only),
+         always CUDA memory is preferred.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2019-08-19 18:02:56 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudabufferpool.c:
+       * sys/nvcodec/gstcudabufferpool.h:
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstcudamemory.c:
+       * sys/nvcodec/gstcudamemory.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/stub/cuda.h:
+         nvcodec: Add CUDA specific memory and bufferpool
+         Introducing CUDA buffer pool with generic CUDA memory support.
+         Likewise GL memory, any elements which are able to access CUDA device
+         memory directly can map this CUDA memory without upload/download
+         overhead via the "GST_MAP_CUDA" map flag.
+         Also usual GstMemory map/unmap is also possible with internal staging memory.
+         For staging, CUDA Host allocated memory is used (see CuMemAllocHost API).
+         The memory is allowing system access but has lower overhead
+         during GPU upload/download than normal system memory.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
+
+2020-10-16 12:29:02 +0100  Andrew Wesie <andrew@theori.io>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264parser: guard against ref_pic_markings overflow
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1703>
+
+2020-10-16 00:48:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/hls/gsthlssink2.c:
+         hlssink2: fix and flesh out docs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1699>
+
+2020-10-15 18:26:48 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstxmlhelper.c:
+       * meson.build:
+         meson: update glib minimum version to 2.56
+         In order to support the symbol g_enum_to_string in various
+         project using GStreamer ( gst-validate etc.), the glib minimum
+         version should be 2.56.0.
+         Remove compat code as glib requirement
+         is now > 2.56
+         Version used by Ubuntu 18.04 LTS
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1695>
+
+2020-10-12 01:04:13 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/d3d11/gstd3d11vp8dec.c:
+         d3d11: vp8dec: No need to check show_frame flag when output_picture.
+         The VP8 base class has already handled it for us.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1670>
+
+2020-10-12 00:57:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+         codecs: vp8decoder: handle the show_frame check in base class.
+         Move the show_frame check from sub class to vp8 decoder's base class.
+         Calling the sub class' output_picture() function only when the frame
+         is displayed and marking the other automatically as decode only.
+         This is done to avoid logic and code repetition in subclasses.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1670>
+
+2020-10-16 02:06:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         codecs: vp9decoder: handle the show_frame check in base class
+         Same as vp8 decoder update https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1670
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1697>
+
+2020-10-15 12:08:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2codecs: vp8: Allow baseclass from skipping frames
+         In preparation for !1670, this will allow the base class from skipping frames
+         that should not be displayed. Previously it would complain about unordered
+         decoding taking place in the driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1696>
+
+2020-10-15 12:05:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: decoder: Unmark previously pending request
+         requests are executed in order, so while dequeuing sink buffers for previous
+         request, also mark these request as no longer pending. This will allow reusing
+         the request later.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1696>
+
+2020-10-15 11:35:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: decoder: Properly remove pending requests
+         Pass the pointer instead of NULL in order to find and remove properly any
+         pending request from the queue. This coding error was leading to use after
+         free in error and early exit cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1696>
+
+2020-10-14 19:04:44 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: Create the other pool anyway.
+         Fix a bug in _create_other_pool(). The old way of checking the
+         base->other_pool make that other_pool never be changed until the
+         gst_va_base_dec_stop() to stop the current decoding context.
+         But in some stream, the resolution may change during the decoding
+         process, and we need to re-negotiate the buffer pool. Then, the
+         old other_pool can not be clean correctly and the new correct one
+         can not be created.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1692>
+
+2020-10-14 16:54:54 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: Should unmap src frame when dst frame map failing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1692>
+
+2020-10-13 15:28:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvapool.c:
+         va: bufferpool: use release_buffer to clean the mem.
+         The current bufferpool wastes all pre-allocate buffers when the
+         buffer pool is actived.
+         The pool->priv->size is 0 for va buffer pool. And every time, the
+         reset_buffer() will clean all mem and make the buffer size 0, that
+         can cache the gst_buffer in the buffer pool.
+         But when the buffer pool is activing, the default_start() just
+         allocate the buffer and release_buffer() immediately, all the pre
+         allocated buffers and surfaces are destroyed because of
+         gst_buffer_get_size (buffer) != pool->priv->size.
+         We need to use release_buffer() to do the clean job at the pool
+         start time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1686>
+
+2020-10-04 02:02:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Don't enable passthrough by default
+         SEI messages contain various information which wouldn't be conveyed
+         by using upstream CAPS (HDR, timecode for example).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1639>
+
+2020-10-13 13:11:06 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/opencv/gstcameracalibrate.cpp:
+         cameracalibrate: Improve gst-inspect documentation
+         Thanks to @kazz_naka on Twitter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1691>
+
+2020-10-07 21:13:09 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: add some debug logging around WPEView creation/destruction
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663>
+
+2020-10-07 21:14:55 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: fix a memory leak of the bytes
+         free the previous GBytes if load-bytes is called multiple times
+         before view creation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663>
+
+2020-10-06 22:19:21 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: only create webview if not already created
+         e.g. _decide_allocation() can be called multiple times throughout the
+         element's lifetime and we only want to create the view once rather than
+         overwriting.
+         Fixes a leak of the WPEView under certain circumstances.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663>
+
+2020-10-02 12:06:59 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: free a previous pending image/shm buffer
+         Don't blindly overwrite a possibly previously set buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663>
+
+2020-10-12 14:15:49 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtsrc.c:
+         srtsrc: Prevent `delay` from being negative
+         `delay` should be a GstClockTimeDiff since SRT time is int64_t.
+         All values are in local time so we should never see a srctime that's in
+         the future. If we do, clamp the delay to 0 and warn about it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1674>
+
+2020-10-12 14:12:24 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtsrc.c:
+         srtsrc: Don't calculate a delay if the srctime is 0
+         A zero srctime is a missing srctime. Apparently this can happen when
+         ["the connection is not between SRT peers or if Timestamp-Based Packet
+         Delivery mode (TSBPDMODE) is not enabled"][1] so it may not apply to us,
+         but it's best to be defensive.
+         [1]: https://github.com/Haivision/srt/blob/v1.4.2/docs/API.md#sending-and-receiving
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1674>
+
+2020-10-12 14:09:28 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtsrc.c:
+         srtsrc: Defend against missing clock
+         If we don't have a clock, stop the source instead of asserting in
+         gst_clock_get_time. This can happen when the element is removed from the
+         pipeline while it's playing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1674>
+
+2020-10-12 13:56:50 +0200  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsink.h:
+         rtpmanagerbad: remove duplicate parent declaration
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1689>
+
+2020-10-12 11:55:46 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+         rtmp2sink: fix since marker on new "stop-commands" property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1687>
+
+2020-10-09 16:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvavp8dec.c:
+         va: basedec: copy frames logic to decide_allocation()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1673>
+
+2020-10-09 15:47:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: refactor the other video pool instantiation
+         Just a code clean up
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1673>
+
+2020-10-08 19:39:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/meson.build:
+         va: basedec: add gstvabasedec helper
+         This is a helper for all decoders.
+         It is not an abstract subclass, just merely a helper that avoids code
+         duplication among the decoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1673>
+
+2020-10-09 10:33:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavp8dec.c:
+         va: vp8dec: add element documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1673>
+
+2020-10-09 12:27:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: set video alignment definition earlier
+         This patch renames need_cropping variable to need_videoalign which is clearer
+         with its function. And now GstVideoAlignment is part of GstVaH264Dec structure,
+         so it can be set earlier.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1673>
+
+2020-10-05 16:40:55 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+         dtlsconnection: Ignore OpenSSL system call errors
+         OpenSSL shouldn't be making real system calls, so we can safely
+         ignore syscall errors. System interactions should happen through
+         our BIO. So especially don't look at the system's errno, as it
+         should be meaningless.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1656>
+
+2020-09-12 02:48:43 +0200  Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+       * tests/check/elements/svthevcenc.c:
+         tests: svthevcenc: Fix test_encode_simple
+         Pick the same I420 format the other test use. Without this, the source
+         picks AYUV64, which fails.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1573>
+
+2020-10-07 18:03:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvapool.c:
+       * sys/va/gstvapool.h:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavpp.c:
+         va: allocator: add _set_format() and _get_format()
+         Since allocators keep an available memory queue to reuse, video format and usage
+         hint are now persistant while allocator's memories are around.
+         This patch adds _set_format() and _get_format() for both VA allocators.
+         _set_format() validates if given format can be used or reused. If no allocated
+         surface previously it creates a dummy one to fetch its offsets and
+         strides. Updated info is returned to callee.
+         GstVaPool uses _set_format() at config to verify the allocator capacity and to
+         get the surfaces offsets and strides, which are going to be used by the video
+         meta.
+         Allocator extracted caps are compared with caps from config and if they have
+         different strides or offsets, force_videometa is set.
+         A new bufferpool method gst_va_pool_requires_video_meta() is added return the
+         value of force_videometa. This value is checked in order to know if decoders
+         need to copy the surface if downstream doesn't announce video meta support.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-08 14:10:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvacaps.h:
+         va: caps: added gst_caps_is_raw()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-08 10:26:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: call parent's start() method
+         Without preallocating buffers and memories a deadlock in pool allocator is
+         highly probably since it might hit the case were buffer is returned to the pool
+         but their memories are still hold by a copy downstream, without other
+         preallocated buffers available.
+         This kind of a hack, where buffer_reset() follow the normal path if it's called
+         from start().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-07 16:18:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: fix log's object
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-08 10:30:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: remove noisy log message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-07 11:08:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: add a todo for dmabuf_memories_setup()
+         It would be nice to add a surface pool for this type of surface allocation in
+         order to have a better control of them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-07 10:16:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: add a surface counter
+         Every time a new surface is created the counter increases by one, and when it is
+         destroyed (or will be destroyed in case of GstVaAllocator), the counter is
+         decreased. Then, at allocator dispose, it is warning if the counter is not zero.
+         This counter will be also used to check if the allocator can change its
+         configuration if the counter is zero or can not.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-06 20:01:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: remove GstVideoInfo from GstVaBufferSurface
+         Don't store it them anymore since it is related with the negotiated stream and
+         not the concrete buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-06 19:54:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvavpp.c:
+         va: remove GstVideoInfo parameter from _get_surface() functions
+         There shouldn't be need to retrieve GstVideoInfo per buffer or memory since it
+         is the same for all the negotiated stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-06 19:40:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: don't fetch video info from buffer
+         Instead of fetching video info from the buffer, use the already set ones.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-07 12:49:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavpp.c:
+         va: dec, vpp: don't get buffer size from allocators
+         Since buffer size is now ignored by bufferpool there's no need to get tha value
+         from the allocator.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-04 11:14:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: ignore size in config
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1667>
+
+2020-10-05 11:07:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: set interlace-mode=interleaved on interlaced content
+         interlace-mode=alternate is a special case of interlace-mode=interleaved
+         where the fields are split using two different buffers.
+         We should use the latter instead of the former to no break compat with
+         elements supporting only 'interleaved'.
+         Decoders producing alternate, such as OMX on the Zynq, should change the
+         interlace-mode on their output caps.
+         Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1655>
+
+2020-10-09 10:24:50 +0200  Jacek Tomaszewski <lord.jacold@gmail.com>
+
+       * COPYING:
+       * COPYING.LIB:
+         Replace LGPL v2 with LGPL v2.1 in COPYING and remove COPYING.LIB
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1631>
+
+2020-10-02 11:42:07 +0200  Jacek Tomaszewski <lord.jacold@gmail.com>
+
+       * COPYING:
+         Replace GPL v2 with LGPL v2 in COPYING file
+         Fixes #1422
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1422
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1631>
+
+2020-10-08 17:52:05 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtsink.c:
+         srt: Consume the error from gst_srt_object_write
+         Instead of leaking it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1668>
+
+2020-10-08 17:48:20 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Check socket state before retrieving payload size
+         The connection might be broken, which we should detect instead of just
+         aborting the write.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1669>
+
+2020-10-08 18:25:59 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: fix deadlock on reconfig
+         Don't attempt to obtain encoder lock that is already held by
+         gst_x265_enc_encode_frame().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1671>
+
+2020-10-07 11:04:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * pkgconfig/gstreamer-webrtc-uninstalled.pc.in:
+       * pkgconfig/gstreamer-webrtc.pc.in:
+         webrtc: Require gstreamer-sdp in the pkg-config file
+         Some headers include API from it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1660>
+
+2020-10-06 11:45:36 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+       * ext/srt/gstsrtsrc.c:
+       * ext/srt/gstsrtsrc.h:
+         srtsrc: Fix timestamping
+         SRT provides the original timestamp of a packet (with drift/skew corrected for
+         local clock), which is what should be used for timestamping the outgoing
+         buffers. This ensures that we output the packets with the same timestamp (and by
+         extension rate) as the original feed.
+         Also detect if packets were dropped (by checking the sequence number) and
+         properly set DISCONT flag on the outgoing buffer.
+         Finally answer the latency queries
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1658>
+
+2020-10-07 05:05:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+         mfvideosrc: Use only the first video stream per device
+         Non-first video stream might not be working with current
+         implementation. It could be non-video (e.g., photo source) and then
+         ReadSample() might be blocked forever.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1661>
+
+2020-10-08 03:15:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink: Update doc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1665>
+
+2020-10-08 01:39:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/decklink/win/DeckLinkAPI.h:
+       * sys/decklink/win/DeckLinkAPI_i.c:
+         decklink: Update Windows headers with SDK 11.2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1665>
+
+2020-10-08 01:33:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/decklink/osx/DeckLinkAPI.h:
+       * sys/decklink/osx/DeckLinkAPIConfiguration.h:
+       * sys/decklink/osx/DeckLinkAPIDeckControl.h:
+       * sys/decklink/osx/DeckLinkAPIDiscovery.h:
+       * sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/osx/DeckLinkAPIModes.h:
+       * sys/decklink/osx/DeckLinkAPIStreaming.h:
+       * sys/decklink/osx/DeckLinkAPITypes.h:
+       * sys/decklink/osx/DeckLinkAPIVersion.h:
+         decklink: Update OSX headers with SDK 11.2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1665>
+
+2019-06-25 11:51:32 +0200  Tim <Timothee.Autin@ifremer.fr>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+       * sys/decklink/linux/DeckLinkAPI.h:
+       * sys/decklink/linux/DeckLinkAPIConfiguration.h:
+       * sys/decklink/linux/DeckLinkAPIDeckControl.h:
+       * sys/decklink/linux/DeckLinkAPIDiscovery.h:
+       * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/linux/DeckLinkAPIModes.h:
+       * sys/decklink/linux/DeckLinkAPITypes.h:
+       * sys/decklink/linux/DeckLinkAPIVersion.h:
+         decklink: Updated DeckLink SDK to 11.2 to support DeckLink 8K Pro
+         Updated Decklink SDK to version 11.2 in order to support newer cards like the Decklink 8K Pro.
+         This required to replace the duplex property by a profile property.
+         Profile values can be the following:
+         -  bmdProfileOneSubDeviceFullDuplex
+         -  bmdProfileOneSubDeviceHalfDuplex
+         -  bmdProfileTwoSubDevicesFullDuplex
+         -  bmdProfileTwoSubDevicesHalfDuplex
+         -  bmdProfileFourSubDevicesHalfDuplex
+         Fixes #987
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1665>
+
+2020-10-07 17:37:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+         mfvideosrc: Fix invalid memory access when outputting jpeg
+         Don't access unknown-dangerous-nonsense address
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1662>
+
+2020-10-08 18:50:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         Revert "webrtc: Save the media kind in the transceiver"
+         This reverts commit f54d8e99457996303b8477b1f3a710f0fabd1cc6.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-08 18:49:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+         Revert "rtpsender: Add API to set the priority"
+         This reverts commit a8b287c76472c8d7fd38800807c482d020ff4a63.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-08 18:49:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.h:
+         Revert "rtptransceiver: Store the SSRC of the current stream"
+         This reverts commit d1da271f255101dbe95a426d9f5065d300b53e5a.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-08 18:49:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         Revert "webrtcbin: Remove unused function"
+         This reverts commit 39723dbe934186c11f7b2a2b04c0af7932a1509c.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-08 18:49:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+       * ext/webrtc/meson.build:
+       * ext/webrtc/sctptransport.c:
+       * ext/webrtc/sctptransport.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+         Revert "webrtc: Set the DSCP markings based on the priority"
+         This reverts commit 8ba08598bbe51f3b1f063ae22605f9608865f16b.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-08 18:49:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         Revert "webrtc: Document more objects"
+         This reverts commit ad68c6b1eb7c73c66dc9d1dbf1a8cc47fd489c61.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-08 18:49:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         Revert "webrtc: Add hotdoc style since tags"
+         This reverts commit 63a5fa818c31ecbe43891c077a38b6b162d73c28.
+         It breaks the CI until the C# bindings are fixed.
+
+2020-10-06 16:52:48 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         webrtc: Add hotdoc style since tags
+         We're stuck having to add a separate comment for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-10-02 21:38:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         webrtc: Document more objects
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-07-08 17:24:36 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+       * ext/webrtc/meson.build:
+       * ext/webrtc/sctptransport.c:
+       * ext/webrtc/sctptransport.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+         webrtc: Set the DSCP markings based on the priority
+         This matches how the WebRTC javascript API works and the Chrome implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-07-09 13:45:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Remove unused function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-07-09 13:42:35 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.h:
+         rtptransceiver: Store the SSRC of the current stream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-07-09 13:39:03 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+         rtpsender: Add API to set the priority
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-07-08 19:13:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Save the media kind in the transceiver
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425>
+
+2020-10-06 13:39:23 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Remove unused sa_family tracking
+         Now that SRT no longer needs the family when creating the socket, this
+         code has become useless.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659>
+
+2020-10-02 03:39:40 +0200  Niklas Hambüchen <mail@nh2.me>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/meson.build:
+         srt: Move off deprecated `srt_socket()`.
+         See https://github.com/Haivision/srt/blob/73ee1e1a3e3adc2702a9a5057d101ef80447b38c/docs/API-functions.md#srt_socket
+         `srt_create_socket()` was added in
+         https://github.com/Haivision/srt/commit/4b897ba92d34f1829a1c6e419eeab17f0763a0fc
+         and srt `v1.3.0` is the first release that has it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659>
+
+2020-10-01 17:31:13 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrt.c:
+         srt: Register a log handler
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659>
+
+2020-09-25 19:17:35 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Avoid removing invalid sockets from the polls
+         This would provoke error messages from SRT.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659>
+
+2020-09-25 19:08:17 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Fix use of srt_startup
+         `srt_startup` can also return 1 if it was successful. Avoid warning in
+         this case.
+         Avoid a race when checking whether we need to call it at all.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659>
+
+2020-10-06 12:35:12 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Fix parameter types used for socket options
+         The [SRT documentation][1] specifies exact types for the socket options.
+         Make sure we match these.
+         This reverts the linger workaround in commit 84f8dbd932029220ee86154dd
+         and extends srt_constant_params to support other types than int.
+         [1]: https://github.com/Haivision/srt/blob/master/docs/APISocketOptions.md
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659>
+
+2020-09-29 18:52:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11upload.c:
+         d3d11upload: Allow passthrough for system memory
+         ... like how d3d11download and gl{upload,download} do.
+         This should've been part of the commit 9b72b04daddafb1c86cb6ab5923c593a70bc4166
+         but I missed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1645>
+
+2020-10-04 10:01:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: refactor flush methods for both allocators
+         Since the logic is the same, it can be generalized in a single common
+         function.
+         Also the methods run the common function with a lock and signal the
+         buffers' conditional.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-10-03 16:37:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: refactor GstVaDmabufAllocator
+         Move code down to group it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-10-03 16:30:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: refactor GstVaBuffersurface
+         Move code up and add namespace to methods, and renaming
+         _creating_buffer_surface() to the canonical
+         gst_va_buffer_surface_new()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-30 19:35:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvapool.c:
+         va: implement pooled allocators
+         1. Allocators don't implement memory free() methods since all the memories will
+         implement dispose() returning FALSE
+         2. Memory/miniobject dispose() will act as memory release, enqueueing the
+         release memory
+         3. A new allocator's method prepare_buffer() which queries the released memory
+         queue and will add the requiered memories to the buffer.
+         4. Allocators added a GCond to synchronize dispose() and prepare_buffer()
+         5. A new allocator's method flush() which will free for real the memories.
+         While the bufferpool will
+         1. Remove all the memories at reset_buffer()
+         2. Implement acquire_buffer() calling allocator's prepare_buffer()
+         3. Implement flush_start() calling allocator's flush()
+         4. start() is disabled since it pre-allocs buffers but also calls
+         our reset_buffer() which will drop the memories and later the
+         buffers are ditched, something we don't want. This approach avoids
+         buffer pre-allocation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-30 15:54:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: user gst_clear_object() for _buffer_surface_unref()
+         Event if this function is only used by gst_va_dmabuf_memories_setup(), it might
+         get reused later by GstVaDmabufAllocator's functions. This change makes the
+         function less fragile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-30 15:53:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: renamed gst_va_dmabuf_memory_release()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-30 15:48:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: renamed available_mems queue
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-30 15:45:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvapool.c:
+         va: allocator: rename gst_va_dmabuf_allocator_setup_buffer()
+         Since it's related with GstVaDmabufAllocator.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-29 15:03:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: calculated surface frame internally
+         Instead of using gst_buffer_get_size() just add the memory sizes reported by
+         exported fd.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-28 16:59:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: make GstVaMemory shareable
+         Renamed the first variable member of GstVaMemory from parent to mem in
+         order to avoid confusion with GstMemory's parent.
+         When freeing the structure, memory's parent is check in order to
+         decide if surfaces has to be destroyed or not, since only the parent
+         class have to destroy it.
+         Removed GST_MEMORY_FLAG_NO_SHARE in memory initialization, since it is
+         deprecated.
+         Implemented allocator's share virtual method which creates a new
+         shallow GstVaMemory structure based on the passed one which will be
+         it's parent.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-28 16:50:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: remove copy method for GstVaMemory
+         Since the memory has to be shareable. That will be address in the next
+         commits.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-09-24 17:32:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: remove va allocator mem_is_span() vmethod
+         Since it is the default by base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626>
+
+2020-10-01 03:47:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+         d3d11upload/d3d11download: Make use of staging buffer
+         ... instead of direct cpu map for d3d11memory object. In this way,
+         we don't need per GstD3D11Memory staging texture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1627>
+
+2020-10-03 18:53:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+         d3d11: Don't hold staging texture
+         Staging texture is used for memory transfer between system and
+         gpu memory. Apart from d3d11{upload,download} elements, however,
+         it should happen very rarely.
+         Before this commit, d3d11bufferpool was allocating at least one
+         staging texture in order to calculate cpu accessible memory size,
+         and it wasn't freed for later use of the texture unconditionally.
+         But it will increase system memory usage. Although GstD3D11memory
+         object is implemented so that support CPU access, most memory
+         transfer will happen in d3d11{upload,download} elements.
+         By this commit, the initial staging texture will be freed immediately
+         once cpu accessible memory size is calculated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1627>
+
+2020-09-26 03:27:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11basefilter.h:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11download.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11upload.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11videosinkbin.h:
+         d3d11: Move to G_DECLARE_FINAL_TYPE
+         ... and remove unnecessary forward declaration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1627>
+
+2020-10-04 16:33:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvacaps.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavpp.c:
+         va: caps: centralize caps feature discovering
+         These function were repeated in the different implemented
+         elements. This patch centralize them.
+         The side effect is dmabuf memory type is no longer checked with the
+         current VAContext, but assuming that dmabuf is a consequence of caps
+         negotiation from dynamic generated caps templates, where the context's
+         memory types are validated, there's no need to validate them twice.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1644>
+
+2020-10-04 12:43:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: fix counter variable reuse
+         There was a bug reusing the counter variable i in nested loops. Also
+         the patch makes the code cleaner.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1643>
+
+2019-10-02 11:17:09 +0200  Lars Lundqvist <larslu@axis.com>
+
+       * ext/curl/gstcurlbasesink.c:
+         curlbasesink: Add curl seek callback
+         Adding functionality to handle SEEK_SET enables rewinding of sent data.
+         In the HTTP case, this happens after an HTTP 401 has been received from
+         the other end. This will result in the sent data being resent.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1616>
+
+2020-09-29 15:52:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Correctly order the different dependent mode tables
+         One was forgotten in 309f6187fef890c7ffa49305f38e89beac3b1423.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1617>
+
+2020-09-19 00:26:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wasapi/gstwasapisrc.h:
+         wasapisrc: Make sure that wasapisrc produces data in loopback mode
+         An oddness of wasapi loopback feature is that capture client will not
+         produce any data if there's no outputting sound to corresponding
+         render client. In other words, if there's no sound to render,
+         capture task will stall. As an option to solve such issue, we can
+         add timeout to wake up from capture thread if there's no incoming data
+         within given time interval. But it seems to be glitch prone.
+         Another approach is that we can keep pushing silence data into
+         render client so that capture client can keep capturing data
+         (even if it's just silence).
+         This patch will choose the latter one because it's more straightforward
+         way and it's likely produce glitchless sound than former approach.
+         A bonus point of this approach is that loopback capture on Windows7/8
+         will work with this patch. Note that there's an OS bug prior to Windows10
+         when loopback capture client is running with event-driven mode.
+         To work around the bug, event signalling should be handled manually
+         for read thread to wake up.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1588>
+
+2020-09-29 23:46:00 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: fix some caps leaks using the non-GL output
+         Always chain up to the parent _stop() implementation as it unrefs some
+         caps (among other things).
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1409
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1618>
+
+2020-06-16 11:16:37 +0900  Hosang Lee <hosang10.lee@lge.com>
+
+       * ext/smoothstreaming/gstmssmanifest.c:
+       * ext/smoothstreaming/gstmssmanifest.h:
+         smoothstreaming: clear live adapter on seek
+         In live streaming, buffers sent by souphttpsrc are pushed to the live
+         adapter. The buffers in the adapter are sent out of mssdemux when it
+         is greater than 4096 bytes.
+         Occasionally, when seeking in live streams, if seek occurs just
+         after the last data chunk was received, and if this data chunk is
+         smaller than 4096 bytes, it will be kept in the live adapter.
+         This remaining data in the live adapter will be erroneously prepended
+         to the new data that is downloaded after seek and pushed out.
+         When qtdemux receives this data, since it does not start with
+         a moof box, it is impossible to demux the fragment, and bogus
+         size error will occur.
+         Clear out the live adapter on seek so that no unnecessary remaining
+         data is pushed out together with the new fragment after seeking.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1345>
+
+2020-09-30 10:47:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/plugin.c:
+         va: simplify VPP detection
+         Also the previous code failed if VPP was not present blacklisting the
+         plugin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1619>
+
+2020-06-15 15:24:07 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator.h:
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdkcontext.h:
+       * sys/msdk/gstmsdkvideomemory.c:
+         msdk: call vaExportSurfaceHandle() to get DMABuf FD
+         Compared to vaAcquireBufferHandle(), vaExportSurfaceHandle() may
+         provide the handle details, so we needn't call vaDeriveImage().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1353>
+
+2020-07-01 09:03:21 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+       * tests/check/elements/avtpcrfcheck.c:
+       * tests/check/elements/avtpcrfsync.c:
+       * tests/check/elements/avtpcvfdepay.c:
+         tests/avtp: Fix coverity issues
+         Fixes sign extension issues, unchecked return values and some constant
+         expression results.
+         CID: 1465073, 1465074, 1465075, 1465076, 1465077
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1398>
+
+2020-07-08 09:08:31 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfdepay.c:
+       * ext/avtp/gstavtpcvfpay.c:
+       * ext/avtp/gstavtpsrc.c:
+         avtp: Change "%lu" for G_GUINT64_FORMAT
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1398>
+
+2020-09-25 22:00:26 +0530  raghavendra <raghavendra.rao@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: typecast SRTO_LINGER to linger
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1615>
+
+2020-09-24 01:24:40 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvp8parser.c:
+         codecparsers: vp8parser: clear the frame_hdr before parsing.
+         Uninited frame_hdr may have garbage and may contain some wrong
+         results after the parsing process.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1587>
+
+2020-09-20 23:29:00 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp8dec.h:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         va: Implement the VA vp8 decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1587>
+
+2020-09-21 23:08:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvautils.h:
+         va: codestyle: Clear all tabs in header files
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1587>
+
+2020-09-21 12:51:53 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvautils.h:
+         va: util: make the _format_changed a common decoder function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1587>
+
+2020-09-24 12:36:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: allocate output buffers according DPB size
+         Instead of allocating the maximal number of references for output
+         buffers, this patch reduces the memory foot print in many cases by
+         just allocating the output buffers required for the DPB.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1595>
+
+2020-09-24 12:29:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvah264dec.c:
+         va: decoder: store output buffer rather than surface
+         GstVaDecodePicture stored the processed VASurfaceID, under the
+         assumption that the bufferpool with keep the referenced buffers, but
+         this approach is fragil.
+         This patch changes GstVaDecodePicture to store the output buffer,
+         which already contains its VASurfaceID, and provides a new method to
+         retrieve the VASurfaceID directly from picture.
+         Based on He Junyan <junyan.he@intel.com> patches for
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1587
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1594>
+
+2020-09-23 20:08:46 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/videotexturecache-vulkan.mm:
+         vtdec/vulkan: use Shared storage mode for IOSurface textures
+         Fixes a debug assertion with i(Pad)OS 14:
+         'IOSurface textures must use MTLStorageModeShared'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1592>
+
+2020-09-23 17:04:55 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Restore intervals when creating TsMux
+         Otherwise the settings from the properties would be overwritten with
+         the defaults.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1593>
+
+2020-09-19 14:26:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvavpp.c:
+       * sys/va/plugin.c:
+         va: vpp: global lock to handle shared buffers
+         Add a global mutex to exclusive access to shared stream buffers, such
+         as DMABufs or VASurfaces after a tee:
+         LIBVA_DRIVER_NAME=iHD \
+         gst-launch-1.0 v4l2src ! tee name=t t. ! queue ! \
+         vapostproc skin-tone=9 ! xvimagesink \
+         t. ! queue ! vapostproc ! xvimagesink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-16 09:18:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+       * sys/va/gstvavpp.h:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         va: add vapostproc element
+         Video postprocessor for VA-API
+         Funcionalities: resize frames, change format, import buffers, apply
+         filters (such as denoise, sharpen, orientation, if driver offers them).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-20 13:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: export composed layer for YUY2 and UYVY
+         This is a result of an error reported by i965 driver which only can
+         export composed layer for these formats. This seems to work too with
+         iHD. These formats are not exposed as native surfaces in Gallium.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-19 16:52:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvaallocator.h:
+         va: allocator: add gst_va_dmabuf_buffer_setup()
+         This function will take an array of DMABuf GstMemory and an array of
+         fd, and create a VASurfaceID with those fds. Later that VASurfaceID is
+         attached to each DMABuf through GstVaBufferSurface.
+         In order to free the surface GstVaBufferSurface now have GstVaDisplay
+         member, and _buffer_surface_unref() were added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-19 16:48:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: try to get VASurfaceID from every DMABuf allocator
+         Relax the check of the allocator type, because now the qdata can be
+         attached for other DMABuf allocators.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-09-12 13:10:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvavideoformat.c:
+         va: allocator: try to create surface without fourcc but chroma only
+         There are, in VPP, surfaces that doesn't support 4:2:2 fourccs but it
+         supports the chroma. So this patch gives that opportunity to the
+         driver.
+         This patch also simplifiies
+         gst_va_video_surface_format_from_image_format() to just an iterator
+         for surfaces available formats.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-19 16:45:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: create surfaces with VASurfaceAttribExternalBuffers
+         Add a new parameter to _create_surfaces(): a pointer to
+         VASurfaceAttribExternalBuffers.
+         If it's defined the memory type is changed to DRM_PRIME, also a new item is
+         added to the VASurfaceAttrib array with
+         VASurfaceAttribExternalBufferDescriptor.
+         Also, the VASurfaceAttrib for pixel format is not mandatory anymore. If fourcc
+         parameter is 0, is not added in the array, relying on the chroma. This is
+         useful when creating surfaces for uploading or downloading images.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-20 13:46:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: use gst_object_replace() for allocator
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-09-16 19:14:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadevice.c:
+         va: device: use gst_clear_object()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-08-18 19:12:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvacaps.h:
+         va: caps: expose gst_caps_set_format_array()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1529>
+
+2020-09-22 19:59:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: vah264dec: fix documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1591>
+
+2020-09-23 10:58:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264: unref leaked caps
+         Unref a leaked caps at set_latency().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1590>
+
+2020-07-20 10:13:13 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkav1dec.c:
+       * sys/msdk/gstmsdkav1dec.h:
+       * sys/msdk/meson.build:
+         msdk: add support for AV1 decoding
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1448>
+
+2020-09-19 21:43:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvautils.c:
+         va: utils: use GstObject for GstVaDisplay in context
+         Thus application could fetch the GstVaDisplay through the sync bus
+         without knowning the specific implementation, and sharing it or
+         extract properties.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1586>
+
+2020-09-19 21:36:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvautils.c:
+         va: utils: fix code style and wrong log message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1586>
+
+2020-09-14 09:48:48 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Plug event leak
+         Handled events don't go through the default pad event handler, so they need to
+         be unreffed in this case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568>
+
+2020-08-25 01:57:55 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: Don't crash if WPE doesn't generate a buffer.
+         On creating a 2nd wpesrc in a new pipeline in an app that already
+         has a runnig wpesrc, WPE sometimes doesn't return a buffer on request,
+         leading to a crash. This commit fixes the crash, but not the underlying
+         failure - a 2nd wpesrc can still error out instead.
+         Partially fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1386
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568>
+
+2020-09-11 12:51:56 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Plug SHM buffer leaks
+         Fixes #1409
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568>
+
+2020-09-10 14:39:58 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+         wpe: Move webview load waiting to WPEView
+         As waiting for the load to be finished is specific to the WebView, it should be
+         done from our WPEView, not from the WPEContextThread. This fixes issues where
+         multiple wpesrc elements are created in sequence. Without this patch the first
+         view might receive erroneous buffer notifications.
+         Fixes #1386
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568>
+
+2020-09-11 18:17:20 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+       * gst/audiobuffersplit/gstaudiobuffersplit.h:
+         audiobuffersplit: Add support for specifying output buffer size
+         Currently for buffer splitting only output duration can be specified.
+         Allow specifying a buffer size in bytes for splitting.
+         Consider a use case of the below pipeline
+         appsrc ! rptL16pay ! capsfilter ! rtpbin ! udpsink
+         Maintaining MTU for RTP transfer is desirable but in a scenario
+         where the buffers being pushed to appsrc do not adhere to this,
+         an audiobuffersplit element placed between appsrc and rtpL16pay
+         with output buffer size specified considering the MTU can help
+         mitigate this.
+         While rtpL16pay already has a MTU setting, in case of where an
+         incoming buffer has a size close to MTU, for eg. with a MTU of
+         1280, a buffer of size 1276 bytes would be split into two buffers,
+         one of 1268 and other of 8 bytes considering RTP header size of
+         12 bytes. Putting audiobuffersplit between appsrc and rtpL16pay
+         can take care of this.
+         While buffer duration could still be used being able to specify
+         the size in bytes is helpful here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1578>
+
+2020-09-10 13:05:23 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Use proper callback for TLS errors signal handling
+         The load-failed and load-failed-with-tls-errors signals expect distinct callback
+         signatures.
+         Fixes #1388
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1566>
+
+2020-09-20 08:31:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: add documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1585>
+
+2019-12-10 19:54:43 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: enable GPUCopy
+         Note it works for system memory only
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/910>
+
+2019-12-10 19:47:03 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: call MFXInitEx instead of MFXInit
+         MFXInitEx has more control than MFXInit. The current setting in this
+         commit is identical to MFXInit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/910>
+
+2020-09-19 14:08:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+         va: decoder: render picture only if data
+         Call vaRenderPicture() only if buffer or slice data is available.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1584>
+
+2020-09-17 19:54:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+         va: decoder: warn if decode fails on a surface
+         Instead of logging error if a step fails, it logs a warning message
+         reducing the noise and obeying the rule for errors since the program
+         doesn't end
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1584>
+
+2020-09-17 19:52:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: check is pad has fixed caps at caps query
+         Otherwise it will always reply with the possible driver caps, which
+         generates problems with Web MSE players.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1583>
+
+2020-09-19 05:39:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: Don't need to set pts/dts/duration on outputting frame
+         It will be handled by videodecoder baseclass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1582>
+
+2020-03-25 20:50:01 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/meson.build:
+         webrtcbin: Accept end-of-candidate pass it to libnice
+         libnice now supports the concept of end-of-candidate, so use the API
+         for it. This also means that if you don't do that, the webrtcbin will
+         never declared the connection as failed.
+         This requires bumping the dependency to libnice 0.1.16
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1139>
+
+2020-09-17 17:39:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Do not source using padded width/height
+         The width/height from the video meta can be padded width, height. But when
+         sourcing from padded buffer, we only want to use the valid pixels. This
+         rectangle is from the crop meta, orther it is deduces from the caps. The width
+         and height from the caps is save in the parent class, use these instead of the
+         GstVideoInfo when settting the src rectangle.
+         This fixes an issue with 1080p video displaying repeated or green at the
+         padded bottom 8 lines (seen with v4l2codecs).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1580>
+
+2020-09-18 01:41:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * tests/check/elements/d3d11colorconvert.c:
+         d3d11: Add support for packed 8bits 4:2:2 YUV formats
+         Note that newly added formats (YUY2, UYVY, and VYUY) are not supported
+         render target view formats. So such formats can be only input of d3d11convert
+         or d3d11videosink. Another note is that YUY2 format is a very common
+         format for hardware en/decoders on Windows.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1581>
+
+2020-08-26 17:48:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Merge the RTX SSRCs from all transceivers when bundling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1545>
+
+2020-09-15 17:09:57 +0200  Marian Cichy <m.cichy@pengutronix.de>
+
+       * ext/avtp/gstavtpaafdepay.c:
+         avtp: avtpaafdepay: fix crash when building caps
+         gst_caps_new_simple gets wrong types for rate and channel which
+         may lead to a crash.
+         As 64-bit values for rate, depth, format, channels does not
+         make much sense and since any other functionality in gstreamer
+         expects G_TYPE_INT for channels and rate, we should stick to that
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1576>
+
+2020-06-09 10:10:12 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst/videoparsers/gsth265parse.c:
+       * tests/check/libs/h265parser.c:
+         h265parse: recognize more HEVC extension streams
+         There are streams which have the right general_profile_idc and
+         general_profile_compatibility_flag, but don't have the right extension
+         flags. We may try to use chroma_format_idc and bit_depth to
+         recognize these streams.
+         e.g.
+         https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/SCC/IBF_Disabled_A_MediaTek_2.zip
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1328>
+
+2020-06-05 13:01:06 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * tests/check/libs/h265parser.c:
+         h265parser: select the right profile for high throughput SCC stream
+         Currently screen-extended-high-throughput-444 is recognized as
+         screen-extended-main-444, screen-extended-high-throughput-444-10 is
+         recognized as screen-extended-main-444-10 because they have the same
+         extension flags, so without this patch, it is possible that a decoder
+         which supports SCC but doesn't support throughput SCC will try to decode
+         a throughput SCC stream.
+         e.g.
+         https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/SCC/HT_A_SCC_Apple_2.zip
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1328>
+
+2020-09-08 14:43:49 +0800  Randy Li (ayaka) <ayaka@soulik.info>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: vpp: fixup passthrough checking for DMA
+         I think it is just a typo from e1a90f1ec9
+         msdkvpp: Disable passthrough if memory capsfeature changes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1559>
+
+2020-09-15 17:51:51 +0200  Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
+
+       * ext/wayland/wlshmallocator.c:
+       * meson.build:
+         waylandsink: Use memfd_create() when available
+         This (so-far) Linux- and FreeBSD-only API lets users create file
+         descriptors purely in memory, without any backing file on the filesystem
+         and the race condition which could ensue when unlink()ing it.
+         It also allows seals to be placed on the file, ensuring to every other
+         process that we won’t be allowed to shrink the contents, potentially
+         causing a SIGBUS when they try reading it.
+         This patch is best viewed with the -w option of git log -p.
+         It is an almost exact copy of Wayland commit
+         6908c8c85a2e33e5654f64a55cd4f847bf385cae, see
+         https://gitlab.freedesktop.org/wayland/wayland/merge_requests/4
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1577>
+
+2020-09-10 21:19:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: vp9decoder: Relying on upstream vp9parse for super frame handling
+         By this way, we can simplify the decoding flow. Moreover, we don't
+         need to worry about the case where multiple visible-frames are
+         composed in one super-frame, since upstream vp9parse will split
+         them per frame unit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1567>
+
+2020-09-10 21:42:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9picture.c:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+         codecs: vp9decoder: Remove unused pts variable
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1567>
+
+2020-09-12 00:12:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11vp9dec: Don't need to consider output_picture() call without GstVideoCodecFrame
+         Baseclass will be updated in order to ensure GstVideoCodecFrame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1567>
+
+2020-09-10 20:32:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11vp9dec: Specify profile and alignment on sink template
+         Set supported profile(s) on sink template caps, so that decodebin
+         can filter out this element if profile of given vp9 stream is not
+         supported by hardware decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1567>
+
+2020-09-10 21:31:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Cleanup code
+         * Don't need to set pts/dts/duration on output buffer of frame.
+         it's handled by baseclass
+         * Remove meaningless debug output
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1567>
+
+2020-08-22 12:44:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Calculate and set latency
+         Add gst_h264_decoder_set_latency(), which calculates and sets
+         latency on base decoder class, after new_sequence is called.
+         This assumes that in new_sequence() vmethod, callee negotiates
+         downstream caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1531>
+
+2020-08-22 12:47:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+         Revert "va: h264dec: set latency"
+         This reverts commit 3aedef4c8601dcafb065d8095a927f1cd528056f.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1531>
+
+2020-09-14 14:42:36 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * tests/check/gst-plugins-bad.supp:
+         validate: plug leak in gssdp
+         These are triggered by the webrtcbin tests
+         https://gitlab.gnome.org/GNOME/gssdp/-/issues/10
+
+2020-09-04 23:34:16 +0800  yychao <yychao@realtek.com>
+
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Parse Audio Preselection Descriptor
+         For Dolby AC4 audio experience, parsing PMTs/APD from transport stream layer for all available presentations.
+         Refer to ETSI EN 300 468 V1.16.1 (2019-05)
+         1. 6.4.1 Audio preselection descriptor
+         2. Table M.1: Mapping of codec specific values to the audio preselection descriptor
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1555>
+
+2020-09-04 23:28:58 +0800  yychao <yychao@realtek.com>
+
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Add new API for fetching extended descriptors
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1555>
+
+2020-08-26 15:45:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.h:
+       * ext/webrtc/webrtcsdp.c:
+       * ext/webrtc/webrtcsdp.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: propagate more errors through the promise
+         Return errors on promises when things fail where available.
+         Things like parsing errors, invalid states, missing fields, unsupported
+         transitions, etc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1565>
+
+2020-07-01 07:35:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+         meson: Do not warn when a windowing system is not found
+         Error out when the vulkan option is enabled, and just print
+         a message() otherwise. This is more correct and also allows us to pass
+         --fatal-meson-warnings more reliably.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1391>
+
+2020-09-10 10:35:11 -0700  Adam Williamson <awilliam@redhat.com>
+
+       * ext/opencv/meson.build:
+         opencv: set opencv_dep when option is disabled (#1406)
+         The examples build file checks opencv_dep, so it still needs to
+         be set even if the option is disabled.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1406
+         Signed-off-by: Adam Williamson <awilliam@redhat.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1570>
+
+2020-09-10 23:12:10 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/openh264/gstopenh264dec.cpp:
+         openh264dec: port to new request_sync_point() API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1571>
+
+2020-07-28 18:32:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         h264decoder: Fix various typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1563>
+
+2020-07-28 18:39:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Minor cleanup
+         Move few variables in their respective scope.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1563>
+
+2020-07-22 15:40:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Fix B-Frame weight table
+         We where not setting the luma l1 weight table.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1563>
+
+2020-09-09 21:38:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/videoparsers/gstvp9parse.c:
+       * gst/videoparsers/gstvp9parse.h:
+       * gst/videoparsers/meson.build:
+       * gst/videoparsers/plugin.c:
+       * tests/check/elements/vp9parse.c:
+       * tests/check/elements/vp9parse.h:
+       * tests/check/meson.build:
+         videoparsers: Add vp9parse element
+         Adding vp9parse element to parse various stream information such as
+         resolution, profile, and so on. If upstream does not provide resolution and/or
+         profile, this would be useful for decodebin pipeline for autoplugging
+         suitable decoder element depending on template caps of each decoder element.
+         In addition, vp9parse element supports unpacking superframe into
+         single frame for decoders. The vp9 superframe is a frame which consists
+         of multiple frames (or superframe with one frame is allowed) followed by superframe
+         index block. Then unpacked each frame will be considered as normal frame
+         by decoder. The decision for unpacking will be done by downstream element's
+         "alignment" caps field, which can be "super-frame" or "frame".
+         If downstream specifies the "alignment" as "frame",
+         then vp9parse element will split an incoming superframe into single frames
+         and the superframe index (located at the end of the superframe) data
+         will be discarded by vp9parse element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1041>
+
+2020-06-16 21:09:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourceobject.h:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmfvideosrc.c:
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+       * sys/mediafoundation/mediacapturewrapper.h:
+         mfvideosrc: Set timestamp on buffer when it's captured
+         Capture the timestamp immediately when new frame is arrived,
+         instead of doing that on ::create() method. There would be
+         time gap between captured time and outputting time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1351>
+
+2020-09-04 16:53:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstline21enc.c:
+       * ext/closedcaption/gstline21enc.h:
+       * tests/check/elements/line21.c:
+         line21enc: add remove-caption-meta property
+         Similar to #GstCCExtractor:remove-caption-meta
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1554>
+
+2020-09-04 02:38:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstline21enc.c:
+       * tests/check/elements/line21.c:
+         line21enc: heavily constrain video height
+         We can only determine a correct placement for the CC line
+         with:
+         * height == 525 (standard NTSC, line 21 / 22)
+         * height == 486 (NTSC usable lines + 6 lines for VBI, line 1 / 2)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1554>
+
+2020-09-04 02:33:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstline21enc.c:
+         line21enc: add support for CDP closed caption meta
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1554>
+
+2020-08-27 11:23:01 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Add another nominal bitrate fallback calculation
+         Some HTTP servers don't provide fragment sizes (with the Content-Length HTTP
+         header). In order to still figure out a nominal bitrate (for usage by queue2),
+         calculate on when we're done downloading a fragment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1544>
+
+2020-08-27 11:18:56 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Handle invalid HTTP duration
+         The default BYTE DURATION basesrc query handler will return `-1` and TRUE. In
+         order to properly handle cases where upstream http servers didn't return a valid
+         Content-Length we also need to check whether it was valid when calculating
+         bitrates.
+         Avoids returning completely bogus bitrates with gogol's video streaming services
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1544>
+
+2020-08-12 20:31:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideobuffer.cpp:
+       * sys/mediafoundation/gstmfvideobuffer.h:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mfvideoenc: Add support for zero-copy encoding
+         Add custom IMFMediaBuffer and IMF2DBuffer implementation in order to
+         keep track of lifecycle of Media Foundation memory object.
+         By this new implementation, we can pass raw memory of upstream buffer
+         to Media Foundation without copy.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1518>
+
+2020-09-01 13:28:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Replace stats queue with stats lock
+         Making the thread receiving the stats wait on the loop to respond was
+         not a good idea, as the latter can get blocked on the streaming thread.
+         Have get_stats read the values directly, adding a lock to ensure we
+         don't read garbage.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1550>
+
+2020-08-19 14:51:17 +0300  Nazar Mokrynskyi <nazar@mokrynskyi.com>
+
+       * docs/meson.build:
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/rtmp/rtmpclient.h:
+         rtmp2sink: add docs section with since marker on new stop-commands property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1256>
+
+2020-08-18 19:16:40 +0300  Nazar Mokrynskyi <nazar@mokrynskyi.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/rtmp2/gstrtmp2sink.c:
+         rtmp2: fix code style, update documentation cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1256>
+
+2020-08-18 14:05:26 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/gstrtmp2.c:
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmpclient.h:
+         rtmp2: Clean up (improve) GstRtmpStopCommands type
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1256>
+
+2020-05-02 04:49:42 +0300  Nazar Mokrynskyi <nazar@mokrynskyi.com>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmpclient.h:
+         rtmp2sink: handle EOS event and close stream
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1285
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1256>
+
+2020-09-02 15:29:49 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+         mpegtsmux: Make handling of sinkpads thread-safe
+         Ensure we take the object lock while accessing `GstElement.sinkpads`.
+         Use an iterator when the code isn't simple to avoid deadlock.
+         When we find the best pad, take a reference so a concurrent pad
+         release doesn't destroy the pad before we're done with it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1553>
+
+2020-09-01 13:29:30 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/hls/gsthlssink2.c:
+         hlssink2: Actually release splitmuxsink's pads
+         It was looking at the "outer" peer of the ghost pad, not the "inner"
+         peer (the target).
+         It provided the wrong pad to gst_element_release_request_pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1551>
+
+2020-09-08 10:48:56 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Don't create streams with reserved PID
+         There are quite a few reserved PID in the various MPEG-TS (and derivate)
+         specifications which we should definitely not use. Those PID have a certain
+         meaning and purpose.
+         Furthermore, a lot of the code in the muxer implementation also makes assumption
+         on the purpose of streams based on their PID.
+         Therefore, when requesting a pad with a specific PID, make sure it is not a
+         restricted PID.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1561>
+
+2020-09-08 17:30:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * .gitlab-ci.yml:
+         ci: include template from gst-ci master branch again
+
+2020-09-08 16:58:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
 === release 1.18.0 ===
 
 2020-09-08 00:07:45 +0100  Tim-Philipp Müller <tim@centricular.com>
 
+       * .gitlab-ci.yml:
        * ChangeLog:
        * NEWS:
        * README:
diff --git a/NEWS b/NEWS
index dba9c7c..cc6c3b4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,23 @@
-GStreamer 1.18 Release Notes
+GStreamer 1.20 Release Notes
 
-GStreamer 1.18.0 was originally released on 7 September 2020.
+GStreamer 1.20 has not been released yet. It is scheduled for release
+around July 2021.
 
-See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
+1.19.x is the unstable development version that is being developed in
+the git master branch and which will eventually result in 1.20, and
+1.19.1 is the current development release in that series
+
+It is expected that feature freeze will be around June/July 2021,
+followed by several 1.19 pre-releases and the new 1.20 stable release
+around July 2021.
+
+1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
+1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
+
+See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
 version of this document.
 
-Last updated: Monday 7 September 2020, 10:30 UTC (log)
+Last updated: Sunday 30 May 2021, 16:00 UTC (log)
 
 Introduction
 
@@ -18,1639 +30,87 @@ fixes and other improvements.
 
 Highlights
 
--   GstTranscoder: new high level API for applications to transcode
-    media files from one format to another
-
--   High Dynamic Range (HDR) video information representation and
-    signalling enhancements
-
--   Instant playback rate change support
-
--   Active Format Description (AFD) and Bar Data support
-
--   ONVIF trick modes support in both GStreamer RTSP server and client
-
--   Hardware-accelerated video decoding on Windows via DXVA2 /
-    Direct3D11
-
--   Microsoft Media Foundation plugin for video capture and
-    hardware-accelerated video encoding on Windows
-
--   qmlgloverlay: New overlay element that renders a QtQuick scene over
-    the top of an input video stream
-
--   New imagesequencesrc element to easily create a video stream from a
-    sequence of jpeg or png images
-
--   dashsink: Add new sink to produce DASH content
-
--   dvbsubenc: DVB Subtitle encoder element
-
--   TV broadcast compliant MPEG-TS muxing with constant bitrate muxing
-    and SCTE-35 support
-
--   rtmp2: new RTMP client source and sink element implementation
-
--   svthevcenc: new SVT-HEVC-based H.265 video encoder
-
--   vaapioverlay compositor element using VA-API
-
--   rtpmanager support for Google’s Transport-Wide Congestion Control
-    (twcc) RTP extension
-
--   splitmuxsink and splitmuxsrc gained support for auxiliary video
-    streams
-
--   webrtcbin now contains some initial support for renegotiation
-    involving stream addition and removal
-
--   New RTP source and sink elements to easily set up RTP streaming via
-    rtp:// URIs
-
--   New Audio Video Transport Protocol (AVTP) plugin for Time-Sensitive
-    Applications
-
--   Support for the Video Services Forum’s Reliable Internet Stream
-    Transport (RIST) TR-06-1 Simple Profile
-
--   Universal Windows Platform (UWP) support
-
--   rpicamsrc element for capturing from the Raspberry Pi camera
-
--   RTSP Server TCP interleaved backpressure handling improvements as
-    well as support for Scale/Speed headers
-
--   GStreamer Editing Services gained support for nested timelines,
-    per-clip speed rate control and the OpenTimelineIO format.
-
--   Autotools build system has been removed in favour of Meson
+-   this section will be completed in due course
 
 Major new features and changes
 
 Noteworthy new features and API
 
-Instant playback rate changes
-
-Changing the playback rate as quickly as possible so far always required
-a flushing seek. This generally works, but has the disadvantage of
-flushing all data from the playback pipeline and requiring the demuxer
-or parser to do a full-blown seek including resetting its internal state
-and resetting the position of the data source. It might also require
-considerable decoding effort to get to the right position to resume
-playback from at the higher rate.
-
-This release adds a new mechanism to achieve quasi-instant rate changes
-in certain playback pipelines without interrupting the flow of data in
-the pipeline. This is activated by sending a seek with the
-GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag and start_type = stop_type =
-GST_SEEK_TYPE_NONE. This flag does not work for all pipelines, in which
-case it is necessary to fall back to sending a full flushing seek to
-change the playback rate. When using this flag, the seek event is only
-allowed to change the current rate and can modify the trickmode flags
-(e.g. keyframe only or not), but it is not possible to change the
-current playback position, playback direction or do a flush.
-
-This is particularly useful for streaming use cases like HLS or DASH
-where the streaming download should not be interrupted when changing
-rate.
-
-Instant rate changing is handled in the pipeline in a specific sequence
-which is detailed in the seeking design docs. Most elements don’t need
-to worry about this, only elements that sync to the clock need some
-special handling which is implemented in the GstBaseSink base class, so
-should be taken care of automatically in most normal playback pipelines
-and sink elements.
-
-See Jan’s GStreamer Conference 2019 talk “Changing Playback Rate
-Instantly” for more information.
-
-You can try this feature by passing the -i command line option to
-gst-play-1.0. It is supported at least by qtdemux, tsdemux, hlsdemux,
-and dashdemux.
-
-Google Transport-Wide Congestion Control
-
-rtpmanager now supports the parsing and generating of RTCP messages for
-the Google Transport-Wide Congestion Control RTP Extension, as described
-in:
-https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01.
-
-This “just” provides the required plumbing/infrastructure, it does not
-actually make effect any actual congestion control on the sender side,
-but rather provides information for applications to use to make such
-decisions.
-
-See Håvard’s “Google Transport-Wide Congestion Control” talk for more
-information about this feature.
-
-GstTranscoder: a new high-level transcoding API for applications
-
-The new GstTranscoder library, along with transcodebin and
-uritranscodebin elements, provides high level API for applications to
-transcode media files from one format to another. Watch Thibault’s talk
-“GstTranscoder: A High Level API to Quickly Implement Transcoding
-Capabilities in your Applications” for more information.
-
-This also comes with a gst-transcoder-1.0 command line utility to
-transcode one URI into another URI based on the specified encoding
-profile.
-
-Active Format Description (AFD) and Bar Data support
-
-The GstVideo Ancillary Data API has gained support for Active Format
-Description (AFD) and Bar data.
-
-This includes various two new buffer metas: GstVideoAFDMeta and
-GstVideoBarMeta.
-
-GStreamer now also parses and extracts AFD/Bar data in the h264/h265
-video parsers, and supports both capturing them and outputting them in
-the decklink elements. See Aaron’s lightning talk at the GStreamer
-Conference for more background.
-
-ONVIF trick modes support in both GStreamer RTSP server and client
-
--   Support for the various trick modes described in section 6 of the
-    ONVIF streaming spec has been implemented in both gst-rtsp-server
-    and rtspsrc.
--   Various new properties in rtspsrc must be set to take advantage of
-    the ONVIF support
--   Examples are available here: test-onvif-server.c and
-    test-onvif-client.c
--   Watch Mathieu Duponchelle’s talk “Implementing a Trickmode Player
-    with ONVIF, RTSP and GStreamer” for more information and a live
-    demo.
-
-GStreamer Codecs library with decoder base classes
-
-This introduces a new library in gst-plugins-bad which contains a set of
-base classes that handle bitstream parsing and state tracking for the
-purpose of decoding different codecs. Currently H264, H265, VP8 and VP9
-are supported. These bases classes are meant primarily for internal use
-in GStreamer and are used in various decoder elements in connection with
-low level decoding APIs like DXVA, NVDEC, VAAPI and V4L2 State Less
-decoders. The new library is named gstreamer-codecs-1.0 /
-libgstcodecs-1.0 and is not yet guaranteed to be API stable across major
-versions.
-
-MPEG-TS muxing improvements
-
-The GStreamer MPEG-TS muxer has seen major improvements on various
-fronts in this cycle:
-
--   It has been ported to the GstAggregator base class which means it
-    can work in defined-latency mode with live input sources and
-    continue streaming if one of the inputs stops producing data.
-
--   atscmux, a new ATSC-specific tsmux subclass
-
--   Constant Bit Rate (CBR) muxing support via the new bitrate property
-    which allows setting the target bitrate in bps. If this is set the
-    muxer will insert null packets as padding to achieve the desired
-    multiplex-wide constant bitrate.
-
--   compliance fixes for TV broadcasting use cases (esp. ATSC). See
-    Jan’s talk “TV Broadcast compliant MPEG-TS” for details.
-
--   Streams can now be added and removed at runtime: Until now, any
-    streams in tsmux had to be present when the element started
-    outputting its first buffer. Now they can appear at any point during
-    the stream, or even disappear and reappear later using the same PID.
-
--   new pcr-interval property allows applications to configure the
-    desired interval instead of hardcoding it
-
--   basic SCTE-35 support. This is enabled by setting the scte-35-pid
-    property on the muxer. Sending SCTE-35 commands is then done by
-    creating the appropriate SCTE-35 GstMpegtsSection and sending them
-    on the muxer.
-
--   MPEG-2 AAC handling improvements
+-   this section will be filled in in due course
 
 New elements
 
--   New qmlgloverlay element for rendering a QtQuick scene over the top
-    of a video stream. qmlgloverlay requires that Qt support adopting an
-    external OpenGL context and is known to work on X11 and Windows.
-    Wayland is known not to work due to limitations within Qt. Check out
-    the example to see how it works.
-
--   The clocksync element is a generic element that can be placed in a
-    pipeline to synchronise passing buffers to the clock at that point.
-    This is similar to identity sync=true, but because it isn’t
-    GstBaseTransform-based, it can process GstBufferLists without
-    breaking them into separate GstBuffers. It is also more discoverable
-    than the identity option. Note that you do not need to insert this
-    element into your pipeline to make GStreamer sync to the pipeline
-    clock, this is usually handled automatically by the elements in the
-    pipeline (sources and sinks mostly). This element is useful to feed
-    non-live input such as local files into elements that expect live
-    input such as webrtcbin.`
-
--   New imagesequencesrc element to easily create a video stream from a
-    sequence of JPEG or PNG images (or any other encoding where the type
-    can be detected), basically a multifilesrc made specifically for
-    image sequences.
-
--   rpicamsrc element for capturing raw or encoded video (H.264, MJPEG)
-    from the Raspberry Pi camera. This works much like the popular
-    raspivid command line utility but outputs data nicely timestamped
-    and formatted in order to integrate nicely with other GStreamer
-    elements. Also comes with a device provider so applications can
-    discover the camera if available.
-
--   aatv and cacatv video filters that transform video ASCII art style
-
--   avtp: new Audio Video Transport Protocol (AVTP) plugin for Linux.
-    See Andre Guedes’ talk “Audio/Video Bridging (AVB) support in
-    GStreamer” for more details.
-
--   clockselect: a pipeline element that enables clock selection/forcing
-    via gst-launch pipeline syntax.
-
--   dashsink: Add new sink to produce DASH content. See Stéphane’s talk
-    or blog post for details.
-
--   dvbsubenc: a DVB subtitle encoder element
-
--   microdns: a libmicrodns-based mdns device provider to discover RTSP
-    cameras on the local network
-
--   mlaudiosink: new audio sink element for the Magic Leap platform,
-    accompanied by an MLSDK implementation in the amc plugin
-
--   msdkvp9enc: VP9 encoder element for the Intel MediaSDK
-
--   rist: new plugin implementing support for the Video Services Forum’s
-    Reliable Internet Stream Transport (RIST) TR-06-1 Simple Profile.
-    See Nicolas’ blog post “GStreamer support for the RIST
-    Specification” for more details.
-
--   rtmp2: new RTMP client source and sink elements with fully
-    asynchronous network operations, better robustness and additional
-    features such as handling ping and stats messages, and adobe-style
-    authentication. The new rtmp2src and rtmp2sink elements should be
-    API-compatible with the old rtmpsrc / rtmpsink elements and should
-    work as drop-in replacements.
-
--   new RTP source and sink elements to easily set up RTP streaming via
-    rtp:// URIs: The rtpsink and rtpsrc elements add an URI interface so
-    that streams can be decoded with decodebin using rtp:// URIs. These
-    can be used as follows: ``` gst-launch-1.0 videotestsrc ! x264enc !
-    rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234
-
-    gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1
-    ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0 rtpsrc
-    uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay !
-    avdec_h264 ! videoconvert ! xvimagesink
-
-    gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay
-    config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0
-    rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay
-    ! avdec_mpeg4 ! videoconvert ! xvimagesink ```
-
--   svthevcenc: new SVT-HEVC-based H.265 video encoder
-
--   switchbin: new helper element which chooses between a set of
-    processing chains (paths) based on input caps, and changes the
-    active chain if new caps arrive. Paths are child objects, which are
-    accessed by the GstChildProxy interface. See the switchbin
-    documentation for a usage example.
-
--   vah264dec: new experimental va plugin with an element for H.264
-    decoding with VA-API using GStreamer’s new stateless decoder
-    infrastructure (see Linux section below).
-
--   v4l2codecs: introduce an V4L2 CODECs Accelerator supporting the new
-    CODECs uAPI in the Linux kernel (see Linux section below)
-
--   zxing new plugin to detect QR codes and barcodes, based on libzxing
-
--   also see the Rust plugins section below which contains plenty of new
-    exciting plugins written in Rust!
+-   this section will be filled in in due course
 
 New element features and additions
 
-GStreamer core
-
--   filesink: Add a new “full” buffer mode. Previously the default and
-    full modes were the same. Now the default mode is like before: it
-    accumulates all buffers in a buffer list until the threshold is
-    reached and then writes them all out, potentially in multiple
-    writes. The new full mode works by always copying memory to a single
-    memory area and writing everything out with a single write once the
-    threshold is reached.
-
--   multiqueue: Add stats property and
-    current-level-{buffers, bytes, time} pad properties to query the
-    current levels of the corresponding internal queue.
-
-Plugins Base
-
--   alsa: implement a device provider
-
--   alsasrc: added use-driver-timestamp property to force use of
-    pipeline timestamps (and disable driver timestamps) if so desired
-
--   audioconvert: fix changing the mix-matrix property at runtime
-
--   appsrc: added support for segment forwarding or custom GstSegments
-    via GstSample, enabled via the handle-segment-change property. This
-    only works for segments in TIME format for now.
-
--   compositor: various performance optimisations, checkerboard drawing
-    fixes, and support for VUYA format
-
--   encodebin: Fix and refactor smart encoding; ensure that a single
-    segment is pushed into encoders; improve force-key-unit event
-    handling.
-
--   opusenc: Add low delay option (audio-type=restricted-lowdelay) to
-    disable the SILK layer and achieve only 5ms delay.
-
--   opusdec: add stats property to retrieve various decoder statistics.
-
--   uridecodebin3: Let decodebin3 do its stream selection if no one
-    answers
-
--   decodebin3: Avoid overriding explicit user selection of streams
-
--   playbin: add flag to force use of software decoders over any
-    hardware decoders that might also be available
-
--   playbin3, playbin: propagate sink context
-
--   rawvideoparse: Fix tiling support, allow setting colorimetry
-
--   subparse: output plain utf8 text instead of pango-markup formatted
-    text if downstream requires it, useful for interop with elements
-    that only accept utf8-formatted subtitles such as muxers or closed
-    caption converters.
-
--   tcpserversrc, tcpclientsrc: add stats property with TCP connection
-    stats (some are only available on Linux though)
-
--   timeoverlay: add show-times-as-dates, datetime-format and
-    datetime-epoch properties to display times with dates
-
--   videorate: Fix changing rate property during playback; reverse
-    playback fixes; update QoS events taking into account our rate
-
--   videoscale: pass through and transform size sensitive metas instead
-    of just dropping them
-
-Plugins Good
-
--   avidemux can handle H.265 video now. Our advice remains to
-    immediately cease all contact and communication with anyone who
-    hands you H.265 video in an AVI container, however.
-
--   avimux: Add support for S24LE and S32LE raw audio and v210 raw video
-    formats; support more than 2 channels of raw audio.
-
--   souphttpsrc: disable session sharing and cookie jar when the cookies
-    property is set; correctly handle seeks past the end of the content
-
--   deinterlace: new YADIF deinterlace method which should provide
-    better quality than the existing methods and is LGPL licensed;
-    alternate fields are supported as input to the deinterlacer as well
-    now, and there were also fixes for switching the deinterlace mode on
-    the fly.
-
--   flvmux: in streamable mode allow adding new pads even if the initial
-    header has already been written. Old clients will only process the
-    initial stream, new clients will get a header with the new streams.
-    The skip-backwards-streams property can be used to force flvmux to
-    skip and drop a few buffers rather than produce timestamps that go
-    backward and confuse librtmp-based clients. There’s also better
-    handling for timestamp rollover when streaming for a long time.
-
--   imagefreeze: Add live mode, which can be enabled via the new is-live
-    property. In this mode frames will only be output in PLAYING state
-    according to the negotiated framerate, skipping frames if the output
-    can’t keep up (e.g. because it’s blocked downstream). This makes it
-    possible to actually use imagefreeze in live pipelines without
-    having to manually ensure somehow that it starts outputting at the
-    current running time and without still risking to fall behind
-    without recovery.
-
--   matroskademux, qtdemux: Provide audio lead-in for some lossy formats
-    when doing accurate seeks, to make sure we can actually decode
-    samples at the desired position. This is especially important for
-    non-linear audio/video editing use-cases.
-
--   matroskademux, matroskamux: Handle interlaced field order (tff, bff)
-
--   matroskamux:
-
-    -   new offset-to-zero property to offset all streams to start at
-        zero. This takes the timestamp of the earliest stream and
-        offsets it so that it starts at 0. Some software (VLC,
-        ffmpeg-based) does not properly handle Matroska files that start
-        at timestamps much bigger than zero, which could happen with
-        live streams.
-    -   added a creation-time property to explicitly set the creation
-        time to write into the file headers. Useful when remuxing, for
-        example, but also for live feeds where the DateUTC header can be
-        set a UTC timestamp corresponding to the beginning of the file.
-    -   the muxer now also always waits for caps on sparse streams, and
-        warns if caps arrive after the header has already been sent,
-        otherwise the subtitle track might be silently absent in the
-        final file. This might affect applications that send sparse data
-        into matroskamux via an appsrc element, which will usually not
-        send out the initial caps before it sends out the first buffer.
-
--   pulseaudio: device provider improvements: fix discovery of
-    newly-added devices and hide the alsa device provider if we provide
-    alsa devices
-
--   qtdemux: raw audio handling improvements, support for AC4 audio, and
-    key-units trickmode interval support
-
--   qtmux:
-
-    -   was ported to the GstAggregator base class which allows for
-        better handling of live inputs, but might entail minor
-        behavioural changes for sparse inputs if inputs are not live.
-    -   has also gained a force-create-timecode-trak property to create
-        a timecode trak in non-mov flavors, which may not be supported
-        by Apple but is supported by other software such as Final Cut
-        Pro X
-    -   also a force-chunks property to force the creation of chunks
-        even in single-stream files, which is required for Apple ProRes
-        certification.
-    -   also supports 8k resolutions in prefill mode with ProRes.
-
--   rtpbin gained a request-jitterbuffer signal which allows
-    applications to plug in their own jitterbuffer implementation such
-    as the threadsharing jitterbuffer from the Rust plugins, for
-    example.
-
--   rtprtxsend: add clock-rate-map property to allow generic RTP input
-    caps without a clock-rate whilst still supporting the max-size-time
-    property for bundled streams.
-
--   rtpssrcdemux: introduce max-streams property to guard against
-    attacks where the sender changes SSRC for every RTP packet.
-
--   rtph264pay, rtph264pay: implement STAP-A and various aggregation
-    modes controled by the new aggegrate-mode property: none to not
-    aggregate NAL units (as before), zero-latency to aggregate NAL units
-    until a VCL or suffix unit is included, or max to aggregate all NAL
-    units with the same timestamp (which adds one frame of latency). The
-    default has been kept at none for backwards compatibility reasons
-    and because various RTP/RTSP implementions don’t handle aggregation
-    well. For WebRTC use cases this should be set to zero-latency,
-    however.
-
--   rtpmp4vpay: add support for config-interval=-1 to resend headers
-    with each IDR keyframe, like other video payloaders.
-
--   rtpvp8depay: Add wait-for-keyframe property for waiting until the
-    next keyframe after packet loss. Useful if the video stream was not
-    encoded with error resilience enabled, in which case packet loss
-    tends to cause very bad artefacts when decoding, and waiting for the
-    next keyframe instead improves user experience considerably.
-
--   splitmuxsink and splitmuxsrc can now handle auxiliary video streams
-    in addition to the primary video stream. The primary video stream is
-    still used to select fragment cut points at keyframe boundaries.
-    Auxilliary video streams may be broken up at any packet - so
-    fragments may not start with a keyframe for those streams.
-
--   splitmuxsink:
-
-    -   new muxer-preset and sink-preset properties for setting
-        muxer/sink presets
-    -   a new start-index property to set the initial fragment id
-    -   and a new muxer-pad-map property which explicitly maps
-        splitmuxsink pads to the muxer pads they should connect to,
-        overriding the implicit logic that tries to match pads but
-        yields arbitrary names.
-    -   Also includes the actual sink element in the fragment-opened and
-        fragment-closed element messages now, which is especially useful
-        for sinks without a location property or when finalisation of
-        the fragments is done asynchronously.
-
--   videocrop: add support for Y444, Y41B and Y42B pixel formats
-
--   vp8enc, vp9enc: change default value of VP8E_SET_STATIC_THRESHOLD
-    from 0 to 1 which matches what Google WebRTC does and results in
-    lower CPU usage; also added a new bit-per-pixel property to select a
-    better default bitrate
-
--   v4l2: add support for ABGR, xBGR, RGBA, and RGBx formats and for
-    handling interlaced video in alternate fields interlace mode (one
-    field per buffer instead of one frame per picture with both fields
-    interleaved)
-
--   v4l2: Profile and level probing support for H264, H265, MPEG-4,
-    MPEG-2, VP8, and VP9 video encoders and decoders
-
-Plugins Ugly
-
--   asfdemux: extract more metadata: disc number and disc count
-
--   x264enc:
-
-    -   respect YouTube bitrate recommendation when user sets the
-        YouTube profile preset
-    -   separate high-10 video formats from 8-bit formats to improve
-        depth negotiation and only advertise suitable input raw formats
-        for the desired output depth
-    -   forward downstream colorimetry and chroma-site restrictions to
-        upstream elements
-    -   support more color primaries/mappings
-
-Plugins Bad
-
--   av1enc: add threads, row-mt and tile-{columns,rows} properties for
-    this AOMedia AV1 encoder
-
--   ccconverter: implement support for CDP framerate conversions
-
--   ccextractor: Add remove-caption-meta property to remove caption
-    metas from the outgoing video buffers
-
--   decklink: add support for 2K DCI video modes, widescreen NTSC/PAL,
-    and for parsing/outputting AFD/Bar data. Also implement a simple
-    device provider for Decklink devices.
-
--   dtlsrtpenc: add rtp-sync property which synchronises RTP streams to
-    the pipeline clock before passing them to funnel for merging with
-    RTCP.
-
--   fdkaac: also decode MPEG-2 AAC; encoder now supports more
-    multichannel/surround sound layouts
-
--   hlssink2: add action signals for custom playlist/fragment handling:
-    Instead of always going through the file system API we allow the
-    application to modify the behaviour. For the playlist itself and
-    fragments, the application can provide a GOutputStream. In addition
-    the sink notifies the application whenever a fragment can be
-    deleted.
-
--   interlace: can now output data in alternate fields mode; added field
-    switching mode for 2:2 field pattern
-
--   iqa: Add a mode property to enable strict mode that checks that all
-    the input streams have the exact same number of frames; also
-    implement the child proxy interface
-
--   mpeg2enc: add disable-encode-retries property for lower CPU usage
-
--   mpeg4videoparse: allow re-sending codec config at IDR via
-    config-interval=-1
-
--   mpegtsparse: new alignment property to determine number of TS
-    packets per output buffer, useful for feeding an MPEG-TS stream for
-    sending via udpsink. This can be used in combination with the
-    split-on-rai property that makes sure to start a new output buffer
-    for any TS packet with the Random Access Indicator set. Also set
-    delta unit buffer flag on non-random-access buffers.
-
--   mpegdemux: add an ignore-scr property to ignore the SCR in
-    non-compliant MPEG-PS streams with a broken SCR, which will work as
-    long as PTS/DTS in the PES header is consistently increasing.
-
--   tsdemux:
-
-    -   add an ignore-pcr property to ignore MPEG-TS streams with broken
-        PCR streams on which we can’t reliably recover correct
-        timestamps.
-    -   new latency property to allow applications to lower the
-        advertised worst-case latency of 700ms if they know their
-        streams support this (must have timestamps in higher frequency
-        than required by the spec)
-    -   support for AC4 audio
-
--   msdk - Intel Media SDK plugin for hardware-accelerated video
-    decoding and encoding on Windows and Linux:
-
-    -   mappings for more video formats: Y210, Y410, P012_LE, Y212_LE
-    -   encoders now support bitrate changes and input format changes in
-        playing state
-    -   msdkh264enc, msdkh265enc: add support for CEA708 closed caption
-        insertion
-    -   msdkh264enc, msdkh265enc: set Region of Interest (ROI) region
-        from ROI metas
-    -   msdkh264enc, msdkh265enc: new tune property to enable low-power
-        mode
-    -   msdkh265enc: add support 12-bit 4:2:0 encoding and 8-bit 4:2:2
-        encoding and VUYA, Y210, and Y410 as input formats
-    -   msdkh265enc: add support for screen content coding extension
-    -   msdkh265dec: add support for main-12/main-12-intra,
-        main-422-10/main-422-10-intra 10bit,
-        main-422-10/main-422-10-intra 8bit,
-        main-422-12/main-422-12-intra, main-444-10/main-444-10-intra,
-        main-444-12/main-444-12-intra, and main-444 profiles
-    -   msdkvp9dec: add support for 12-bit 4:4:4
-    -   msdkvpp: add support for Y410 and Y210 formats, cropping via
-        properties, and a new video-direction property.
-
--   mxf: Add support for CEA-708 CDP from S436 essence tracks. mxfdemux
-    can now handle Apple ProRes
-
--   nvdec: add H264 + H265 stateless codec implementation nvh264sldec
-    and nvh265sldec with fewer features but improved latency. You can
-    set the environment variable GST_USE_NV_STATELESS_CODEC=h264 to use
-    the stateless decoder variant as nvh264dec instead of the “normal”
-    NVDEC decoder implementation.
-
--   nvdec: add support for 12-bit 4:4:4/4:2:0 and 10-bit 4:2:0 decoding
-
--   nvenc:
-
-    -   add more rate-control options, support for B-frame encoding (if
-        device supports it), an aud property to toggle Access Unit
-        Delimiter insertion, and qp-{min,max,const}-{i,p,b} properties.
-    -   the weighted-pred property enables weighted prediction.
-    -   support for more input formats, namely 8-bit and 10-bit RGB
-        formats (BGRA, RGBA, RGB10A2, BGR10A2) and YV12 and VUYA.
-    -   on-the-fly resolution changes are now supported as well.
-    -   in case there are multiple GPUs on the system, there are also
-        per-GPU elements registered now, since different devices will
-        have different capabilities.
-    -   nvh265enc can now support 10-bit YUV 4:4:4 encoding and 8-bit
-        4:4:4 / 10-bit 4:2:0 formats up to 8K resolution (with some
-        devices). In case of HDR content HDR related SEI nals will be
-        inserted automatically.
-
--   openjpeg: enable multi-threaded decoding and add support for
-    sub-frame encoding (for lower latency)
-
--   rtponviftimestamp: add opt-out “drop-out-of-segment” property
-
--   spanplc: new stats property
-
--   srt: add support for IPv6 and for using hostnames instead of IP
-    addresses; add streamid property, but also allow passing the id via
-    the stream URI; add wait-for-connection property to srtsink
-
--   timecodestamper: this element was rewritten with an updated API
-    (properties); it has gained many new properties, seeking support and
-    support for linear timecode (LTC) from an audio stream.
-
--   uvch264src now comes with a device provider to advertise available
-    camera sources that support this interface (mostly Logitech C920s)
-
--   wpe: Add software rendering support and support for mouse scroll
-    events
-
--   x265enc: support more 8/10/12 bits 4:2:0, 4:2:2 and 4:4:4 profiles;
-    add support for mastering display info and content light level
-    encoding SEIs
-
-gst-libav
-
--   Add mapping for SpeedHQ video codec used by NDI
-
--   Add mapping for aptX and aptX-HD
-
--   avivf_mux: support VP9 and AV1
-
--   avvidenc: shift output buffer timestamps and output segment by 1h
-    just like x264enc does, to allow for negative DTS.
-
--   avviddec: Limit default number of decoder threads on systems with
-    more than 16 cores, as the number of threads used in avdec has a
-    direct impact on the latency of the decoder, which is of as many
-    frames as threads, so a large numbers of threads can make for
-    latency levels that can be problematic in some applications.
-
--   avviddec: Add thread-type property that allows applications to
-    specify the preferred multithreading method (auto, frame, slice).
-    Note that thread-type=frame may introduce additional latency
-    especially in live pipelines, since it introduces a decoding delay
-    of number of thread frames.
+-   this section will be filled in in due course
 
 Plugin and library moves
 
--   There were no plugin moves or library moves in this cycle.
+-   this section will be filled in in due course
 
--   The rpicamsrc element was moved into -good from an external
-    repository on github.
+-   There were no plugin moves or library moves in this cycle.
 
 Plugin removals
 
 The following elements or plugins have been removed:
 
--   The yadif video deinterlacing plugin from gst-plugins-bad, which was
-    one of the few GPL licensed plugins, has been removed in favour of
-    deinterlace method=yadif.
-
--   The avdec_cdgraphics CD Graphics video decoder element from
-    gst-libav was never usable in GStreamer and we now have a cdgdec
-    element written in Rust in gst-plugins-rs to replace it.
-
--   The VDPAU plugin has been unmaintained and unsupported for a very
-    long time and does not have the feature set we expect from
-    hardware-accelerated video decoders. It’s been superseded by the
-    nvcodec plugin leveraging NVIDIA’s NVDEC API.
+-   this section will be filled in in due course
 
 Miscellaneous API additions
 
-GStreamer core
-
--   gst_task_resume(): This new API allows resuming a task if it was
-    paused, while leaving it in stopped state if it was stopped or not
-    started yet. This can be useful for callback-based driver workflows,
-    where you basically want to pause and resume the task when buffers
-    are notified while avoiding the race with a gst_task_stop() coming
-    from another thread.
-
--   info: add printf extensions GST_TIMEP_FORMAT and GST_STIMEP_FORMAT
-    for printing GstClockTime/GstClockTimeDiff pointers, which is much
-    more convenient to use in debug log statements than the usual
-    GST_TIME_FORMAT-followed-by-GST_TIME_ARGS dance. Also add an
-    explicit GST_STACK_TRACE_SHOW_NONE enum value.
-
--   gst_element_get_current_clock_time() and
-    gst_element_get_current_running_time(): new helper functions for
-    getting an element clock’s time, and the clock time minus base time,
-    respectively. Useful when adding additional input branches to
-    elements such as compositor, audiomixer, flvmux, interleave or
-    input-selector to determine initial pad offsets and such.
-
--   seeking: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED to just skip
-    B-frames during trick mode, showing both keyframes + P-frame, and
-    add support for it in h264parse and h265parse.
-
--   elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE to allow
-    elements to advertise that they are hardware-based or interact with
-    hardware. This has multiple applications:
-
-    -   it makes it possible to easily differentiate hardware and
-        software based element implementations such as audio or video
-        encoders and decoders. This is useful in order to force the use
-        of software decoders for specific use cases, or to check if a
-        selected decoder is actually hardware-accelerated or not.
-    -   elements interacting with hardware and their respective drivers
-        typically don’t know the actually supported capabilities until
-        the element is set into at least READY state and can open a
-        device handle and probe the hardware.
-
--   gst_uri_from_string_escaped(): identical to gst_uri_from_string()
-    except that the userinfo and fragment components of the URI will not
-    be unescaped while parsing. This is needed for correctly parsing
-    usernames or passwords with : in them .
-
--   paramspecs: new GstParamSpec flag GST_PARAM_CONDITIONALLY_AVAILABLE
-    to indicate that a property might not always exist.
-
--   gst_bin_iterate_all_by_element_factory_name() finds elements in a
-    bin by factory name
-
--   pad: gst_pad_get_single_internal_link() is a new convenience
-    function to return the single internal link of a pad, which is
-    useful e.g. to retrieve the output pad of a new multiqueue request
-    pad.
-
--   datetime: Add constructors to create datetimes with timestamps in
-    microseconds, gst_date_time_new_from_unix_epoch_local_time_usecs()
-    and gst_date_time_new_from_unix_epoch_utc_usecs().
-
--   gst_debug_log_get_lines() gets debug log lines formatted in the same
-    way the default log handler would print them
-
--   GstSystemClock: Add GST_CLOCK_TYPE_TAI as GStreamer abstraction for
-    CLOCK_TAI, to support transmission offloading features where network
-    packets are timestamped with the time they are deemed to be actually
-    transmitted. Useful in combination with the new AVTP plugin.
-
--   miscellaneous utility functions: gst_clear_uri(),
-    gst_structure_take().
-
--   harness: Added gst_harness_pull_until_eos()
-
--   GstBaseSrc:
-
-    -   gst_base_src_new_segment() allows subclasses to update the
-        segment to be used at runtime from the ::create() function. This
-        deprecates gst_base_src_new_seamless_segment()
-    -   gst_base_src_negotiate() allows subclasses to trigger format
-        renegotiation at runtime from inside the ::create() or ::alloc()
-        function
-
--   GstBaseSink: new stats property and gst_base_sink_get_stats() method
-    to retrieve various statistics such as average frame rate and
-    dropped/rendered buffers.
-
--   GstBaseTransform: gst_base_transform_reconfigure() is now public
-    API, useful for subclasses that need to completely re-implement the
-    ::submit_input_buffer() virtual method
-
--   GstAggregator:
-
-    -   gst_aggregator_update_segment() allows subclasses to update the
-        output segment at runtime. Subclasses should use this function
-        rather than push a segment event onto the source pad directly.
-    -   new sample selection API:
-        -   subclasses should now call gst_aggregator_selected_samples()
-            from their ::aggregate() implementation to signal that they
-            have selected the next samples they will aggregate
-        -   GstAggregator will then emit the samples-selected signal
-            where handlers can then look up samples per pad via
-            gst_aggregator_peek_next_sample().
-        -   This is useful for example to atomically update input pad
-            properties in mixer subclasses such as compositor.
-            Applications can now update properties with precise control
-            of when these changes will take effect, and for which input
-            buffer(s).
-    -   gst_aggregator_finish_buffer_list() allows subclasses to push
-        out a buffer list, improving efficiency in some cases.
-    -   a ::negotiate() virtual method was added, for consistency with
-        other base classes and to allow subclasses to completely
-        override the negotiation behaviour.
-    -   the new ::sink_event_pre_queue() and ::sink_query_pre_queue()
-        virtual methods allow subclasses to intercept or handle
-        serialized events and queries before they’re queued up
-        internally.
-
-GStreamer Plugins Base Libraries
-
-Audio library
-
--   audioaggregator, audiomixer: new output-buffer-duration-fraction
-    property which allows use cases such as keeping the buffers output
-    by compositor on one branch and audiomixer on another perfectly
-    aligned, by requiring the compositor to output a n/d frame rate, and
-    setting output-buffer-duration-fraction to d/n on the audiomixer.
-
--   GstAudioDecoder: new max-errors property so applications can
-    configure at what point the decoder should error out, or tell it to
-    just keep going
-
--   gst_audio_make_raw_caps() and gst_audio_formats_raw() are
-    bindings-friendly versions of the GST_AUDIO_CAPS_MAKE() C macro.
-
--   gst_audio_info_from_caps() now handles encoded audio formats as well
-
-PbUtils library
-
--   GstEncodingProfile:
-    -   Do not restrict number of similar profiles in a container
-    -   add GstValue serialization function
--   codec utils now support more H.264/H.265 profiles/levels and have
-    improved extension handling
-
-RTP library
-
--   rtpbasepayloader: Add scale-rtptime property for scaling RTP
-    timestamp according to the segment rate (equivalent to RTSP speed
-    parameter). This is useful for ONVIF trickmodes via RTSP.
-
--   rtpbasepayload: add experimental property for embedding twcc
-    sequencenumbers for Transport-Wide Congestion Control (gated behind
-    the GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY environment
-    variable) - more generic API for enabling this is expected to land
-    in the next development cycle.
-
--   rtcpbuffer: add RTPFB_TYPE_TWCC for Transport-Wide Congestion
-    Control
-
--   rtpbuffer: add
-    gst_rtp_buffer_get_extension_onebyte_header_from_bytes()``, so that one can parse theGBytes`
-    returned by gst_rtp_buffer_get_extension_bytes()
-
--   rtpbasedepayload: Add max-reorder property to make the
-    previously-hardcoded value when to consider a sender to have
-    restarted configurable. In some scenarios it’s particularly useful
-    to set max-reorder=0 to disable the behaviour that the depayloader
-    will drop packets: when max-reorder is set to 0 all
-    reordered/duplicate packets are considered coming from a restarted
-    sender.
-
-RTSP library
-
--   add gst_rtsp_url_get_request_uri_with_control() to create request
-    uri combined with control url
-
--   GstRTSPConnection: add the possibility to limit the Content-Length
-    for RTSP messages via
-    gst_rtsp_connection_set_content_length_limit(). The same
-    functionality is also exposed in gst-rtsp-server.
-
-SDP library
-
--   add support for parsing the extmap attribute from caps and storing
-    inside caps The extmap attribute allows mapping RTP extension header
-    IDs to well-known RTP extension header specifications. See RFC8285
-    for details.
-
-Tags library
-
--   update to latest iso-code and support more languages
-
--   add tags for acoustid id & acoustid fingerprint, plus MusicBrainz ID
-    handling fixes
-
-Video library
-
--   High Dynamic Range (HDR) video information representation and
-    signalling enhancements:
-
-    -   New APIs for HDR video information representation and
-        signalling:
-        -   GstVideoMasteringDisplayInfo: display color volume info as
-            per SMPTE ST 2086
-        -   GstVideoContentLightLevel: content light level specified in
-            CEA-861.3, Appendix A.
-        -   plus functions to serialise/deserialise and add them to or
-            parse them from caps
-        -   gst_video_color_{matrix,primaries,transfer}_{to,from}_iso():
-            new utilility functions for conversion from/to ISO/IEC
-            23001-8
-        -   add ARIB STD-B67 transfer chracteristic function
-        -   add SMPTE ST 2084 support and BT 2100 colorimetry
-        -   define bt2020-10 transfer characteristics for clarity:
-            bt707, bt2020-10, and bt2020-12 transfer characteristics are
-            functionally identical but have their own unique values in
-            the specification.
-    -   h264parse, h265parse: Parse mastering display info and content
-        light level from SEIs.
-    -   matroskademux: parse HDR metadata
-    -   matroskamux: Write MasteringMetadata and Max{CLL,FALL}. Enable
-        muxing with HDR meta data if upstream provided it
-    -   avviddec: Extract HDR information if any and map bt2020-10, PQ
-        and HLG transfer functions
-
--   added bt601 transfer function (for completeness)
-
--   support for more pixel formats:
-
-    -   Y412 (packed 12 bits 4:4:4:4)
-    -   Y212 (packed 12 bits 4:2:2)
-    -   P012 (semi-planar 4:2:0)
-    -   P016_{LE,BE} (semi-planar 16 bits 4:2:0)
-    -   Y444_16{LE,BE} (planar 16 bits 4:4:4)
-    -   RGB10A2_LE (packed 10-bit RGB with 2-bit alpha channel)
-    -   NV12_32L32 (NV12 with 32x32 tiles in linear order)
-    -   NV12_4L4 (NV12 with 4x4 tiles in linear order)
-
--   GstVideoDecoder:
-
-    -   new max-errors property so applications can configure at what
-        point the decoder should error out, or tell it to just keep
-        going
-
-    -   new qos property to disable dropping frames because of QoS, and
-        post QoS messages on the bus when dropping frames. This is
-        useful for example in a scenario where the decoded video is
-        tee-ed off to go into a live sink that syncs to the clock in one
-        branch, and an encoding and save to file pipeline in the other
-        branch. In that case one wouldn’t want QoS events from the video
-        sink make the decoder drop frames because that would also leave
-        gaps in the encoding branch then.
-
--   GstVideoEncoder:
-
-    -   gst_video_encoder_finish_subframe() is new API to push out
-        subframes (e.g. slices), so encoders can split the encoding into
-        subframes, which can be useful to reduce the overall end-to-end
-        latency as we no longer need to wait for the full frame to be
-        encoded to start decoding or sending out the data.
-    -   new min-force-key-unit-interval property allows configuring the
-        minimum interval between force-key-unit requests and prevents a
-        big bitrate increase if a lot of key-units are requested in a
-        short period of time (as might happen in live streaming RTP
-        pipelines when packet loss is detected).
-    -   various force-key-unit event handling fixes
-
--   GstVideoAggregator, compositor, glvideomixer: expose
-    max-last-buffer-repeat property on pads. This can be used to have a
-    compositor display either the background or a stream on a lower
-    zorder after a live input stream freezes for a certain amount of
-    time, for example because of network issues.
-
--   gst_video_format_info_component() is new API to find out which
-    components are packed into a given plane, which is useful to prevent
-    us from assuming a 1-1 mapping between planes and components.
-
--   gst_video_make_raw_caps() and gst_video_formats_raw() are
-    bindings-friendly versions of the GST_VIDEO_CAPS_MAKE() C macro.
-
--   video-blend: Add support for blending on top of 16 bit per component
-    formats, which makes sure we can support every currently supported
-    raw video format for blending subtitles or logos on top of video.
-
--   GST_VIDEO_BUFFER_IS_TOP_FIELD() and
-    GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() convenience macros to check
-    whether the video buffer contains only the top field or bottom field
-    of an interlaced picture.
-
--   GstVideoMeta now includes an alignment field with the
-    GstVideoAlignment so buffer producers can explicitly specify the
-    exact geometry of the planes, allowing users to easily know the
-    padded size and height of each plane. Default values will be used if
-    this is not set.
-
-    Use gst_video_meta_set_alignment() to set the alignment and
-    gst_video_meta_get_plane_size() or gst_video_meta_get_plane_height()
-    to compute the plane sizes or plane heights based on the information
-    in the video meta.
-
--   gst_video_info_align_full() works like gst_video_info_align() but
-    also retrieves the plane sizes.
-
-MPEG-TS library
-
--   support for SCTE-35 sections
-
--   extend support for ATSC tables:
-
-    -   System Time Table (STT)
-    -   Master Guide Table (MGT)
-    -   Rating Region Table (RRT)
+-   this section will be filled in in due course
 
 Miscellaneous performance, latency and memory optimisations
 
-As always there have been many performance and memory usage improvements
-across all components and modules. Some of them have already been
-mentioned elsewhere so won’t be repeated here.
-
-The following list is only a small snapshot of some of the more
-interesting optimisations that haven’t been mentioned in other contexts
-yet:
-
--   caps negotiation, structure and GValue performance optimizations
-
--   systemclock: clock waiting performance improvements (moved from
-    GstPoll to GCond for waiting), especially on Windows.
-
--   rtpsession: add support for buffer lists on the recv path for better
-    performance with higher packet rate streams.
-
--   rtpjitterbuffer: internal timer handling has been rewritten for
-    better performance, see Nicolas’ talk “Revisiting RTP Jitter Buffer
-    Timers” for more details.
-
--   H.264/H.265 parsers and RTP payloaders/depayloaders have been
-    optimised for latency to make sure data is processed and pushed out
-    as quickly as possible
-
--   video-scaler: correctness and performance improvements, esp. for
-    interlaced formats and GBRA
-
--   GstVideoEncoder has gained new API to push out subframes
-    (e.g. slices), so encoders can split the encoding into subframes,
-    which can be useful to reduce the overall end-to-end latency as we
-    no longer need to wait for the full frame to be encoded to start
-    decoding or sending out the data.
-
-    This is complemented by the new GST_VIDEO_BUFFER_FLAG_MARKER which
-    is a video-specific buffer flag to mark the end of a video frame, so
-    elements can know that they have received all data for a frame
-    without waiting for the beginning of the next frame. This is similar
-    to how the RTP marker flag is used in many RTP video mappings.
-
-    The video encoder base class now also releases the internal stream
-    lock before pushing out data, so as to not block the input side of
-    things from processing more data in the meantime.
+-   this section will be filled in in due course
 
 Miscellaneous other changes and enhancements
 
--   it is now possible to modify the initial rank of plugin features
-    without modifying the source code or writing code to do so
-    programmatically via the GST_PLUGIN_FEATURE_RANK environment
-    variable. Users can adjust the rank of plugin(s) by passing a
-    comma-separated list of feature:rank pairs where rank can be a
-    numerical value or one of NONE, MARGINAL, SECONDARY, PRIMARY, and
-    MAX. Example: GST_PLUGIN_FEATURE_RANK=myh264dec:MAX,avdec_h264:NONE
-    sets the rank of the myh264dec element feature to the maximum and
-    that of avdec_h264 to 0 (none), thus ensuring that myh264dec is
-    prefered as H264 decoder in an autoplugging context.
-
--   GstDeviceProvider now does a static probe on start as fallback for
-    providers that don’t support dynamic probing to make things easier
-    for users
-
-WebRTC
-
--   webrtcbin now contains initial support for renegotiation involving
-    stream addition and removal. There are a number of caveats to this
-    initial renegotiation support and many complex scenarios are known
-    to require some work.
-
--   webrtcbin now exposes the internal ICE object for advanced
-    configuration options. Using the internal ICE object, it is possible
-    to toggle UDP or TCP connection usage as well as provide local
-    network addresses.
-
--   Fix a number of call flows within webrtcbin’s GstPromise handling
-    where a promise was never replied to. This has been fixed and now a
-    promise will always receive a reply.
-
--   webrtcbin now exposes a latency property for configuring the
-    internal rtpjitterbuffer latency and buffering when receiving
-    streams.
-
--   webrtcbin now only synchronises the RTP part of a stream, allowing
-    RTCP messages to skip synchronisation entirely.
-
--   Fixed most of the webrtcbin state properties (connection-state,
-    ice-connection-state, signaling-state, but not ice-gathering-state
-    as that requires newer API in libnice and will be fixed in the next
-    release series) to advance through the state values correctly. Also
-    implemented DTLS connection states in the DTLS elements so that
-    peer-connection-state is not always new.
-
--   webrtcbin now accounts for the a=ice-lite attribute in a remote SDP
-    offer and will configure the internal ICE implementation
-    accordingly.
-
--   webrtcbin will now resolve .local candidate addresses using the
-    system DNS resolver. .local candidate addresses are now produced by
-    web browsers to help protect the privacy of users.
-
--   webrtcbin will now add candidates found in the SDP to the internal
-    ICE agent. This was previously unsupported and required using the
-    add-ice-candidate signal manually from the application.
-
--   webrtcbin will now correctly parse a TURN URI that contains a
-    username or password with a : in it.
-
--   The GStreamer WebRTC library gained a GstWebRTCDataChannel object
-    roughly matching the interface exposed by the WebRTC specification
-    to allow for easier binding generation and use of data channels.
-
-OpenGL integration
-
-GStreamer OpenGL bindings/build related changes
-
--   The GStreamer OpenGL library (libgstgl) now ships pkg-config files
-    for platform-specific API where libgstgl provides a public
-    integration interface and a pkg-config file for a dependency on the
-    detected OpenGL headers. The new list of pkg-config files in
-    addition to the original gstreamer-gl-1.0 are gstreamer-gl-x11-1.0,
-    gstreamer-gl-wayland-1.0, gstreamer-gl-egl-1.0, and
-    gstreamer-gl-prototypes-1.0 (for OpenGL headers when including
-    gst/gl/gstglfuncs.h).
-
--   GStreamer OpenGL now ships some platform-specific introspection data
-    for platforms that have a public interface. This should allow for
-    easier integration with bindings involving platform specific
-    functionality. The new introspection data files are named
-    GstGLX11-1.0, GstGLWayland-1.0, and GstGLEGL-1.0.
-
-GStreamer OpenGL Features
-
--   The iOS implementation no longer accesses UIKit objects off the main
-    thread fixing a loud warning message when used in iOS applications.
-
--   Support for mouse and keyboard handling using the GstNavigation
-    interface was added for the wayland implementation complementing the
-    already existing support for the X11 and Windows implementations.
-
--   A new helper base class for source elements, GstGLBaseSrc is
-    provided to ease writing source elements producing OpenGL video
-    frames.
-
--   Support for some more 12-bit and 16-bit video formats (Y412_LE,
-    Y412_BE, Y212_LE, Y212_BE, P012_LE, P012_BE, P016, NV16, NV61) was
-    added to glcolorconvert.
-
--   glupload can now import dma-buf’s into external-oes textures.
-
--   A new display type for EGLDevice-based systems was added. It is
-    currently opt-in by using either the GST_GL_PLATFORM=egl-device
-    environment variable or manual construction
-    (gst_gl_display_egl_device_new*()) due to compatibility issues with
-    some platforms.
-
--   Support was added for WinRT/UWP using the ANGLE project for running
-    OpenGL-based pipelines within a UWP application.
-
--   Various elements now support changing the GstGLDisplay to be used at
-    runtime in simple cases. This is primarily helpful for changing or
-    adding an OpenGL-based video sink that must share an OpenGL context
-    with an external source to an already running pipeline.
-
-GStreamer Vulkan integration
-
--   There is now a GStreamer Vulkan library to provide integration
-    points and helpers with applications and external GStreamer Vulkan
-    based elements. The structure of the library is modelled similarly
-    to the already existing GStreamer OpenGL library. Please note that
-    the API is still unstable and may change in future releases,
-    particularly around memory handling. The GStreamer Vulkan library
-    contains objects for sharing the vkInstance, vkDevice, vkQueue,
-    vkImage, VkMemory, etc with other elements and/or the application as
-    well as some helper objects for using Vulkan in an application or
-    element.
-
--   Added support for building and running on/for the Android and
-    Windows systems to complement the existing XCB, Wayland, MacOS, and
-    iOS implementations.
-
--   XCB gained support for mouse/keyboard events using the GstNavigation
-    API.
-
--   New vulkancolorconvert element for converting between color formats.
-    vulkancolorconvert can currently convert to/from all 8-bit RGBA
-    formats as well as 8-bit RGBA formats to/from the YUV formats AYUV,
-    NV12, and YUY2.
-
--   New vulkanviewconvert element for converting between stereo view
-    layouts. vulkanviewconvert can currently convert between all of the
-    single memory formats (side-by-side, top-bottom, column-interleaved,
-    row-interleaved, checkerboard, left, right, mono).
-
--   New vulkanimageidentity element for a blit from the input vulkan
-    image/s to a new vulkan image/s.
-
--   The vulkansink element can now scale the input image to the output
-    window/surface size where that information is available.
-
--   The vulkanupload element can now configure a transfer from system
-    memory to VulkanImage-based memory. Previously, this required two
-    vulkanupload elements.
+-   this section will be filled in in due course
 
 Tracing framework and debugging improvements
 
--   gst_tracing_get_active_tracers() returns a list of active tracer
-    objects. This can be used to interact with tracers at runtime using
-    GObject API such as action signals. This has been implemented in the
-    leaks tracer for snapshotting and retrieving leaked/active objects
-    at runtime.
-
--   The leaks tracer can now be interacted with programmatically at
-    runtime via GObject action signals:
-
-    -   get-live-object returns a list of live (allocated) traced
-        objects
-    -   log-live-objects logs a list of live objects into the debug log.
-        This is the same as sending the SIGUSR1 signal on unix systems,
-        but works on all operating systems including Windows.
-    -   activity-start-tracking, activity-get-checkpoint,
-        activity-log-checkpoint, activity-stop-tracking: add support for
-        tracking and checkpointing objects, similar to what was
-        previously available via SIGUSR2 on unix systems, but works on
-        all operating systems including Windows.
-
--   various GStreamer gdb debug helper improvements:
-
-    -   new ‘gst-pipeline-tree’ command
-    -   more gdb helper functions: gst_element_pad(), gst_pipeline() and
-        gst_bin_get()
-    -   support for queries and buffers
-    -   print more info for segment events, print event seqnums, object
-        pointers and structures
-    -   improve gst-print command to show more pad and element
-        information
+-   this section will be filled in in due course
 
 Tools
 
-gst-launch-1.0
-
--   now prints the pipeline position and duration if available when the
-    pipeline is advancing. This is hopefully more user-friendly and
-    gives visual feedback on the terminal that the pipeline is actually
-    up and running. This can be disabled with the --no-position command
-    line option.
-
--   the parse-launch pipeline syntax now has support for presets:
-    use@preset=<preset-name>" after an element to load a preset.
-
-gst-inspect-1.0
-
--   new --color command line option to force coloured output even if not
-    connected to a tty
-
-gst-tester-1.0 (new)
-
--   gst-tester-1.0 is a new tool for plugin developers to launch
-    .validatetest files with TAP compatible output, meaning it can
-    easily and cleanly be integrated with the meson test harness. It
-    allows you to use gst-validate (from the gst-devtools module) to
-    write integration tests in any GStreamer repository whilst keeping
-    the tests as close as possible to the code. The tool transparently
-    handles gst-validate being installed or not: if it is not installed
-    those integration tests will simply be skipped.
-
-gst-play-1.0
-
--   interactive keyboard controls now also work on Windows
-
-gst-transcoder-1.0 (new)
-
--   gst-transcoder-1.0 is a new command line tool to transcode one URI
-    into another URI based on the specified encoding profile using the
-    new GstTranscoder API (see above).
+-   this section will be filled in in due course
 
 GStreamer RTSP server
 
--   Fix issue where the first few packets (i.e. keyframes) could
-    sometimes be dropped if the rtsp media pipeline had a live input.
-    This was a regression from GStreamer 1.14. There are more fixes
-    pending for that which will hopefully land in 1.18.1.
-
--   Fix backpressure handling when sending data in TCP interleave mode
-    where RTSP requests and responses and RTP/RTCP packets flow over the
-    same RTSP TCP connection: The previous implementation would at some
-    point stop sending data to other clients when a single client
-    stopped consuming data or did not consume data fast enough. This
-    obviously created problems for shared media, where the same stream
-    from a single producer pipeline is sent to multiple clients. Instead
-    we now manage a backlog in the server’s stream-transport component
-    and remove slow clients once this backlog exceeds a maximum duration
-    (which is currently hardcoded).
-
--   Onvif Streaming Specification trick modes support (see section at
-    the beginning)
-
--   Scale/Speed header support: Speed will deliver the data at the
-    requested speed, which means increasing the data bandwidth for
-    speeds > 1.0. Scale will attempt to do the same without affecting
-    the overall bandwidth requirement vis-a-vis normal playback speed
-    (e.g. it might drop data for fast-forward playback).
-
--   rtspclientsink: send buffer lists in one go for better performance
+-   this section will be filled in in due course
 
 GStreamer VAAPI
 
--   A lot of work was done adding support for media-driver (iHD), the
-    new VAAPI driver for Intel, mostly for Gen9 onwards.
-
--   Available color formats and frame sizes are now detected at run-time
-    according to the context configuration.
-
--   Gallium drivers have been re-enabled in the allowed drivers list
-
--   Improved the mapping between VA formats and GStreamer formats by
-    generating a mapping table at run-time since even among different
-    drivers the mapping might be different, particularly for RGB with
-    little endianness.
-
--   The experimental Flexible Encoding Infrastructure (FEI) elements
-    have been removed since they were not really actively maintained or
-    tested.
-
--   Enhanced the juggling of DMABuf buffers and VASurface metas
-
--   New vaapioverlay element: a compositor element using VA VPP blend
-    capabilities to accelerate overlaying and compositing. Example
-    pipeline:
-
-          gst-launch-1.0 -vf videotestsrc ! vaapipostproc ! tee name=testsrc ! queue \
-          ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 name=overlay ! vaapisink \
-          testsrc. ! queue ! overlay.
-
-vaapipostproc
-
--   added video-orientation support, supporting frame mirroring and
-    rotation
-
--   added cropping support, either via properties (crop-left,
-    crop-right, crop-bottom and crop-top) or buffer meta.
-
--   new skin-tone-enhancenment-level property which is the iHD
-    replacement of the i965 driver’s sink-tone-level. Both are
-    incompatible with each other, so both were kept.
-
--   handle video colorimetry
-
--   support HDR10 tone mapping
-
-vaapisink
-
--   resurrected wayland backend for non-weston compositors by extracting
-    the DMABuf from the VASurface and rendering it.
-
--   merged the video overlay API for wayland. Now applications can
-    define the “window” to render on.
-
--   demoted the vaapisink element to secondary rank since libva
-    considers rendering as a second-class feature.
-
-VAAPI Encoders
-
--   new common target-percentage property which is the desired target
-    percentage of bitrate for variable rate control.
-
--   encoders now extract their caps from the driver at registration
-    time.
-
--   vaapivp9enc: added support for low power mode and support for
-    profile 2 (profile 0 by default)
-
--   vaapih264enc: new max-qp property that sets the maximum quantization
-    value. Support for ICQ and QBVR bitrate control mode, adding a
-    quality-factor property for these modes. Support baseline profile as
-    constrained-baseline
-
--   vaapih265enc:
-
-    -   support for main-444 and main-12 encoding profiles.
-    -   new max-qp property that sets the maximum quantization value.
-    -   support for ICQ and QBVR bitrate control mode, adding a
-        quality-factor property for these modes.
-    -   handle SCC profiles.
-    -   num-tile-cols and num-tile-row properties to specify the number
-        of tiles to use.
-    -   the low-delay-b property was deprecated and is now determined
-        automatically.
-    -   improved profile selection through caps.
-
-VAAPI Decoders
-
--   Decoder surfaces are not bound to their context any longer and can
-    thus be created and used dynamically, removing the deadlock
-    headache.
-
--   Reverse playback is now fluid
-
--   Forward Region-of-Interest (ROI) metas downstream
-
--   GLTextureUploadMeta uses DMABuf when GEM is not available. Now
-    Gallium drivers can use this meta for rendering with EGL.
-
--   vaapivp9dec: support for 4:2:2 and 4:4:4 chroma type streams
-
--   vaapih265dec: skip all pictures prior to the first I-frame. Enable
-    passing range extension flags to the driver. Handle SCC profiles.
-
--   vaapijpegdec: support for 4:0:0, 4:1:1, 4:2:2 and 4:4:4 chroma types
-    pictures
-
--   vaapih264dec: handle baseline streams as constrained-baseline if
-    possible and make it more tolerant when encountering unknown NALs
+-   this section will be filled in in due course
 
 GStreamer OMX
 
--   omxvideoenc: use new video encoder subframe API to push out slices
-    as soon as they’re ready
-
--   omxh264enc, omxh265enc: negotiate subframe mode via caps. To enable
-    it, force downstream caps to video/x-h264,alignment=nal or
-    video/x-h265,alignment=nal.
-
--   omxh264enc: Add ref-frames property
-
--   Zynq ultrascale+ specific video encoder/decoder improvements:
-
-    -   GRAY8 format support
-    -   support for alternate fields interlacing mode
-    -   video encoder: look-ahead, long-term-ref, and long-term-freq
-        properties
+-   this section will be filled in in due course
 
 GStreamer Editing Services and NLE
 
--   Added nested timelines and subproject support so that GES projects
-    can be used as clips, potentially serializing nested projects in the
-    main file or referencing external project files.
-
--   Implemented an OpenTimelineIO GES formatter. This means GES and
-    GStreamer can now load and save projects in all the formats
-    supported by otio.
-
--   Implemented a GESMarkerList object which allow setting timed
-    metadata on any GES object.
-
--   Fixed audio rendering issues during clip transition by ensuring that
-    a single segment is pushed into encoders.
-
--   The GESUriClipAsset API is now MT safe.
-
--   Added ges_meta_container_register_static_meta() to allow fixing a
-    type for a specific metadata without actually setting a value.
-
--   The framepositioner element now handles resizing the project and
-    keeps the same positioning when the aspect ratio is not changed .
-
--   Reworked the documentation, making it more comprehensive and much
-    more detailed.
-
--   Added APIs to retrieve natural size and framerate of a clip (for
-    example in the case of URIClip it is the framerate/size of the
-    underlying file).
-
--   ges_container_edit() is now deprecated and GESTimelineElement gained
-    the ges_timeline_element_edit() method so the editing API is now
-    usable from any element in the timeline.
-
--   GESProject::loading was added so applications can be notified about
-    when a new timeline starts loading.
-
--   Implemented the GstStream API in GESTimeline.
-
--   Added a way to add a timeoverlay inside the test source (potentially
-    with timecodes).
-
--   Added APIs to convert times to frame numbers and vice versa:
-
-    -   ges_timeline_get_frame_time()
-
-    -   ges_timeline_get_frame_at()
-
-    -   ges_clip_asset_get_frame_time()
-
-    -   ges_clip_get_timeline_time_from_source_frame()
-
-        Quite a few validate tests have been implemented to check the
-        behavior for various demuxer/codec formats
-
--   Added ges_layer_set_active_for_tracks() which allows muting layers
-    for the specified tracks
-
--   Deprecated GESImageSource and GESMultiFileSource now that we have
-    imagesequencesrc which handles the imagesequence “protocol”
-
--   Stopped exposing ‘deinterlacing’ children properties for clip types
-    where they do not make sense.
-
--   Added support for simple time remapping effects
+-   this section will be filled in in due course
 
 GStreamer validate
 
--   Introduced the concept of “Test files” allowing to implement “all
-    included” test cases, meaning that inside the file the following can
-    be defined:
-
-    -   The application arguments
-    -   The validate configurations
-    -   The validate scenario
-
-    This replaces the previous big dictionary file in
-    gst-validate-launcher to implement specific test cases.
-
-    We set several variables inside the files (as well as inside
-    scenarios and config files) to make them relocatable.
-
-    The file format has been enhanced so it is easier to read and write,
-    for example line ending with a coma or (curly) brackets can now be
-    used as continuation marker so you do not need to add \ at the end
-    of lines to write a structure on several lines.
-
--   Support the imagesequence “protocol” and added integration tests for
-    it.
-
--   Added action types to allow the scenario to run the Test Clock for
-    better reproducibility of tests.
-
--   Support generating tests to check that seeking is frame accurate
-    (base on ssim).
-
--   Added ways to record buffers checksum (in different ways) in the
-    validateflow module.
-
--   Added vp9 encoding tests.
-
--   Enhanced seeking action types implementation to allow support for
-    segment seeks.
-
--   Output improvements:
-
-    -   Logs are now in markdown formats (and bat is used to dump them
-        if available).
-    -   File format issues in scenarios/configs/tests files are nicely
-        reported with the line numbers now.
+-   this section will be filled in in due course
 
 GStreamer Python Bindings
 
--   Python 2.x is no longer supported
-
--   Support mapping buffers without any memcpy:
-
-    -   Added a ContextManager to make the API more pythonic
-
-            with buf.map(Gst.MapFlags.READ | Gst.MapFlags.WRITE) as info:
-                info.data[42] = 0
-
--   Added high-level helper API for constructing pipelines:
-
-    -   Gst.Bin.make_and_add(factory_name, instance_name=None)
-    -   Gst.Element.link_many(element, ...)
+-   this section will be filled in in due course
 
 GStreamer C# Bindings
 
--   Bind gst_buffer_new_wrapped() manually to fix memory handling.
-
--   Fix gst_promise_new_with_change_func() where bindgen didn’t properly
-    detect the func as a closure.
-
--   Declare GstVideoOverlayComposition and GstVideoOverlayRectangle as
-    opaque type and subclasses of Gst.MiniObject. This changes the API
-    but without this all usage will cause memory corruption or simply
-    not work.
-
--   on Windows, look for gstreamer, glib and gobject DLLs using the MSVC
-    naming convention (i.e. gstvideo-1.0-0.dll instead of
-    libgstvideo-1.0-0.dll).
-
-    The names of these DLLs have to be hardcoded in the bindings, and
-    most C# users will probably be using the Microsoft toolchain anyway.
-
-    This means that the MSVC compiler is now required to build the
-    bindings, MingW will no longer work out of the box.
+-   this section will be filled in in due course
 
 GStreamer Rust Bindings and Rust Plugins
 
 The GStreamer Rust bindings are released separately with a different
 release cadence that’s tied to gtk-rs, but the latest release has
-already been updated for the new GStreamer 1.18 API, so there’s
-absolutely no excuse why your next GStreamer application can’t be
-written in Rust anymore.
+already been updated for the upcoming new GStreamer 1.20 API.
 
 gst-plugins-rs, the module containing GStreamer plugins written in Rust,
 has also seen lots of activity with many new elements and plugins.
@@ -1659,6 +119,8 @@ What follows is a list of elements and plugins available in
 gst-plugins-rs, so people don’t miss out on all those potentially useful
 elements that have no C equivalent.
 
+-   FIXME: add new elements
+
 Rust audio plugins
 
 -   audiornnoise: New element for audio denoising which implements the
@@ -1724,73 +186,11 @@ Generic Rust plugins
 
 Build and Dependencies
 
--   The Autotools build system has finally been removed in favour of the
-    Meson build system. Developers who currently use gst-uninstalled
-    should move to gst-build.
-
--   API and plugin documentation are no longer built with gtk_doc. The
-    gtk_doc documentation has been removed in favour of a new unified
-    documentation module built with hotdoc (also see “Documentation
-    improvements” section below). Distributors should use the
-    documentation release tarball instead of trying to package hotdoc
-    and building the documentation from scratch.
-
--   gst-plugins-bad now includes an internal copy of libusrsctp, as
-    there are problems in usrsctp with global shared state, lack of API
-    stability guarantees, and the absence of any kind of release
-    process. We also can’t rely on distros shipping a version with the
-    fixes we need. Both firefox and Chrome bundle their own copies too.
-    It is still possible to build against an external copy of usrsctp if
-    so desired.
-
--   nvcodec no longer needs the NVIDIA NVDEC/NVENC SDKs available at
-    build time, only at runtime. This allows distributions to ship this
-    plugin by default and it will just start to work when the required
-    run-time SDK libraries are installed by the user, without users
-    needing to build and install the plugin from source.
-
--   the gst-editing-services tarball is now named gst-editing-services
-    for consistency (used to be gstreamer-editing-services).
-
--   the gst-validate tarball has been superseded by the gst-devtools
-    tarball for consistency with the git module name.
+-   this section will be filled in in due course
 
 gst-build
 
-gst-build is a meta-module and serves primarily as our uninstalled
-development environment. It makes it easy to build most of GStreamer,
-but unlike Cerbero it only comes with a limited number of external
-dependencies that can be built as subprojects if they are not found on
-the system.
-
-gst-build is based on Meson and replaces the old autotools
-gst-uninstalled script.
-
--   The ‘uninstalled’ target has been renamed to ‘devenv’
-
--   Experimental gstreamer-full library containing all built plugins and
-    their deps when building with -Ddefault_library=static. A monolithic
-    library is easier to distribute, and may be required in some
-    environments. GStreamer core, GLib and GObject are always included,
-    but external dependencies are still dynamically linked. The
-    gst-full-libraries meson option allows adding other GStreamer
-    libraries to the gstreamer-full build. This is an experiment for now
-    and its behaviour or API may still change in future releases.
-
--   Add glib-networking as a subproject when glib is a subproject and
-    load gio modules in the devenv, tls option control whether to use
-    openssl or gnutls.
-
--   git-worktree: Allow multiple worktrees for subproject branches
-
--   Guard against meson being run from inside the uninstalled devenv, as
-    this might have unexpected consequences.
-
--   our ffmpeg and x264 meson ports have been updated to the latest
-    stable version (you might need to update the subprojects checkout
-    manually though, or just remove the checkouts so meson checks out
-    the latest version again; improvements for this are pending in
-    meson, but not merged yet).
+-   this section will be filled in in due course
 
 Cerbero
 
@@ -1800,405 +200,97 @@ Windows, Android, iOS and macOS.
 
 General improvements
 
--   Recipe build steps are done in parallel wherever possible. This
-    leads to massive improvements in overall build time.
--   Several recipes were ported to Meson, which improved build times
--   Moved from using both GnuTLS and OpenSSL to only OpenSSL
--   Moved from yasm to nasm for all assembly compilation
--   Support zsh when running the cerbero shell command
--   Numerous version upgrades for dependencies
--   Default to xz for tarball binary packages. bz2 can be selected with
-    the --compress-method option to package.
--   Added boolean variant for controlling the optimization level:
-    -v optimization
--   Ship .pc pkgconfig files for all plugins in the binary packages
--   CMake and nasm will only be built by Cerbero if the system versions
-    are unusable
--   The nvcodec variant was removed and the nvcodec plugin is built by
-    default now (as it no longer requires the SDK to be installed at
-    build time, only at runtime)
+-   this section will be filled in in due course
 
 macOS / iOS
 
--   Minimum iOS SDK version bumped to 11.0
--   Minimum macOS SDK version bumped to 10.11
--   No longer need to manually add support for newer iOS SDK versions
--   Added Vulkan elements via MoltenVK
--   Build times were improved by code-signing all build tools
--   macOS framework ships all gstreamer libraries instead of an outdated
-    subset
--   Ship pkg-config in the macOS framework package
--   fontconfig: Fix EXC_BAD_ACCESS crash on iOS ARM64
--   Improved App Store compatibility by setting LC_VERSION_MIN_MACOSX,
-    fixing relocations, and improved bitcode support
+-   this section will be filled in in due course
 
 Windows
 
--   MinGW-GCC toolchain was updated to 8.2. It uses the Universal CRT
-    instead of MSVCRT which eliminates cross-CRT issues in the Visual
-    Studio build.
--   Require Windows 7 or newer for running binaries produced by Cerbero
--   Require Windows x86_64 for running Cerbero to build binary packages
--   Cerbero no longer uses C:/gstreamer/1.0 as a prefix when building.
-    That prefix is reserved for use by the MSI installers.
--   Several recipes can now be buit with Visual Studio instead of MinGW.
-    Ported to meson: opus, libsrtp, harfbuzz, cairo, openh264, libsoup,
-    libusrsctp. Existing build system: libvpx, openssl.
--   Support building using Visual Studio for 32-bit x86. Previously we
-    only supported building for 32-bit x86 using the MinGW toolchain.
--   Fixed annoying msgmerge popups in the middle of cerbero builds
--   Added configuration options vs_install_path and vs_install_version
-    for specifying custom search locations for older Visual Studio
-    versions that do not support vswhere. You can set these in
-    ~/.cerbero/cerbero.cbc where ~ is the MSYS homedir, not your Windows
-    homedir.
--   New Windows-specific plugins: d3d11, mediafoundation, wasapi2
--   Numerous compatibility and reliability fixes when running Cerbero on
-    Windows, especially non-English locales
--   proxy-libintl now exports the same symbols as gettext, which makes
-    it a drop-in replacement
--   New mapping variant for selecting the Visual Studio CRT to use:
-    -v vscrt=<value>. Valid values are md, mdd, and auto (default). A
-    separate prefix is used when building with either md (release) or
-    mdd (debug), and the outputted package will have +debug in the
-    filename. This variant is also used for selecting the correct Qt
-    libraries (debug vs release) to use when building with -v qt5 on
-    Windows.
--   Support cross-compile on Windows to Windows ARM64 and ARMv7
--   Support cross-compile on Windows to the Universal Windows Platform
-    (UWP). Only the subset of plugins that can be built entirely with
-    Visual Studio will be selected in this case. To do so, use the
-    config/cross-uwp-universal.cbc configuration, which will build
-    ARM64, x86, and x86_64 binaries linked to the release CRT, with
-    optimizations enabled, and debugging turned on. You can combine this
-    with -v vscrt=mdd to produce binaries linked to the debug CRT. You
-    can turn off optimizations with the -v nooptimization variant.
+-   this section will be filled in in due course
 
 Windows MSI installer
 
--   Require Windows 7 or newer for running GStreamer
--   Fixed some issues with shipping of pkg-config in the Windows
-    installers
--   Plugin PDB debug files are now shipped in the development package,
-    not the runtime package
--   Ship installers for 32-bit binaries built with Visual Studio
--   Ship debug and release “universal” (ARM64, X86, and X86_64) tarballs
-    built for the Universal Windows Platform
--   Windows MSI installers now install into separate prefixes when
-    building with MSVC and MinGW. Previously both would be installed
-    into C:/gstreamer/1.0/x86 or C:/gstreamer/1.0/x86_64. Now, the
-    installation prefixes are:
-
-  ----------------------------------------------------------------------------------------------------------------
-  Target                      Path                                 Build options
-  --------------------------- ------------------------------------ -----------------------------------------------
-  MinGW 32-bit                C:/gstreamer/1.0/mingw_x86           -c config/win32.cbc
-
-  MinGW 64-bit                C:/gstreamer/1.0/mingw_x86_64        -c config/win64.cbc
-
-  MSVC 32-bit                 C:/gstreamer/1.0/msvc_x86            -c config/win32.cbc -v visualstudio
-
-  MSVC 64-bit                 C:/gstreamer/1.0/msvc_x86_64         -c config/win64.cbc -v visualstudio
-
-  MSVC 32-bit (debug)         C:/gstreamer/1.0/msvc-debug_x86      -c config/win32.cbc -v visualstudio,vscrt=mdd
-
-  MSVC 64-bit (debug)         C:/gstreamer/1.0/msvc-debug_x86_64   -c config/win64.cbc -v visualstudio,vscrt=mdd
-  ----------------------------------------------------------------------------------------------------------------
-
-Note: UWP binary packages are tarballs, not MSI installers.
+-   this section will be filled in in due course
 
 Linux
 
--   Support creating MSI installers using WiX when cross-compiling to
-    Windows
--   Support running cross-windows binaries with Wine when using the
-    shell and runit cerbero commands
--   Added bash-completion support inside the cerbero shell on Linux
--   Require a system-wide installation of openssl on Linux
--   Added variant -v vaapi to build gstreamer-vaapi and the new gstva
-    plugin
--   Debian packaging was disabled because it does not work. Help in
-    fixing this is appreciated.
--   Trimmed the list of packages needed for bootstrap on Linux
+-   this section will be filled in in due course
 
 Android
 
--   Updated to NDK r21
--   Support Vulkan
--   Support Qt 5.14+ binary package layout
+-   this section will be filled in in due course
 
 Platform-specific changes and improvements
 
 Android
 
--   opensles: Remove hard-coded buffer-/latency-time values and allow
-    openslessink to handle 48kHz streams.
-
--   photography interface and camera source: Add additional settings
-    relevant to Android such as: Exposure mode property, extra colour
-    tone values (aqua, emboss, sketch, neon), extra scene modes
-    (backlight, flowers, AR, HDR), and missing virtual methods for
-    exposure mode, analog gain, lens focus, colour temperature, min &
-    max exposure time. Add new effects and scene modes to Camera
-    parameters.
+-   this section will be filled in in due course
 
 macOS and iOS
 
--   vtdec can now output to Vulkan-backed memory for zerocopy support
-    with the Vulkan elements.
+-   this section will be filled in in due course
 
 Windows
 
--   d3d11videosink: new Direct3D11-based video sink with support for
-    HDR10 rendering if supported.
-
--   Hardware-accelerated video decoding on Windows via DXVA2 /
-    Direct3D11 using native Windows APIs rather than per-vendor SDKs
-    (like MSDK for Intel or NVCODEC for NVidia). Plus modern Direct3D11
-    integration rather than the almost 20-year old Direct3D9 from
-    Windows XP times used in d3dvideosink. Formats supported for
-    decoding are H.264, H.265, VP8, and VP9, and zero-copy operation
-    should be supported in combination with the new d3d11videosink. See
-    Seungha’s blog post “Windows DXVA2 (via Direct3D 11) Support in
-    GStreamer 1.17” for more details.
-
--   Microsoft Media Foundation plugin for hardware-accelerated video
-    encoding on Windows using native Windows APIs rather than per-vendor
-    SDKs. Formats supported for encoding are H.264, H.265 and VP9. Also
-    includes audio encoders for AAC and MP3. See Seungha’s blog post
-    “Bringing Microsoft Media Foundation to GStreamer” for some more
-    details about this.
-
--   new mfvideosrc video capture source element using the latest Windows
-    APIs rather than ancient APIs used by ksvideosrc/winks. ksvideosrc
-    should be considered deprecated going forward.
-
--   d3d11: add d3d11convert, a color space conversion and rescaling
-    element using shaders, and introduce d3d11upload and d3d11download
-    elements that work just like glupload and gldownload but for D3D11.
-
--   Universal Windows Platform (UWP) support, including official
-    GStreamer binary packages for it. Check out Nirbheek’s latest blog
-    post “GStreamer 1.18 supports the Universal Windows Platform” for
-    more details.
-
--   systemclock correctness and reliability fixes, and also don’t start
-    the system clock at 0 any longer (which shouldn’t make any
-    difference to anyone, as absolute clock time values are supposed to
-    be meaningless in themselves, only the rate of increase matters).
-
--   toolchain specific plugin registry: the registry cache is now named
-    differently for MSVC and MinGW toolchains/packages, which should
-    avoid problems when switching between binaries built with a
-    different toolchain.
-
--   new wasapi2 plugin mainly to support UWP applications. The core
-    logic of this plugin is almost identical to existing wasapi plugin,
-    but the main target is Windows 10 and UWP. This plugin uses WinRT
-    APIs, so will likely not work on Windows 8 or older. Unlike the
-    existing wasapi plugin, this plugin supports automatic stream
-    routing (auto fallback when device was removed) and device level
-    mute/volume control. Exclusive streaming mode is not supported,
-    however, and loopback features are not implemented yet. It is also
-    only possible to build this plugin with MSVC and the Windows 10 SDK,
-    it can’t be cross-compiled with the MingW toolchain.
-
--   new dxgiscreencapsrc element which uses the Desktop Duplication API
-    to capture the desktop screen at high speed. This is only supported
-    on Windows 8 or later. Compared to the existing elements
-    dxgiscreencapsrc offers much better performance, works in High DPI
-    environments and draws an accurate mouse cursor.
-
--   d3dvideosink was downgraded to secondary rank, d3d11videosink is
-    preferred now. Support OverlayComposition for GPU overlay
-    compositing of subtitles and logos.
-
--   debug log output fixes, esp. with a non-UTF8 locale/codepage
-
--   speex, jack: fixed crashes on Windows caused by cross-CRT issues
-
--   gst-play-1.0 interactive keyboard controls now also work on Windows
+-   this section will be filled in in due course
 
 Linux
 
--   kmssink: Add support for P010 and P016 formats
-
--   vah264dec: new experimental va plugin with an element for H.264
-    decoding with VA-API. This novel approach, different from
-    gstreamer-vaapi, uses the gstcodecs library for decoder state
-    handling, which it is hoped will make for cleaner code because it
-    uses VA-API without further layers or wrappers. Check out Víctor’s
-    blog post “New VA-API H.264 decoder in gst-plugins-bad” for the full
-    lowdown and the limitations of this new plugin, and how to give it a
-    spin.
-
--   v4l2codecs: introduce a V4L2 CODECs Accelerator. This plugin will
-    support the new CODECs uAPI in the Linux kernel, which consists of
-    an accelerator interface similar to DXVA, NVDEC, VDPAU and VAAPI. So
-    far H.264 and VP8 are supported. This is used on certain embedded
-    systems such as i.mx8m, rk3288, rk3399, Allwinner H-series SoCs.
+-   this section will be filled in in due course
 
 Documentation improvements
 
--   unified documentation containing tutorials, API docs, plugin docs,
-    etc. all under one roof, shipped in form of a documentation release
-    tarball containing both devhelp and html documentation.
-
--   all documentation is now generated using hotdoc, gtk-doc is no
-    longer used. Distributors should use the above-mentioned
-    documentation release tarball instead of trying to package hotdoc
-    and building the documentation from scratch.
-
--   there is now documentation for wrapper plugins like gst-libav and
-    frei0r, as well as tracer plugins.
-
--   for more info, check out Thibault’s “GStreamer Documentation”
-    lightning talk from the 2019 GStreamer Conference.
-
--   new API for plugins to support the documentation system:
-
-    -   new GParamSpecFlag GST_PARAM_DOC_SHOW_DEFAULT to make
-        gst-inspect-1.0 (and the documentation) show the paramspec’s
-        default value rather than the actually set value as default
-    -   GstPadTemplate getter and setter for “documentation caps”,
-        gst_pad_template_set_documentation_caps() and
-        gst_pad_template_get_documentation_caps(): This can be used in
-        elements where the caps of pad templates are dynamically
-        generated and/or dependent on the environment, to override the
-        caps shown in the documentation (usually to advertise the full
-        set of possible caps).
-    -   gst_type_mark_as_plugin_api() for marking types as plugin API,
-        used for plugin-internal types like enums, flags, pad
-        subclasses, boxed types, and such.
+-   this section will be filled in in due course
 
 Possibly Breaking Changes
 
--   GstVideo: the canonical list of raw video formats (for use in caps)
-    has been reordered, so video elements such as videotestsrc or
-    videoconvert might negotiate to a different format now than before.
-    The new format might be a higher-quality format or require more
-    processing overhead, which might affect pipeline performance.
-
--   mpegtsdemux used to wrongly advertise H.264 and H.265 video
-    elementary streams as alignment=nal. This has now been fixed and
-    changed to alignment=none, which means an h264parse or h265parse
-    element is now required after tsdemux for some pipelines where there
-    wasn’t one before, e.g. in transmuxing scenarios (tsdemux ! tsmux).
-    Pipelines without such a parser may now fail to link or error out at
-    runtime. As parsers after demuxers and before muxers have been
-    generally required for a long time now it is hoped that this will
-    only affect a small number of applications or pipelines.
-
--   The Android opensles audio source and sink used to have hard-coded
-    buffer-/latency-time values of 20ms. This is no longer needed with
-    newer Android versions and has now been removed. This means a higher
-    or lower value might now be negotiated by default, which can affect
-    pipeline performance and latency.
+-   this section will be filled in in due course
 
 Known Issues
 
--   None in particular
+-   this section will be filled in in due course
+
+-   There are a couple of known WebRTC-related regressions/blockers:
+
+    -   webrtc: DTLS setup with Chrome is broken
+    -   webrtcbin: First keyframe is usually lost
 
 Contributors
 
-Aaron Boxer, Adam Duskett, Adam x Nilsson, Adrian Negreanu, Akinobu
-Mita, Alban Browaeys, Alcaro, Alexander Lapajne, Alexandru Băluț, Alex
-Ashley, Alex Hoenig, Alicia Boya García, Alistair Buxton, Ali Yousuf,
-Ambareesh “Amby” Balaji, Amr Mahdi, Andoni Morales Alastruey, Andreas
-Frisch, Andre Guedes, Andrew Branson, Andrey Sazonov, Antonio Ospite,
-aogun, Arun Raghavan, Askar Safin, AsociTon, A. Wilcox, Axel Mårtensson,
-Ayush Mittal, Bastian Bouchardon, Benjamin Otte, Bilal Elmoussaoui,
-Brady J. Garvin, Branko Subasic, Camilo Celis Guzman, Carlos Rafael
-Giani, Charlie Turner, Cheng-Chang Wu, Chris Ayoup, Chris Lord,
-Christoph Reiter, cketti, Damian Hobson-Garcia, Daniel Klamt, Daniel
-Molkentin, Danny Smith, David Bender, David Gunzinger, David Ing, David
-Svensson Fors, David Trussel, Debarshi Ray, Derek Lesho, Devarsh
-Thakkar, dhilshad, Dimitrios Katsaros, Dmitriy Purgin, Dmitry Shusharin,
-Dominique Leuenberger, Dong Il Park, Doug Nazar, dudengke, Dylan McCall,
-Dylan Yip, Ederson de Souza, Edward Hervey, Eero Nurkkala, Eike Hein,
-ekwange, Eric Marks, Fabian Greffrath, Fabian Orccon, Fabio D’Urso,
-Fabrice Bellet, Fabrice Fontaine, Fanchao L, Felix Yan, Fernando
-Herrrera, Francisco Javier Velázquez-García, Freyr, Fuwei Tang, Gaurav
-Kalra, George Kiagiadakis, Georgii Staroselskii, Georg Lippitsch, Georg
-Ottinger, gla, Göran Jönsson, Gordon Hart, Gregor Boirie, Guillaume
-Desmottes, Guillermo Rodríguez, Haakon Sporsheim, Haihao Xiang, Haihua
-Hu, Havard Graff, Håvard Graff, Heinrich Kruger, He Junyan, Henry
-Wilkes, Hosang Lee, Hou Qi, Hu Qian, Hyunjun Ko, ibauer, Ignacio Casal
-Quinteiro, Ilya Smelykh, Jake Barnes, Jakub Adam, James Cowgill, James
-Westman, Jan Alexander Steffens, Jan Schmidt, Jan Tojnar, Javier Celaya,
-Jeffy Chen, Jennifer Berringer, Jens Göpfert, Jérôme Laheurte, Jim
-Mason, Jimmy Ohn, J. Kim, Joakim Johansson, Jochen Henneberg, Johan
-Bjäreholt, Johan Sternerup, John Bassett, Jonas Holmberg, Jonas Larsson,
-Jonathan Matthew, Jordan Petridis, Jose Antonio Santos Cadenas, Josep
-Torra, Jose Quaresma, Josh Matthews, Joshua M. Doe, Juan Navarro,
-Juergen Werner, Julian Bouzas, Julien Isorce, Jun-ichi OKADA, Justin
-Chadwell, Justin Kim, Keri Henare, Kevin JOLY, Kevin King, Kevin Song,
-Knut Andre Tidemann, Kristofer Björkström, krivoguzovVlad, Kyrylo
-Polezhaiev, Lenny Jorissen, Linus Svensson, Loïc Le Page, Loïc Minier,
-Lucas Stach, Ludvig Rappe, Luka Blaskovic, luke.lin, Luke Yelavich,
-Marcin Kolny, Marc Leeman, Marco Felsch, Marcos Kintschner, Marek
-Olejnik, Mark Nauwelaerts, Markus Ebner, Martin Liska, Martin Theriault,
-Mart Raudsepp, Matej Knopp, Mathieu Duponchelle, Mats Lindestam, Matthew
-Read, Matthew Waters, Matus Gajdos, Maxim Paymushkin, Maxim P.
-Dementiev, Michael Bunk, Michael Gruner, Michael Olbrich, Miguel París
-Díaz, Mikhail Fludkov, Milian Wolff, Millan Castro, Muhammet Ilendemli,
-Nacho García, Nayana Topolsky, Nian Yan, Nicola Murino, Nicolas
-Dufresne, Nicolas Pernas Maradei, Niels De Graef, Nikita Bobkov, Niklas
-Hambüchen, Nirbheek Chauhan, Ognyan Tonchev, okuoku, Oleksandr
-Kvl,Olivier Crête, Ondřej Hruška, Pablo Marcos Oltra, Patricia Muscalu,
-Peter Seiderer, Peter Workman, Philippe Normand, Philippe Renon, Philipp
-Zabel, Pieter Willem Jordaan, Piotr Drąg, Ralf Sippl, Randy Li, Rasmus
-Thomsen, Ratchanan Srirattanamet, Raul Tambre, Ray Tiley, Richard
-Kreckel, Rico Tzschichholz, R Kh, Robert Rosengren, Robert Tiemann,
-Roman Shpuntov, Roman Sivriver, Ruben Gonzalez, Rubén Gonzalez,
-rubenrua, Ryan Huang, Sam Gigliotti, Santiago Carot-Nemesio, Saunier
-Thibault, Scott Kanowitz, Sebastian Dröge, Sebastiano Barrera, Seppo
-Yli-Olli, Sergey Nazaryev, Seungha Yang, Shinya Saito, Silvio
-Lazzeretti, Simon Arnling Bååth, Siwon Kang, sohwan.park, Song Bing,
-Soohyun Lee, Srimanta Panda, Stefano Buora, Stefan Sauer, Stéphane
-Cerveau, Stian Selnes, Sumaid Syed, Swayamjeet, Thiago Santos, Thibault
-Saunier, Thomas Bluemel, Thomas Coldrick, Thor Andreassen, Tim-Philipp
-Müller, Ting-Wei Lan, Tobias Ronge, trilene, Tulio Beloqui, U. Artie
-Eoff, VaL Doroshchuk, Varunkumar Allagadapa, Vedang Patel, Veerabadhran
-G, Víctor Manuel Jáquez Leal, Vivek R, Vivia Nikolaidou, Wangfei, Wang
-Zhanjun, Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier
-Claessens, Xidorn Quan, Xu Guangxin, Yan Wang, Yatin Maan, Yeongjin
-Jeong, yychao, Zebediah Figura, Zeeshan Ali, Zeid Bekli, Zhiyuan Sraf,
-Zoltán Imets,
+-   this section will be filled in in due course
 
 … and many others who have contributed bug reports, translations, sent
 suggestions or helped testing.
 
-Stable 1.18 branch
+Stable 1.20 branch
 
-After the 1.18.0 release there will be several 1.18.x bug-fix releases
+After the 1.20.0 release there will be several 1.20.x bug-fix releases
 which will contain bug fixes which have been deemed suitable for a
 stable branch, but no new features or intrusive changes will be added to
-a bug-fix release usually. The 1.18.x bug-fix releases will be made from
-the git 1.18 branch, which will be a stable branch.
+a bug-fix release usually. The 1.20.x bug-fix releases will be made from
+the git 1.20 branch, which will be a stable branch.
 
-1.18.0
+1.20.0
 
-1.18.0 was released on 7 September 2020.
+1.20.0 is scheduled to be released around July 2021.
 
-Schedule for 1.20
+Schedule for 1.22
 
-Our next major feature release will be 1.20, and 1.19 will be the
-unstable development version leading up to the stable 1.20 release. The
-development of 1.19/1.20 will happen in the git master branch.
+Our next major feature release will be 1.22, and 1.21 will be the
+unstable development version leading up to the stable 1.22 release. The
+development of 1.21/1.22 will happen in the git master branch.
 
-The plan for the 1.20 development cycle is yet to be confirmed, but it
-is now expected that feature freeze will take place some time in January
-2021, with the first 1.20 stable release around February/March 2021.
+The plan for the 1.22 development cycle is yet to be confirmed, but it
+is hoped that feature freeze will take place some time in December 2021.
 
-1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
-1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
+1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
 
 ------------------------------------------------------------------------
 
 These release notes have been prepared by Tim-Philipp Müller with
-contributions from Mathieu Duponchelle, Matthew Waters, Nirbheek
-Chauhan, Sebastian Dröge, Thibault Saunier, and Víctor Manuel Jáquez
-Leal.
+contributions from …
 
 License: CC BY-SA 4.0
diff --git a/README b/README
index 300b398..c95e53e 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-GStreamer 1.18.x stable series
+GStreamer 1.19.x development series
 
 WHAT IT IS
 ----------
diff --git a/RELEASE b/RELEASE
index 9229fa1..775ec21 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,18 +1,15 @@
-This is GStreamer gst-plugins-bad 1.18.0.
+This is GStreamer gst-plugins-bad 1.19.1.
 
-The GStreamer team is thrilled to announce a new major feature release
-of your favourite cross-platform multimedia framework!
+GStreamer 1.19 is the development branch leading up to the next major
+stable version which will be 1.20.
 
-As always, this release is again packed with new features, bug fixes and
-other improvements.
-
-The 1.18 release series adds new features on top of the 1.16 series and is
+The 1.19 development series adds new features on top of the 1.18 series and is
 part of the API and ABI-stable 1.x release series of the GStreamer multimedia
 framework.
 
-Full release notes can be found at:
+Full release notes will one day be found at:
 
-  https://gstreamer.freedesktop.org/releases/1.18/
+  https://gstreamer.freedesktop.org/releases/1.20/
 
 Binaries for Android, iOS, Mac OS X and Windows will usually be provided
 shortly after the release.
index 57c4274..77d01f0 100644 (file)
@@ -35,6 +35,16 @@ real live maintainer, or some actual wide use.
 
  <release>
   <Version>
+   <revision>1.19.1</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2021-06-01</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.19.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.18.0</revision>
    <branch>master</branch>
    <name></name>
index c69ae9c..d3156f5 100644 (file)
@@ -1,5 +1,5 @@
 project('gst-plugins-bad', 'c', 'cpp',
-  version : '1.19.0.1',
+  version : '1.19.1',
   meson_version : '>= 0.54',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])