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

index acb7343..944e7f8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.19.2 ===
+
+2021-09-23 01:34:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-bad.doap:
+       * meson.build:
+         Release 1.19.2
+
+2021-09-22 14:17:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+         audiobuffersplit: Remove unneeded buffer_clip wrapper
+         This is just a small cleanup noticed while reading.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2544>
+
+2020-07-10 19:31:13 +0530  Vivek R <123vivekr@gmail.com>
+
+       * ext/opencv/gstcvtracker.cpp:
+       * ext/opencv/gstcvtracker.h:
+         opencv: cvtracker: add draw property
+         This property controls the drawing of rectangle around the tracked object.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
+
+2020-05-24 23:37:25 +0530  Vivek R <123vivekr@gmail.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/opencv/gstcvtracker.cpp:
+       * ext/opencv/gstcvtracker.h:
+       * ext/opencv/gstopencv.cpp:
+       * ext/opencv/meson.build:
+       * tests/meson.build:
+       * tests/validate/meson.build:
+       * tests/validate/opencv/cvtracker.validatetest:
+       * tests/validate/opencv/cvtracker/flow-expectations/log-tracker-src-expected:
+         opencv: add cvtracker plugin
+         This adds an object tracker plugin.
+         Tracker implementations from https://docs.opencv.org/3.4/d0/d0a/classcv_1_1Tracker.html
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
+
+2020-05-25 10:35:30 +0530  Vivek R <123vivekr@gmail.com>
+
+       * ext/opencv/meson.build:
+         opencv: patch to ensure headers are detected
+         This patch is used to ensure opencv headers are detected.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
+
+2021-09-19 01:18:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/mpegpsmux/mpegpsmux_aac.c:
+       * gst/mpegpsmux/mpegpsmux_aac.h:
+       * gst/mpegpsmux/mpegpsmux_h264.c:
+       * gst/mpegpsmux/mpegpsmux_h264.h:
+       * gst/mpegtsmux/gstatscmux.c:
+       * gst/mpegtsmux/gstatscmux.h:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+       * gst/mpegtsmux/gstbasetsmuxaac.c:
+       * gst/mpegtsmux/gstbasetsmuxaac.h:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+       * gst/mpegtsmux/gstbasetsmuxopus.c:
+       * gst/mpegtsmux/gstbasetsmuxopus.h:
+       * gst/mpegtsmux/gstbasetsmuxttxt.c:
+       * gst/mpegtsmux/gstbasetsmuxttxt.h:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+       * gst/mpegtsmux/gstmpegtsmux.h:
+       * gst/mpegtsmux/gstmpegtsmuxplugin.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         mpegtsmux, mpegpsmux: remove GPL from choice of licenses and add SPDX license identifiers
+         Some people need to avoid inclusion of GPL code for their use cases and thus
+         get easily spooked by GPL license headers. This code is actually licensed
+         under different licenses, only one of which is GPL, and it's already possible
+         to just upgrade from LGPL to GPL anyway so having the GPL listed explicitly
+         as one of the choices doesn't really add anything. So remove GPL from the list
+         and also add SPDX license identifiers while we're at it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2539>
+
+2021-08-24 03:54:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi/gstmmdeviceenumerator.cpp:
+       * sys/wasapi/gstmmdeviceenumerator.h:
+       * sys/wasapi/gstwasapidevice.c:
+       * sys/wasapi/gstwasapidevice.h:
+       * sys/wasapi/gstwasapisink.c:
+       * sys/wasapi/gstwasapisink.h:
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wasapi/gstwasapisrc.h:
+       * sys/wasapi/gstwasapiutil.c:
+       * sys/wasapi/gstwasapiutil.h:
+       * sys/wasapi/meson.build:
+       * tests/check/elements/wasapi.c:
+         wasapideviceprovider: Add support for dynamic device add/remove
+         Adding IMMDeviceEnumerator::RegisterEndpointNotificationCallback
+         in order to support device monitoring.
+         On OnDeviceAdded(), OnDeviceRemoved(), and OnDefaultDeviceChanged()
+         callback, wasapi device provider implementation will enumerate
+         devices again and will notify newly added and removed device
+         via GstDeviceProvider API.
+         As a bonus point, this IMMDeviceEnumerator abstraction object
+         will spawn a dedicated internal COM thread, so various COM thread
+         related issues of WASAPI plugin can be resolved by this commit.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1649
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1110
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2484>
+
+2021-02-01 16:21:59 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/elements/openjpeg.c:
+       * tests/check/meson.build:
+         openjpeg: add unit test
+         Test various format supported with subframes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2021-01-22 10:39:56 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/openjpeg/gstopenjpegdec.c:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse + openjpeg: Switch striped mode to its own caps
+         It's not compatible with any other element that use the non-striped
+         mode. In addition, in this mode, we require that every frame have the
+         same number of stripes or that the MARKER bit be present, which is
+         different from the other
+         formats too.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-12-23 11:03:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openjpeg/gstopenjpegdec.c:
+         openjpegdec: Fix crash with AYUV64 in subframe mode
+         Remove useless generic fill_frame methods to use
+         the packed one for AYUV and AYUV64.
+         Fix gst-launch-1.0 -v videotestsrc  !
+         video/x-raw,width=640,height=480,format=AYUV64  !  openjpegenc
+         num-stripes=8   !  openjpegdec max-threads=8  ! videoconvert !
+         autovideosink sync=false
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-04-24 16:15:42 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openjpeg/gstopenjpeg.h:
+       * ext/openjpeg/gstopenjpegdec.c:
+       * ext/openjpeg/gstopenjpegdec.h:
+         openjpegdec: support for a multithreaded decoding.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-01-13 14:02:39 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegdec.c:
+       * ext/openjpeg/gstopenjpegdec.h:
+         openjpegdec: enable sub frame mode
+         Rebuild output frame from multiple stripes input.
+         Keep the first frame and fill it with the following stripes to finish
+         a complete frame only once.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-12-22 18:19:40 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+         mpegtsmux: Require frame alignment for JPEG 2000
+         We have yet to implement stripe alignment with the required descriptor.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-12-22 18:15:52 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/openjpeg/gstopenjpegdec.c:
+         openjpegdec: Reject stripes for now
+         They're not implemented.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-12-22 18:20:35 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/openjpeg/gstopenjpegenc.c:
+         openjpegenc: Only allow stripe with image/x-jpc format
+         It's the only format that our MPEG-TS muxer allows and the carriage of
+         JPEG 2000 stripes is only defined for MPEG-TS as far as I know.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2020-04-21 20:56:03 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/openjpeg/gstopenjpeg.h:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/openjpeg/gstopenjpegenc.h:
+         openjpegenc: support for a multithreaded encoding.
+         This commit introduces a multithreaded encoder allowing
+         to encode mulitple stripes or subframes in separated threads.
+         This feature aims to enhance the overall latency of a codec
+         pipeline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
+
+2021-09-18 12:02:15 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: context thread dispatch fixes
+         Use dedicated mutex/cond/flag for jobs being dispatched in the context thread.
+         The previous code was signalling the thread startup condition, which is wrong.
+         When WPEContextThread::dispatch() is invoked it means the thread has already
+         correctly been started up.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2533>
+
+2021-09-18 12:01:39 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+         wpe: Properly wait on context thread startup condition
+         Fixes #1661
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2533>
+
+2021-09-20 09:41:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update kmssink caps cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
+
+2021-09-17 16:21:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmsutils.c:
+         kmssink: Add RGB16/BGR16 support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
+
+2021-09-17 16:14:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmsutils.c:
+         kmssink: Sort format according to GST_VIDEO_FORMATS_ALL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
+
+2021-09-17 15:42:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmsutils.c:
+         kmssink: Remove big endian format inversion
+         This has been a bad interpretation of the DRM docuemntation. The formats are
+         fixed regardless the CPU, but for some formats, they expressed in the opposite
+         order as GStreamer. Same change was done in waylandsink 2 years ago.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/b393b650ab9bfb9654fc116163ab331907216d74
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
+
+2021-09-17 15:41:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmsutils.c:
+         kmssink: Add NV61 support
+         This identically handled to NV16, so no reason not to inclue it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
+
+2021-09-17 15:39:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmsutils.c:
+         kmssink: Add NV24 support
+         This was tested on RK3566 platform, using vendor DRM driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
+
+2021-09-18 00:33:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1decoder.h:
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/va/gstvaav1dec.c:
+         codecs: av1decoder: Use GstFlowReturn everywhere
+         The same modification as that of VP8 decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
+
+2021-09-18 00:09:24 +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: Use GstFlowReturn everywhere
+         The same modification as that of VP8 decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
+
+2021-09-17 23:23:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp8decoder.h:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/va/gstvavp8dec.c:
+         codecs: vp8decoder: Use GstFlowReturn everywhere
+         boolean return value is not sufficient for representing the reason
+         of error in most cases. For instance, any errors around new_sequence()
+         would mean negotiation error, not just *ERROR*.
+         And some subclasses will allocate buffer/memory/surface on new_picture()
+         but it could be failed because of expected error, likely flushing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
+
+2021-08-16 18:15:42 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtspacketizer: memcmp potentially seen_before data
+         Theoretically the version number is incremented every time there's a new
+         section, but in a world of streaming we can't easily make that
+         assumption.
+         An example of a broken use case is when we're cat-ing two mpeg-ts files
+         together, which is equivalent of capturing a DVB stream while switching
+         channels. A set-top box would know that we switched the channels and
+         reset the demuxer, but in practice this might not happen.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2468>
+
+2021-09-20 11:35:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/play/gstplay-media-info.c:
+       * gst-libs/gst/play/gstplay.c:
+       * gst-libs/gst/player/gstplayer-media-info.c:
+       * gst-libs/gst/player/gstplayer.c:
+         player: Fix/add various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2538>
+
+2021-09-18 18:07:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/meson.build:
+         meson: va: Make AV1 support always optional
+         Otherwise meson configure with -Dva=enabled will be failed
+         when installed libva version is < 1.8
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2532>
+
+2021-09-18 11:03:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+         va: caps: Don't use image formats for decoded frames.
+         Initially we tried to use the internal color conversion used in i965
+         and Gallium drivers when decoding. But this approach has showed
+         limitations and problems.
+         This patch removes completely the possible color conversion at
+         decoding, since it show problems with deinterlacing, for example:
+         gst-launch-1.0 filesrc location=interlaced.mpg2 ! parsebin ! vampeg2dec ! vadeinterlace ! xvimagesink
+         Allowing only the surface formats when decoding is more stable.
+         For color conversion is better to do it explicitly with vapostproc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2531>
+
+2021-04-27 11:59:15 +0200  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/player/gstplayer-media-info.c:
+       * gst-libs/gst/player/gstplayer.c:
+         player: Add missing nullable annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2197>
+
+2021-04-27 11:58:58 +0200  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/play/gstplay-media-info.c:
+       * gst-libs/gst/play/gstplay.c:
+         play: Add missing nullable annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2197>
+
+2021-09-18 14:29:25 +0200  Fabian Orccon <cfoch.fabian@gmail.com>
+
+       * sys/shm/meson.build:
+         sys: shm: Define shm_enable and shm_deps before escape meson subdir
+         Fixes meson configure in tests if the shm plugin is disabled
+         Fixes #1664
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2534>
+
+2021-09-18 02:27:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Display title of content if possible
+         Update title text of window (currently it's always "Direct3D11 renderer")
+         when we are rendering on internal HWND, not external HWND.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2529>
+
+2021-09-18 01:32:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Remove unused enum value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2529>
+
+2021-09-15 13:59:17 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: Pass color properties to MediaSDK for encoding
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2523>
+
+2021-09-15 16:32:02 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: Add profile main10 still picture for hevc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2524>
+
+2021-09-16 17:12:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/wlbuffer.c:
+         waylandsink: Fix double render check
+         Our code does not support rendering twice the same wl_buffer in a row, so it
+         tries to skip that case, but for this it relied on the GstBuffer pointer,
+         while the cache actually works at the GstMemory level now. To avoid this
+         compare the GstWlBuffer instead.
+         This fixes crash when use in zero-copy with videorate element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2526>
+
+2021-09-07 09:45:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: Use tsg framerate for latency.
+         Latency setting relies on src pad caps, but they aren't set when the
+         function is called, and latency is never updated.
+         In order to fix it, this patch uses TSG framerate first, and if it's
+         not set yet, sinkpad caps are used to get the framerate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2514>
+
+2021-09-16 00:59:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11av1dec.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h264dec.h:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.h:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.h:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.h:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.h:
+       * sys/d3d11/plugin.cpp:
+         d3d11decoder: Refactor for more unified decoding flow
+         ... and various code cleanup.
+         * Move spreaded decoding API calls into one method
+         Previously, decoding flow of most codecs are
+         - Call DecoderBeginFrame() on start_picture()
+         - Call {Get,Release}DecoderBuffer() on decode_slice()
+         - Call SubmitDecoderBuffers() and DecoderEndFrame() on end_picture()
+         Such spreaded API calls make it hard to keep track of status
+         of decoding. Now it will be done at once in a new method.
+         * Drop a code for non-zero wBadSliceChopping
+         When bitstream buffer provided by driver is not sufficient
+         to write compressed bitstream data, host decoder needs to make use
+         of wBadSliceChopping so that driver can understand there are
+         multiple bitstream buffer. But it's a bit unrealistic and
+         not tested. Since FFMpeg's DXVA implemetaion doesn't support it,
+         we might be able to ignore the case for now.
+         * Make code more portable
+         Consider common logic of GstCodecs -> DXVA translation for all D3D APIs
+         (i,e., D3D9, D3D11, and D3D12).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
+
+2021-09-15 23:41:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * 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: Remove duplicated class_init and property related code
+         Move them into the decoder helper code to remove duplication
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
+
+2021-09-11 00:43:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11compositorbin.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.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/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+         d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN
+         Instead, change the file defining debug category to cpp
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
+
+2020-06-30 11:15:43 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * ext/closedcaption/meson.build:
+       * tests/check/meson.build:
+         tests: skip cc tests if plugin is disabled
+         Skip the closedcaption element tests if the
+         closedcaption option is disabled at compile
+         time (i.e. -Dclosedcaption=disabled).
+         v2: rename pangocairo_dep to avoid conflict
+         with later definition in ext/ttml/meson.build
+         as suggested by @tpm.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1388>
+
+2021-08-31 17:16:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Check bumping again after inserting current picture.
+         In order to get the lowest latency, we can add another bumping check after
+         inserting the current picture into the DPB immediately. That can avoid
+         waiting for another decoding circle of the next frame and so the latency
+         is lower.
+         Fix: #1628
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
+
+2021-08-31 17:37:11 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264: Add protection to to_insert picture in bump check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
+
+2021-08-31 16:39:06 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Improve the policy to infer max_num_reorder_frames.
+         The max_num_reorder_frames number can change the way we bumping the
+         pictures in the DPB. The smaller it is, the lower latency we will
+         get. So it is important for live mode streams, but it is not given
+         in VUI parameters sometimes. We now improve the policy to infer it:
+         1. Never guess it in the "strict" compliance.
+         2. For baseline and constrained baseline profiles, which do not have
+         B frames, set it to 0.
+         3. For -intra only profiles, set it to 0.
+         4. Otherwise, not guess it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
+
+2021-09-14 20:57:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * ext/aes/meson.build:
+       * tests/check/meson.build:
+         tests: skip aes test if elements not built
+         In ext/aes/meson.build, the aes_dep will return
+         not-found if -Daes=disabled, regardless of whether
+         openssl is found or not.  Thus, we don't need a
+         separate check for the option.  This will also
+         ensure that aes_dep is always defined and we can
+         use it in the tests/check/meson.build unit.
+         Fixes #1660
+         v2: handle -Daes=disabled, too.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2522>
+
+2021-08-31 17:33:02 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpe: Add support for web:// URIs
+         The CEF source already supports this. No good reason for wpesrc not too ;)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2503>
+
+2021-07-23 23:38:22 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: Try to use ConstrainedBaseline or Main to decode BaseLine.
+         In the h264, the Baseline profile is widely misused. A lot of streams declare
+         that they are the Baseline, but in fact they just conform to ConstrainedBaseline.
+         The features such as FMO and ASO are not used at all.
+         If the decoder does not strictly conforms to the SPEC, we can just use Baseline
+         or Main profile to decode it to avoid lots of streams failure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2428>
+
+2021-07-28 23:19:15 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Improve the fast bump for the live mode.
+         We control the policy of fast bump by the profile and the compliance
+         property. For baseline and constrained baseline profiles, we can use
+         more radical bump policy. User can also change the bump policy by
+         setting the compliance property in run time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
+
+2021-07-28 22:48:21 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264: Change the low_latency to an enum for dpb_needs_bump().
+         The bool parameter of low_latency is not enough. We have multi policies for
+         low latency bumping, from the safest to something radical. So we need an enum
+         to represent the proper latency requirement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
+
+2021-07-26 16:09:19 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+         codecs: h264dec: Add a compliance property to control behavior.
+         Some features such as the low-latency DPB bumping and mapping the
+         baseline profile as the constrained-baseline profile do not conform
+         to the H264 offical spec. But in practice, they are very useful and
+         are widely needed. We add this compliance property to control the
+         behavior of the decoder, make it fit more requirement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
+
+2021-09-12 12:23:36 +0100  Philippe Normand <philn@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2521>
+
+2021-09-07 10:55:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/va/gstvafilter.c:
+         va: Update vapostproc documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-09-07 10:16:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvavpp.c:
+         va: Update todo lists, removing deinterlacing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-23 11:24:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvadeinterlace.h:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         Add vadeinterlace element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-24 13:53:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+         va: filter: Add past and future frames in GstVaSample.
+         And add them in the pipeline structure if they are provided.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-24 13:33:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+         va: filter: Add gst_va_filter_add_deinterlace_buffer()
+         This function decorates gst_va_filter_add_filter_buffer() to get the
+         number of past and future frames to hold, given the method.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2020-12-21 18:17:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+         va: filter: Add deinterlacing method parameter.
+         For exposing that gobject parameter a new helper function is added:
+         gst_va_filter_install_deinterlace_properties()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-23 16:29:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: Protect filters array of overwrite.
+         It's possible to modify the filters array from another GStremer
+         thread, and the post-processing operation is not atomic, so the filter
+         array is reffed while the VA pipeline is processed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-23 15:24:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: Add helper function to query pipeline caps.
+         This function is going to be shared for future deinterlace filter
+         processing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-23 15:16:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: Shuffle _destroy_filters_unlocked().
+         In order to put it near to its caller.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-10 17:55:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+       * sys/va/gstvavpp.h:
+       * sys/va/plugin.c:
+         vapostproc: Move up color balance detection to plugin.
+         In order to install the color balance interface, a GstVaFilter is
+         instantiated and queried to know if it supports color balance
+         filter. It was done just after the GObject was registered. Now, it's
+         done before.
+         The reason of this change is that deinterlace element has to be
+         registered only if deinterlace filter is available, using only one
+         instantiate of GstVaFilter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-09-07 11:35:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/va/gstvabasetransform.c:
+         va: basetransform: Update documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-09-09 18:26:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.h:
+         va: basetransform: Add autoptr clean up function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-23 18:44:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.c:
+         va: basetransform: Use copy_metadata() at buffer import.
+         Instead of using only gst_buffer_copy_into() use copy_metadata()
+         vmethod to copy what's needed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-08-23 10:40:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: don't chain up transform_meta()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
+
+2021-07-29 12:20:30 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp9statefulparser.c:
+         codecs: gstvp9statefulparser: feature_data should be 0 if feature_enable is 0
+         The spec says in 6.2.11 that feature_data[i][j] should be zero if
+         feature_enabled[i][j] is zero. Instead we retained the old value in the parser.
+         Fix it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2449>
+
+2021-09-08 05:28:22 +0200  Marek Vasut <marex@denx.de>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         gsth264parser: Fix handling of NALs with emulation byte set
+         In case a set of NALs with emulation_prevention_three_byte is decoded using
+         hardware decoder like Hantro G1, wrong struct v4l2_ctrl_h264_decode_params
+         .dec_ref_pic_marking_bit_size is passed into the kernel, which results in
+         decoding artifacts. Subtract the number of emulation three bytes from the
+         .dec_ref_pic_m->bit_size to get the correct bit size and avoid having these
+         artifacts. Apply the exact same fix to slice->pic_order_cnt_bit_size as well.
+         The following NALs (7, 8, 6, 5) decode with artifacts,
+         .dec_ref_pic_marking_bit_size is set to 10 without this patch.
+         00000000  00 00 00 01 27 4d 00 20  89 8b 60 3c 04 bf 2e 02  |....'M. ..`<....|
+         00000010  d4 18 04 18 c0 c0 01 77  00 00 5d c1 7b df 05 00  |.......w..].{...|
+         00000020  00 00 01 28 ee 1f 20 00  00 01 06 05 10 b9 ed b9  |...(.. .........|
+         00000030  30 5d 21 4b 71 83 71 2c  10 a3 14 bb 29 80 00 00  |0]!Kq.q,....)...|
+         00000040  01 25 b8 00 05 00 00 03  03 7f fa 78 1e e7 fd fe  |.%.........x....|
+         ^^^^^^^^^^^^--- emulation 3 byte
+         00000050  b4 62 7a 31 ff 7d 81 fd  26 d8 62 b6 d6 25 46 ae  |.bz1.}..&.b..%F.|
+         The following NALs (7, 8, 6, 5) decode fine,
+         .dec_ref_pic_marking_bit_size is set to 2 without this patch.
+         00000000  00 00 00 01 27 4d 00 20  89 8b 60 3c 04 bf 2e 02  |....'M. ..`<....|
+         00000010  d4 18 04 18 c0 c0 01 77  00 00 5d c1 7b df 05 00  |.......w..].{...|
+         00000020  00 00 01 28 ee 1f 20 00  00 01 06 05 10 b9 ed b9  |...(.. .........|
+         00000030  30 5d 21 4b 71 83 71 2c  10 a3 14 bb 29 80 00 00  |0]!Kq.q,....)...|
+         00000040  01 25 b8 00 04 c0 00 03  7f fa 78 1e e7 fd fe b4  |.%........x.....|
+         00000050  62 7a 31 ff 7d 81 fd 26  d8 62 b6 d6 25 46 ae ce  |bz1.}..&.b..%F..|
+         Fixes: d0d65fa875 ("codecparsers: h264: record dec_ref_pic_marking() size")
+         Fixes: 0cc7d6f093 ("codecparsers: h264: record pic_order_cnt elements size")
+         Signed-off-by: Marek Vasut <marex@denx.de>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2517>
+
+2021-09-03 14:57:09 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         gsth264parser: reject memory management control op greater than 6
+         This prevents assertion from being thrown in
+         gst_h264_dpb_perform_memory_management_control_operation
+         if corrupt NAL has a control op greater than 6
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2508>
+
+2021-08-24 09:59:59 +0000  Ung, Teng En <teng.en.ung@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkav1dec.c:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh264dec.c:
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh265dec.c:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkmjpegdec.c:
+       * sys/msdk/gstmsdkmjpegenc.c:
+       * sys/msdk/gstmsdkmpeg2dec.c:
+       * sys/msdk/gstmsdkmpeg2enc.c:
+       * sys/msdk/gstmsdkvc1dec.c:
+       * sys/msdk/gstmsdkvp8dec.c:
+       * sys/msdk/gstmsdkvp9dec.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdk: Adjust the plugin and factories description based on MFX_VERSION.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2485>
+
+2021-09-08 17:32:30 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+         vulkan: don't link to XOpenDisplay in documentation
+         hotdoc doesn't know about that symbol
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2518>
+
+2021-08-30 23:26:39 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mpeg2enc/gstmpeg2enc.hh:
+       * ext/mpeg2enc/gstmpeg2encpicturereader.cc:
+         mpeg2enc: Only allow 1 pending frame for encoding
+         Having an unlimited input queue is very bad if the
+         encoder can't run at real-time. Eventually it will
+         consume all RAM. I don't really see any reason to
+         have more than 1 outstanding encoded frame, so
+         remove the queue and limit things to 1 pending frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2499>
+
+2021-09-01 17:35:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/wpe-extension/gstwpeaudiosink.c:
+         wpe: Fix race condition on teardown
+         There was a race when going to PAUSED while pushing a buffer to the
+         pipeline process (where we weren't even cancelling anything).
+         This rework base all the cancellation around the GCancellable
+         "cancelled" signal trying to ensure that the streaming thread will not
+         block once a cancel operation happens.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
+
+2021-09-01 17:26:04 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpe: Use the new element.get_current_running_time API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
+
+2021-09-01 17:24:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpe: Mark first buffer as starting at 0
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
+
+2021-09-02 22:06:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gstvideoparseutils.c:
+         videoparseutils: Fix for wrong CEA708 minimum size check
+         The minimum possible size of valid CEA708 data is 3 bytes, not 7 bytes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2505>
+
+2021-08-29 11:04:17 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Uniformise default value for draw-background property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
+
+2021-08-29 10:30:53 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Implement basic heuristic for raw caps negotiation
+         Before this patch raw caps could be negotiated already with a capsfilter, but in
+         cases where wpesrc is being auto-plugged this approach can't be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
+
+2021-08-29 10:28:57 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Ensure debug category is set
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
+
+2021-07-15 21:10:14 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: fix scheduling with interlaced video buffers
+         The initial code was written with the misunderstanding that
+         IS_TOP_FIELD indicated that an interlaced buffer contained
+         a top field, not that it contained only a top field
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2413>
+
+2021-08-27 15:41:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         Revert "kmssink: Fix fallback path for driver not able to scale scenario"
+         This reverts commit d2a7b763bef3ca51f0c84cdac52eeed85b0db8fb.
+         After this change, non-scaled rendered were not centred as expected.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2496>
+
+2021-08-20 13:28:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+         codecs: av1dec: Fix to output frame with highest spatial layer
+         During the output process, if there are multiple frames in a TU (i.e. multi-spatial
+         layers case), only one frame with the highest spatial layer id should be selected
+         according to av1 spec. The highest spatial layer id is obtained from idc value of
+         the operating point.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2475>
+
+2021-08-24 14:33:42 +0100  Alex Ashley <bugzilla@ashley-family.net>
+
+       * ext/dash/gstxmlhelper.c:
+       * tests/check/elements/dash_mpd.c:
+         dashdemux: copy ContentProtection element including xml namespaces
+         Commit bc09d8cc changed gstmpdparser to put the entire
+         <ContentProtection> element in the "value" field, so that DRMs
+         other than PlayReady could make use of the data inside this
+         element.
+         However, the data in the "value" field does not include any
+         XML namespace declarations that are used within the element. This
+         causes problems for a namespace aware XML parser that wants to
+         make use of this data.
+         This commit modifies the way the XML is converted to a string
+         so that XML namespaces are preserved in the output.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2487>
+
+2021-08-26 21:26:01 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/gsterrorignore.c:
+       * gst/debugutils/gsterrorignore.h:
+         errorignore: Add ignore-eos mode
+         It's otherwise very complicated to ignore GST_FLOW_EOS without a
+         ghostpad's chain function to rewrite.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2492>
+
+2021-08-27 17:25:04 +1000  Brad Hards <bradh@frogmouth.net>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         gsth264parser: fix typo in debug message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2493>
+
+2021-08-26 04:12:07 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: add support for closedcaption input
+         Some closedcaption elements like sccenc except input buffers
+         to have timecode metas. The original use case is to serialize
+         closed captions extracted from a video stream, in that case
+         ccextractor copies the video time code metas to the closed
+         caption buffers, but no such mechanism exists when creating
+         a CC stream ex nihilo.
+         Remedy that by having timecodestamper accept closedcaption
+         input caps, as long as they have a framerate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2490>
+
+2021-07-06 12:31:42 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/aes/gstaes.c:
+       * ext/aes/gstaesdec.c:
+       * ext/aes/gstaesdec.h:
+       * ext/aes/gstaesenc.c:
+       * ext/aes/gstaesenc.h:
+       * ext/aes/gstaeshelper.c:
+       * ext/aes/gstaeshelper.h:
+       * ext/aes/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+       * tests/check/elements/aesdec.c:
+       * tests/check/elements/aesenc.c:
+       * tests/check/meson.build:
+         aes: add aes encryption and decryption elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1505>
+
+2021-05-10 12:02:20 +0200  Johan Sternerup <johast@axis.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Return typed "sctp-transport"
+         With GstWebRTCSCTPTransport type exposed we can now define
+         "sctp-transport" property as being of this type.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
+
+2021-05-07 08:12:25 +0200  Johan Sternerup <johast@axis.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/meson.build:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/webrtc/webrtcdatachannel.h:
+       * ext/webrtc/webrtcsctptransport.c:
+       * ext/webrtc/webrtcsctptransport.h:
+       * gst-libs/gst/webrtc/meson.build:
+       * gst-libs/gst/webrtc/sctptransport.c:
+       * gst-libs/gst/webrtc/sctptransport.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Split sctptransport into lib and implementation parts
+         GstWebRTCSCTPTransport is now made into into an abstract base class
+         that only contains property specifications matching the
+         RTCSctpTransport interface of the W3C WebRTC specification, see
+         https://w3c.github.io/webrtc-pc/#rtcsctptransport-interface. This
+         class is put into the WebRTC library to expose it for applications and
+         to allow for generation of bindings for non-dynamic languages using
+         GObject introspection.
+         The actual implementation is moved to the subclass WebRTCSCTPTransport
+         located in the WebRTC plugin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
+
+2021-05-03 10:45:42 +0200  Johan Sternerup <johast@axis.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Expose SCTP Transport
+         Being able to access the SCTP Transport object from the application
+         means the application can access the associated DTLS Transport object
+         and its ICE Transport object. This means we can observe the ICE state
+         also for a data-channel-only session. The collated
+         ice-connection-state on webrtcbin only includes the ICE Transport
+         objects that resides on the RTP transceivers (which is exactly how it
+         is specified in
+         https://w3c.github.io/webrtc-pc/#rtciceconnectionstate-enum).
+         For the consent freshness functionality (RFC 7675) to work the ICE
+         state must be accessible and consequently the SCTP transport must be
+         accessible for enabling consent freshness checking for a
+         data-channel-only session.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
+
+2021-04-20 20:04:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: fix broken header AU emission by base class
+         This encoder advertises alignment=au as output format, which means
+         each output frame should contain a full decodable access unit.
+         The video encoder base class is not aware of our output alignment
+         and will output spurious buffers with just the SPS/PPS inside when
+         we call gst_video_encoder_set_headers(), which is broken because
+         each buffer is supposed to contain a full decodable access unit
+         in our case.
+         Just don't tell the base class about our headers, they will be
+         sent at the beginning of each IDR frame anyway.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
+
+2021-04-20 19:43:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: fix caps and header buffer leak
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
+
+2021-04-20 19:11:12 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: fix broken sps/pps header generation
+         This was putting a truncated SPS into the initial header instead
+         of the PPS because it was always reading from the beginning of the
+         bitstream buffer (pBsBuf) and not from the offset where the current
+         NAL is at in the bitstream buffer (psBsBuf + nal_offset).
+         This was broken in commit 17113695.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1576
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
+
+2021-08-22 00:33:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+       * sys/d3d11/gstd3d11download.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         d3d11bufferpool: Hide buffer_size field from header
+         User can get the required buffer size by using buffer pool config.
+         Since d3d11 implementation is a candidate for public library in the future,
+         we need to hide everything from header as much as possible.
+         Note that the total size of allocated d3d11 texture memory by GPU is not
+         controllable factor. It depends on hardware specific alignment/padding
+         requirement. So, GstD3D11 implementation updates actual buffer size
+         by allocating D3D11 texture, since there's no way to get CPU accessible
+         memory size without allocating real D3D11 texture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2482>
+
+2021-08-21 02:20:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/cuda-converter.c:
+       * sys/nvcodec/gstcudaconvert.c:
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+         nvcodec: Fix various typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2481>
+
+2021-08-21 02:10:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/cuda-converter.h:
+       * sys/nvcodec/gstcudacontext.h:
+       * sys/nvcodec/gstcudafilter.h:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstcudanvrtc.h:
+       * sys/nvcodec/gstcudautils.h:
+       * sys/nvcodec/gstcuvidloader.h:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/gstnvh264dec.h:
+       * sys/nvcodec/gstnvh264enc.h:
+       * sys/nvcodec/gstnvh265dec.h:
+       * sys/nvcodec/gstnvh265enc.h:
+       * sys/nvcodec/gstnvrtcloader.h:
+         nvcodec: Get rid of G_GNUC_INTERNAL
+         Our default symbol visibility is hidden, so G_GNUC_INTERNAL
+         is pointless
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2481>
+
+2021-08-19 16:45:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Fix split field handling
+         Split fields ends up on multiple picture and requires accessing the
+         other_field to complete the information (POC).
+         This also cleanup the DPB from non-reference (was not useful) and skips
+         properly merge field instead of keeping them duplicated. This fixes most
+         of interlace decoding seen in fluster.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2474>
+
+2021-08-19 11:40:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codec: h264: Implement support for split fields
+         When a frame is composed of two fields, the base class now split the
+         picture in two. In order to support this, we need to ensure that picture
+         buffer is held in VB2 queue so that the second field get decoded into
+         it. This also implements the new_field_picture() virtual and sets the
+         previous request on the new picture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2474>
+
+2021-08-20 11:23:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Fix filling weight factors
+         This was a typo, the wrong index was used to set l1 weight (b-frames).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2480>
+
+2021-08-20 14:34:53 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/dash/gstdashdemux.c:
+         dashdemux: Properly initalize GError
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2476>
+
+2021-08-19 21:56:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfutils.h:
+         mfvideosrc: Fix for negative MF stride
+         Negative stride value can be used in MediaFoundation to inform
+         whether memory layout is top-down or bottom-up manner. Note that
+         negative stride is allowed only for RGB, system memory.
+         See also
+         https://docs.microsoft.com/en-us/windows/win32/medfound/image-stride
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1646
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2473>
+
+2021-08-18 11:14:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Fix slice header bit size calculation
+         The emulation bytes need to be removed as bytes, not bit. This fixes
+         decoding issues with files that have emulation bytes with the Cedrus
+         driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2471>
+
+2021-08-12 14:08:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/examples/va/multiple-vpp.c:
+         example: va: Add skin tone enhancement.
+         If camera is used as input stream and skin tone parameter is available
+         in vapostproc, and no random changes are enabled, the skin tone will
+         be enabled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2470>
+
+2021-08-17 14:04:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Use vapostproc as debug category name.
+         Otherwise is difficult to remember the different name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2470>
+
+2021-08-12 13:54:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/examples/va/multiple-vpp.c:
+         examples: va: Add random cropping.
+         And remove unused caps filter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2443>
+
+2021-07-28 13:04:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Disable cropping in pass-through mode.
+         Originally, if a buffer arrives with crop meta but downstream doesn't
+         handle crop allocation meta, vapostproc tried to reconfigure itself to
+         non pass-through mode automatically. Sadly, this behavior was based on
+         the wrong assumption that propose_allocation() vmethod would bring
+         downstream allocation query, but it is not.
+         Now, if vapostproc is in pass-through mode, the cropping is passed to
+         downstream.  Pass-through mode can be disabled via a parameter.
+         Finally, if pass-through mode isn't enabled, it's assumed the buffer
+         is going to be processed and, if cropping, downstream already
+         negotiated the cropped frame size, thus it's required to do the
+         cropping inside vapostproc to avoid artifacts because of the size of
+         downstream allocated buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2443>
+
+2021-08-17 14:54:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Update filters update_properties().
+         Right after instantiating the VA filter and changing the element
+         state, rebuild the image filters.
+         This will fix a regression from f20b3b815, where properties in a
+         gst-launch pipeline are not applied.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2443>
+
+2021-08-18 09:13:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklinkvideosrc: Fix PAL/NTSC widescreen autodetection when switching back to non-widescreen
+         Previously it would only switch to widescreen but never back.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2469>
+
+2021-07-20 18:15:11 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: Fix frc from lower fps to higher fps
+         There are three framerate conversion algorithms described in
+         <https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md>,
+         interpolation is not implemented so far and thus distributed timestamp algorihtm
+         is considered to be more practical which evenly distributes output timestamps
+         according to output framerate. In this case, newly generated frames are inserted
+         between current frame and previous one, timestamp is calculated by msdk API.
+         This implementation first pushes newly generated buffers(outbuf_new) forward and
+         the current buffer(outbuf) is handled at last round by base transform automatically.
+         A flag "create_new_surface" is used to indicate if new surfaces have been generated
+         and then push new outbuf forward accordingly.
+         Considering the upstream element may not be the msdk element, it is necessary to
+         always set the input surface timestamp as same as input buffer's timestamp and
+         convert it to msdk timestamp.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2418>
+
+2021-05-06 22:22:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: improve matching on the correct jitterbuffer
+         The mapping between an RTP session and the SDP m= line is not always the
+         same, especially when BUNDLEing is used.
+         This causes a failure in a specific case where if when bundling,
+         if mline 0 is a data channel, and mline 1 an audio/video section,
+         then retrieving the transceiver at mline 0 (rtp session used) will fail
+         and cause an assertion.
+         This fix is actually potentially a regression for cases where the remote
+         part does not provide the a=ssrc: media level SDP attributes as is now
+         becoming common, especially when simulcast is involved.
+         The correct fix actually requires reading out header extensions as used
+         with bundle for signalling in the actual data, what media and therefore
+         transceiver is being used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2467>
+
+2021-08-16 13:45:39 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvadisplay.h:
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+       * sys/va/gstvavpp.c:
+         va: Use GST_CAPS_FEATURE_MEMORY_VA to replace "memory:VAMemory".
+         "memory:VAMemory" is a commonly used string which notates our VA-kind
+         memory type. We now used a definition in va lib to replace the simply
+         string usage.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2466>
+
+2021-08-16 13:32:51 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvafilter.c:
+         va: Use MEMORY_DMABUF definition to replace "memory:DMABuf" strings.
+         GST_CAPS_FEATURE_MEMORY_DMABUF is already a common definition, we should
+         just use it rather than use the "memory:DMABuf" strings by ourselves.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2466>
+
+2021-08-09 19:02:56 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacdec: Add Converter class to hint gst-validate
+         fdkaacdec have minimal conversion capability, adding the Converter class allow
+         gst-validate to behave properly and not spit an error when it notice that the
+         number of channels or rate miss-match in and out.
+         Same logic as with opusdec, see: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1142>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2462>
+
+2021-06-09 23:29:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/plugin.c:
+         wasapi2: Increase rank to primary + 1
+         wasapi2 plugin should be preferred than old wasapi plugin if available because:
+         * wasapi2 supports automatic stream routing, and it's highly recommended
+         feature for application by MS. See also
+         https://docs.microsoft.com/en-us/windows/win32/coreaudio/automatic-stream-routing
+         * This implementation must be various COM threading issue free by design
+         since wasapi2 plugin spawns a new dedicated COM thread and all COM objects'
+         life-cycles are managed correctly.
+         There are unsolved COM issues around old wasapi plugin. Such issues are
+         very tricky to be solved unless old wasapi plugin's threading model
+         is re-designed.
+         Note that, in case of UWP, wasapi2 plugin's rank is primary + 1 already
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2314>
+
+2021-08-12 20:39:24 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: fix overflow when not doing framerate conversion
+         When converting from one framerate to another, counters are
+         reset periodically, however when not converting they never are
+         and can_genearte_output ends up making overflow-prone calculations
+         with large values for input_frames and output_frames.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2465>
+
+2021-08-12 15:26:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Don't assume that non-audio medias are video medias when creating transceivers
+         And print the unknown media kind in the logs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2464>
+
+2021-08-12 15:25:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Use the correct media for deciding the media kind when creating the transceiver from the SDP
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2464>
+
+2021-07-29 21:30:32 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Output the picture directly if already a frame.
+         We forget one case that is the frame and field pictures may be mixed
+         together. For this case, the dpb is interlaced while the last picture
+         may be a complete frame. We do not need to cache that complete picture
+         and should output it directly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2448>
+
+2021-08-06 17:11:55 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvacaps.c:
+         va: caps: Make the template raw video caps classified by features.
+         The current output of raw video caps is not good. When we have multi
+         profiles and each profile support different formats, the output of
+         gst-inspect may like:
+         SRC template: 'src'
+         Availability: Always
+         Capabilities:
+         video/x-raw(memory:VAMemory)
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: NV12
+         video/x-raw
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: NV12
+         video/x-raw(memory:VAMemory)
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: P010_10LE
+         video/x-raw
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: P010_10LE
+         video/x-raw(memory:VAMemory)
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: P012_LE
+         video/x-raw
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: P012_LE
+         The gst_caps_simplify does not classify the caps by same features, but
+         just leave them interweaved. We need to handle them manually here, the
+         result should be:
+         SRC template: 'src'
+         Availability: Always
+         Capabilities:
+         video/x-raw
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
+         video/x-raw(memory:VAMemory)
+         width: [ 1, 16384 ]
+         height: [ 1, 16384 ]
+         format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2456>
+
+2021-07-27 13:22:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Inherit from GstVaBaseTransform.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2442>
+
+2021-02-17 17:15:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvabasetransform.h:
+       * sys/va/meson.build:
+         va: Add base transform class.
+         This base transform class is a derivable class for VA-based filters,
+         for example vapostproc right now, but it will be used also for
+         future elements such as vadeinterlace.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2442>
+
+2021-07-27 13:03:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvapool.c:
+       * sys/va/gstvapool.h:
+         va: pool: Add gst_va_pool_new_with_config().
+         It is a function helper.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2442>
+
+2021-08-10 02:48:01 +0900  Seungha Yang <seungha@centricular.com>
+
+         d3d11window: Misc code cleanup
+         * Remove unnecessary upcasting. We are now dealing with C++ class objects
+         and don't need explicit C-style casting in C++ world
+         * Use helper macro IID_PPV_ARGS() everywhere. It will make code
+         a little short.
+         * Use ComPtr smart pointer instead of calling manual IUnknown::Release()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2461>
+
+2021-08-10 02:48:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Fix indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2461>
+
+2021-05-28 17:36:15 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+       * ext/openh264/meson.build:
+         openh264: Respect level set downstream
+         We were not specifying the requested level to openh264  meaning that
+         it was choosing anything and was not respecting what was specified\
+         downstream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2289>
+
+2021-08-04 15:02:01 +0800  He Junyan <junyan.he@intel.com>
+
+       * ext/x265/gstx265enc.c:
+         x265: Fix a deadlock when failing to create the x265enc.
+         The GST_ELEMENT_ERROR will call the gst_object_get_path_string and
+         use gst_object_get_parent to get the full object path name, which
+         needs to lock the object. But we are already in a locked context and
+         so this will cause a deadlock, the pipeline can not exit normally.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2451>
+
+2021-07-22 20:58:02 +0000  R S Nikhil Krishna <rsnk96@gmail.com>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: mention setting librtmp flags in docs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2424>
+
+2021-08-05 23:11:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/mpeg2enc/gstmpeg2encpicturereader.cc:
+         mpeg2enc: fix interlace-mode detection
+         Previously, the code was always assuming progressive input,
+         fix this by looking at the caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2455>
+
+2021-05-23 19:15:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/curl/gstcurlbasesink.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/faad/gstfaad.c:
+       * ext/hls/gsthlsdemux.c:
+       * ext/teletextdec/gstteletextdec.c:
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mxf/mxfaes-bwf.c:
+       * gst/mxf/mxfdms1.c:
+       * gst/mxf/mxfmetadata.c:
+       * gst/mxf/mxfmpeg.c:
+       * gst/mxf/mxftypes.c:
+       * gst/rtmp2/rtmp/amf.c:
+       * meson.build:
+       * sys/androidmedia/gstamcaudiodec.c:
+       * sys/androidmedia/gstamcvideodec.c:
+       * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+       * sys/androidmedia/jni/gstamc-format-jni.c:
+       * sys/androidmedia/magicleap/gstamc-format-ml.c:
+       * tests/check/libs/mpegts.c:
+         Use g_memdup2() where available and add fallback for older GLib versions
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2280>
+
+2021-08-05 13:02:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Fix latency calculation
+         The LTC extra latency is in ms already and not in frames, so multiplying
+         with the framerate will end up with a wrong number.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2453>
+
+2021-07-18 00:51:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: make sure child context is destroyed first
+         The parent context shares some resources with child context, so the
+         child context should be destroyed first, otherwise the command below
+         will trigger a segmentation fault
+         $> gst-launch-1.0 videotestsrc num-buffers=100 ! msdkh264enc ! \
+         msdkh264dec ! fakesink videotestsrc num-buffers=50 ! \
+         msdkh264enc ! msdkh264dec ! fakesink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2435>
+
+2021-08-02 16:22:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Fix warning around GstVideoOverlay::expose()
+         When expose() is called, d3d11videosink needs to redraw using
+         cached buffer, so gst_d3d11_window_render() should allow null buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2450>
+
+2021-07-31 01:05:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Forward navigation event without modification
+         Current implementation for translating native coordinate and
+         video coordinate is very wrong because d3d11videosink doesn't
+         understand native HWND's coordinate. That should be handled
+         by GstD3D11Window implementation as an enhancement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2450>
+
+2021-07-31 00:59:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Add support for GstVideoOverlay::set_render_rectangle
+         Inspired by an MR https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2382
+         The idea is that we can make use of MoveWindow() in WIN32 d3d11window
+         implementation safely because WIN32 d3d11window implementation creates
+         internal HWND even when external HWND is set and then subclassing is used to
+         draw on internal HWND in any case. So the coordinates passed to MoveWindow()
+         will be relative to parent HWND, and it meets well to the concept of
+         set_render_rectangle().
+         On MoveWindow() event, WM_SIZE event will be generated by OS and then
+         GstD3D11WindowWin32 implementation will update render area including swapchain
+         correspondingly, as if it's normal window move/resize case.
+         But in case of UWP (CoreWindow or SwapChainPanel), we need more research to
+         meet expected behavior of set_render_rectangle()
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1416
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2450>
+
+2021-07-29 18:05:35 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavp8dec.c:
+         va: vp8: fix the overflow in _fill_quant_matrix().
+         The gint8 of qi and qi_base may overflow when calculation the matrix
+         parameters and change the decoding result.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2447>
+
+2021-06-21 00:19:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * tests/check/elements/d3d11colorconvert.c:
+         d3d11: Disable packed and subsampled YUV formats
+         Direct3D11 sampler doesn't support them very well, and conversion
+         outputs usually result in poor visual quality with our shader code.
+         Should disable support for such formats for now
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2344>
+
+2021-07-26 16:43:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Notify when ignore_pcr is set
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2437>
+
+2021-07-27 23:53:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: fix CDP padding detection
+         While a cc_data_pkt with cc_valid 0 should be considered padding,
+         it might be followed up by valid DTVCC packets, and should not
+         cause the whole CDP packet to get discarded.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2440>
+
+2021-07-27 12:51:08 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Improve the find_first_field_picture().
+         We need to consider the first field of the last picture when the
+         last picture can not enter the DPB.
+         Another change is, when prev field's frame_num is not equal to the
+         current field's frame_num, we should also return FASLE because it
+         is also a case of losing some field.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
+
+2021-07-27 12:16:13 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: consider the last field when add picture to DPB.
+         There are cases that the first field of the last picture is not a
+         ref but the second field is a ref. We need to add both of them
+         because the bumping always needs a complete frame in the DPB.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
+
+2021-07-27 10:51:03 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Consider the field case when directly output.
+         For interlaced streams, it is also possible that the last frame is
+         not able to be inserted into DPB when the DPB is full and the last
+         frame is a non ref. For this case, we need to hold a extra ref for
+         the first field of the last frame and wait for the complete frame
+         with both top and bottom fields. For the progressive stream, the
+         behaviour is unchanged.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
+
+2021-07-26 01:16:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264dec: Fix a error print of dpb_add.
+         When the dpb is interlaced, the max size should be 2*dpb->max_num_frames,
+         correcting the error print info for that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
+
+2021-07-28 16:11:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+         decklink: Don't print error for dlopen failure
+         This is not a fatal error on systems without decklink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2441>
+
+2021-07-27 12:21:41 +0200  Imanol Fernandez <ifernandez@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+       * gst-libs/gst/player/gstplayer.c:
+         player: Add static keyword to _config_quark_table
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2439>
+
+2021-07-27 14:52:38 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/meson.build:
+       * sys/applemedia/videotexturecache-vulkan.mm:
+         applemedia: silence a couple of MoltenVK warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2433>
+
+2021-07-27 11:49:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/debugutils/gstfakeaudiosink.c:
+       * gst/debugutils/gstfakevideosink.c:
+         debugutils: Only proxy the properties once
+         The needed once call was removed accidently during porting. This was catch by
+         the CI as memory leaks.
+         Related to !2426
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2438>
+
+2021-07-27 12:13:43 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfd10.c:
+         mxf: Handle D10 "picture only" variant
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/80
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2436>
+
+2021-07-24 13:19:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter: refactor convert_surface() to process()
+         The idea of this change is to add, in the future,
+         process_with_generator(), when multiple input surfaces are processed,
+         for blending.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2431>
+
+2021-07-18 12:46:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter: Refactor set_formats() to set_video_info().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2431>
+
+2021-07-18 17:13:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Don't add video alignment option in buffer pool.
+         vapostproc will not call gst_buffer_pool_config_set_video_alignment(),
+         thus this option is not required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2431>
+
+2021-07-27 09:37:49 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfvc3.c:
+         mxfvc3: Also accept clip-wrapped vc-3
+         We can now handle this fine
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
+
+2021-07-27 07:59:52 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Handle EOS with non-frame wrapping
+         When reaching the end of non-frame wrapping track in pull mode, we want to force
+         the switch to the next non-eos pad. This is similar to when we exceed the
+         maximum drift.
+         Fixes issues on EOS where not everything would be drained out and stray errors
+         would pop out.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
+
+2021-07-25 07:52:06 +0200  Edward Hervey <edward@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: More granular interleaved content handling
+         An interleave of 500ms can be way too big for some downstream queueing
+         elements. Instead use a smaller 100ms interleave and silence the various
+         warnings about resyncing (it's normal)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
+
+2021-07-23 09:36:10 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/debugutils/gstfakeaudiosink.c:
+       * gst/debugutils/gstfakesinkutils.c:
+       * gst/debugutils/gstfakesinkutils.h:
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/debugutils/meson.build:
+         debugutils: De-duplicate proxy_properties function to a new utils module
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2426>
+
+2021-06-08 01:40:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson_options.txt:
+       * sys/asio/gstasiodeviceprovider.cpp:
+       * sys/asio/gstasiodeviceprovider.h:
+       * sys/asio/gstasioobject.cpp:
+       * sys/asio/gstasioobject.h:
+       * sys/asio/gstasioringbuffer.cpp:
+       * sys/asio/gstasioringbuffer.h:
+       * sys/asio/gstasiosink.cpp:
+       * sys/asio/gstasiosink.h:
+       * sys/asio/gstasiosrc.cpp:
+       * sys/asio/gstasiosrc.h:
+       * sys/asio/gstasioutils.cpp:
+       * sys/asio/gstasioutils.h:
+       * sys/asio/meson.build:
+       * sys/asio/plugin.c:
+       * sys/meson.build:
+         Introduce Steinberg ASIO (Audio Streaming Input/Output) plugin
+         Adds a new plugin for ASIO devices.
+         Although there is a standard low-level audio API, WASAPI, on Windows,
+         ASIO is still being broadly used for audio devices which are aiming to
+         professional use case. In case of such devices, ASIO API might be able
+         to show better quality and latency performance depending on manufacturer's
+         driver implementation.
+         In order to build this plugin, user should provide path to
+         ASIO SDK as a build option, "asio-sdk-path".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2309>
+
+2021-06-06 22:32:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/audiolatency/gstaudiolatency.c:
+       * gst/audiolatency/gstaudiolatency.h:
+         audiolatency: Expose samplesperbuffer property
+         ... for user to be able to set the number of required samples.
+         For instance, our default value is 240 samples
+         (about 5ms latency in case that sample rate is 48000), which might
+         be larger than actual buffer size of audio capture device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2307>
+
+2021-07-23 22:02:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: let print_ref_pic_list_b print the correct list name.
+         The print_ref_pic_list_b now not only needs to trace the ref_pic_list_b0/1,
+         but also need to trace the ref_frame_list_0_short_term. We need to pass the
+         name directly to it rather than an index to refer to ref_pic_list_b0/1.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2425>
+
+2021-07-23 12:31:17 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Fix a typo in construct_ref_field_pic_lists_b.
+         The array sort of ref_frame_list_0_short_term has some typo. The
+         typo makes this list not in the POC ascend order and generate wrong
+         decoding result for interlaced streams.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2425>
+
+2021-07-15 05:12:37 -0700  Devarsh Thakkar <devarsh.thakkar@xilinx.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Fix fallback path for driver not able to scale scenario
+         When driver return error on update plane request, kmssink
+         disables the scaling and retries plane update.
+         While doing so kmssink was matching the source rectangle dimensions
+         to the target rectangle dimensions which were calculated
+         as per scaling but this is incorrect, instead what we want here is
+         that target rectangle dimensions should match the source rectangle
+         dimensions as scaling is disabled now and so we match result
+         rectangle dimensions with source rectangle dimensions.
+         While at it, also match the result rectangle coordinates for
+         horizontal and vertical offsets with source rectange coordinates,
+         as since there is no scaling being done so no recentering is
+         required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2415>
+
+2021-07-23 16:49:49 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         videoparsers: vp9: Need to process the first frame even not key.
+         Some cut VP9 streams begin with a non key frame. The current code
+         just bail out the parse_process_frame() if not a key frame. Because
+         of this, we do not set the valid caps before we push the data of the
+         first frame(even this first frame will be discarded by the downstream
+         decoder because it is not a key frame).
+         The pipeline such as:
+         gst-launch-1.0 filesrc location=some.ivf ! ivfparse ! vp9parse !
+         vavp9dec ! fakesink
+         will get a negotiation error and the pipeline can not continue. The
+         correct behaviour should be: the decoder discard the first frame and
+         continue to decode later frames successfully.
+         So, when the parse does not have valid stream info(should be the first
+         frame case), we should continue and report caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2427>
+
+2021-07-21 19:40:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/audiolatency/gstaudiolatency.c:
+         audiolatency: Handle audio buffers with invalid duration
+         pipewiresrc outputs audio buffers without a valid duration, so we need
+         to calculate it manually in that case.
+         Upstream issue: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1438
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2419>
+
+2021-07-22 22:00:38 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Do not assign the frame->output_buffer until output_picture.
+         We may need to drop the slices such as RASL pictures with the NoRaslOutputFlag, so
+         the current picture of h265decoder may be freed. We should not assign the frame->
+         output_buffer too early until we really output it. Or, the later coming slices will
+         allocate another picture and trigger the assert of:
+         gst_video_decoder_allocate_output_frame_with_params:
+         assertion 'frame->output_buffer == NULL' failed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2421>
+
+2021-07-22 15:14:26 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle PCR-less streams
+         Some programs specify a PCR PID but don't actually store any PCR values, or are
+         way too far apart.
+         In order to gracefully handle those situations, we will queue up to a certain
+         amount of pending buffers before deciding to give up on that PCR PID and not use
+         any (i.e. using DTS/PTS values as-is)
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1629
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2422>
+
+2021-07-22 10:44:27 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: H265: Add odd bit depth and chroma depth in get_rtformat.
+         In H265, the stream may have odd bit depth such as 9 or 11. And
+         the bit depth of luma and chroma may differ. For example, the
+         stream with luma depth of 8 and chroma depth of 9 should use the
+         10 bit rtformat as the decoded picture format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2420>
+
+2021-07-21 00:04:18 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264dec: Improve the algorithm for low latency mode.
+         In low_latency mode, try to bump the picture as soon as possible
+         without the frames disorder:
+         1. We can directly output the continuous non-reference frame.
+         2. Consider max_num_reorder_frames, which is special useful for
+         I-P mode.
+         3. Consider the leading pictures with negative POC.
+         4  Output small POC pictures when non-reference frame comes.
+         4. Output the POC increment<=2 pictures. This is not 100% safe,
+         but in practice this condition can be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-20 23:49:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264dec: Add help function of dpb_set_max_num_reorder_frames.
+         The max_num_reorder_frames can be useful for bump check. We store it
+         in the DPB and no need for the decoder now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-20 23:36:38 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264dec: Add a flag to record whether picture is reference.
+         The picture->ref field will change from time to time according to decoder's
+         state and reference sliding window. We need another flag to record whether
+         the picture is a reference picture when it is created, and this can help
+         the bumping check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-12 00:31:54 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Change the order of dpb_add and dpb_bump.
+         The current behavior is different from the SPEC. We should check
+         and bump the DPB or drain the DPB before we insert the current
+         picture into it. This may cause the output picture disorder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-12 00:06:49 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264dec: Modify the DPB need bump check.
+         Accord to spec, we should not add the current picture into the DPB
+         when we check whether it needs to bump, so the checks of the IDR and
+         the "memory_management_control_operation equal to 5" are no needed.
+         And the spec also says that the DPB only needs to bump when there is
+         no empty frame buffer left(We handle the IDR cases in other places).
+         We need to follow that and the max_num_reorder_frames is useless.
+         We also minus 1 in has_empty_frame_buffer because the current frame
+         has not been added yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-12 00:01:58 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264dec: Make dpb_has_empty_frame_buffer a codecs API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-05 23:53:25 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264dec: Set picture to a small poc when mem_mgmt_5.
+         When current frame memory_management_control_operation equal to 5, that
+         means we need to drain the dpb and the current picture act as an IDR frame.
+         So it should have smaller poc than the later pictures to ensure the output
+         order.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
+
+2021-07-15 11:12:01 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Make gst-indent on the CI happy
+         grmbl
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-15 10:59:39 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfdemux.h:
+         mxfdemux: Handle non-frame wrapping
+         * If we have an index table for non-framed essence, we can handle it
+         * The demuxer has a state which indicates whether it will next fetch a KLV or
+         data contained *within* a KLV.
+         * The position on Essence Tracks always correspond to the next entry to fetch,
+         demuxer offset will be skipped accordingly whenever we switch between
+         partitions (in case of resyncs). A copy of the main clip/custom KLV for that
+         partition is kept to track the position within the essence of that partition.
+         * For clip/custom-wrapped raw audio, if the edit rate is too small (and would
+         cause plenty of tiny buffers to be outputted), specify a minimum number of edit
+         units per buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-15 10:45:46 +0200  Edward Hervey <edward@centricular.com>
+
+         mxfdemux: Use KLV for position/content tracking
+         * For pull-based, this avoids pulling content if it's not needed (ex: skipping filler
+         packet, not downloading the content if we only need to know if/where an essence
+         packet is, etc...). Allows reducing i/o usage to the minimum.
+         * This also allows doing sub-klv position tracking, and opens the way for
+         non-frame-wrapping handling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-15 10:28:31 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Output the topology of the file in debug logs
+         This provides a summary of the number/type of tracks in the Material and File
+         Packages
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-15 10:16:34 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Refactor pull seek
+         In order to figure out the exact start position (backed by a keyframe) accross
+         all tracks, we first figure out the backing keyframe position, and *then* seek
+         to that position.
+         Avoids ending up in situations where we would properly seek to the backing
+         keyframe on video ... but not on the audio streams (they would have been set to
+         the original non-keyframe position). Fixes key-unit seeking.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-14 07:58:01 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfaes-bwf.c:
+       * gst/mxf/mxfessence.h:
+         mxfaes-bwf: Handle new custom-constant-sized variant
+         Defined by Amendment 2:2013 to SMPTE ST 382:2007
+         Also define a new "UNKNOWN" wrapping type to make the difference with known
+         wrapping types
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-14 07:54:38 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfmpeg.c:
+         mxfmpeg: Fix essence coding detection
+         The picture essence coding matching was wrong. Use the proper "base" MXFUL for
+         video mpeg compression for matching.
+         Also handle the case where some old files would put the essence container label
+         in the essence coding field
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-01 08:35:01 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfdemux.h:
+       * gst/mxf/mxftypes.c:
+       * gst/mxf/mxftypes.h:
+         mxfdemux: Refactor index table and offset handling
+         * Streamline offset <=> entry handling. Historically the demuxer didn't support
+         information from index tables and stored the discovered information in an array
+         per track. When index table support was added, a parallel system was setup for
+         that relationship. This commit unifies this into one system with the
+         `find_edit_entry()` and `find_entry_for_offset()` functions.
+         * By extension, per-track offset entry tables are only created/used if no index
+         table is present for those tracks.
+         * Use index table information as-is. The index table system from MXF is quite
+         complex and there are various ways to use the information contained
+         within. Instead of converting that information we store the data from the tables
+         as-is and extract the needed information when needed.
+         * Handle index tables without entries (i.e. all content package units are of the
+         same size).
+         * Allow collecting index table segments as we go instead of only once if a
+         random-index-pack is present. This also improves support of some files in
+         push-mode.
+         * When searching for keyframe entries, use the keyframe_offset if
+         present (speeds up searching).
+         * For interleaved content (i.e. several tracks in the sample essence container),
+         we use a system to be able to identify the position of each track in the delta
+         entries of index tables.
+         * Handle temporal offset only on tracks which *do* need it (as specified in the
+         delta entries of the index tables). If present, those offsets are stored in a
+         pre-processed table which allows computing PTS from DTS with a simple offset.
+         * Add a quirk for files which are known to be have wrongly stored temporal
+         offsets.
+         * Overall opens the way to handle more types of MXF files, especially those with
+         non-frame-wrapping.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-06-29 15:29:36 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Drop duplicate seek events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-06-24 09:53:08 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxftypes.c:
+         mxf: Improve index entry debug log
+         By printing out the various known flag values
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-06-23 09:08:33 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfmetadata.c:
+         mxf: Demote error message when resolving valid empty reference
+         A Source Clip can have zero'd SourcePackageID and SourceTrackID, this indicates
+         it terminates the source reference chain
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-06-17 16:38:54 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfdemux.h:
+         mxfdemux: Handle temporal reordering shift
+         This is similar to how the same issue was handled in qtdemux.
+         In order for the "DTS <= PTS" constraint to be respected, we calculate the
+         maximum temporal reordering that can happen (via index tables).
+         If there is a non-0 temporal reordering, we:
+         * Shift all outgoing PTS by that amount
+         * Shift segment for that stream by that amount
+         * Don't modify DTS (i.e. they might end up having negative running-time, before
+         the start of the segment)
+         Also ensure all entries have a valid PTS set, previously this wouldn't be set
+         for entries with a temporal offset of 0.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/584
+         (and maybe a lot of other issues)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
+
+2021-07-17 20:49:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavp9dec.c:
+         va: vp9dec: Minor cleanups.
+         Added a comment with a future to-do, enhanced another comment and
+         fixed a typo in an error log message.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
+
+2021-07-17 20:48:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+         va: decoder: Group decoder methods.
+         Move up gst_va_decoder_get_config() to group decoders function in the
+         same file area.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
+
+2021-07-17 20:45:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Refactor _format_changed() to _config_is_equal().
+         Change gst_va_decoder_format_changed() to
+         gst_va_decoder_config_is_equal(), which is more similar with other
+         GStreamer API.
+         The function call is replaced but it has to be negated because the
+         return value is the opposite.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
+
+2021-07-17 20:37:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvavp9dec.c:
+         va: Refactor _change_resolution() to _update_frame_size().
+         Rename gst_va_decoder_change_resolution() to
+         gst_va_decoder_update_frame_size() which resembles
+         gst_va_decoder_set_frame_size().
+         Also added a comment to clarify the function use and makes more
+         specific the error message.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
+
+2021-07-17 20:29:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Refactor _set_format() to _set_frame_size().
+         Renamed gst_va_decoder_set_format() to
+         gst_va_decoder_set_frame_size_with_surfaces() which resembles better
+         the passed parameters. Internally it creates the vaContext.
+         Added gst_va_decoder_set_frame_size() which is an alias of
+         gst_va_decoder_set_frame_size_with_surfaces() without surfaces. This
+         is the function which replaces gst_va_decoder_set_format() where
+         used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
+
+2021-07-16 15:24:11 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * sys/nvcodec/gstnvh265dec.c:
+         codecs: h265decoder: Fix a typo of NumPocTotalCurr when process ref pic list.
+         We should use the NumPocTotalCurr value stored in decoder, which is a calculated
+         valid value, rather than use the invalid value in the slice header. Most of the
+         time, the NumPocTotalCurr is 0 and make the tmp_refs a very short length, and
+         causes the decoder's wrong result.
+         By the way, the NumPocTotalCurr is not the correct name specified in H265 spec,
+         its name should be NumPicTotalCurr. We change it to the correct name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2414>
+
+2021-07-16 13:21:11 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Do not add non reference frames into ref list.
+         The VA's ReferenceFrames should only contain the reference frame, we
+         should not add the non reference frames into this list.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2414>
+
+2021-07-15 19:44:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/meson.build:
+         tests: Enable closedcaption test on Windows
+         ... if closedcaption plugin is available
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2411>
+
+2021-07-15 16:44:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Disable RGB format support
+         Some GPUs support BGRA format and it will be converted to subsampled
+         YUV format by GPU internally. Disable this implicit conversion
+         since the conversion parameters such as input/output colorimetry
+         are not exposed nor it's written in bitstream (e.g., VUI).
+         We prefer explicit conversion via our conversion elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2410>
+
+2021-07-15 21:32:54 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Fix a temp var overflow bug when write pred weight table.
+         The temp guint8 var of delta_chroma_offset_l0 and delta_chroma_offset_l1
+         can not cover the full range of delta_chroma_weight_l0/1 in the slice
+         header. When overflow happens, the decoder result is wrong.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2412>
+
+2021-07-12 12:08:20 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/dash/gstmpdparser.c:
+       * tests/check/elements/dash_mpd.c:
+         dash: Store entire ContentProtection node in protection event data
+         Some manifests use the ContentProtection node to store additional information
+         such as the license server url. Our MPD parser used to process the
+         ContentProtection node, extracting Playready PSSH boxes. However for other DRM
+         systems, only the `value` attribute was passed down to the protection event, so
+         for example, Widevine data was not parsed at all and "Widevine" was passed to
+         the event, which is not very useful for decryptors that require a PSSH init
+         data.
+         Parsing should now be done by decryptors which will receive the entire
+         ContentProtection XML node as a string. This gives more "freedom" to the
+         decryptor which can then detect and parse custom nodes as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2400>
+
+2021-07-14 22:36:52 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavp9dec.c:
+         va: vp9dec: We need to check the resolution changes for every frame.
+         The VP9 streams have the ability to change the resolution dynamically
+         at any time point. It does not send ad KEY frame before change the
+         resolution, even the INTER frame can change the resolution immediately.
+         So we need to check the resolution change for each frame and do the
+         re-negiotiation if needed.
+         Some insaned stream may play in resolution A first and then dynamically
+         changes to B, and after 1 or 2 frames, it use a show_existing_frame to
+         repeat the old frame of resolution A before. So, not only new_picture(),
+         but also duplicate_picture() need to check this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
+
+2021-07-14 14:43:51 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavp9dec.c:
+         va: vp9dec: Do not re-create context for dynamical resolution change.
+         The driver for VP9 should have the ability to handle the dynamical resolution
+         changes. So if only the resolution changes, we should not re-create the config
+         and context in negotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
+
+2021-07-14 14:27:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+         va: decoder: Add helper functions to get and change the resolution.
+         Some codecs such as VP9, its config and context have the ability to
+         dynamically. When we only change the width and height, no need to
+         re-create the config and context. The helper function can just change
+         the resolution without re-creating config and context.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
+
+2021-05-29 06:03:26 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         mpegtsmux: Quieten "missed PCR" warnings in VBR mode.
+         When the muxer is operating in VBR mode, it's kind of expected
+         for now that we might not put the PCR in exactly the right place,
+         because the muxer doesn't schedule packets that way. In that case
+         don't warn constantly about the PCR ending up a few ms off target.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2295>
+
+2021-07-13 21:38:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2src: workaround a GLib race when destroying a GMainContext/GSource
+         https://gitlab.gnome.org/GNOME/glib/-/issues/803
+         Basically, if destruction of a GSource and its associated GMainContext are
+         not synchronised, Then the GSource destruction can access freed
+         GMainContext resources and cause a crash.  This is not super common but
+         can happen.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2405>
+
+2021-07-08 14:25:23 +0200  Mads Buvik Sandvei <madssandvei@protonmail.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Always free messages while parsing SEI
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2390>
+
+2021-07-14 19:39:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Skip parsing decode-only frame
+         Decode-only frame (i.e., show_existing_frame == 1) doesn't hold
+         any valid information apart from the index of frame to be duplicated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2408>
+
+2021-07-13 16:55:30 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpesrcbin: Use gst_buffer_new_memdup()
+         g_memdup() is deprecated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2406>
+
+2021-07-12 23:25:02 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstvp9statefulparser.c:
+         codecs: vp9statefulparser: not init segmentation_abs_or_delta_update.
+         The segmentation_abs_or_delta_update is a stateful var, it should not
+         be inited every time when parsing the segmentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2403>
+
+2021-07-12 23:21:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/elements/wasapi2.c:
+         tests: wasapi2: Add more device reuse cases
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2402>
+
+2021-07-12 22:17:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+         wasapi2ringbuffer: Close IAudioClient on GstAudioRingBuffer::release
+         IAudioClient interface is not reusable once it's initialized.
+         So we should close the handle and reopen it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2402>
+
+2021-07-13 03:35:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+         wasapi2ringbuffer: Run gst-indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2402>
+
+2021-07-12 09:01:06 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1: fix underflow in last_frame_idx
+         The spec mandates this field be parsed using unsigned arithmetic. Nevertheless,
+         av1parser will use -1 apparently as an uninitialized value in
+         gst_av1_parse_frame_header. This immediately underflows last_frame_idx
+         though, since its type was defined as guint8. Fix this by converting to gint8.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2401>
+
+2021-03-18 10:55:58 +0100  Jakub Janků <jjanku@redhat.com>
+
+       * sys/wasapi/gstwasapisink.c:
+         wasapi: fix reinit of audioclient in prepare()
+         When the sink goes from PLAYING to READY and then back to PLAYING,
+         the initialization of the audioclient in prepare() fails with the
+         error AUDCLNT_E_ALREADY_INITIALIZED. As a result, the playback
+         stops.
+         To fix this, we need to drop the AudioClient in unprepare() and
+         grab a new one in prepare() to be able to initialize it again
+         with the new buffer spec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2096>
+
+2021-03-17 22:45:57 +0100  Jakub Janků <jjanku@redhat.com>
+
+       * sys/wasapi/gstwasapisink.c:
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wasapi/gstwasapiutil.c:
+       * sys/wasapi/gstwasapiutil.h:
+         wasapi: split gst_wasapi_util_get_device_client()
+         The functionality now resides in
+         gst_wasapi_util_get_device() and
+         gst_wasapi_util_get_audio_client().
+         This is a preparatory patch. It will be used in the following
+         patch to init/deinit the AudioClient separately from the device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2096>
+
+2021-07-11 18:14:46 +0200  Jakub Janků <janku.jakub.jj@gmail.com>
+
+       * tests/check/elements/wasapi.c:
+       * tests/check/meson.build:
+         tests: wasapi: check PLAYING -> READY -> PLAYING
+         Such sequence of state changes is valid and no error should happen.
+         At the moment, the test fails. Following patches aim to fix it.
+         Partially based on the code in tests/check/elements/wasapi2.c
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2096>
+
+2021-07-09 14:55:43 +0200  Guido Günther <agx@sigxcpu.org>
+
+       * gst-libs/gst/play/gstplay-signal-adapter.c:
+         play: Emit correct signal
+         SIGNAL_MEDIA_INFO_UPDATED should be emitted on media info changes,
+         not SIGNAL_VIDEO_DIMENSIONS_CHANGED.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2398>
+
+2021-03-05 09:18:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/vulkan/gstvkcommandpool.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.h:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+       * gst-libs/gst/vulkan/gstvkhandlepool.h:
+       * gst-libs/gst/vulkan/gstvkinstance.h:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.h:
+       * gst-libs/gst/vulkan/gstvkqueue.h:
+       * gst-libs/gst/vulkan/gstvkswapper.h:
+       * gst-libs/gst/vulkan/gstvktrash.h:
+       * gst-libs/gst/vulkan/gstvkwindow.h:
+         vulkan: Declare missing auto-pointer cleanup functions.
+         Also removed a couple guards since, given the glib dependency, they
+         are set.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2396>
+
+2021-03-03 12:54:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/vulkan/gstvkvideofilter.c:
+         vulkan: filter: Use filter variable name for choosing queue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2396>
+
+2021-03-03 08:50:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/vulkan/vksink.c:
+         vulkansink: Fix element metadata.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2396>
+
+2021-06-25 09:19:25 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: use NV12 as default format on srcpad
+         By default, sinkpad is NV12 format and srcpad is BGRA format, the
+         different format will trigger an implicit format conversion in
+         msdkvpp, which will cause performance drop.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2394>
+
+2021-06-01 08:40:17 +0900  Dominique Martinet <dominique.martinet@atmark-techno.com>
+
+       * gst-libs/gst/wayland/wayland.c:
+         gst-libs/gst/wayland: handle display passing better
+         failure to pass a display in 'handle' would result in uninitialized value
+         being returned, which would often segfault later down the road when trying
+         to initialize gstreamer context with it.
+         Check the return value of gst_structure_get() to make sure we return valid
+         data.
+         Furthermore, the gstglimagesink in gst-plugins-base also has a similar
+         mechanism but uses 'display' as field name to pass the value; instead of
+         requiring the application to behave differently depending on what sink
+         was automatically detected just try to read both values here, with display
+         being the new default.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2292>
+
+2021-07-08 14:46:11 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/dash/gstdashdemux.c:
+         dashdemux: Log protection events on corresponding pad
+         GstDashDemuxStream is not a GstObject, so use its pad as associated object when
+         emitting log messages.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2389>
+
+2021-07-08 16:49:27 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvafilter.c:
+         va: vpp: Improve the color properties setting.
+         The current setting of color properties are not very correct and
+         we will get some kind of "unknown Color Standard for YUV format"
+         warnings printed out by drivers. The video-color already provides
+         some standard APIs for us, and we can use them directly.
+         We also change the logic to: Finding the exactly match or explicit
+         standard first. If not found, we continue to find the most similar
+         one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2385>
+
+2021-07-08 19:03:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+         mfvideosrc: Fix negotiation when interlace-mode is specified
+         Given caps does not need to be strictly subset of device caps.
+         Allow accept it if device caps and requested caps can intersect
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1619
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2384>
+
+2021-07-08 02:24:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: mark field 0 as valid when generating padding CDP
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2383>
+
+2021-07-06 17:14:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideobuffer.cpp:
+       * sys/mediafoundation/gstmfvideobuffer.h:
+         mfvideobuffer: Don't error for unexpected Unlock/Unlock2D call
+         Some GPU vendor's MFT implementation calls IMFMediaBuffer::Unlock()
+         without previous IMFMediaBuffer::Lock() call. Which is obviously
+         driver bug but we can ignore the Unlock call.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2381>
+
+2021-06-30 10:30:43 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashsink.c:
+         dashsink: fix crash with no pad name for representation
+         if there is no pad name, the representation id
+         was NULL, causing a crash when writing the mpd file.
+         gst-launch-1.0 videotestsrc num-buffers=900 ! video/x-raw, width=800,
+         height=600, framerate=30/1 ! x264enc ! video/x-h264, profile=high !
+         dashsink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2064>
+
+2021-03-09 11:40:43 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/dash/gstdashsink.c:
+         dashsink: Add signals for allowing custom playlist/fragment
+         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.
+         Following the HLS change:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/918
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2064>
+
+2021-07-06 14:06:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265dec: Disable the POC order warning for negative POC.
+         There may be leading frames after the IRAP frames, which has negative
+         POC. This kind of frames are allowed and they will be displayed before
+         the IRAP frame. So the warning should not be triggered for them. Init
+         the last_output_poc to G_MININT32 can avoid this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2380>
+
+2021-07-06 13:38:16 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Disable the POC order warning for negative POC.
+         There may be leading frames after the IDR frame, which has negative
+         POC. This kind of frames are allowed and they will be displayed before
+         the IDR frame. So the warning should not be triggered for them. Init
+         the last_output_poc to G_MININT32 can avoid this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2380>
+
+2021-06-25 15:57:03 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Push the reconfigure event in the right direction
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2361>
+
+2021-07-05 15:44:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: Fix some artifact when do the crop copy.
+         The default video converter setting will add some artifact into
+         the picture for 10/12 bits conversion. This make the MD5 checksum
+         change from the original picture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2379>
+
+2021-07-05 02:05:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Enable zero-copy for Qualcomm
+         Qualcomm GPU works fine with current implementation now.
+         Noticeable difference between when it was disabled and current
+         d3d11 implementation is that we now support GstD3D11Memory
+         pool, so there will be no more frequent re-binding decoder surface anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2377>
+
+2021-07-05 07:42:39 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfmetadata.c:
+       * gst/mxf/mxfmetadata.h:
+         mxfdemux: Check validity of interleaved File Package
+         As specified by the S377 MXF core specification, if a file package has
+         interleaved content, then all tracks must be using the same Edit Rate
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2378>
+
+2021-07-05 01:54:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11vp9dec: Fix for incorrect use_prev_in_find_mv_refs setting
+         Set use_prev_in_find_mv_refs depending on context. The value seems
+         to be used by AMD and Qualcomm (Intel and NVIDIA doesn't make difference
+         as per test)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2376>
+
+2021-05-11 14:07:14 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk_libva.c:
+         gstmsdkvpp: add RGBP and BGRP in src pad
+         It requires MFX version 2.4+
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2234>
+
+2021-07-04 00:36:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+         mediafoundation: Port to IID_PPV_ARGS
+         Make code short where possible
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
+
+2021-07-04 00:24:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacenc.cpp:
+       * sys/mediafoundation/gstmfmp3enc.cpp:
+         mfaudioenc: Remove pointless enumerating for hardware audio encoder
+         Hardware audio encoder can exist in theory, but it's untested
+         and we are not sure whether it can be preferred over software
+         implementation which is implemented by MS
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
+
+2021-07-03 23:12:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacenc.cpp:
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfmp3enc.cpp:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+         mediafoundation: Fix typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
+
+2021-07-03 22:56:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacenc.cpp:
+       * sys/mediafoundation/gstmfaudioenc.cpp:
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfmp3enc.cpp:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfvideobuffer.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+         mediafoundation: Run gst-indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
+
+2021-06-26 21:42:37 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: Consider the compatibility when we get_profile() for H265 decoder.
+         Adding the compatile profiles when we decide the final profile used for decoding.
+         The final profile candidates include:
+         1. The profile directly specified by SPS, which is the exact one.
+         2. The compatile profiles decided by the upstream element such as the h265parse.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322>
+
+2021-06-27 15:34:28 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Add special profile case for profile_idc 0.
+         This is a work-around to identify some main profile streams having
+         wrong profile_idc. There are some wrongly encoded main profile streams
+         which doesn't have any of the profile_idc values mentioned in Annex-A,
+         instead, general_profile_idc has been set as zero and the
+         general_profile_compatibility_flag[general_profile_idc] is TRUE.
+         Assuming them as MAIN profile for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322>
+
+2021-06-26 15:11:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Map -intra profiles to non-intra compatible profiles.
+         All the -intra profiles can map to non-intra profiles as compatible
+         profiles, except the monochrome case for main and main-10.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322>
+
+2021-07-01 19:27:28 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavp9dec.c:
+         va: vp9dec: update segmentation and store the result.
+         The segmentation is stateful, its information may depend on the previous
+         segmentation setting. For example, if loop_filter_delta_enabled is TRUE,
+         the filter_level[GST_VP9_REF_FRAME_INTRA][1] should inherit the previous
+         frame's value and can not be calculated by the current frame's segmentation
+         data only. So we need to maintain the segmentation state inside the vp9
+         decoder and update it when the new frame header comes.
+         We also fix the CLAMP issue of lvl_seg and intra_lvl because of their wrong
+         uint type here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
+
+2021-06-30 15:23:15 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstvp9statefulparser.c:
+         codecparsers: vp9statefulparser: Fix the gst_vp9_get_qindex clamp issue.
+         The alternate quantizer is a delta value and should be int type.
+         We mark it wrongly as uint, that will make CLAMP (data, 0, 255)
+         always choose 255 rather than 0 if the data < 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
+
+2021-06-30 15:32:42 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvp9parser.h:
+         codecparsers: vp9parser: Use macro to define the size of filter_level in Segmentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
+
+2021-06-30 12:15:42 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvp9parser.h:
+         codecparsers: vp9parser: Delete the verbose redefine of MAX_LOOP_FILTER.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
+
+2021-06-29 23:21:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: dma: Fail when mapping the non-linear buffer.
+         The current way of DMA buffer mapping is simply forwarding the job
+         to parent's map function, which is a mmap(). That can not handle the
+         non-linear buffers, such as tiling, compressed, etc. The incorrect
+         mapping of such buffers causes broken images, which are recognized
+         as bugs. We should directly block this kind of mapping to avoid the
+         misunderstanding.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2353>
+
+2021-07-02 13:10:25 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: fix framerate caps negotiation from non-cdp to cdp
+         We can only convert from non-cdp to cdp within the confines of valid cdp
+         framerates.  The existing caps negotiation code was allowing any
+         framerate to convert to a cdp output which is incorrect and would hit an
+         assertion later.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2372>
+
+2021-06-09 15:16:39 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Consider the conformance window changes when new_sequence().
+         The change of conformance_window_flag and crop windows size also has impact on the
+         output resolution and caps. So it deserves a trigger of new_sequence() to notify
+         the sub class to update caps and pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2312>
+
+2021-06-16 01:07:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Don't hold reference to GstVideoCodecFrame for dropped picture
+         We are dropping RASL (Random Access Skipped Leading picture) which
+         is associated with an IRAP (Intra Random Access Picture) that has
+         NoRaslOutputFlag equal to 1, since the RASL picture will not be
+         outputted and also it should not be used for reference picture.
+         So, corresponding GstVideoCodecFrame should be released immediately.
+         Otherwise GstVideoDecoder baseclass will hold the unused frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2330>
+
+2021-06-21 13:23:13 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfvanc.c:
+         mxfvanc: Handle empty ANC essence
+         Not having any *actual* ANC is totally fine and common usage with several MXF
+         variants.
+         In order to properly advance the streams, the essence handler returns an empty
+         GAP buffer which gets converted to a GST_EVENT_GAP.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2345>
+
+2021-06-30 18:11:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Don't ignore previous flow return value
+         In case of ASYNC MFT (hardware encoder), we were ignoring previous
+         finish_frame or pad_push return value. so, error wasn't propagated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2370>
+
+2021-05-20 00:49:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11compositor.h:
+       * sys/d3d11/gstd3d11compositorbin.cpp:
+         d3d11compositor: Add scaling policy to support PAR-aware scaling
+         Identical to https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156
+         but for D3D11.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2263>
+
+2021-06-30 13:56:49 +0900  youngsoo.lee <youngsoo15.lee@gmail.com>
+
+       * gst-libs/gst/opencv/meson.build:
+         opencv: Fix build error on macOS
+         The build fails on macos with the following error:
+         /usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/core/mat.hpp:2226:15: error: no template named 'initializer_list' in namespace 'std'
+         Mat_(std::initializer_list<_Tp> values);
+         fatal error: too many errors emitted, stopping now [-ferror-limit=]
+         35 warnings and 20 errors generated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2368>
+
+2021-03-03 15:38:45 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2codecs: vp8: Check kernel version
+         Print a warning if the kernel version is too old.
+         Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075>
+
+2021-03-02 18:13:27 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+       * sys/v4l2codecs/linux/vp8-ctrls.h:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: vp8: Update to the new uAPI
+         Starting from Linux v5.13, the V4L2 stateless VP8 uAPI
+         is updated and stable.
+         Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075>
+
+2021-06-27 01:15:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvrtcloader.c:
+         nvcodec: Enhance CUDA runtime compiler library loading on Windows
+         The name of installed CUDA runtime compiler library is formed like
+         nvrtc64_{major-version}{minor-version}_0.dll on Windows
+         (which is differnt from documented in https://docs.nvidia.com/cuda/nvrtc/index.html)
+         And minor version might not be exactly same as that of CUDA.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2362>
+
+2021-06-14 18:49:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11av1dec.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add AV1 decoder
+         Introduce Direct3D11/DXVA AV1 decoder element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
+
+2021-06-27 23:09:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+         av1decoder: Store display resolution for duplicated picture
+         Target display resolution might be required by subclass implementation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
+
+2021-06-27 20:35:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+         av1decoder: Fix debug typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
+
+2021-06-27 20:19:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         av1parser: Fix tile size calculation
+         Remaining size should exclude already read "tile size bits".
+         And see also "5.11.1. General tile group OBU syntax"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
+
+2021-06-28 21:13:56 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportreceivebin.c:
+         webrtc receivebin: Drop serialized queries before receive queue
+         If they're not dropped, they can be blocked in the queue even if it is
+         leaky in the case where there is a buffer being pushed downstream. Since
+         in webrtc, it's unlikely that there will be a special allocator to
+         receive RTP packets, there is almost no downside to just ignoring the
+         queries.
+         Also drop queries if they get caught in the pad probe after the queue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
+
+2021-06-26 14:31:01 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportreceivebin.h:
+         webrtc receivebin: Only set queue to leaky when the pad is blocked
+         When the pad is no longer blocked, remove the leakyness to make sure
+         everything gets into the jitterbuffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
+
+2021-06-26 14:25:39 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportreceivebin.c:
+         webrtc receivebin: Don't unblock pad until sender is unblocked
+         As ther OpenSSL session is created when the receiver goes into
+         playing, we have to wait for the ICE session to be connected before we
+         can start delivering packets to the DTLS element.
+         Fixes #1599
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
+
+2021-06-24 13:17:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * gst-libs/gst/webrtc/dtlstransport.c:
+         webrtcbin: Sync to the clock per stream and not per bundle
+         By using the clocksync inside the dtlssrtpenc, all streams inside a
+         bundled are synchronized together. This will cause problems if their
+         buffers are not already arriving synchronized: clocksync would wait for
+         a buffer on one stream and then buffers from the other stream(s) with
+         lower timestamps would all be sent out too late.
+         Placing the clocksync before the rtpbin and rtpfunnel synchronizes each
+         stream individually and they will be send out more smoothly as a result.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2355>
+
+2021-06-24 14:58:12 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportsendbin.c:
+       * ext/webrtc/transportstream.c:
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+         webrtc: Remove the webrtc-priv.h header from public headers
+         And this time for real, also import it in a couple more places
+         inside the webrtc element to make it build.
+         Fixes #1607
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2359>
+
+2021-06-09 17:29:19 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaav1dec.c:
+         va: change AV1 GstVideoAlignment setting to left-top corner.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-18 10:37:06 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264dec.c:
+         va: h264dec: Set the GstVideoAlignment correctly.
+         We should set GstVideoAlignment based on the sequence's crop information.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-09 17:21:18 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Set the GstVideoAlignment correctly.
+         We should set GstVideoAlignment based on the conformance window info.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-09 17:19:04 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvapool.c:
+         va: pool: Add VideoCropMeta to the buffer if crop_top/left > 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-09 17:14:42 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+         va: basedec: Copy the frames into other_pool if needed.
+         If decoder's crop_top/left value > 0 and the downstream does not
+         support the VideoCropMeta, we need to manually copy the frames
+         into the other_pool and output it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-09 15:44:33 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+         va: basedec: Setup the other_pool to copy output if crop_left/top.
+         If the decoder has crop_top/left value > 0(e.g. the conformance
+         window in the H265). Which means that the real output picture
+         locates in the middle of the decoded buffer. If the downstream can
+         support VideoCropMeta, a VideoCropMeta is added to notify the
+         real picture's coordinate and size. But if not, we need to copy
+         it manually and the other_pool is needed. We always assume that
+         decoded picture starts from top-left corner, and so there is no
+         need to do this if crop_bottom/right value > 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-07 00:49:49 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvapool.c:
+         va: No need to set the alignment for VideoMeta
+         The base va decoder's video_align is just used for calculation the
+         real decoded buffer's width and height. It does not have meaning
+         for the VideoMeta, because it does not align to the real picture
+         in the output buffer. We will use VideoCropMeta to replace it later.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-03 00:07:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvapool.c:
+         va: Delete the useless align expand in va_pool_set_config().
+         The base va decoder's video_align is just used for calculation the
+         real decoded buffer's width and height. While the gst_video_info_align
+         just calculate the offset and stride based on the video_align. But
+         all the offsets and strides are overwritten in gst_va_dmabuf_allocator_try
+         or gst_va_allocator_try, which make that calculation useless.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
+
+2021-06-28 17:41:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Re-add WebRTC object docs to the public headers
+         So they end up in the generated documentation and the Since markers
+         appear in the .gir files too.
+         Also remove wrong "Since: 1.16" markers for some objects that were
+         available since 1.14.0 already.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1609
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2366>
+
+2021-06-25 10:20:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.c:
+         webrtcbin: Set transceiver kind and codec preferences immediately when creating it
+         Otherwise the on-new-transceiver signal will always be emitted with kind
+         set to UNKNOWN and no codec preferences although both are often known at
+         this point already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2360>
+
+2021-06-25 12:14:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Add a test for setting codec preferences as part of "on-new-transceiver" when setting the remote offer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
+
+2021-06-25 12:13:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc: Use fail_unless_equals_string() for string assertions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
+
+2021-06-08 11:40:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Store newly created transceivers when creating an answer also in the seen transceivers list
+         Otherwise it might be used a second time for another media afterwards.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
+
+2021-06-08 11:39:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: When creating a new transceiver as part of creating the answer also take its codec preferences into account
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
+
+2021-06-08 11:38:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Fix a couple of caps leaks of the offer caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
+
+2021-06-24 12:28:11 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Stop transceivers update after first SDP error on data channel
+         When invalid SDP is supplied, _update_data_channel_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.
+         This change is similar to the one applied in
+         064428cb34572fa1a018ebbaba6925967ba99dc0.
+         See also #1595
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2356>
+
+2021-06-21 16:50:46 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin test: Fix race in new test
+         Pull a buffer from a sink to make sure that the caps are already
+         set before trying to update them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2348>
+
+2021-06-22 16:12:57 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdk: fix qp range for vp9enc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2349>
+
+2021-06-10 11:46:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Don't consider it a segment change if the segment is the same except for the position
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2319>
+
+2021-06-21 17:13:33 +0900  Seungha Yang <seungha@centricular.com>
+
+         d3d11: Add support for GRAY and more YUV formats
+         By this commit, following formats will be newly supported by d3d11 elements
+         * Y444_{8, 12, 16}LE formats:
+         Similar to other planar formats. Such Y444 variants are not supported
+         by Direct3D11 natively, but we can simply map each plane by
+         using R8 and/or R16 texture.
+         * P012_LE:
+         It is not different from P016_LE, but defining P012 and P016 separately
+         for more explicit signalling. Note that DXVA uses P016 texture
+         for 12bits encoded bitstreams.
+         * GRAY:
+         This format is required for some codecs (e.g., AV1) if monochrome
+         is supported
+         * 4:2:0 planar 12bits (I420_12LE) and 4:2:2 planar 8, 10, 12bits
+         formats (Y42B, I422_10LE, and I422_12LE)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2346>
+
+2021-06-10 11:42:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         tsmux: When selecting random PIDs, name the pads according to those PIDs
+         Some elements will make use of the automatically generated names to
+         create new pads in future muxer instances, for example splitmuxsink.
+         Previously we would've created a pad with a random pid that would become
+         "sink_0", and then on a new muxer instance a pad "sink_0" and tsmux
+         would've then failed because 0 is not a valid PID.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2318>
+
+2021-06-23 01:43:08 +0900  Seungha Yang <seungha@centricular.com>
+
+         mfvideoenc: Enhance B-frame timestamp handling
+         When B-frame is enabled, encoder seems to adjust PTS of encoded sample
+         by using frame duration.
+         For instance, one observed timestamp pattern by using B-frame enabled
+         and 30fps stream is:
+         * Frame-1: MF pts 0:00.033333300 MF dts 0:00.000000000
+         * Frame-2: MF pts 0:00.133333300 MF dts 0:00.033333300
+         * Frame-3: MF pts 0:00.066666600 MF dts 0:00.066666600
+         * Frame-4: MF pts 0:00.099999900 MF dts 0:00.100000000
+         We can notice that the amount of PTS shift is frame duration and
+         Frame-4 exhibits PTS < DTS.
+         To compensate shifted timestamp, we should
+         calculate the timestamp offset and re-calculate DTS correspondingly.
+         Otherwise, total timeline of output stream will be shifted, and that
+         can cause time sync issue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2354>
+
+2021-06-10 11:36:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         tsmux: Recheck existing pad PIDs when requesting a new pad with a random pid
+         Previously pads might have been requested already (e.g. in NULL state),
+         then reset was called (e.g. because changing state) and then a new pad
+         was requested. Resetting is re-creating the internal muxer object and as
+         such resetting the pid counter, so the next requested pad would get the
+         same pid as the first requested pad which then leads to collisions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2317>
+
+2021-06-22 02:34:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfh264enc, mfh265enc: Set profile string to src caps
+         Set configured profile to src caps so that downstream can figure
+         out selected profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2347>
+
+2021-04-21 16:24:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/webrtcdatachannel.h:
+       * gst-libs/gst/webrtc/datachannel.c:
+       * gst-libs/gst/webrtc/datachannel.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+         webrtc lib: Make the datachannel struct private
+         This will prevent any unsafe access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
+
+2021-04-21 16:19:41 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/dtlstransport.c:
+       * gst-libs/gst/webrtc/dtlstransport.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+         webrtc lib: Make the DTLSTransport struct private
+         This will prevent any unsafe access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
+
+2021-04-21 16:17:23 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/nicetransport.h:
+       * gst-libs/gst/webrtc/icetransport.c:
+       * gst-libs/gst/webrtc/icetransport.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+         webrtc lib: Make the icetransport struct private
+         This will prevent any unsafe access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
+
+2021-04-21 16:04:26 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+         webrtc lib: Make the rtpreceiver struct private
+         This will prevent any unsafe access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
+
+2021-04-21 16:00:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+         webrtc lib: Make the rtpsender struct private
+         This will prevent any unsafe access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
+
+2021-04-21 16:00:34 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/webrtctransceiver.h:
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+         webrtc lib: Make the transceiver struct private
+         This will prevent any unsafe access.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
+
+2021-06-18 19:26:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: add negative DTS support
+         Use the same set_min_pts approach as x264enc.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/304
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2340>
+
+2021-06-17 20:10:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+         decklinkaudiosrc: Don't assume that stream time is always valid
+         As per SDK doc, IDeckLinkInputCallback::VideoInputFrameArrived
+         method might not provide video frame and it can be null.
+         In that case, given stream_time can be invalid.
+         So, we should not try to convert GST_CLOCK_TIME_NONE
+         by using gst_clock_adjust_with_calibration()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2337>
+
+2021-06-14 13:16:30 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Fix usage of g_error_propagate
+         In the error callback we were propagating an error we were not owning
+         which is incorrect use of the API.
+         Also we were clearing a GError we already propagated which is wrong
+         as propagating gives ownership away.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2325>
+
+2021-06-14 13:13:24 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Add a missing object unlocking
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2325>
+
+2021-06-14 15:07:05 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/faad/gstfaad.c:
+         faad: fix typo in element documentation
+         seealso is now see_also
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2323>
+
+2021-06-17 20:17:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/check/elements/msdkh264enc.c:
+         tests: msdkh264dec: Run test only if factory is available.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2336>
+
+2021-06-17 11:25:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: Demote error log message to warning.
+         It is not an error that the available hardware doesn't support VA-API/MSDK. Just
+         none plugin features will be registered.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2336>
+
+2021-06-20 18:48:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+       * gst-libs/gst/d3d11/meson.build:
+         libs: d3d11: Port to C++
+         In general, C++ COM APIs are slightly less verbose and more readable
+         than C APIs. And C++ supports some helper methods
+         (smart pointer and C++ only macros for example) which are not allowed for C.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2343>
+
+2021-06-16 10:23:37 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/meson.build:
+         msdk: declare external dependencies
+         Track kernel and VA driver dependencies so gstreamer
+         will re-inspect the plugin if any of them change.
+         Also, do not blacklist the plugin if !msdk_is_available
+         since it could be a transient issue caused by one or
+         more external dependency issues (e.g. wrong/missing
+         driver specified, but corrected by user later on).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2335>
+
+2021-06-17 01:00:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+         h264parse,h265parse: Push parameter set NAL units again per segment-done
+         Some decoder implementations might drain out internal buffers and
+         reset its status on segment-done event. So, in case that
+         upstream stream-format is packetized but downstream supports only
+         byte-format, required codec-data might not be forwarded toward
+         downstream if such parameter set NAL units don't exist in inband
+         bitstream. Therefore, parse elements should re-send parameter set NAL
+         units like the case of flush event.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2334>
+
+2021-06-16 10:31:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+         vp8decoder: Drain the output queue on EOS/finish
+         The finish() virtual method was flushing the queue, instead push the
+         remaining buffers. It is not required to reset in finish() unlike
+         drain(). This a regression causing last frame to always be lost.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2333>
+
+2021-06-16 10:30:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+         v4l2slvp8dec: Only ask for output delay once per negotiation
+         While it's technically possible to change it per frame, asking for
+         that every frame is not very useful. This mimic H264 decoder better.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2333>
+
+2021-06-16 16:56:14 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: Improve the default mapping between rt_format and video format.
+         We add 12 bits entries into this default mapping. And the old mapping
+         is not precise. For example, the NV12 should not be used as the default
+         mapping for VA_RT_FORMAT_YUV422 and VA_RT_FORMAT_YUV444, it is even not
+         a 422 or 444 format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2332>
+
+2021-06-16 16:43:40 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: Add 12 bits rt_format setting in H265.
+         In order to support 12 bits format decoding, we need to add the
+         support for 12 bits rt_format in H265.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2332>
+
+2021-06-16 16:32:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavideoformat.c:
+         va: Fix a typo in video format mapping.
+         GST_VIDEO_FORMAT_Y412_LE is a 4:4:4 format and so should be mapped
+         to VA_RT_YUV444_12 rt format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2332>
+
+2021-06-15 21:36:43 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Fix a typo in get_compatible_profile_caps().
+         The GST_H265_PROFILE_MAIN_444_10 profile should be compatible with
+         GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_444_10, not the current
+         GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_10.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2328>
+
+2020-12-15 18:11:08 +0800  Randy Li (ayaka) <ayaka@soulik.info>
+
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/gstwaylandsink.h:
+       * ext/wayland/wlwindow.c:
+       * ext/wayland/wlwindow.h:
+         waylandsink: prevent frame callback being released twice
+         For those using context from the application which
+         would be the embedded video case, if the frame callback
+         is entering at the same time as window is finalizing,
+         a wayland proxy object would be destroyed twice, leading
+         the refcout less than zero in the second time, it can
+         throw an abort() in wayland.
+         For those top window case, which as a directly connection
+         to the compositor, they can stop the message queue then
+         the frame callback won't happen at the same time as the
+         window is finalizing. It doesn't think it would bother
+         them about this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1883>
+
+2021-06-14 16:04:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphadecodebin.c:
+       * sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
+         alphadecodebin: Fix stall due to QoS
+         alphacombine element is a simple element that assumes buffers are always
+         paired, or at least that missing buffers are signalled with a GAP. The QoS
+         implementation in the GstVideoDecoder base class allow decoders dropping
+         frames independently and that could lead to stall in alphacombine.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2326>
+
+2021-02-02 11:02:02 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * gst-libs/gst/codecparsers/gstjpeg2000sampling.c:
+       * gst-libs/gst/codecparsers/gstjpeg2000sampling.h:
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse, openjpeg: add support for YCrCb 4:1:1 sampling
+         Add YCrCb 4:1:1 support in openjpeg elements
+         and fix in jpeg2000parse the YCrCb 4:1:0 support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2321>
+
+2021-06-10 23:35:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Don't print error log when no DPB texture is available
+         ... but we are flushing. The condition is quite expected situation
+         when pipeline is in the middle of seeking operation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2320>
+
+2021-05-23 18:17:38 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: add extbrc support in ext-coding-props property
+         The SDK can support external bitrate control [1], so add extbrc
+         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/2139>
+
+2021-05-23 18:13:25 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkenc: add ext-coding-props for external coding options
+         This property supports passing multiple parameters using GstStructure.
+         Example usage:
+         ext-coding-props="props,key0=value0,key1=value1,..."
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2139>
+
+2021-06-05 21:59:50 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: Fix the H265 poc out of order warning.
+         We always get a warning such as:
+         h265decoder gsth265decoder.c:1432:gst_h265_decoder_do_output_picture: \
+         <vah265dec0> Outputting out of order 255 -> 0, likely a broken stream
+         in H265 decoder.
+         The problem is caused because we fail to reset the last_output_poc when
+         we get IDR and BLA. The incoming IDR and BLA frame already bump all the
+         frames in the DPB, but we forget to reset the last_output_poc, which
+         make the POC out of order and generate the warning all the time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2294>
+
+2021-06-10 01:09:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2sink.c:
+         wasapi2sink: Fix ringbuffer object leak
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2315>
+
+2021-06-10 00:24:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+         wasapi2ringbuffer: Implement GstAudioRingBuffer::pause()
+         WASAPI doesn't support PAUSE so it's not different from Stop().
+         When pipeline is in paused state, we don't need to waste CPU resource
+         for feeding silent buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2315>
+
+2021-06-07 01:49:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.c:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+         d3d11memory: Implement GstAllocator::mem_copy method
+         There are a few places which require deep copy
+         (basesink on drain for example). Also this implementation can be
+         useful for future use case.
+         One probable future use case is that copying DPB texture to
+         another texture for in-place transform since our DPB texture is never
+         writable, and therefore copying is unavoidable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2308>
+
+2021-06-08 21:35:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+       * sys/wasapi2/gstwasapi2client.h:
+       * sys/wasapi2/gstwasapi2device.c:
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+       * sys/wasapi2/gstwasapi2src.c:
+       * sys/wasapi2/gstwasapi2util.c:
+       * sys/wasapi2/gstwasapi2util.h:
+         wasapi2src: Add support for loopback recording
+         ... and add various device error handling.
+         This loopback implementation is functionally identical to that of wasapisrc.
+         When it's enabled, wasapi2src will read data from render device instead of
+         capture device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2311>
+
+2021-05-10 20:45:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+       * sys/wasapi2/gstwasapi2client.h:
+       * sys/wasapi2/gstwasapi2device.c:
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+       * sys/wasapi2/gstwasapi2ringbuffer.h:
+       * sys/wasapi2/gstwasapi2sink.c:
+       * sys/wasapi2/gstwasapi2sink.h:
+       * sys/wasapi2/gstwasapi2src.c:
+       * sys/wasapi2/gstwasapi2src.h:
+       * sys/wasapi2/gstwasapi2util.c:
+       * sys/wasapi2/gstwasapi2util.h:
+       * sys/wasapi2/meson.build:
+       * sys/wasapi2/plugin.c:
+         wasapi2: Rewrite plugin and implement audioringbuffer subclass
+         ... based on MediaFoundation work queue API.
+         By this commit, wasapi2 plugin will make use of pull mode scheduling
+         with audioringbuffer subclass.
+         There are several drawbacks of audiosrc/audiosink subclassing
+         (not audiobasesrc/audiobasesink) for WASAPI API, which are:
+         * audiosrc/audiosink classes try to set high priority to
+         read/write thread via MMCSS (Multimedia Class Scheduler Service)
+         but it's not allowed in case of UWP application.
+         In order to use MMCSS in UWP, application should use MediaFoundation
+         work queue indirectly.
+         Since audiosrc/audiosink scheduling model is not compatible with
+         MediaFoundation's work queue model, audioringbuffer subclassing
+         is required.
+         * WASAPI capture device might report larger packet size than expected
+         (i.e., larger frames we can read than expected frame size per period).
+         Meanwhile, in any case, application should drain all packets at that moment.
+         In order to handle the case, wasapi/wasapi2 plugins were making use of
+         GstAdapter which is obviously sub-optimal because it requires additional
+         memory allocation and copy.
+         By implementing audioringbuffer subclassing, we can avoid such inefficiency.
+         In this commit, all the device read/write operations will be moved
+         to newly implemented wasapi2ringbuffer class and
+         existing wasapi2client class will take care of device enumeration
+         and activation parts only.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2306>
+
+2021-06-06 17:32:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2: Use AUDCLNT_STREAMFLAGS_NOPERSIST flag
+         ... so that we can disable persistence of our mute/volume status
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2306>
+
+2021-06-06 17:28:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2src.c:
+         wasapi2src: Fix doc typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2306>
+
+2021-05-26 00:12:59 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
+         wpe: Rename `undeserializable_type` to `not_deserializable_type`
+         Making it more readable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-25 23:58:27 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
+         wpe: Make forwarded messages layout more like GstBinForwaded messages
+         Making it look more like how we do this kind of things in other places.
+         See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252#note_927653
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 10:52:01 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * tests/examples/wpe/wpe.c:
+         wpe: Make wpesrc!video pad an always pad
+         There should always be a `video` pad no matter what.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 10:31:53 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/wpe-extension/gstwpeextension.c:
+         wpe: Remove unused env var
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 10:31:37 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/wpe-extension/gstwpeaudiosink.c:
+         wpe: Fix atomic usage
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 10:29:11 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpe: Add a note able requiring tracing subsystem for message forwarding
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 10:18:21 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/wpe-extension/gstwpeaudiosink.c:
+         wpe: Fix check on whether MEMFD_CREATE is available
+         The ordering of the ifdef was wrong
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 10:13:01 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
+         wpe: Plug a leak
+         We were freeing after returning
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-21 09:54:33 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         Revert "wpe: Properly respect LIBGL_ALWAYS_SOFTWARE"
+         This causes issues I didn't see:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252#note_927633
+         Let's just tell people to use capsfilter to force software rendering in
+         `wpesrc` for now.
+         The intent was to allow forcing it easily in playbin2 for the CI, but
+         we will do it some other way and see when time comes.
+         This reverts commit 9415106b029e5469ca28d882dc46ecc38786d4c9.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
+
+2021-05-28 15:18:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/debugutilsbad.c:
+       * gst/debugutils/gstdebugutilsbadelements.h:
+       * gst/debugutils/gstvideocodectestsink.c:
+       * gst/debugutils/gstvideocodectestsink.h:
+       * gst/debugutils/meson.build:
+         debugutils: Introduce videocodectestsink
+         This is a video specific sink used to test video CODEC conformance. This is similar
+         to a combination of filesink and testsink, but will skip over any type of
+         padding that GStreamer Video library introduces. This is needed in order to obtain the
+         correct checksum or raw yuv data.
+         This element currently support writing back non-padded raw I420 through the
+         location property and will calculate an MD5 and post it as an element message
+         of type conformance/checksum. More output format or checksum type could be
+         added in the future as needed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2287>
+
+2021-06-04 01:44:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+         vkinstance: Don't abort in case that system has no available vulkan device
+         Specification doesn't have restriction that returned
+         pPhysicalDeviceCount value must be non-zero
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2304>
+
+2021-06-03 11:24:53 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Clear all streams when rewinding
+         This avoids sending out partial invalid data downstream which could cause
+         decoders (ex: `dvdlpmdec`) to error out.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2301>
+
+2021-05-29 01:48:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.c:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * tests/check/elements/d3d11colorconvert.c:
+         d3d11: Add support for YV12 and NV21 formats
+         Handle UV swapped 4:2:0 8bits formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2290>
+
+2021-06-03 18:28:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window_win32: Ensure closing internal HWND from window thread
+         Window handle must be closed from its own message thread
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2302>
+
+2021-06-03 10:31:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update cache after pixel format reorder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2303>
+
+2021-06-03 10:03:19 +0800  Yinhang Liu <yinhang.liu@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkav1dec.c:
+       * sys/msdk/gstmsdkh264dec.c:
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh265dec.c:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkmjpegdec.c:
+       * sys/msdk/gstmsdkmjpegenc.c:
+       * sys/msdk/gstmsdkmpeg2dec.c:
+       * sys/msdk/gstmsdkmpeg2enc.c:
+       * sys/msdk/gstmsdkvc1dec.c:
+       * sys/msdk/gstmsdkvp8dec.c:
+       * sys/msdk/gstmsdkvp9dec.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         doc: add the msdk elements
+         Supported elements:
+         msdkav1dec, msdkh264dec, msdkh264enc, msdkh265dec, msdkh265enc,
+         msdkmjpegdec, msdkmjpegenc, msdkmpeg2dec, msdkmpeg2enc, msdkvc1dec,
+         msdkvp8dec, msdkvp9dec, msdkvp9enc, msdkvpp.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2296>
+
+2021-06-02 14:17:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Fix for missing initial configure
+         We were doing our initial "empty" commit on the subsurface instead of the
+         toplevel surface. As an incidence, we should not have received a configure
+         event ever, not just on mutter. This fixes the following warning when using
+         mutter compositor (aka gnome-shell):
+         waylandsink wlwindow.c:304:gst_wl_window_new_toplevel: The compositor did not send configure event.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2299>
+
+2021-06-02 11:26:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/camerabin.c:
+         test: camerabin: Fix buffer size calculation
+         We were assunming that GStreamer size for RGB (24bit packed) data was width x
+         height x 3, but GStreamer defaults to specific alignment. Use GstVideoInfo API
+         in order to obtain the buffer size.
+         This fixes failure seen when trying to merge: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/998
+         which make us negoaite 1x1 instead of 16x16 in this test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2297>
+
+2021-05-31 17:51:58 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+         codecs: Integrate H265 DPB full check into need_bump().
+         The current DPB check of H265 is not very correct. The current frame
+         is already in the DPB when we check whether the DPB is full.
+         For example, the DPB max size is 16 and we have 15 ref frames in the
+         DPB, so the gst_h265_dpb_delete_unused() cleans no one, and then plus
+         the current frame, the DPB is 16. This causes an error return, but in
+         fact, the stream is correct.
+         We now integrate the DPB full check into the need_bump() function.
+         We add the correct frame into to DPB and then check whether the picture
+         num is bigger than max_num_pics of DPB(which means there is no room for
+         the current picture). If true, we bump the DPB immediately.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2291>
+
+2021-06-01 15:28:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
 === release 1.19.1 ===
 
 2021-06-01 00:14:22 +0100  Tim-Philipp Müller <tim@centricular.com>
diff --git a/NEWS b/NEWS
index cc6c3b4..0e581c3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,15 +1,15 @@
 GStreamer 1.20 Release Notes
 
 GStreamer 1.20 has not been released yet. It is scheduled for release
-around July 2021.
+around October/November 2021.
 
 1.19.x is the unstable development version that is being developed in
-the git master branch and which will eventually result in 1.20, and
-1.19.1 is the current development release in that series
+the git main branch and which will eventually result in 1.20, and 1.19.2
+is the current development release in that series
 
-It is expected that feature freeze will be around June/July 2021,
-followed by several 1.19 pre-releases and the new 1.20 stable release
-around July 2021.
+It is expected that feature freeze will be in early October 2021,
+followed by one or two 1.19.9x pre-releases and the new 1.20 stable
+release around October/November 2021.
 
 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
@@ -17,7 +17,7 @@ around July 2021.
 See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
 version of this document.
 
-Last updated: Sunday 30 May 2021, 16:00 UTC (log)
+Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
 
 Introduction
 
@@ -247,6 +247,10 @@ Documentation improvements
 Possibly Breaking Changes
 
 -   this section will be filled in in due course
+-   MPEG-TS SCTE-35 API changes (FIXME: flesh out)
+-   gst_parse_launch() and friends now error out on non-existing
+    properties on top-level bins where they would silently fail and
+    ignore those before.
 
 Known Issues
 
@@ -274,16 +278,15 @@ the git 1.20 branch, which will be a stable branch.
 
 1.20.0
 
-1.20.0 is scheduled to be released around July 2021.
+1.20.0 is scheduled to be released around October/November 2021.
 
 Schedule for 1.22
 
 Our next major feature release will be 1.22, and 1.21 will be the
 unstable development version leading up to the stable 1.22 release. The
-development of 1.21/1.22 will happen in the git master branch.
+development of 1.21/1.22 will happen in the git main branch.
 
-The plan for the 1.22 development cycle is yet to be confirmed, but it
-is hoped that feature freeze will take place some time in December 2021.
+The plan for the 1.22 development cycle is yet to be confirmed.
 
 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff --git a/RELEASE b/RELEASE
index 775ec21..2a58e06 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-bad 1.19.1.
+This is GStreamer gst-plugins-bad 1.19.2.
 
 GStreamer 1.19 is the development branch leading up to the next major
 stable version which will be 1.20.
index 77d01f0..107051e 100644 (file)
@@ -35,6 +35,16 @@ real live maintainer, or some actual wide use.
 
  <release>
   <Version>
+   <revision>1.19.2</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2021-09-23</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.19.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.19.1</revision>
    <branch>master</branch>
    <name></name>
index beee7d4..7cab556 100644 (file)
@@ -1,5 +1,5 @@
 project('gst-plugins-bad', 'c', 'cpp',
-  version : '1.19.1.1',
+  version : '1.19.2',
   meson_version : '>= 0.54',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])