Update ChangeLogs for 1.21.2
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / ChangeLog
index f77de61..3fb155c 100644 (file)
+2020-12-08 16:55:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+         srt: Add a property to disable automatic reconnect
+         This adds a new boolean property `auto-reconnect`, defaulting to `true`.
+         Setting it to `false` makes the elements (in caller mode) immediately
+         report an error to the application instead of trying to reconnect.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3326>
+
+2022-10-26 18:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.c:
+         vabasetransform: Fail if cannot import the input buffer.
+         Otherwise got a buffer double free.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3348>
+
+2022-11-06 01:53:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcapturedshow.cpp:
+       * sys/mediafoundation/gstmfcapturedshow.h:
+       * sys/mediafoundation/gstmfdevice.cpp:
+       * sys/mediafoundation/gstmfsourceobject.cpp:
+       * sys/mediafoundation/gstmfsourceobject.h:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmfvideosrc.cpp:
+       * sys/mediafoundation/meson.build:
+         mfvideosrc: Add support for DirectShow capture filter
+         Adding DirecShow video capture filter mode, in addition
+         to existing MediaFoundation and WinRT(UWP) mode, to support
+         DirectShow only filters (not KS driver compatible)
+         such as custom virtual camera filters.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3350>
+
+2021-12-01 16:23:41 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtmp2: Improve error messages
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:04:24 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2/connection: Pass triggering GError in 'error' signal
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:02:53 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2/connection: Pass triggering GError to _emit_error
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:01:10 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2/connection: Discern reasons for cancelling all commands
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 15:53:13 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2/connection: Handle EOF like error
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 15:49:22 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtmp2/client: Make sure 'salt' is not NULL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 15:46:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtmp2/client: Make sure 'reason' is not NULL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:13:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtmp2/client: Make sure 'desc' is not NULL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:11:31 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtmp2/client: Make sure 'code' is not NULL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2022-11-07 07:45:53 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcstats.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/utils.c:
+       * ext/webrtc/utils.h:
+       * ext/webrtc/webrtcsdp.c:
+         webrtcbin: Don't duplicate enum string values
+         Some were leaked when debugging was enabled. Instead just directly use the
+         static strings as-is.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347>
+
+2022-11-04 14:24:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/gstvideocodectestsink.c:
+         videocodectestsink: Add YUV422 support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3331>
+
+2022-11-05 21:35:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11videosink: Always clear back buffer on resize
+         Swapchain may not need to be resized if the size of backbuffer
+         is equal to the previous size. Then previously rendered frame will be stay
+         on the screen. Do clear back buffer whenever resize() is called
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3341>
+
+2022-11-05 00:00:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator_va.cpp:
+         qsv: Fix encoding error when input memory belongs to other GPU
+         Copy frame if VA display of input buffer is different from that
+         of encoder, like we've been doing on Windows
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3335>
+
+2022-11-04 21:52:39 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+         va: baseenc: Do not import the VA surface from other display.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 21:26:23 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvacompositor.c:
+         va: compositor: Do not use allocator and pool from other display.
+         Just like the va decoder, the compositor should not use allocator
+         and pool from other display. Also, when importing the input buffer,
+         if it is from other display, we should fallback to memory copy.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:12:22 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasetransform.c:
+         va: basetransform: Do not use allocator and pool from other display.
+         Just like the va decoder, the vpp and deinterlace should not use allocator
+         and pool from other display. Also, when importing the input buffer, if it
+         is from other display, we should fallback to memory copy.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:08:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: Do not use allocator and pool from other display.
+         The command line such as:
+         gst-launch-1.0 -vf filesrc location=1.264 ! h264parse !
+         vah264dec ! varenderD129postproc ! fakesink
+         The decoder here gets the allocation proposal from the vpp which is
+         on another GPU device. The allocator and pool belong to other display
+         and should not be used in the decoder.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 20:28:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+         libs: va: Add API to peek the va buffer's display.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 20:28:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+         libs: va: Add API to peek the va memory's display.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:06:37 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+         libs: va: Add API to peek the allocator's display.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:03:35 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvaallocator.h:
+         libs: va: Fix code style in gstvaallocator.h
+         Replace all tabs with spaces.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-05 05:32:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: Update plugin description
+         Direct3D is too generic (there are various version numbers).
+         Clarify that this element is using the Direct3D9 API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3333>
+
+2022-11-04 08:41:10 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/lv2/gstlv2.c:
+         lv2: Don't leak plugin information on registration
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-11-04 08:40:24 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/ladspa/gstladspa.c:
+         ladspa: Don't leak plugin information on registration
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-11-04 08:09:52 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: Properly terminate GEnumValue table
+         It should be terminated with a NULL entry, otherwise we just stray into the
+         realms of cryptographic libraries^W^W random memory usage.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-07-27 15:59:35 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Remove callers for which srt_bstats fails
+         This keeps them from accumulating in the element and in the stats while
+         the sink is not being fed, as long as we at least periodically grab
+         stats.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-07-29 11:53:18 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Use simpler list operations for callers
+         Avoid `g_list_append` and `g_list_remove` (which have to scan the list)
+         and replace them with `g_list_prepend` and `g_list_delete_link`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2020-11-10 10:06:37 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Clean up poll/sock lifecycle
+         Make sure `srtobject->poll_id` is never invalid as long as `srtobject`
+         exists. Only remove our caller socket from it when the socket becomes
+         invalid.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-06-08 16:35:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Clean up error handling
+         - Make the srt_epoll_wait loops more uniform.
+         - Error only via GError when possible; let the element send the error
+         message. Avoids a second error message.
+         - Return 0 when cancelled. Avoids an error message from the element.
+         - Don't send an error message from send_headers when we're a server
+         sink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-10-11 11:14:59 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Simplify socket stats
+         Don't hide stats depending on whether we're a sending or receiving
+         socket. While we're here, add some more debug logs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2020-10-05 19:50:13 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+         srt: Replace stats accumulation with naive byte counting
+         srt_bstats cannot be used to get the stats of closed connections, so the
+         best we can do is keep the running count ourselves.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-11-04 18:32:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/gstdshow.cpp:
+         directshow: Validate enumerated AM_MEDIA_TYPE struct
+         The video info struct can be null if format is undefined
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323>
+
+2022-11-03 23:40:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11decoder-appsink.cpp:
+       * tests/examples/d3d11/d3d11videosink-present.cpp:
+         examples: d3d11: Fix GCC build error/warning
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3318>
+
+2022-11-03 05:18:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/qsv/gstqsvjpegenc.cpp:
+         qsvjpegenc: Add support for YUY2 format
+         Now GstD3D11 defines YUY2 format
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>
+
+2022-11-03 05:12:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/qsv/gstqsvallocator.cpp:
+       * sys/qsv/gstqsvallocator.h:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvjpegdec.cpp:
+       * sys/qsv/gstqsvjpegdec.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add JPEG decoder
+         Because DXVA does not define JPEG decoding, we need this
+         vendor specific API for Windows
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>
+
+2022-11-03 03:38:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/d3d11/gstd3d11-private.h:
+       * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+         d3d11: Add support for YUY2 format
+         YUY2 is a primary YUV 4:2:2 format for DXVA.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>
+
+2022-11-01 09:47:38 +0800  Tong Wu <tong1.wu@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdkcontext: use gst_object_unref instead of g_object_unref
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-10-31 16:59:18 +0800  Tong Wu <tong1.wu@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdkcontext: use gst_object_ref for GstVaDisplay
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-10-31 16:56:32 +0800  Tong Wu <tong1.wu@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdkcontext: g_object_new() must not return nullptr
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-10-31 16:52:23 +0800  Tong Wu <tong1.wu@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: use GST_CAPS_FEATURE_MEMORY_VA to check the feature
+         Add macros to protect sinkpad_is_va(), since it is not defined on
+         Windows.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-11-01 12:03:24 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpe: fix wpevideosrc gst-play example
+         wpe:// no longer works since 1.20, see wpesrc examples.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3306>
+
+2022-10-27 10:03:34 -0400  Eric Knapp <emkman99@gmail.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Added option to insert CEA-708 closed captions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2910>
+
+2022-11-01 22:19:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/qsv/gstqsvav1enc.cpp:
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265dec.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvjpegenc.cpp:
+       * sys/qsv/gstqsvutils.h:
+       * sys/qsv/gstqsvvp9dec.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+         qsv: Check 16K resolution support
+         ... and remove duplicated code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3310>
+
+2021-05-14 10:24:05 +0200  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/vulkan/gstvkimageview.c:
+       * gst-libs/gst/vulkan/gstvkimageview.h:
+         vulkan: Mark gst_vulkan_image_view_new create_info as constant pointer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2021-01-05 22:33:12 +0100  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/vulkan/gstvkcommandpool.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+         vulkan: Remove unnecessary null checks
+         These null checkes are slightly misleading when double-checking
+         mutability for external language interop.  None of the functions in
+         these files allow the variable at hand to become `NULL` under normal
+         operation, because they are checked at initialization and never (allowed
+         to be) reassigned to `NULL`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2021-01-04 01:07:04 +0100  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+         vulkan: Add missing `(nullable)` annotation to `Returns`
+         Most of these functions already state they might return `%NULL`, but
+         this is not picked up by G-IR.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2021-01-04 00:40:24 +0100  Marijn Suijten <marijns95@gmail.com>
+
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+         vulkan: Add missing `array length` and `(out)` annotation to parameters
+         Add `array length` annotation for `layouts` such that `n_layouts` is
+         properly marked as its length, and add `(out)` where a function returns
+         in that parameter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2022-11-01 02:00:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Fix for VP9 decoding with odd resolution
+         Fixing off by one mismatch when width and/or height of stream
+         is odd number
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3302>
+
+2022-10-28 03:25:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/qsv/gstqsvallocator.cpp:
+       * sys/qsv/gstqsvallocator.h:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvvp9dec.cpp:
+       * sys/qsv/gstqsvvp9dec.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add VP9 decoder
+         Recent Intel GPU supports 12bits VP9 decoding but only VP9
+         profile2 with 10bits is defined by DXVA spec.
+         Thus, we need this vendor specific decoder element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3290>
+
+2022-10-30 19:01:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11vp9dec: Disallow Profile2 12bits stream
+         Since DXVA does not support the format, specify bit-depth field
+         to sinkpad template caps so that d3d11vp9dec can be skipped
+         during autoplugging
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>
+
+2022-10-30 18:37:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Set subsampling to src caps even if GBR stream
+         Some muxer elements will need the subsampling information
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>
+
+2022-10-30 18:35:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Delaying src caps until frame is parsed if profile > 0
+         subsampling and/or bitdepth information will be required for
+         negotiation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>
+
+2022-10-29 16:17:53 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: Update documentation to clarify bitrate and peak-bitrate
+         bitrate property is only applicable for constant bitrate and
+         peak-bitrate is only applicable for variable bitrate. Clarify
+         the same.
+
+2022-10-29 12:19:58 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/fdkaac/gstfdkaacenc.h:
+         fdkaacenc: Add support for setting bitrate mode
+
+2021-01-31 22:00:36 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/fdkaac/gstfdkaacenc.h:
+         fdkaacenc: Add support for setting peak bitrate
+
+2021-01-23 18:35:12 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/fdkaac/gstfdkaacenc.h:
+         fdkaacenc: Add support for enabling afterburner
+         This is an additional quality parameter. In the default configuration this
+         quality switch is deactivated because it would cause a workload increase
+         which might be significant. If workload is not an issue in the application
+         it can be recommended to activate this feature.
+
+2020-11-26 19:23:11 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * ext/fdkaac/gstfdkaacdec.c:
+         fdkaacdec: Do not report decoding error for flush request
+         A flush request is done when set_format is called to empty internal bit
+         buffer maintained by fdk-aac. When this happens, during the explicit
+         call to handle_buffer, decodeFrame does not return a AAC_DEC_OK. This
+         gets reported as a decoding error while no decoding error in fact took
+         place. Since this can be confusing, just return a GST_FLOW_OK and log
+         that an explicit flush was requested.
+
+2022-10-25 13:22:30 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/codecparsers/gstvp9parser.c:
+         vp9parser: initialize subsampling to -1
+         The default value of 0 is a valid subsampling value and could be
+         confused with an 'unset' value.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260>
+
+2022-10-27 14:20:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+         vaencoder: Reset attribute index to one.
+         Further fix to 4ffb3663 where I forgot to reset the attribute index.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3285>
+
+2022-10-03 15:20:24 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/dash/gstdashdemux.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Minor typo fix
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159>
+
+2022-09-20 15:32:52 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/dash/gstmpdclient.c:
+         dash: Fix computing `repeat_index` when seeking in stream with a start !=0 on the first fragment
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159>
+
+2022-10-27 15:21:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+       * gst-libs/gst/codecparsers/gsth265bitwriter.h:
+       * tests/check/libs/h265bitwriter.c:
+         h265bitwriter: Correct the all API to byte aligned.
+         In fact, all the h265 bit writer have byte aligned output. So we
+         change the API from bit size in unit to byte size, which is easy
+         to use.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>
+
+2022-10-27 13:42:17 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+       * gst-libs/gst/codecparsers/gsth264bitwriter.h:
+       * sys/va/gstvah264enc.c:
+       * tests/check/libs/h264bitwriter.c:
+         h264bitwriter: Correct the all API to byte aligned.
+         In fact, all the h264 bit writer have byte aligned output except
+         the slice header. So we change the API from bit size in unit to
+         byte size, which is easy to use. For slice header, we add a extra
+         "trail_bits_num" to return the unaligned bits number.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>
+
+2022-10-27 14:40:49 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+       * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+         bitwriter: Fix a nal conversion bug when input is not byte aligned.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>
+
+2022-10-24 11:56:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: Set va mem caps as higher priority
+         We use va pool as msdkvpp's bufferpool, which means both va memory
+         and dma memory will be allocated by va pool. Considering drm modifier
+         stuff is not ready, we use va memory with higher priortiry than
+         dma memory when deciding vpp caps.
+         Besides, this patch removes the specified "interlace-mode" in vpp caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3253>
+
+2022-10-18 03:36:23 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkav1enc.c:
+       * sys/msdk/gstmsdkav1enc.h:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkav1enc: Remove reorder TU workaround
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225>
+
+2022-10-18 03:10:43 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkav1enc.c:
+       * sys/msdk/gstmsdkav1enc.h:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkav1enc: Remove pts workaround
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225>
+
+2022-10-27 04:15:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/meson.build:
+         codecparsers: {h264,h265}bitwriter: Don't install headers yet
+         Those APIs are quite early stage of development, and we might want to
+         change them in the near future
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3275>
+
+2022-10-18 16:34:41 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: Fix upper frc
+         Refact vpp commit 4c6b7194451ff6fbfe88834219d982302114d74b broke the
+         upper FRC, here to fix this by using outbuf_new.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3223>
+
+2022-07-29 18:15:08 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/msdk/gstmsdkav1enc.c:
+         bad: Add msdkav1enc docs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2971>
+
+2022-10-25 08:14:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+         alphacombine: Add missing query handler for gaps
+         The gap handling was in place, but there was no event handler to trigger it.
+         Implement the alpha sink event handler for the gaps. This fixes handling of
+         valid streams which may not refresh the alpha frames for every video frames.
+         It will also allow a clean error if the stream was missing the initial
+         alpha frame, at least until we find a better way to handle these
+         invalid frames.
+         Related to #1518
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3264>
+
+2022-10-26 11:47:43 +0200  Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+       * sys/applemedia/avfdeviceprovider.m:
+         avfdeviceprovider: do not leak the properties
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3268>
+
+2022-10-21 10:57:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+         vaencoder: Fix caps semantics.
+         When using gst_va_caps_from_profiles() the semantics of sink/src caps
+         depends if the element is an encoder or a decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-10-19 16:44:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvaencoder.c:
+         va: Fix typos.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-08-11 12:51:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Fail if unsupported rate control.
+         Handle when encoder doesn't support rate control, which is set as
+         VA_RC_NONE, and if the set rate control mode is not supported by the
+         GStreamer element, the element configuration fails.
+         Also it logs out max and target bitrate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-09-15 12:56:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Add todo item.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-10-19 16:08:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         vaencoder: Honor entrypoint at constructor.
+         The entrypoint is set when the encoder helper is constructed,
+         nonetheless it was also passed as parameter when opening. That's
+         buggy.
+         In order to simplify the code, the entrypoint at construction is
+         honored.
+         But gst_va_encoder_has_profile_and_entrypoint() now doesn't rely in
+         the internal list of profiles since it only contains those that
+         belongs to codec and entrypoint, thus it queries directly the VA
+         driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-08-11 12:50:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+         vabaseenc: Scope error bail out.
+         Though this is not enforced by the GStreamer code style, it's clearer
+         to add a nested scope for error handling using label/goto.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-09-20 15:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabaseenc.h:
+       * sys/va/gstvah264enc.c:
+         vabaseenc: Use class entrypoint.
+         Add a macro to access to class entrypoint and use it instead of move
+         it to a variable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-10-26 02:55:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11-private.h:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+         d3d11: Move format defines to private header
+         Those defines will be likely changed/deleted in the future, and we
+         don't need to expose them to public at the moment
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3265>
+
+2022-10-25 09:39:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/vulkan/gstvkerror.c:
+         Fix various warnings from gobject-introspection
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>
+
+2022-10-22 11:13:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/fdkaac.c:
+       * tests/check/meson.build:
+         fdkaac: add minimal unit test
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-22 11:10:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: fix output caps in case of implicit signaling and HE-AAC
+         Need to put the actual profile in the output caps otherwise any
+         capsfilter after the encoder that was used to force the output
+         profile will fail, such as
+         fdkaacenc ! audio/mpeg,stream-format=adts,profile=he-aac-v1 ! ..
+         because we put profile=lc in there to match the profile signaled
+         in the ADTS header. This is expressed through the base-profile=lc
+         in the GStreamer caps though, the profile needs to carry the
+         'real' profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-21 17:10:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: don't set base-profile=lc for non-backwards compatible output
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-21 13:15:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: rename profile=sbr|ps to profile=he-aac-v1|he-aac-v2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-03-01 14:12:27 +0100  Piotrek Brzeziński <piotr@centricular.com>
+
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: add support for AAC-LD
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-02-23 17:17:25 +0100  Piotrek Brzeziński <piotr@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/fdkaac/gstfdkaacenc.c:
+         fdkaacenc: add support for HE-AACv1 and HE-AACv2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-22 04:28:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         gst-plugins-bad: Update Windows plugins cache
+         Add/update d3d11, qsv, nvcodec, wic, directshow, and amfcodec plugins cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 03:02:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+       * sys/nvcodec/gstnvencoder.cpp:
+       * sys/nvcodec/gstnvh264encoder.cpp:
+       * sys/nvcodec/gstnvh265encoder.cpp:
+         nvcodec: Update for documentation
+         * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+         properties
+         * Fix some typos
+         * Add since markers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:59:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaudiodecoder.cpp:
+       * sys/mediafoundation/gstmfaudioencoder.cpp:
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+         mediafoundation: Update for documentation
+         * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+         properties
+         * Add doc caps
+         * Add since markers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 04:09:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+         mfvideoencoder: Document only hardware encoders
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 22:37:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+         mfvideoencoder: Fix device enumeration
+         Although a GPU does not support the codec, the other GPU might
+         be able to support the codec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:56:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/amfcodec/gstamfh264enc.cpp:
+       * sys/amfcodec/gstamfh265enc.cpp:
+         amfcodec: Update for documentation
+         * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+         properties
+         * Add doc caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:53:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+         qsv: Use GST_PARAM_DOC_SHOW_DEFAULT flag
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:49:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11: Update for documentation
+         * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+         properties
+         * Add doc caps
+         * Increase deinterlace max resolution
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:48:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11winrtcapture.cpp:
+         d3d11: Run indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 22:33:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wic/plugin.cpp:
+         wic: Add since marker
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 03:12:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/plugin.cpp:
+         directshow: Add since marker
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-21 23:20:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+       * sys/qsv/libmfx/meson.build:
+       * sys/qsv/meson.build:
+         qsv: Enable MinGW toolchain support
+         Use PCRE regex method to work around (likely) GCC std::regex bug,
+         and enable building for non-MSVC
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3239>
+
+2022-10-21 21:50:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+       * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+         gl/vulkan: Fix static linking on macOS
+         duplicate symbol '__invoke_on_main' in:
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
+         ld: 1 duplicate symbol for architecture x86_64
+         clang: error: linker command failed with exit code 1 (use -v to see invocation)
+         Also make the same change in iOS for consistency.
+         Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3242>
+
+2022-10-18 17:05:41 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: configure rtpulpfecdec passthrough property
+         This allows downstream (payloaders mostly) to be able to correctly
+         detect actual packet loss from rtp sequence numbers.
+         See
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581
+         for background.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1407
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3212>
+
+2022-10-07 04:20:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapture.h:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11winrtcapture.cpp:
+       * sys/d3d11/gstd3d11winrtcapture.h:
+       * sys/d3d11/meson.build:
+         d3d11screencapture: Add WinRT API based capture mode
+         Add Windows Graphics Capture (WGC) API based screen capture mode.
+         The conditions where this mode is used:
+         * Explicitly requested by user (capture-api property)
+         * To capture specific window
+         * When DXGI desktop duplication API does not work on hybrid graphics systems
+         (e.g., multi-gpu laptop)
+         Full features of this implementation require Windows 11. And Windows 11
+         SDK is required to build this feature.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144>
+
+2022-10-06 23:54:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11dxgicapture.cpp:
+       * sys/d3d11/gstd3d11dxgicapture.h:
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapture.h:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/meson.build:
+         d3d11screencapture: Subclassing capture implementation
+         Preparation to use WinRT capture API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144>
+
+2022-10-21 19:08:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/qsv/gstqsvav1enc.cpp:
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265dec.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvjpegenc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+       * sys/qsv/plugin.cpp:
+         qsv: Add plugin doc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738>
+
+2022-07-09 05:38:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/libmfx/api/vpl/mfx.h:
+       * sys/qsv/libmfx/api/vpl/mfxcommon.h:
+       * sys/qsv/libmfx/api/vpl/mfxdefs.h:
+       * sys/qsv/libmfx/api/vpl/mfxencodestats.h:
+       * sys/qsv/libmfx/api/vpl/mfxjpeg.h:
+       * sys/qsv/libmfx/api/vpl/mfxstructures.h:
+       * sys/qsv/libmfx/api/vpl/mfxvideo++.h:
+       * sys/qsv/libmfx/api/vpl/mfxvideo.h:
+       * sys/qsv/libmfx/dispatcher/linux/device_ids.h:
+       * sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
+       * sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
+       * sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/main.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
+       * sys/qsv/libmfx/dispatcher/windows/version.rc.in:
+       * sys/qsv/libmfx/meson.build:
+         qsv: Update SDK version to v2022.2.4
+         See release note
+         https://github.com/oneapi-src/oneVPL/releases/tag/v2022.2.0
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738>
+
+2022-10-14 16:05:28 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Correct the pts for frames and OBUs inside a TU.
+         When the output alignment is smaller than the input alignment, for
+         example, When the output alignment is "FRAME" and the parse is likely
+         connecting to a decoder, the current PTS setting for AV1 frames inside
+         a TU is not very correct.
+         For example, a TU may begin with non-displayed frames and end with a
+         displayed frame. The current way will assign the PTS to the first
+         non-displayed frame, which is a decode-only frame and the PTS will be
+         discarded in the video decoder. While the last displayed frame has
+         invalid PTS, and so the video decoder needs to guess its PTS based on
+         the frame rate and previous frame's PTS. This is not a decent and
+         robust way. And more important, when the previous frames provide DTS,
+         the video decoder will also guess the PTS based on the previous frames'
+         DTS and trigger the warning like:
+         gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
+         <vavp9dec0> decreasing timestame
+         It sets the reordered_output and makes the decoder in free run mode.
+         We should correct the PTS for a TU, let the non-displayed frames have
+         no PTS while set the correct PTS to the displayed one. Also, when the
+         AV1 stream has multi spatial layers, there are more than one displayed
+         frames inside one TU with the same PTS.
+         Note: If the input alignment is not TU aligned, we can not know the
+         exact PTS of this TU, and so we just clear the PTS of the decode only
+         frame and leave others unchanged.
+         We also correct all the PTS if the output is OBU aligned. All their
+         PTS and DTS are set to the input buffer's PTS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-14 17:25:45 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Only check the TU bound when the alignment is TU.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-14 15:46:16 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: push all data once when input alignment not smaller than output.
+         When the incoming data has big alignment than the output, we do not need to
+         call finish_frame() and exit the current handle_frame() for each splitted
+         frame. We can push them all at one shot with in one handle_frame(), whcih
+         may improve the performance and can help us to find the edge of TU.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-14 15:27:52 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Set the output buffer flags correctly.
+         The current code forgets to clear some flags and has some typo.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-21 10:50:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: also add rtcp-fb ccm fir for video mlines by default
+         In addition to the 'nack pli' already added.  Both are supported by
+         rtpbin/rtpsession by default already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3235>
+
+2022-10-19 16:03:55 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Improve documentation of 'turn-server' property
+         Description about how to set time-limited credentials is added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3229>
+
+2022-09-23 18:25:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/gstfakeaudiosink.c:
+       * gst/debugutils/gstfakesinkutils.c:
+       * gst/debugutils/gstfakesinkutils.h:
+       * gst/debugutils/gstfakevideosink.c:
+         fake{video|audio}sink: don't proxy properties at instance init.
+         Instead proxy properties from the GstBaseSink class at class_init time,
+         and duplicate the rest of the fakesink properties manually.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1442
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3073>
+
+2022-10-18 11:16:20 +0200  Alba Mendez <alba.mendez@dolby.com>
+
+       * gst-libs/gst/webrtc/nice/nice.c:
+         webrtcbin: support adding TURN servers after pipeline start
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1680
+         When a TURN server is added for the first time, propagate
+         the change to all nice streams that already exist. This
+         lets us add servers after the pipeline has been started
+         (and streams have been added).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3217>
+
+2022-10-17 06:48:12 -0500  Fabian Orccon <forccon@fluendo.com>
+
+       * ext/srtp/meson.build:
+         srtp: Fix test skipping when plugin option is disabled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3200>
+
+2022-10-14 00:17:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * tests/examples/d3d11/d3d11videosink-present.cpp:
+         d3d11videosink: Add "emit-present" property
+         Controls the decision for "present" signal use, and
+         allows delayed "present" signal handler install via the property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3176>
+
+2022-10-17 19:36:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/play/gstplay-signal-adapter.c:
+         play: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 11:29:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/vulkan/android/gstvkdisplay_android.c:
+       * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkformat.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.m:
+       * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
+       * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+         vulkan: Add/fix various annotations
+         And fix a memory leak in gst_vulkan_display_wayland_new() in error
+         cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:54:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:51:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/cuda/gstcudacontext.c:
+       * gst-libs/gst/cuda/gstcudautils.c:
+         cuda: Add/fix various annotations
+         And fix a memory leak when creating a CUDA context fails.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:47:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         codecs: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:44:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+         badaudio: Add/fix annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 21:51:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/ice.c:
+       * gst-libs/gst/webrtc/ice.h:
+       * gst-libs/gst/webrtc/icetransport.c:
+       * gst-libs/gst/webrtc/icetransport.h:
+       * gst-libs/gst/webrtc/nice/nice.c:
+         webrtc: Add/fix various annotations
+         And mark string parameters as const.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 00:40:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * 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/gstwasapi2src.c:
+       * sys/wasapi2/gstwasapi2util.c:
+       * sys/wasapi2/gstwasapi2util.h:
+         wasapi2: Add support for process loopback capture
+         Adding loopback capture mode for specified PID.
+         Note that this feature requires Windows 10 build 20348
+         (Windows 11/Windows Server 2022 or later),
+         and any process loopback related properties will not be exposed
+         if OS does not support it.
+         Example launch lines:
+         * wasapi2src loopback-mode=include-process-tree loopback-target-pid=<PID>
+         Captures audio generated by an application (specified by PID)
+         and its child process
+         * wasapi2src loopback-mode=exclude-process-tree loopback-target-pid=<PID>
+         Captures desktop audio excluding PID and its child process
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1278
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3195>
+
+2022-10-14 16:21:07 -0400  Arun Raghavan <arun@asymptotic.io>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+         rtmp2sink: Correctly return GST_FLOW_ERROR on error
+         If there is an error while connecting, the streaming task will be stopped, and
+         is_running() will be false, causing a GST_FLOW_FLUSHING to be returned. Instead,
+         we perform the error check (!self->connection) first, to return an error if
+         that's what occured.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3189>
+
+2022-10-14 18:51:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/webrtc/nice/nice.c:
+         webrtc/nice: fix small leak of split strings
+         g_strfreev previously stopped at our manual NULL-termination. Fix by
+         restoring the pointer after joining.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3188>
+
+2022-10-12 16:11:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: The show_existing_frame buffer should not be decode only.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155>
+
+2022-10-11 16:17:26 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Correct the pts for frames inside a super frame.
+         When the alignment is "FRAME" and the parse is likely connecting to
+         a decoder, the current PTS setting for VP9 frames inside a super
+         frame is not very correct.
+         For example, the super frame may begin with non-displayed frames and
+         end with a displayed frame. The current way will assign the PTS to
+         the first non-displayed frame, which is a decode-only frame and the
+         PTS will be discarded in the video decoder. While the last displayed
+         frame has invalid PTS, and so the video decoder needs to guess its
+         PTS based on the frame rate and previous frame's PTS. This is not a
+         decent and robust way. And more important, when the previous frames
+         provide DTS, the video decoder will also guess the PTS based on the
+         previous frames' DTS and trigger the warning like:
+         gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
+         <vavp9dec0> decreasing timestame
+         It sets the reordered_output and makes the decoder in free run mode.
+         We should correct the PTS for a super frame, let the non-displayed
+         frames have no PTS while set the correct PTS to the displayed one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155>
+
+2022-10-08 00:29:03 +0200  Piotr Brzeziński <piotr@centricular.com>
+
+       * sys/applemedia/avfvideosrc.m:
+         avfvideosrc: Allow specifying crop coordinates during screen capture
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3153>
+
+2022-10-12 11:12:50 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/gstmxfelement.c:
+       * gst/mxf/meson.build:
+       * gst/mxf/mxfcustom.c:
+       * gst/mxf/mxfcustom.h:
+         mxfdemux: Add support for Canon XF-HEVC
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1495
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3163>
+
+2022-10-12 11:12:14 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Don't leak index table segments on failures
+         The segment was freed ... but not the contents :)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3163>
+
+2022-10-11 13:09:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Move GST_WEBRTC_ERROR_TYPE_ERROR at the end of the enum to keep ABI compatibility
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3154>
+
+2022-10-06 20:37:45 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: Add test for 'add-turn-server' action signal
+         It just checks return value of the action signal.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3131>
+
+2020-12-10 16:25:26 +0100  Johan Sternerup <johast@axis.com>
+
+       * ext/sctp/gstsctpenc.c:
+         sctpenc: Prohibit sending of interleaved message parts
+         Apparently we cannot start sending messages from another datachannel
+         before the previous message was completely sent. usrsctplib will
+         complain about being locked on another stream id and set
+         errno=EINVAL.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2454>
+
+2022-10-07 08:30:05 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklink: reset calculation of gst_decklink_video_src_update_time_mapping on no_signal. When the HDMI cable was disconnected for a long time, the calculation took too much time. SDI cable works fine.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3132>
+
+2022-10-07 07:56:21 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/dash/meson.build:
+         Meson: Fix libxml2 fallback
+         The variable xml2lib_dep does not exist. The correct name is already in
+         the wrap file.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3136>
+
+2022-09-22 22:39:31 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Fix pointer dereference before null check
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3129>
+
+2022-09-26 13:57:15 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkaudiosink.cpp:
+       * sys/decklink/gstdecklinkaudiosink.h:
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkaudiosrc.h:
+       * sys/decklink/gstdecklinkdeviceprovider.cpp:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklink: Add new persistent-id property and sort devices by persistent ID
+         The order of the devices iterator from the SDK is undefined and can
+         randomly change.
+         Keep the device-number property for backwards compatibility and
+         simplicity but prefer the persistent-id property and also use it for the
+         device provider implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3078>
+
+2022-10-04 19:19:57 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsttranscodeelement.c:
+         transcodebin: Implement support for upstream stream selection
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3128>
+
+2022-10-05 05:38:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+         d3d11: Fix debug build on UWP
+         GstDXGIGetDebugInterface() is unused when targeting UWP. We directly
+         call DXGIGetDebugInterface1() in that case.
+         Fixes build failure:
+         ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): error C2440: '=': cannot convert from 'HRESULT (__cdecl *)(UINT,const IID &,void **)' to 'DXGIGetDebugInterface_t'
+         ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): note: This conversion requires a reinterpret_cast, a C-style cast or function-style cast
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3118>
+
+2022-10-05 15:59:03 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * gst-libs/gst/webrtc/nice/nice.c:
+         webrtc/nice: Make sure to return NULL when validating turn server fails
+         It affects 'add-turn-server' signal action and 'turn-server' property
+         of webrtcbin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3120>
+
+2022-03-21 10:29:21 +0100  Johan Sternerup <johan.sternerup@axis.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+       * gst-libs/gst/webrtc/datachannel.c:
+       * gst-libs/gst/webrtc/datachannel.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: return error when sending on non-open datachannel
+         According to W3C
+         specification (https://w3c.github.io/webrtc-pc/#datachannel-send) we
+         should return InvalidStateError exception when trying to send when the
+         channel is not open. In the world of C/glib/gstreamer we don't have
+         exceptions but have to rely on gboolean/GError instead. Introducing
+         these calls for a change in function signature of the action signals
+         used to send data on the datachannel. Changing the signature of the
+         existing "send-string" and "send-data" signals would mean an immediate
+         breaking change so instead we deprecate them. Furthermore, there is no
+         way to express GError** as an argument to an action signal in a way
+         that fits language bindings (pointer-to-pointer simply does not work)
+         and we have to use regular functions instead.
+         Therefore we introduce gst_webrtc_data_channel_send_data_full() and
+         gst_webrtc_data_channel_send_string_full() while deprecating the old
+         functions and corresponding signals.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1958>
+
+2022-09-23 17:18:35 +0200  Stéphane Cerveau <scerveau@igalia.com>
+
+       * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/va/gstvah265dec.c:
+       * tests/check/libs/h265bitwriter.c:
+         h265parse: fix typo in member of GstH265SPS
+         Rename sps_extnsion_params to sps_extension_params
+         Fix comment about vui_parameters_present_flag
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3072>
+
+2022-10-04 03:57:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
+
+=== release 1.21.1 ===
+
+2022-10-04 01:14:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-bad.doap:
+       * meson.build:
+         Release 1.21.1
+
+2022-10-04 01:13:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.21.1
+
+2022-09-29 14:34:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gaudieffects/gstgaussblur.c:
+         gaussblur: Fix memory leak when setting caps multiple times
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2022-09-27 18:17:24 +0100  Christopher Obbard <chris.obbard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecdevice.c:
+         v4l2codecs: Warn user when no media devices are found
+         Currently if the user is not able to access the devices under /dev/media*,
+         either due to no media devices present on the system or simply no permission
+         to access the device, v4l2codecs initialises with no features or debug messages.
+         Since calling `GST_DEBUG="v4l2*:7" gst-inspect-1.0 v4l2codecs` is a typical way
+         to diagnose why element(s) failed to enumerate, we should be more verbose here
+         when the user is not able to access any /dev/media* device. So print a simple
+         debug message in this case to aid debugging.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3088>
+
+2022-09-20 23:31:45 +0300  Mart Raudsepp <mart@leio.tech>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         tsdemux: Don't trigger a program change when falling back to ignore-pcr behaviour
+         Since commit a79a756b79aa1675e we could change to ignore-pcr automatically at 500ms
+         into a live stream when no PCR is seen by then. However the stream counting in
+         program change detection was wrongly considering ignore-pcr programs to have a
+         separate PCR PID, even though we are actually ignoring the PCR PID completely,
+         resulting in an erroneous program switch getting triggered from the different
+         stream count. This in turn would send an EOS and switch out the pads for what
+         actually is still the same program, while we intended to simply apply a
+         workaround for broken encoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3060>
+
+2022-09-27 19:46:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Remove builtin variable datadir from pkgconfig variables
+         Fixes warning with meson 0.62:
+         gst-plugins-bad| subprojects/gst-plugins-bad/meson.build:546: WARNING:
+         Project targets '>= 0.62' but uses feature deprecated since '0.62.0':
+         pkgconfig.generate variable for builtin directories. They will be
+         automatically included when referenced
+         and more.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3086>
+
+2022-09-22 09:14:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/interactive/pitch-test.c:
+         bad/soundtouch: Fix interactive test build on MSVC
+         Needed for https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/930
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3064>
+
+2022-09-21 19:19:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Use implicit builtin dirs in pkgconfig generation
+         Starting with Meson 0.62, meson automatically populates the variables
+         list in the pkgconfig file if you reference builtin directories in the
+         pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+         We need this, because ${prefix}/libexec is a hard-coded value which is
+         incorrect on, for example, Debian.
+         Bump requirement to 0.62, and remove version compares that retained
+         support for older Meson versions.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-20 13:38:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+         vabaseenc: Move out encoder validation from assertion.
+         Assertion can be disabled at compilation time. Still it's important to
+         validate it the encoder object was opened by the subclass. This patch
+         removes the assertion and returns if the encoder is open.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3051>
+
+2022-09-12 09:46:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * tools/meson.build:
+         meson: Set install_tag on some targets
+         Trying to follow recommendation from Meson documentation:
+         https://mesonbuild.com/Installing.html#installation-tags
+         Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+         plugins in the default 'runtime' category. This simplifies distribution
+         of GStreamer application skipping parts that are not needed, similarly
+         to what Cerbero does by hardcoding huge list of files.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-20 16:21:24 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkav1enc.c:
+         msdkav1enc: We should not set other alignment here
+         According to spec, we have 32bit alignment for height (progressive) and
+         16bit alignment for width, so here we don't need to add other alignment
+         settings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3050>
+
+2022-09-17 17:49:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: h264enc: Fix rate control enum register failure for the second GPU.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3041>
+
+2022-09-17 10:14:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Avoid precision lost by just rounding up.
+         The code where dividing by 16 and later multiplying by 16, which is
+         spurious and a potential loose of precision.
+
+2022-09-16 14:17:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Update AUD property if driver can't handle raw data.
+
+2022-09-16 13:55:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Remove unused dispose method.
+
+2022-09-16 15:45:11 -0400  Eric Knapp <emkman99@gmail.com>
+
+       * sys/va/gstvadeinterlace.c:
+         vadeinterlace: Fix passthrough latency query
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3038>
+
+2022-09-17 05:01:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh265dec.c:
+         nvh265sldec: Sync up with d3d11h265dec implementation
+         Each RefPicSetStCurrBefore/RefPicSetStCurrAfter/RefPicSetLtCurr array
+         might have empty element (i.e., reference pictures might not be stored
+         sequentially). Don't error out for the empty element case,
+         but instead, iterates each array and fill NVDEC's reference list
+         as much as possible
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1441
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3039>
+
+2022-09-16 12:50:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabaseenc.h:
+       * sys/va/gstvah264enc.c:
+         va: baseenc: Fix gobject style for chained method.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3035>
+
+2022-09-13 23:20:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/codectimestamper/gsth264timestamper.c:
+       * gst/codectimestamper/gsth265timestamper.c:
+         codectimestamper: Update document
+         Add more description about those elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3021>
+
+2022-06-09 22:32:16 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaav1dec.c:
+         va: av1dec: user internal buffer pool for non output layers.
+         The AV1 support multi spatial layers within one TU with different
+         resolutions, and only the highest spatial layer need to be output.
+         For example, there are two spatial layer, base level is 800x600
+         and higher level is 1920x1080. We need to decode both because the
+         higher level needs base layer as reference, but we only need to output
+         1920x1080 frames here.
+         The current manner always renegotiates the caps once we detect the
+         current picture resolution changes, so we renegotiate again and
+         again between different layers. That's a big waste and has very
+         low performance. We now only do the renegotiation for the highest
+         output layer. For other non output layers, we just keep a internal
+         buffer pool which is big enough to handle the surface allocation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>
+
+2022-05-12 10:12:37 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1decoder.h:
+         codecs: av1decoder: Add the highest_spatial_layer field.
+         As SPEC says, when multi spatial layer exists, we should only output
+         one frame with the highest spatial id from each TU. We now store the
+         highest spatial layer information in the base class in order to let
+         the sub class handle different layers easily.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>
+
+2022-09-15 00:52:14 +0000  Devin Anderson <danderson@microsoft.com>
+
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * tests/check/elements/voamrwbenc.c:
+       * tests/check/meson.build:
+         voamrwbenc: Fix truncation of audio data at end-of-stream when audio data doesn't align on 20 millisecond frame size.
+         The AMR-WB codec imposes a fixed 20 millisecond frame size.  In its current
+         form, the `voamrwbenc` plugin deals with this limitation by discarding any
+         audio at the end of the stream that falls short of 20 milliseconds.  This patch
+         keeps the audio data, and appends silence to the end to preserve frame size
+         alignment.
+         The patch also adds tests to check for the updated behavior.  I noticed that
+         tests weren't being built, so I changed the build to allow for building the
+         tests when the `tests` and `voamrwbenc` options are set.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3027>
+
+2022-09-15 21:56:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/codectimestamper/gstcodectimestamper.c:
+         codectimestamper: Fix for unknown framerate
+         Use default framerate if numerator or denominator is unknown
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3031>
+
+2022-08-26 08:43:34 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/qsv/plugin.cpp:
+         Build documentation for rust plugins
+         - Update the docker image we use, starting using the standard one adding
+         `gtk4-doc` as required by rust plugins
+         - Update the plugins_doc_caches as required, some more plugins are built
+         with the new image
+         - Install ninja from pip as the version from F31 is too old
+         - Avoid buildings all GSreamer plugins when building the doc as it takes
+         time and resources for no good reason
+         - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+         documentation, leading to warnings in hotdoc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         doc: Do not build plugins to build the doc
+         It is not actually necessary
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-15 12:14:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: add a few more orc tests
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3029>
+
+2022-09-14 00:58:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution
+         As documented in the SDK header, we should set coded width/height
+         values to the corresponding decoder configuration option,
+         instead of display resolution
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1438
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3022>
+
+2022-09-13 04:06:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudaupload,cudadownload: Fix document
+         * Fix typo, NVIDA -> NVIDIA
+         * Add cudadownload doc to the source file
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2022-09-13 01:02:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudaupload,cudadownload: Use shared GstD3D11Device context if possible
+         Handle d3d11 device context in set_context() method with
+         additional device compatibility check so that only NVIDIA GPU
+         associated d3d11 device can be configured in the element.
+         And clear old d3d11 device per set_info() for d3d11 device to be
+         updated as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2022-09-13 01:02:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/cuda-gst.h:
+       * gst-libs/gst/cuda/gstcudacontext.c:
+       * gst-libs/gst/cuda/gstcudaloader.c:
+       * gst-libs/gst/cuda/gstcudautils.c:
+       * gst-libs/gst/cuda/gstcudautils.h:
+       * gst-libs/gst/cuda/meson.build:
+       * gst-libs/gst/cuda/stub/cuda.h:
+       * gst-libs/gst/cuda/stub/cudaD3D11.h:
+         cuda: Remove GST_CUDA_HAS_D3D define from header
+         ... and fix d3d11 specific enum type name
+         GST_CUDA_HAS_D3D is a build time define which indicates whether
+         GstD3D11 library is available or not, but DirectX SDK headers
+         must be available on the build system already.
+         Expose Direct3D related symbols if the build target is Windows
+         (i.e., if G_OS_WIN32 is defined)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2021-03-24 14:20:18 -0500  Zebediah Figura <z.figura12@gmail.com>
+
+       * meson.build:
+         meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+         GLib made the unfortunate decision to prevent libgobject from ever being
+         unloaded, which means that now any library which registers a static type
+         can't ever be unloaded either (and any library that depends on those,
+         ad nauseam).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-06-06 10:56:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         va: Remove from plugin cache.
+         GstVA is not currently build by CI, because libva version is lower
+         than expected. So, the gstva library is not build, thus some symbols
+         aren't documented, breaking the documentation CI.
+         To move things forward, let's just remove temporarly the va plugins
+         from cache. While we decide on how to update the libva package in
+         the CI.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-06-27 18:56:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvaallocator.h:
+         va: allocator: Fix parameter name to match signature.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-02-07 17:34:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/libs/va/index.md:
+       * docs/libs/va/sitemap.txt:
+       * gst-libs/gst/va/gstva.h:
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+       * gst-libs/gst/va/gstvadisplay.c:
+       * gst-libs/gst/va/gstvapool.c:
+       * gst-libs/gst/va/gstvasurfacecopy.h:
+       * gst-libs/gst/va/gstvautils.c:
+       * gst-libs/gst/va/gstvavideoformat.c:
+       * gst-libs/gst/va/meson.build:
+       * sys/va/gstjpegdecoder.c:
+       * sys/va/gstjpegdecoder.h:
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvacompositor.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvah264enc.c:
+         va: Complete library and plugin documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-09-13 14:46:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstva.h:
+       * gst-libs/gst/va/meson.build:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadisplay_priv.c:
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvah264enc.c:
+       * sys/va/gstvajpegdec.c:
+         va: Move gstvavideoformat out of library headers.
+         Since it's no needed for API consumers. Though it can be added later.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2021-10-03 10:17:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/va/meson.build:
+         docs: Generate libgstva GI and pkg-config.
+         Currently libgstva is only exposed internally to gst-plugins-bad. No
+         headers are installed, no documentation generated, pkgconfig file,
+         neither gobject-introspection files.
+         This patch turn on all that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-05-19 00:44:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/codectimestamper/gstcodectimestamper.c:
+       * gst/codectimestamper/gstcodectimestamper.h:
+       * gst/codectimestamper/gsth264timestamper.c:
+       * gst/codectimestamper/gsth264timestamper.h:
+       * gst/codectimestamper/gsth265timestamper.c:
+       * gst/codectimestamper/gsth265timestamper.h:
+       * gst/codectimestamper/meson.build:
+       * gst/codectimestamper/plugin.c:
+       * gst/meson.build:
+       * meson_options.txt:
+         Add H.264/H.265 timestamp correction element
+         Adding {h264,h265}timestamper element to correct timestamp of
+         encoded frames. This initial version supports only DTS
+         correction based on given PTS and SPS data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2580>
+
+2022-09-07 11:22:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/debugutils/gsttestsrcbin.c:
+       * tests/validate/meson.build:
+       * tests/validate/testsrcbin/caps_spec.validatetest:
+       * tests/validate/testsrcbin/caps_spec/flow-expectations/log-testsrcbin0-video_src_0-expected:
+         testsrcbin: Add a way to specify caps for the output of the sources
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-08 17:29:37 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/debugutils/gsttestsrcbin.c:
+         testsrcbin: Plug some leaks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2020-11-19 18:34:00 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/gsttestsrcbin.c:
+         testsrcbin: Add an 'expose-sources-async' property
+         Which allows simluating usual source which require decoding etc in decodebin for example
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-05 18:32:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvajpegdec.c:
+         vajpegdec: Enhance explanation comment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-06 14:53:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+         va: caps: Use G_STMT_START / END
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-05 16:59:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvajpegdec.c:
+         vajpegdec: Check if driver has internal color conversion.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-06 18:49:02 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: fix picking available payload types
+         When picking an available payload type, we need to pick one that is
+         available across all media.
+         The previous code, when multiple media were present, looked at the first one,
+         noticed it had pt 96 as the media pt, then simply looked at the next media,
+         noticed it didn't, and decided 96 was available.
+         Instead, check if the pt is used by any of the media, if it is, decide
+         it is not available and go to the next pt. I'm fairly sure that was the
+         original intent.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2984>
+
+2022-08-03 19:36:11 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+         fluidsynth: correctly version guard methods
+         We bumped the minimum version to 2.1 but the api we used
+         wasn't introduced till version 2.2 of fluidsynth
+         Follow-up to gstreamer/gstreamer!2718
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2835>
+
+2022-08-21 03:37:40 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/dash/gstdashdemux.c:
+       * ext/dash/gstdashdemux.h:
+       * ext/dash/gstmpdclient.c:
+       * ext/dash/gstmpdclient.h:
+         dashdemux: Preserve current representation on live manifest updates
+         When updating a manifest during live playback, preserve the current
+         representation for each stream.
+         During update_fragment_info, if the current representation changed
+         because it couldn't be matched, trigger a caps change and new
+         header download.
+         This reverts commit e0e1db212fd0df2239583b9099fc4361adeded05
+         and reapplies "dashdemux: Fix issue when manifest update sets slow start
+         without passing necessary header & caps changes downstream" with
+         changes.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/507
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1729
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
+
+2022-09-02 09:55:20 +0000  Florian Zwoch <fzwoch@gmail.com>
+
+       * sys/va/plugin.c:
+         va: Fix log message when registering H264 encoder.
+         The log message would report an error for the H264 decoder when
+         registering failed, but we tried to register the H264 encoder instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2974>
+
+2022-07-05 17:14:37 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Allow locked mlines with no caps, as the last ones
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-16 18:05:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Reject creating an offer if a locked mline has no caps
+         This avoids getting in a bunch of corner cases. We'd have to insert
+         a "rejected" line from the start as a place-holder to get around this,
+         but the rest of the code just becomes more complicated, so just
+         disallow it for now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-16 17:17:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Store pending mid to make create-offer idempotent
+         If the mid is not stored in the transceiver, but it is stored in
+         last_offer, then a further create-offer call will just ignore that
+         transceiver.
+         Also include unit test for ensure it doesn't regress.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-26 18:17:16 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+         msdkvpp: Add va memory when fixating src caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-06-08 12:31:56 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+         msdkvpp : Use va pool at linux path and system pool for windows
+         We use msdkvpp's own pool to allocate buffers instead of external frame
+         allocator mfxFrameAllocator.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-09 18:34:38 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkallocator.h:
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: Import buffer to msdk_surface
+         If the buffer is not msdk_buffer, we can try to directly import the
+         attached memory (i.e. va mem and dmabuf mem) by applying the common
+         uitl function: import_to_msdk_function ().
+         Here add a flag "from_qdata" in GstMsdkSurface to handle the cropping case,
+         we should avoid updating the crop values when msdk_surface is from the
+         memory's qdata, because the crop info from this surface is the already
+         updated one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-09 18:19:01 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: Add va caps at sink and src pad
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-08-25 17:28:36 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: Apply common util func to import mem as msdk_surface
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-27 17:56:33 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkallocator.c:
+       * sys/msdk/gstmsdkallocator.h:
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdkallocator_libva.h:
+       * sys/msdk/meson.build:
+       * sys/msdk/msdk.h:
+         msdk: Add help functions to get mfxFrameSurface1 from GstBuffer and wrap it as GstMsdkSurface
+         Note that the memory abstraction for system memory is for windows path.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-19 19:18:21 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdkenc: Use va pool on linux and system pool for windows
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-19 18:57:50 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: Directly import dmabuf memory as mfx surface
+         When input buffer is of dmabuf memory but not a msdk buffer (i.e., the
+         allocator is not msdk_allocator), then we can try to get fd of this mem,
+         create the corresponding va surface and wrap it as mfx surface.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-04-21 17:27:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: Directly import va memory as mfx surface
+         If input buffer is of va memory, we can directly obtain va surface from
+         the buffer and wrap it as mfx surface.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-03-03 10:07:19 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdk_va.c:
+       * sys/msdk/gstmsdk_va.h:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/meson.build:
+         msdk: Use va libs API to get VA surface from buffer
+         Direct apply gst_va_buffer_get_surface to get VASurface from a buffer,
+         so remove corresponding functions which are not used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/aes/meson.build:
+       * ext/aom/meson.build:
+       * ext/assrender/meson.build:
+       * ext/avtp/meson.build:
+       * ext/bs2b/meson.build:
+       * ext/bz2/meson.build:
+       * ext/chromaprint/meson.build:
+       * ext/closedcaption/meson.build:
+       * ext/colormanagement/meson.build:
+       * ext/curl/meson.build:
+       * ext/dash/meson.build:
+       * ext/dc1394/meson.build:
+       * ext/directfb/meson.build:
+       * ext/dtls/meson.build:
+       * ext/dts/meson.build:
+       * ext/faac/meson.build:
+       * ext/faad/meson.build:
+       * ext/fdkaac/meson.build:
+       * ext/flite/meson.build:
+       * ext/fluidsynth/meson.build:
+       * ext/gme/meson.build:
+       * ext/gs/meson.build:
+       * ext/gsm/meson.build:
+       * ext/gtk/meson.build:
+       * ext/hls/meson.build:
+       * ext/iqa/meson.build:
+       * ext/isac/meson.build:
+       * ext/kate/meson.build:
+       * ext/ladspa/meson.build:
+       * ext/ldac/meson.build:
+       * ext/libde265/meson.build:
+       * ext/lv2/meson.build:
+       * ext/mdns/meson.build:
+       * ext/modplug/meson.build:
+       * ext/mpeg2enc/meson.build:
+       * ext/mplex/meson.build:
+       * ext/musepack/meson.build:
+       * ext/neon/meson.build:
+       * ext/onnx/meson.build:
+       * ext/openal/meson.build:
+       * ext/openaptx/meson.build:
+       * ext/opencv/meson.build:
+       * ext/openexr/meson.build:
+       * ext/openh264/meson.build:
+       * ext/openjpeg/meson.build:
+       * ext/openmpt/meson.build:
+       * ext/openni2/meson.build:
+       * ext/opus/meson.build:
+       * ext/qroverlay/meson.build:
+       * ext/resindvd/meson.build:
+       * ext/rsvg/meson.build:
+       * ext/rtmp/meson.build:
+       * ext/sbc/meson.build:
+       * ext/sctp/meson.build:
+       * ext/smoothstreaming/meson.build:
+       * ext/sndfile/meson.build:
+       * ext/soundtouch/meson.build:
+       * ext/spandsp/meson.build:
+       * ext/srt/meson.build:
+       * ext/srtp/meson.build:
+       * ext/svthevcenc/meson.build:
+       * ext/teletextdec/meson.build:
+       * ext/ttml/meson.build:
+       * ext/voaacenc/meson.build:
+       * ext/voamrwbenc/meson.build:
+       * ext/vulkan/meson.build:
+       * ext/wayland/meson.build:
+       * ext/webp/meson.build:
+       * ext/webrtc/meson.build:
+       * ext/webrtcdsp/meson.build:
+       * ext/wildmidi/meson.build:
+       * ext/wpe/meson.build:
+       * ext/x265/meson.build:
+       * ext/zbar/meson.build:
+       * ext/zxing/meson.build:
+       * gst/accurip/meson.build:
+       * gst/adpcmdec/meson.build:
+       * gst/adpcmenc/meson.build:
+       * gst/aiff/meson.build:
+       * gst/asfmux/meson.build:
+       * gst/audiobuffersplit/meson.build:
+       * gst/audiofxbad/meson.build:
+       * gst/audiolatency/meson.build:
+       * gst/audiomixmatrix/meson.build:
+       * gst/audiovisualizers/meson.build:
+       * gst/autoconvert/meson.build:
+       * gst/bayer/meson.build:
+       * gst/camerabin2/meson.build:
+       * gst/codecalpha/meson.build:
+       * gst/coloreffects/meson.build:
+       * gst/debugutils/meson.build:
+       * gst/dvbsubenc/meson.build:
+       * gst/dvbsuboverlay/meson.build:
+       * gst/dvdspu/meson.build:
+       * gst/faceoverlay/meson.build:
+       * gst/festival/meson.build:
+       * gst/fieldanalysis/meson.build:
+       * gst/freeverb/meson.build:
+       * gst/frei0r/meson.build:
+       * gst/gaudieffects/meson.build:
+       * gst/gdp/meson.build:
+       * gst/geometrictransform/meson.build:
+       * gst/id3tag/meson.build:
+       * gst/inter/meson.build:
+       * gst/interlace/meson.build:
+       * gst/ivfparse/meson.build:
+       * gst/ivtc/meson.build:
+       * gst/jp2kdecimator/meson.build:
+       * gst/jpegformat/meson.build:
+       * gst/librfb/meson.build:
+       * gst/midi/meson.build:
+       * gst/mpegdemux/meson.build:
+       * gst/mpegpsmux/meson.build:
+       * gst/mpegtsdemux/meson.build:
+       * gst/mpegtsmux/meson.build:
+       * gst/mxf/meson.build:
+       * gst/netsim/meson.build:
+       * gst/onvif/meson.build:
+       * gst/pcapparse/meson.build:
+       * gst/pnm/meson.build:
+       * gst/proxy/meson.build:
+       * gst/rawparse/meson.build:
+       * gst/removesilence/meson.build:
+       * gst/rist/meson.build:
+       * gst/rtmp2/meson.build:
+       * gst/rtp/meson.build:
+       * gst/sdp/meson.build:
+       * gst/segmentclip/meson.build:
+       * gst/siren/meson.build:
+       * gst/smooth/meson.build:
+       * gst/speed/meson.build:
+       * gst/subenc/meson.build:
+       * gst/switchbin/meson.build:
+       * gst/timecode/meson.build:
+       * gst/transcode/meson.build:
+       * gst/videofilters/meson.build:
+       * gst/videoframe_audiolevel/meson.build:
+       * gst/videoparsers/meson.build:
+       * gst/videosignal/meson.build:
+       * gst/vmnc/meson.build:
+       * gst/y4m/meson.build:
+       * meson.build:
+       * sys/amfcodec/meson.build:
+       * sys/androidmedia/meson.build:
+       * sys/applemedia/meson.build:
+       * sys/asio/meson.build:
+       * sys/bluez/meson.build:
+       * sys/d3d11/meson.build:
+       * sys/d3dvideosink/meson.build:
+       * sys/decklink/meson.build:
+       * sys/directshow/meson.build:
+       * sys/directsound/meson.build:
+       * sys/dvb/meson.build:
+       * sys/fbdev/meson.build:
+       * sys/ipcpipeline/meson.build:
+       * sys/kms/meson.build:
+       * sys/magicleap/meson.build:
+       * sys/mediafoundation/meson.build:
+       * sys/msdk/meson.build:
+       * sys/nvcodec/meson.build:
+       * sys/opensles/meson.build:
+       * sys/qsv/meson.build:
+       * sys/shm/meson.build:
+       * sys/tinyalsa/meson.build:
+       * sys/uvch264/meson.build:
+       * sys/v4l2codecs/meson.build:
+       * sys/va/meson.build:
+       * sys/wasapi/meson.build:
+       * sys/wasapi2/meson.build:
+       * sys/wic/meson.build:
+       * sys/winks/meson.build:
+       * sys/winscreencap/meson.build:
+         meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+         Removing some copy pasted code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/adaptivedemux/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/codecparsers/meson.build:
+       * gst-libs/gst/codecs/meson.build:
+       * gst-libs/gst/cuda/meson.build:
+       * gst-libs/gst/d3d11/meson.build:
+       * gst-libs/gst/insertbin/meson.build:
+       * gst-libs/gst/interfaces/meson.build:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst-libs/gst/opencv/meson.build:
+       * gst-libs/gst/play/meson.build:
+       * gst-libs/gst/player/meson.build:
+       * gst-libs/gst/sctp/meson.build:
+       * gst-libs/gst/transcoder/meson.build:
+       * gst-libs/gst/uridownloader/meson.build:
+       * gst-libs/gst/va/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/wayland/meson.build:
+       * gst-libs/gst/webrtc/meson.build:
+       * gst-libs/gst/webrtc/nice/meson.build:
+       * meson.build:
+         meson: Namespace the plugins_doc_dep/libraries variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 10:28:13 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/cuda/meson.build:
+         cuda: meson: Fix generating GstCuda gir file against gstreamer-full
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+         meson: Rename plugins list and make them "dependency" objects
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-30 05:02:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Fix GstAllocator::mem_copy() implementation
+         We were checking possible bind flags for the DXGI format
+         of the source texture but that's never applied to
+         the destination texture desc.
+         Just use the already configured bind (and misc) flags of source texture
+         for the destination texture allocation without additional check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2950>
+
+2022-08-24 08:22:49 +0200  Robert Rosengren <robertr@axis.com>
+
+       * ext/curl/gstcurlbasesink.c:
+       * ext/curl/gstcurlbasesink.h:
+         curlbasesink: gst_curl_base_sink_transfer_thread_close is internal
+         gst_curl_base_sink_transfer_thread_close is moved from external header
+         to be static function, as it has no users.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
+
+2022-07-07 09:20:04 +0200  Robert Rosengren <robertr@axis.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/curl/gstcurlhttpsink.c:
+       * ext/curl/gstcurlhttpsink.h:
+         curlhttpsink: Only set MIME as content-type if not set by property
+         Setting the content-type property shall override internally detected MIME
+         types, to make it possible to do as following example (where audio/basic to be
+         used prior to audio/x-mulaw):
+         gst-launch-1.0 ... ! mulawenc ! audio/x-mulaw,rate=8000,channels=1 !
+         curlhttpsink location=<url> content-type=audio/basic
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
+
+2022-08-26 00:16:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11-private.h:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+       * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+       * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+       * gst-libs/gst/d3d11/gstd3d11converter.h:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+         d3d11: Update library doc
+         * Private header name is changed to gstd3d11-private.h to follow
+         naming convention
+         * Add Since mark everywhere
+         * Update member variable names to be consistent with the other
+         object implementations in this library
+         * Correct outdated documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2945>
+
+2022-08-25 14:24:25 +0200  Piotr Brzeziński <piotr@centricular.com>
+
+       * sys/applemedia/avfvideosrc.m:
+         avfvideosrc: Fix wrong default framerate value
+         Current default G_MAXINT is not a correct value under any circumstances.
+         This creates an issue with screen capture, during which we currently do
+         not get any framerate info causing G_MAXINT to show up, where elements
+         downstream can possibly misbehave - for example, `vtenc` causes
+         a kernel panic.
+         Replace with 30/1 to avoid such scenarios.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2944>
+
+2022-08-25 15:28:21 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstjpegdecoder.c:
+         jpegdecoder: return the real error of decode_scan and decode_frame.
+         The current handle_frame() does not return the real error that happens
+         in decode_scan and decode_frame, which makes the pipeline continue with
+         the error and may trigger asserting later.
+         We also return the error when decode_quant_table or decode_huffman_table
+         fails.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2938>
+
+2022-08-19 21:54:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11videosink-present.cpp:
+       * tests/examples/d3d11/meson.build:
+         examples: d3d11videosink: Add present signal example
+         Add an example to show the usage of present singal.
+         In this example, a text overlay with alpha blended background
+         will be rendered on swapchain's backbuffer by using
+         Direct3D11, Direct2D, and DirectWrite APIs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-24 00:13:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11videosink: Add display-format property
+         Make swapchian's display format configurable, since some DXGI formats
+         we can use for swapchain are not API interop compatible.
+         For instance, BGRA format should be used for Direct2D interop.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-19 20:25:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Add present signal
+         The "present" signal will be emitted just before the
+         IDXGISwapChain::Present() call. The client can perform additional
+         GPU operation with given GstD3D11Device object and
+         ID3D11RenderTargetView handle. Or, the client can read back
+         the scene to be displayed on window using the signal.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-19 04:49:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Update SpsMaxLatencyPictures properly
+         The SpsMaxLatencyPictures value never gets back to zero even if
+         it's needed. Update the value properly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>
+
+2022-08-19 04:44:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Reorganize debug printing
+         As of the MR
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575
+         gst_h265_decoder_process_sps() is called per slice and it causes
+         noisy debug message print.
+         Reorganize related and the other debug printings at once.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>
+
+2022-08-20 16:15:15 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/openh264/gstopenh264dec.cpp:
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264: Register debug categories earlier
+         Otherwise the GST_ERROR message logged in case of ABI mismatch would be done on
+         an uninitialized category.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2918>
+
+2022-08-20 16:57:27 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: Fix constrained-high encoding
+         constrained-high is high without B-frames, there is no EProfileIdc for this, so
+         assume high instead of hitting an assert down the line.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2919>
+
+2022-08-19 09:07:50 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.c:
+       * gst-libs/gst/webrtc/ice.h:
+       * gst-libs/gst/webrtc/nice/nice.c:
+         webrtc:ice: Fix candidate stats related APIs for bindings
+         null-terminated arrays of structures is not usable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2917>
+
+2022-08-18 13:27:02 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Enable the scc_main_4:4:4_10 profile.
+         We should enable this profile which is already allown in vaprofile.c
+         after libva 1.8 version.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2909>
+
+2022-07-06 09:08:17 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/kms/gstkmssink.c:
+       * sys/kms/gstkmssink.h:
+         kmssink: add fd property
+         This allows an application to provide their own opened DRM device
+         fd handle to kmssink.  For example, an application can lease
+         multiple fd's from a DRM master to display on different CRTC
+         outputs at the same time with multiple kmssink instances.
+         Specifying the fd property is not allowed when driver-name
+         and/or bus-id properties are specified.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2807>
+
+2022-08-19 00:05:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11: Use CRITICAL_SECTION instead of GRecMutex
+         The GRecMutex abstraction (and heap allocation happens in GLib)
+         is unnecessary for this plugin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2914>
+
+2022-08-17 11:18:54 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: doc: Cleanup Since markers
+         We hide some newly public symbols when moving some objects to the library
+         which was not really correct in the end. Properly add the Since markers
+         as needed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-16 08:59:00 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.h:
+         webrtc:ice: Reindent header
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 21:27:06 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.h:
+         webrtc:ice: Mark protected fields as such
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 21:25:25 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/datachannel.c:
+       * gst-libs/gst/webrtc/dtlstransport.c:
+       * gst-libs/gst/webrtc/ice.c:
+       * gst-libs/gst/webrtc/icestream.c:
+       * gst-libs/gst/webrtc/icetransport.c:
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+         webrtc: Fix documentaton moving symbols in the right pages
+         As those symbols are documented in a 'fwd' header smart indexing in
+         hotdoc wasn't working.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:52:50 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.c:
+       * gst-libs/gst/webrtc/ice.h:
+       * gst-libs/gst/webrtc/nice/nice.c:
+         webrtc:ice: Avoid using GArray in public API
+         And use plain null terminated C arrays instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:37:57 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.c:
+         webrtc:ice: Fix some annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:36:25 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.c:
+       * gst-libs/gst/webrtc/ice.h:
+         webrtc: Make GstWebRTCIceCandidateStats a Boxed type
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-14 17:38:24 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.h:
+         webrtc:ice: Add padding to structures
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-14 21:49:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/cuda-gst.h:
+       * gst-libs/gst/cuda/gstcudanvrtc.c:
+       * gst-libs/gst/cuda/gstcudanvrtc.h:
+       * gst-libs/gst/cuda/gstnvrtcloader.c:
+       * gst-libs/gst/cuda/gstnvrtcloader.h:
+       * gst-libs/gst/cuda/meson.build:
+       * sys/nvcodec/gstcudafilter.c:
+         cuda: Hide runtime compiler related header and symbols
+         That's already abstracted via gst_cuda_nvrtc_compile() method
+         and therefore, we do not need to expose such symbols yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2884>
+
+2022-08-17 12:22:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvajpegdec.c:
+         vajpegdec: Fix memory leak.
+         Free value content.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 20:05:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvajpegdec.c:
+         vajpegdec: Fix 4:2:2 for i965.
+         Since i965 uses NV12 either for 4:2:0 and 4:2:2 chroma (using an
+         internal color conversion) the chroma validation has to be shortcut.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 19:50:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvavideoformat.c:
+         va: libs: Add Y42B format.
+         Enable 4:2:2 JPEG decoding in iHD.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 16:06:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvavideoformat.c:
+       * gst-libs/gst/va/gstvavideoformat.h:
+       * sys/va/gstvacaps.c:
+         va: Validate JPEG subsampling configurations.
+         There are Mesa Gallium drivers that report subsampling but without
+         any pixel format. So, strip out these subsamplings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 14:45:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvaencoder.c:
+         va: gst_va_create_raw_caps_from_config() may return NULL.
+         This patch verifies if the function returns NULL in the caller.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-17 11:42:09 -0400  Eric Knapp <emkman99@gmail.com>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink: Validate video input format
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>
+
+2022-08-15 11:23:56 -0400  Eric Knapp <emkman99@gmail.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Auto-detect 10-bit YUV
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>
+
+2022-08-14 22:31:29 -0400  Daniel Morin <daniel.morin@collabora.com>
+
+       * gst-libs/gst/play/gstplay-media-info.h:
+       * gst-libs/gst/play/gstplay-signal-adapter.h:
+       * gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
+       * gst-libs/gst/play/gstplay-video-renderer.h:
+       * gst-libs/gst/play/gstplay-visualization.h:
+         gst-play: missing cleanup for g_autoptr
+         Without this change cleanup function for g_autoptr is not defined for
+         GstPlayMediaInfo, GstPlaySignalAdapter, GstPlayVideoRenderer,
+         GstPlayVideoOverlayVideoRenderer and GstPlayVisualization. Cleanup
+         function was defined in gstplay.h, but missing in other header files.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2888>
+
+2022-08-16 21:01:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/meson.build:
+         meson: d3d11: Fix missing header install
+         Install gstd3d11compile.h header file
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2896>
+
+2022-08-15 01:50:15 +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: Do timer based DecoderBeginFrame retry
+         ... instead of retry count based one, because the precision of Sleep()
+         varies depending on system and application configuration.
+         Also, don't retry DecoderBeginFrame if decoder is doing flush.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2886>
+
+2022-08-14 21:18:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudaupload,cudadownload: Don't simplify caps in transform_caps
+         The simplified caps might not be a subset of filter caps
+         and basetransform will complain about it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2883>
+
+2022-08-15 00:22:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Do not use miniobject qdata
+         The miniobject qdata uses global mutex.
+         Use ID3D11DeviceChild::{Set,Get}PrivateData methods instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2885>
+
+2022-08-13 05:24:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Remove dxgiscreencapsrc from documentation
+         The implementation was dropped in
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2878>
+
+2022-08-13 12:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/player/gstplayer-media-info.c:
+         player: Don't leak wrapped video info
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1373
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:50:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         play: Make ownership of video-sink clearer in combination with floating references
+         And correctly handle the case of VideoRenderer::create_video_sink() not
+         actually returning a floating reference, which might be tricky for some
+         bindings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:49:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         play: Fix object construction
+         Ideally new() functions should simply call g_object_new() and not much
+         else, so let's do that here and handle all the construction properly in
+         a GObject way.
+         Now a play object created via g_object_new() is actually usable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:39:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         player: Fix object construction
+         Ideally new() functions should simply call g_object_new() and not much
+         else, so let's do that here and handle all the construction properly in
+         a GObject way.
+         Now a player object created via g_object_new() is actually usable.
+         In addition, also fix the video-renderer property so that reading it
+         returns an object of the correct type.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:30:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         player: Release signal adapter on finalize
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-08 23:37:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/mxf/mxfaes-bwf.c:
+         mxfdemux: Always calculate BlockAlign of raw audio
+         Workaround for nBlockAlign and nBitsPerSample mismatch. Always
+         use the formula described in the specification for BlockAlign value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2864>
+
+2022-08-12 22:05:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/meson.build:
+         meson: d3d11: Fix build with GIR enabled
+         ... and remove unused list
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2870>
+
+2022-08-12 18:24:41 +0300  Matthias Clasen <mclasen@redhat.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         gstplayer: Plug a memory leak
+         This was showing up as a memory leak in GTK's
+         gstreamer media backend:
+         40 bytes in 1 blocks are definitely lost in loss record 18,487 of 40,868
+         at 0x484586F: malloc (vg_replace_malloc.c:381)
+         by 0x50D5278: g_malloc (gmem.c:125)
+         by 0x50EDBA5: g_slice_alloc (gslice.c:1072)
+         by 0x50EFBCC: g_slice_alloc0 (gslice.c:1098)
+         by 0x51F2F45: g_type_create_instance (gtype.c:1911)
+         by 0x51DAE37: g_object_new_internal (gobject.c:2011)
+         by 0x51DC080: g_object_new_with_properties (gobject.c:2181)
+         by 0x51DCB20: g_object_new (gobject.c:1821)
+         by 0x9855F86: UnknownInlinedFun (gstplayer-wrapped-video-renderer.c:109)
+         by 0x9855F86: gst_player_new (gstplayer.c:579)
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1374
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2875>
+
+2022-08-12 11:32:45 +0200  Corentin Damman <c.damman@intopix.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: fix DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING swap chain flag for full screen
+         Fixes #1372 (regression introduced in 5eeec165)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2866>
+
+2022-08-10 11:12:37 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpesrc: Switch URI handler to web+... protocols
+         The web://http:// URIs were not compliant with RFC 3986. Using web+http://
+         allows us to use the GstUri parser to pass down a valid URI to `wpevideosrc`.
+         Corresponding change for the CEF source element:
+         https://github.com/centricular/gstcefsrc/commit/8d499495dd79cc0bf9a38ae82b03e374d78f68ae
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2856>
+
+2022-08-09 12:24:53 +0200  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstnvh264encoder.cpp:
+       * sys/nvcodec/gstnvh265encoder.cpp:
+         nvcodec: fix caps leaks in nvh264/h265encoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2850>
+
+2022-08-09 12:29:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Set codec frame sync point if IDR
+         This flag is used by GstVideoEncoder base class for certain configurations.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2852>
+
+2022-08-09 12:28:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Packed headers can be zero.
+         A driver can report back no packed header support (VA_ENC_PACKED_HEADER_NONE).
+         This patch removes that false verification.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2851>
+
+2022-08-07 23:24:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11: Use WIN32 API directly for locking with RAII pattern
+         Such abstraction is unnecessary for this library/plugin.
+         Use WIN32 API directly instead of GLib wrappers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>
+
+2022-08-07 22:41:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Remove unnecessary locking
+         * memory map/unmap is already protected by d3d11 device lock.
+         Don't need to take another memory lock.
+         * Use WIN32 critical section and slim reader/writer lock APIs
+         directly instead of GLib wrappers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>
+
+2022-08-05 17:20:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Fix caps for mesa gallium.
+         Radeon mesa gallium driver has a bug which adds P010_10LE sink caps
+         format. This patch removes formats which arent 420 chroma.
+         gst_caps_set_format_array() wasn't used because the fix traverse
+         several structures with potential different formats.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>
+
+2022-08-05 15:54:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvaprofile.c:
+         vah264dec: Complete profiles in decoder.
+         Instead of specifying all the H.264 "supported" profiles in the global
+         hash table (used either by decoders and encoders), just complete them
+         in the decoder only, since the encoder doesn't support them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>
+
+2022-08-05 22:34:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * tests/examples/d3d11/d3d11converter.cpp:
+       * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+         d3d11: Don't find global default allocator
+         We were using global default allocator already. Pass null
+         allocator object to *_alloc() methods then the method will
+         use default allocator.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-05 22:23:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Allow null GstD3D11Allocator to alloc methods
+         Similar to gst_allocator_alloc(), use default GstD3D11Allocator
+         when caller passes null allocator object
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-06 00:03:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+       * gst-libs/gst/d3d11/gstd3d11converter.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:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11: Use std::call_once()
+         g_once_init_enter() always takes global mutex for non-GCC build.
+         Use C++ once call implementation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-06 04:57:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+         d3d11device: Use WIN32 critical section API directly
+         GLib's GRecMutex will allocate another heap memory for CRITICAL_SECTION
+         struct and g_rec_mutex_lock/g_rec_mutex_unlock use WIN32 APIs actually.
+         We don't need such intermediate function calls and redundant heap allocation.
+         Just call WIN32 APIs directly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2845>
+
+2022-08-03 17:52:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabaseenc.h:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Lock properties read/write.
+         This is a first step for changing properties at runtime.
+         And add missing bitrate upate and notification.
+         Fixes: #1258
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 13:02:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Use guint32 for rc_ctrl as it's for rc_ctrl_mode.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 12:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Split aud property and its usage.
+         Just as other property variables, it's split for ease it usage,
+         particularly after adding access locks.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 12:00:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.h:
+         va: baseenc: Untabbify and format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-03 03:29:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Add gamma-mode and primaries-mode properties
+         Allows controlling gamma remap and/or chromatic adaptation behavior.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 01:47:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11videosink: Add gamma-mode and primaries-mode properties
+         Allows controlling gamma remap and/or chromatic adaptation behavior.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 01:19:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Add gamma-mode and primaries-mode properties
+         Allows controlling gamma remap and/or chromatic adaptation behavior.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 00:26:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+       * gst-libs/gst/d3d11/gstd3d11converter.h:
+         d3d11converter: Add options for gamma and primaries conversion
+         Gamma remap and/or primaries conversion requires additional
+         processing which might be something user want to avoid, performance
+         reason for example
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-01 13:04:47 +0200  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/gstwaylandsink.c:
+         waylandsink: Logging code style updates
+         For better readability of debug messages and to keep similar code
+         in sync with `GstGtkWaylandsink`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>
+
+2022-06-30 11:48:45 +0200  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/gstwaylandsink.c:
+         waylandsink: Rename occurrences of GstWaylandSink to 'self'
+         Rename all occurrences to `self`, making it consintent with `GstWl*`
+         and `GstGtkWaylandsink`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>
+
+2022-07-19 15:10:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Check for colorimetry changes.
+         It uses what's merged in
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2777>
+
+2022-04-11 15:35:45 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/examples/gtk/gtkwaylandsink.c:
+         gtkwaylandsink test: Add navigationtest to example
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>
+
+2021-12-08 10:30:21 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/gtk/gstgtkutils.c:
+       * ext/gtk/gstgtkutils.h:
+       * ext/gtk/gstgtkwaylandsink.c:
+       * ext/gtk/gstgtkwaylandsink.h:
+       * ext/gtk/gstplugin.c:
+       * ext/gtk/gtkgstbasewidget.c:
+       * ext/gtk/gtkgstbasewidget.h:
+       * ext/gtk/gtkgstwaylandwidget.c:
+       * ext/gtk/gtkgstwaylandwidget.h:
+       * ext/gtk/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+       * tests/examples/gtk/gtkwaylandsink.c:
+       * tests/examples/gtk/meson.build:
+       * tests/examples/gtk/window.ui:
+       * tests/examples/meson.build:
+         Add new gtkwaylandsink element
+         This is based on gtksink, but similar to waylandsink uses Wayland APIs
+         directly instead of rendering with Gtk/Cairo primitives.
+         Note that the long term plan is to move this into the existing extension
+         in `-good`, which requires the Wayland library to move the as well.
+         For this reason several files like `gstgtkutils.*` and `gtkgstbasewidget.*`
+         are straight copies and should be kept in sync.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>
+
+2022-08-02 05:06:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Translate mouse position
+         Converts mouse cursor position represented in display coordinates to
+         stream coordinates.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>
+
+2022-08-02 04:16:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Early terminate mouse/keyboard event handling
+         ... and add missing null check (plus coding style fix)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>
+
+2022-07-30 17:28:41 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/webrtc/nice/nice.c:
+       * gst-libs/gst/webrtc/nice/nicestream.c:
+       * gst-libs/gst/webrtc/nice/nicetransport.c:
+         webrtc: nice: WeakRef access fixes
+         The GstWebRTCNiceStream::ice property getter already hands-off a full reference,
+         so there is no need to call g_weak_ref_get() in call sites.
+         Fixes #1350
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>
+
+2022-07-30 17:19:42 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/webrtc/ice.h:
+         webrtc: ice: Fix GstWebRTCICE parent class
+         It is a GstObject, not a GObject.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>
+
+2022-07-30 17:43:38 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/dtls/gstdtlssrtpdec.c:
+       * ext/dtls/gstdtlssrtpenc.c:
+         dtls: Properly name encoder/decoder logging categories
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>
+
+2022-07-30 17:42:50 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/dtls/gstdtlsagent.c:
+       * ext/dtls/gstdtlsagent.h:
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsconnection.h:
+         dtls: Make agent and connection GstObjects
+         Facilitates debug logs interpretation of GST_DEBUG_OBJECT() calls.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>
+
+2022-07-30 02:29:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/sctp/usrsctp/meson.build:
+       * sys/qsv/libmfx/meson.build:
+         meson: Don't pass -Werror to vendored code
+         Do it the correct way with libusrsctp -- override the option so that
+         it's done in a compiler-agnostic and future-proof way.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-05-25 18:40:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/rtmp2/gstrtmp2locationhandler.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+         With the 2.72 release, glib-networking developers have decided that
+         TLS certificate validation cannot be implemented correctly by them, so
+         they've deprecated it.
+         In a nutshell: a cert can have several validation errors, but there
+         are no guarantees that the TLS backend will return all those errors,
+         and things are made even more complicated by the fact that the list of
+         errors might refer to certs that are added for backwards-compat and
+         won't actually be used by the TLS library.
+         Our best option is to ignore the deprecation and pass the warning onto
+         users so they can make an appropriate security decision regarding
+         this.
+         We can't deprecate the tls-validation-flags property because it is
+         very useful when connecting to RTSP cameras that will never get
+         updates to fix certificate errors.
+         Relevant upstream merge requests / issues:
+         https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+         https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+         https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-05-25 16:03:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/dtls/gstdtlscertificate.c:
+         dtls: Disable OpenSSL 3.0 deprecation warnings for now
+         Fedora 36 ships with OpenSSL 3.0, which deprecates all low-level APIs,
+         so this code needs to be rewritten. There is no easy fix in the
+         porting guide, and it recommends disabling the warnings if you can't
+         use the high-level API.
+         https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_to_OpenSSL_3.0_from_OpenSSL_1.1.1
+         Here's the replacement API:
+         https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-object-creation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-29 02:36:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+         wasapi2: Fix initial mute/volume setting
+         Fix up volume/mute change flag setting
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2809>
+
+2022-07-26 13:59:33 -0400  Eric Knapp <emkman99@gmail.com>
+
+       * sys/va/gstvah264enc.c:
+         va: h264enc: Make AUD the first NAL unit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2796>
+
+2022-07-26 15:49:32 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * ext/webrtc/meson.build:
+       * gst-libs/gst/webrtc/nice/meson.build:
+         meson: webrtc: ensure definition of libgstwebrtcnice_dep
+         ... and skip if it's disabled.
+         Fixes #1344
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2797>
+
+2022-04-18 23:25:13 +0530  yatinmaan <yatinmaan1@gmail.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/fwd.h:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/gstwebrtcstats.c:
+       * ext/webrtc/meson.build:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/webrtcsctptransport.h:
+       * gst-libs/gst/webrtc/ice.c:
+       * gst-libs/gst/webrtc/ice.h:
+       * gst-libs/gst/webrtc/icestream.c:
+       * gst-libs/gst/webrtc/icestream.h:
+       * gst-libs/gst/webrtc/icetransport.h:
+       * gst-libs/gst/webrtc/meson.build:
+       * gst-libs/gst/webrtc/nice/meson.build:
+       * gst-libs/gst/webrtc/nice/nice.c:
+       * gst-libs/gst/webrtc/nice/nice.h:
+       * gst-libs/gst/webrtc/nice/nice_fwd.h:
+       * gst-libs/gst/webrtc/nice/nicestream.c:
+       * gst-libs/gst/webrtc/nice/nicestream.h:
+       * gst-libs/gst/webrtc/nice/nicetransport.c:
+       * gst-libs/gst/webrtc/nice/nicetransport.h:
+       * gst-libs/gst/webrtc/webrtc-priv.h:
+       * gst-libs/gst/webrtc/webrtc.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Split WebRTCICE into base classes and implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2398>
+
+2022-07-22 22:50:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Add support for D3D11 shared texture
+         Although input texture belongs to the other d3d11 device,
+         we can do GPU copy when its physical device is identical.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-07-23 00:41:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/amfcodec/gstamfencoder.cpp:
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.h:
+       * sys/nvcodec/gstnvencoder.cpp:
+         d3d11: Port to GstD3D11Fence
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-07-23 00:11:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+         d3d11: Implement fence abstraction
+         Depending on device feature level, d3d11 runtime can support
+         ID3D11Fence which is equivalent to ID3D12Fence.
+         Waiting using fence has performance-wise benefit over pulling
+         ID3D11Query status. If ID3D11Fence is not supported by device,
+         then ID3D11Query will be used instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-06-08 15:44:26 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265: Make sure that sps is processed just before decoding
+         It may happens that bitstream doesn't provided SPS in decoding order
+         (like in VPSSPSPPS_A_MainConcept_1 conformance test file).
+         To be sure that the decoder got the correct SPS parameters process
+         SPS just before start decoding the frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-03-18 15:04:18 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265: Fix typos
+         Fix multiple typos in warning and info messages.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-05-16 15:27:40 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         videoparsers: h265: Be less restrictive between PPS and SPS parsing order
+         Allow to parse PPS to be parser even if SPS hasn't been parsered before.
+         This help to parse VPSSPSPPS_A_MainConcept_1 conformance test
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-05-16 15:25:36 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         codecparsers: Defering computation of pps and sps fields
+         While possible defer computataion of pps and sps fields until
+         slice parsing since it may happens that bitstreams don't encoded
+         them in expected order.
+         A example weird ordered bitstreams is VPSSPSPPS_A_MainConcept_1
+         conformance test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-07-20 12:11:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Reset the number of slices on picture start
+         This way, if we aborted a frame in the middle, we don't endup thinking
+         there is multiple slices to send.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 15:44:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Fix initialization of the slice array
+         The function g_array_sized_new() leaves the len to 0, but the slice
+         implementation assumes it would be set to 4. Sending multiple slices is
+         not yet support for H.264 as no driver needed it yet, but if that code
+         was to be used it would have overflowed as the array would never grow as
+         multiple 0 by 2 always results in 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 15:43:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Rename count variable to num_controls
+         This is the counter for the used control slot. The term num_controls was
+         introduced in the HEVC decoder and felt like a better choice.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-06-20 12:22:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech265dec.c:
+         v4l2codecs: hevc: Add an API check
+         This adds an API check and bump recommended base kernel version to 5.20.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 08:56:07 -0400  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech265dec.c:
+       * sys/v4l2codecs/gstv4l2codech265dec.h:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Add v4l2 stateless H265 decoder
+         Add v4l2 stateless H265 decoder.
+         Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+         Co-authored-by: Sebastian Fricke <sebastian.fricke@collabora.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-04-25 15:27:39 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: Increase minimum payload size
+         Fluster MAXBINS_{A-C}_TI_5 HEVC tests files require to store
+         a payload larger than usual given their resolutions.
+         Increase the minimum payload size to handle them correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 08:57:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: Align v4l2 headers with HEVC final uAPI
+         HEVC uAPI have landed for kernel 5.10.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-04-29 12:10:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         codecparsers: h265: Introduce long_term_ref_pic_set_size
+         This is the size of the `if( long_term_ref_pics_present_flag )` inside
+         slice_segment_header( ) syntax. This size in bit, and after de-emulation
+         is needed by some HW.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-21 16:11:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+         audiobuffersplit: Actually store number of samples to drop in gapless mode
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-21 16:10:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+         audiobuffersplit: Use input running time for comparison instead of the currently tracked running time
+         Otherwise gapless mode would do completely wrong calculations on
+         discontinuities and cause input/output to drift slowly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-21 13:38:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+         audiobuffersplit: Combine two if expressions to reduce indentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-22 04:51:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Add support for crop meta
+         GstD3D11Converter supports cropping already. Cropping is just
+         a matter of setting source rectangle area to converter,
+         from d3d11 point of view
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2782>
+
+2022-07-18 00:41:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11converter.cpp:
+       * tests/examples/d3d11/meson.build:
+         examples: d3d11: Add GstD3D11Converter example
+         An example to demonstrate color space conversion, rescale and flip/rotation
+         using GstD3D11Converter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:13:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+       * gst-libs/gst/d3d11/gstd3d11converter.h:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/meson.build:
+         d3d11: Move GstD3D11Converter to gst-libs
+         The object is equivalent to GstVideoConverter but for D3D11.
+         Application can use this object directly for various conversions,
+         such as color space conversion, rescale, crop and flip/rotation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:40:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/d3d11/meson.build:
+         d3d11: Define enum and flags types manually
+         gnome.mkenums_simple() doesn't work well for GstD3D11, seems to
+         be confused by numeric representation of D3D11, must be a bug
+         in GLib or so. Just don't rely on the incomplete automagic.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:39:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+         d3d11: Run gst-indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-06 16:14:13 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * ext/openmpt/gstopenmptdec.c:
+         openmpt: update from now deprecated api
+         https://lib.openmpt.org/doc/classopenmpt_1_1module.html#ab2695af0baa274054f5687741fa7c05b
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2721>
+
+2022-04-29 19:27:16 +0800  Fan F He <fan.f.he@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+       * sys/msdk/msdk-enums.c:
+       * sys/msdk/msdk-enums.h:
+         msdkenc: Enable LowDelayBrc and MaxFrameSize for I/P frame
+         Enable these features for accurate bitrate control.
+         Feature introduction of LowDelayBRC, MaxFrameSizeI and MaxFrameSizeP could be found here:
+         https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md
+         Signed-off-by: Fan F He <fan.f.he@intel.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2742>
+
+2022-07-20 05:28:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11converter: Use GstStructure to set initialization options
+         Runtime updatable options are exposed via object properties
+         but there are a few options which should be known at initialization
+         time. Use GstStructure to signal it and to be easily extensible
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-19 01:52:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Use primaries and transfer function compare methods
+         Different enum values could be functionally equal, then we don't need
+         to do full conversion.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-17 04:48:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11format: Move DXGI color space mapping method to gst-libs
+         Expose color space mapping method to public so that application
+         can configure GstCaps or GstVideoInfo using DXGI color space
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-17 00:33:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Use new colorimetry compare function
+         Avoid conversion if both are functionally identical
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-17 23:58:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11testsrc.cpp:
+         d3d11testsrc: Fix SMPTE pattern rendering
+         It was wrong vertex shader code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2766>
+
+2022-07-13 10:30:49 +0200  Piotr Brzeziński <piotr@centricular.com>
+
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtenc.c:
+         applemedia: Add HEVC support to vtenc and vtdec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2754>
+
+2022-06-16 03:57:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+       * gst-libs/gst/d3d11/gstd3d11compile.h:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+         d3d11: Move HLSL compiler to gst-libs
+         We should move this functionality to gst-libs so that GstD3D11Converter
+         can be moved to gst-libs.
+         Another advantage is that applications can call our
+         HLSL compiler wrapper method without any worry about OS version
+         dependent system installed HLSL library.
+         Note that there are multiple HLSL compiler library versions
+         on Windows and system installed one would be OS version dependent.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2760>
+
+2022-06-04 18:07:16 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Add a signal to plug bandwidth estimator elements
+         We need GStreamer elements to do the bandwidth estimation as this way
+         they can also control the pacing of the transmission flow as specified
+         in the [GCC] algorithm for example.
+         Bandwidth estimator element are placed right before the "RTPSession" as
+         an "rtp-aux-sender" element. This way they can use the "Transport-wide
+         Congestion Control" RTCP feedback messages through the "RTPTwcc" custom
+         events that are sent by the rtpsession.
+         Applications are responsible to react to the bandwidth estimator element
+         and set the encoder target bitrate etc... which means that we can not
+         pass an estimator as an element factory, so a signal as been chosen
+         instead.
+         [GCC]: https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2562>
+
+2022-07-08 00:16:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Report latency
+         Similar to that of h264decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2726>
+
+2022-07-08 22:05:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+         va: baseenc: Do not use codec frame structure again after finish_frame().
+         In _push_out_one_buffer(), we use codec frame structure again for error handling
+         after we already call finish_frame(), which is a latent segment fault.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>
+
+2022-07-08 21:57:40 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+         va: baseenc: Do not clear the codec frame twice when error.
+         The current manner will clear the input codec frame twice if we fail
+         to push the output data, which will trigger an assert.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>
+
+2022-07-05 18:21:12 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+         fluiddec: Remove workaround for version 1.1.9
+         We require >= 2.1 version since the previous commit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>
+
+2022-07-05 17:32:12 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+       * ext/fluidsynth/meson.build:
+         fluidsynth: update from now deprecated api
+         fluid_synth_set_chorus_on and fluid_synth_set_reverb_on were
+         deprecated in favor of new funtions where you can also specify
+         the fx_group the effect would apply.
+         The behavior of the set_* variants was to apply to all groups
+         so we pass -1 to the new functions as per documentation.
+         https://www.fluidsynth.org/api/group__chorus__effect.html#ga3c48310eecdca9cd338799d19f19c32d
+         and
+         https://www.fluidsynth.org/api/group__reverb__effect.html#gacb7917564c988cf54f2e35189b509c8e
+         and the introduction of the change:
+         https://github.com/FluidSynth/fluidsynth/pull/673
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>
+
+2022-07-08 02:24:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11: Use scoped device lock
+         Make code simpler and more deadlock-free
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2728>
+
+2022-07-08 18:53:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Fix for latency report when B-frame is enabled
+         QSV runtime will introduce additional delay when B-frame is enabled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
+
+2022-07-08 19:05:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Do not query again if previous call succeeded
+         Don't need to query multiple times
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
+
+2022-07-08 03:38:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapture.h:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+         d3d11screencapturesrc: Set colorimetry to caps
+         Make use of reported DXGI colorspace if possible
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 20:11:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+         d3d11: Update colorspace map
+         Map DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 to sRGB colorimetry
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 04:37:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+         d3d11: Add an utility method for DXGI colorspace conversion
+         Add a method for DXGI_COLOR_SPACE_TYPE -> GstVideoColorimetry conversion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 01:30:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+         d3d11: Serialize ensure_element_data() call
+         It can be called any time from random thread. Thus, multiple
+         device objects can be created for the same physical device
+         if the call is not serialized, that's not a scenario we expect.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2727>
+
+2022-07-07 02:17:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/proxy/gstproxysink.c:
+         proxysink: Fix GstProxySrc leak
+         Clear weak pointer to peer src when disposing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>
+
+2022-07-06 03:14:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/proxy/gstproxysink.c:
+       * gst/proxy/gstproxysink.h:
+       * tests/check/elements/proxysink.c:
+       * tests/check/meson.build:
+         proxysink: Make sure stream-start and caps events are forwarded
+         There might be a sequence of event and buffer flow:
+         - Got stream-start/caps/segment events
+         - Got flush events
+         - And then buffers with a new segment event
+         In the above case, stream-start and caps event might not be reached to
+         peer proxysrc if peer proxysrc is not ready to receive them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>
+
+2022-03-04 14:28:21 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtc: implement support for asynchronous host resolution
+         Doesn't block anymore if a mdns host resolution takes multiple seconds
+         to complete in e.g. stun/turn/ice candidate usage.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1961>
+
+2022-07-04 22:27:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+         d3d11converter: Remove convert() method
+         Expose only single convert_buffer() method. It's safer approach than
+         passing arbitrary list of SRV/RTV pointers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 22:26:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11testsrc.cpp:
+         d3d11testsrc: Use convert_buffer() method
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 22:01:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/meson.build:
+         d3d11: Remove video processor
+         Processing using ID3D11VideoProcessor was integrated into
+         GstD3D11Converter and GstD3D11VideoProcessor implementation is
+         not used anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 21:57:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+         d3d11memory: Update alloc_wrapped() API to avoid staging texture alloc
+         Add size parameter and use it for CPU accessible memory size
+         instead of allocating staging texture per API call.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-06-30 11:04:29 +0200  Ignazio Pillai <ignazp@amazon.com>
+
+       * sys/wasapi/gstwasapiutil.c:
+         wasapi: Implement default audio channel mask
+         Some multichannel capture devices does not provide a channel mask value
+         which will result in a pipeline failure due to the empty channel mask.
+         Implemented the same fix used for wasapi2
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1204
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2692>
+
+2022-07-03 01:22:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Add support for rotation
+         Adding "rotate-method" property
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1396
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-03 01:18:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11videosink.h:
+         d3d11videosink: Protect window with lock at every place
+         Access to the object should be thread safe to support runtime
+         property update
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-02 04:23:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11basefilter.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Add support for GstVideoOrientationMethod
+         Add flip/rotation support via GstVideoDirectionInterface
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-02 02:15:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Add support for GstVideoOrientationMethod
+         Shader can handle rotation/flip with other conversions
+         at once in a single pipeline, and depending on device
+         capability, videoprocessor may support it too.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-01 23:49:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11videosink: Use single GstD3D11Converter object
+         GstD3D11Converter supports videoprocessor and texture upload.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 21:35:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Add private method for texture wrapped memory allocation
+         Unlike public method gst_d3d11_allocator_alloc_wrapped(), newly
+         added method by this commit will not calculate CPU accessible memory
+         size, since staging texture must be allocated to calculate the size.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 21:20:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * sys/d3d11/gstd3d11pluginutils.h:
+         d3d11: Use library private header in plugin
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 20:47:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Use single GstD3D11Converter object
+         ... and remove unnessary videoprocessor/upload/copy code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 04:12:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Add border-color property
+         Use user specified border-color instead of black color
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 20:13:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Use single GstD3D11Converter object
+         ... and don't use GstD3D11VideoProcessor. Now GstD3D11Converter will
+         be able to convert using videoprocessor, and texture upload is also supported by
+         GstD3D11Converter. All the noisy code can be removed therefore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-22 02:44:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11converter: Add support conversion using videoprocessor
+         * Add videoprocessor feature to d3d11converter, in order to unifiy
+         conversion flow.
+         * Add convert_buffer() method to support automatic shader/videoprocessor
+         selection. The method also supports texture upload if input memory
+         cannot be used for conversion (e.g., system memory or so)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-21 23:43:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+       * sys/d3d11/gstd3d11overlaycompositor.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11overlaycompositor: Objectify overlay render implementation
+         Be consistent with other implementations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-21 22:44:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+         d3d11: Don't use const pointer to GstDxgiColorSpace
+         Instead, fill values of passed GstDxgiColorSpace struct
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-28 16:40:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+         decklinkvideosink: Pass video frames directly to the Decklink SDK without copying
+         If the video frame is stored in PBO memory then we need to copy anyway as
+         it might be stored in CPU-accessible GPU memory that can't be accessed
+         from the Decklink driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2674>
+
+2022-05-10 14:11:06 +0800  Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkmjpegdec.c:
+       * sys/msdk/meson.build:
+         msdkmjpegdec: Add support for error report
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2401>
+
+2022-06-23 01:10:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvencoder.cpp:
+       * sys/nvcodec/gstnvencoder.h:
+       * sys/nvcodec/gstnvh264encoder.cpp:
+       * sys/nvcodec/gstnvh264encoder.h:
+       * sys/nvcodec/gstnvh265encoder.cpp:
+       * sys/nvcodec/gstnvh265encoder.h:
+       * sys/nvcodec/plugin.c:
+         nvencoder: Add support for dynamic GPU device selection
+         Adding nvautogpu{h264,h265}enc class which will accept upstream logical
+         GPU device object (GstCudaContext or GstD3D11Device) instead of
+         using pre-assigned GPU instance.
+         If upstream logical GPU device object is not NVENC compatible
+         (e.g., D3D11 device of non-NVIDIA GPU) or it's system memory,
+         then user specified "cuda-device-id" or "adapter-luid" property
+         will be used for GPU device selection.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>
+
+2022-06-27 20:50:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/gstcudautils.c:
+         cuda: Protect gst_cuda_ensure_element_context() with lock
+         Serialize the order of context setup since it can be called
+         from multiple threads
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>
+
+2022-06-30 16:45:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/gstcudamemory.c:
+       * sys/nvcodec/gstcudabasefilter.c:
+       * sys/nvcodec/gstcudaformat.h:
+         cuda: Add YUY2 and UYVY formats for GL interop
+         Those formats are not supported conversion formats by CUDA convert/scale elements
+         but would be useful for GL <-> CUDA interop use case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2691>
+
+2022-06-30 17:47:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudadownload: Passthrough in case of CUDA -> SYSTEM
+         GstCudaMemory supports CPU access via CUDA pinned host memory already
+         and it would show faster memory transfer performance between
+         GPU and CPU than copying from/to normal system memory.
+         If downstream supports video meta, we can passthrough CUDA memory.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2690>
+
+2022-06-30 09:09:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Reject caps that are not valid for creating an SDP media.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-04-22 16:37:34 +0200  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstcudaformat.h:
+         cudaformat: add support for planar 4:2:2 YUV formats in CUDA D3D11 interop
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>
+
+2022-04-22 15:58:13 +0200  Corentin Damman <c.damman@intopix.com>
+
+       * gst-libs/gst/cuda/gstcudamemory.c:
+       * sys/nvcodec/gstcudaformat.h:
+         cudamemory: add support for planar 4:2:2 YUV formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>
+
+2021-06-22 14:43:29 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: enumerate all possible formats
+         Some decoder may also allow to (down) scale the decoded video.
+         Use VIDIOC_ENUM_FRAMESIZES iotcl to enumerate the possible output
+         formats resolutions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2589>
+
+2022-06-26 22:26:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvav1dec.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh264dec.h:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvh265dec.h:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp8dec.h:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/nvcodec/gstnvvp9dec.h:
+         nvcodec: Add cuda-device-id read-only property to stateless decoders
+         ... and remove unnecessary intermediate subclass from class hierarchy
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>
+
+2022-06-26 21:09:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Add cuda-device-id read-only property to CUVID decoders
+         Similar to the other hardware decoder plugins, provides assigned
+         device id via property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>
+
+2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         coding style: allow declarations after statement
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+         and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-29 00:31:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Add support for GstVideoCropMeta
+         Performs crop, scale, and color space conversion all in
+         a single render pipeline. Note that cropping related property is not
+         added in this element (which will make negotiation very complicated),
+         but user can configure videocrop element for crop meta to be attached
+         on each buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2678>
+
+2022-06-28 17:40:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
+         Set specified force-aspect-ratio value on window object
+         in case of shared texture rendering as well
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2671>
+
+2022-06-26 06:39:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.h:
+         mfvideoenc: Fix broken encoding when resolution is not an even number
+         Width and height values of 4:2:0 subsampled YUV format should be even number,
+         and if it's not the case, there should be padding which is not a contiguous memory layout.
+         Do copy input frames to MediaFoundation's memory in that case for now.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2661>
+
+2022-06-28 01:29:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/opus/gstopusheader.h:
+         dv, opusparse: fix duplicate symbols in static build
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2670>
+
+2022-06-27 04:07:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/plugin.cpp:
+         d3d11: Enumerate devices via native DXGI API
+         D3D11CreateDevice() can fail for some reason (e.g., buggy GPU driver)
+         and then gst_d3d11_device_new() will return nullptr.
+         Use DXGI API directly instead of relying on the gst_d3d11_device_new()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2663>
+
+2022-06-25 01:15:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+       * tests/examples/d3d11/meson.build:
+         examples: Add an example for application texture sharing
+         This example shows GstD3D11BufferPool usage and a way of
+         D3D11 texture sharing between application and GStreamer via appsrc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 07:06:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11decoder-appsink.cpp:
+       * tests/examples/d3d11/meson.build:
+         examples: Add d3d11decoder zero-copy rendering example
+         This example code demonstrates D3D11 device sharing between
+         application and GStreamer. Application can access texture
+         using appsink and it can be rendered on application's window without
+         any copy operation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 22:17:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+       * gst-libs/gst/d3d11/gstd3d11utils.h:
+         d3d11: Add a helper method for GstContext creation
+         Add gst_d3d11_context_new() method for application to create
+         GstContext using GstD3D11Device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:00:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+         d3d11memory: Add support for wrapping application texture
+         Add gst_d3d11_allocator_alloc_wrapped() method to support wrapping
+         application texture using GstD3D11Memory without copy.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:25:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/d3d11-prelude.h:
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+       * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+       * gst-libs/gst/d3d11/gstd3d11utils.h:
+       * gst-libs/gst/d3d11/meson.build:
+         d3d11: Install library headers
+         Our Direct3D11 abstraction layer has been improved and
+         it gained good shape from API point of view.
+         Also, On Windows, GstD3D11 has various advantages over GstGL
+         in terms of compatibility/stability/feature/performance.
+         Note that WGL implementation is known to be buggy for some
+         drivers/vendors/scenario (that's a reason why Google implemented ANGLE).
+         Moreover, GstGL is not fully optimized for Windows unfortunately.
+         It's the time to open this interface to application developers
+         for various optimized processing using our Direct3D11
+         infrastructure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:21:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * sys/amfcodec/gstamfencoder.cpp:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/nvcodec/gstnvencoder.cpp:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+         d3d11: Update gst_d3d11_allocation_params_new() interface
+         Define GST_D3D11_ALLOCATION_FLAG_DEFAULT (0) value instead of
+         casting enum type everywhere. And pass D3D11_RESOURCE_MISC_FLAG value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-27 12:06:50 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: postproc: add scale-method property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-27 11:54:28 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter/postproc: move unconditional props to vavpp
+         Only conditional/dynamic properties should be installed/handled
+         by vafilter.  Thus, move and install the unconditional/static
+         properties in vavpp.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-23 11:39:57 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/gstvacompositor.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+         va: compositor/filter: use scale method setter
+         Use the filter's scale method member instead of the sample's member.
+         Removes the filter_flags member from the composite sample.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-23 11:11:16 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+         va: filter: add scale method field and setter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-01-21 21:33:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvajpegdec.c:
+       * sys/va/gstvajpegdec.h:
+       * sys/va/gstvaprofile.c:
+       * sys/va/meson.build:
+       * sys/va/plugin.c:
+         va: Add vajpegdec element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-24 19:42:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstva.h:
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+         va: allocator: Add hack for no fourcc when surface creation.
+         This patch adds general mechanism for handling specific hacks. In this
+         case for jpeg decoder in i965 driver, which cannot create surfaces
+         with fourcc specified.
+         From jpeg decoder to the allocator, which creates the surfaces,
+         there's a non-simple path: basedec pseudo-class adds a hacks guint32
+         which will be set by actual elements (vajpegdec, in this case) and
+         basedec will always set the hack to the allocator when the allocator
+         is instantiated.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-24 19:54:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvavideoformat.c:
+         va: Add RGBP format definition.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-04-28 13:16:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacaps.c:
+         va: caps: Add jpeg fields in coded caps.
+         Given the supported rt formats in a profile/entrypoint config it's
+         possible to know the supported JPEG colorspace and subsampling. This
+         patch adds this information in coded caps to a safer autoplugging
+         after jpegparser.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-01-17 15:43:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstjpegdecoder.c:
+       * sys/va/gstjpegdecoder.h:
+       * sys/va/meson.build:
+         va: Add jpegdecoder base class.
+         This base class is intented for hardware accelerated decoders, but since
+         only VA uses it, it will be kept internally in va plugin.
+         It follows the same logic as the others video decoders in the library but.
+         as JPEG are independet images, there's no need to handle a DBP so no need
+         of a picture object. Instead a scan object is added with all the structures
+         required to decode the image (huffman and quant tables, mcus, etc.).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-27 12:36:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/meson.build:
+         va: build: Remove duplicated source.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-27 19:58:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudamemorycopy: Make sure writable caps before removing fields
+         The caps to be modified may not be writable when D3D11/GL/NVMM
+         are all disabled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2664>
+
+2022-06-25 19:50:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: skip unit tests for dependency-less elements that have been disabled
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-06-23 14:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+         va: allocator: Use always lseek to get dmabuf size.
+         Gallium drivers historically have reported strange dmabuf sizes, from always
+         zero to the whole frame (multiple fds). The simplest solution is to use lseek
+         SEEK_END to get the prime descriptor size.
+         Also the allocator raises a warning if both values differ in order to report
+         it to driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>
+
+2022-06-08 09:02:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+         va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
+         VADRMPRIMESurfaceDescriptor structure describes the offsets from the
+         point of view of the specific handle (DMABuf). While GstVideoInfo
+         (and the meta) describes offsets from the point of the view of the
+         GstBuffer, an aggregate of all the GstMemory (1 per handle).
+         This changes combined with [Mesa Fix](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813)
+         fixes decoding failure with AMD driver.
+         Fixes #1223
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>
+
+2022-06-23 21:43:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/amfcodec/gstamfencoder.cpp:
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11download.cpp:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+         d3d11: Revert staging buffer pool implementation
+         The staging buffer pool implementation was added to improve
+         throughput performance since we can avoid per-frame
+         CPU copy operation via staging texture but it turned out that
+         we can not make it thread safe. See
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
+         Reverting the staging texture implementation as it does not show
+         any visible value.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-23 21:35:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+         qsvdecoder: Fix system memory alignment
+         Do right padding, not left
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-23 21:41:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Fix texture download
+         Stride applied to src/dst was reversed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-16 17:02:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/jpegformat/gstjpegparse.c:
+         jpegparse: Add YUV440 sampling support.
+         Found some samples with this sampling, so in order to support it,
+         JPEG2000 header cannot be used anymore, a this patch also adds the
+         enums for each supported colorspace and sampling, avoiding hacks.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2641>
+
+2022-06-16 16:33:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+       * sys/va/gstvafilter.c:
+         va: Use driver implementation macro rather than function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2642>
+
+2022-06-18 10:36:53 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Fix uninitialized width and height when update src caps.
+         The commit b90d0274 introduces uninitialized width and height when we
+         consider to change the "pixel-aspect-ratio" for some interlaced stream.
+         We need to check the resolution in the src caps, and if no resolution
+         info found, there is no need to consider the aspect ratio.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2630>
+
+2022-06-21 20:04:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11: Fix some typos
+         Fix up spelling and d3d11testsrc class meta.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2644>
+
+2022-06-18 20:14:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11compositor.h:
+       * sys/d3d11/gstd3d11compositorbin.cpp:
+       * sys/d3d11/gstd3d11compositorbin.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+         d3d11compositor: Performance optimization
+         Removing glvideomixer-like nuance (it was initially referenced)
+         and rewriting element since it's not an optimal design at all
+         from performance point of view.
+         * Remove wrapper bin (and internal conversion/upload/download elements)
+         which will waste CPU/GPU resources. Conversion/blending can be done by the
+         d3d11compositor element at once.
+         * Add support YUV blending without RGB conversion.
+         The RGB <-> YUV conversion is completely unnecessary since YUV textures
+         support blending as well.
+         * Remove complicated blending operation properties since it's hard
+         to use from application point of view. Instead, adding "operator" property
+         like what compositor element does.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>
+
+2022-06-18 20:40:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Fix alpha factor update
+         converter should set entire constant buffer values since it's mapped
+         with write-discard flag
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>
+
+2022-06-02 14:22:21 +0200  Robert Mader <robert.mader@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/gstwaylandsink.h:
+       * gst-libs/gst/wayland/gstwlwindow.c:
+       * gst-libs/gst/wayland/gstwlwindow.h:
+         gstwaylandsink: Add rotate-method property
+         Similar to and inspired by glimagesink and gtkglsink.
+         Using the Wayland buffer transform API allows to offload
+         rotate operations to the Wayland compositor. This can have
+         several advantages:
+         - The Wayland compositor may be able to use hardware plane
+         capabilities to do the rotation.
+         - In case of pre-rotated content on rotated outputs the
+         rotations may equal out, potentially allowing the
+         compositor to use hardware planes even if they don't
+         support rotate operations.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2543>
+
+2022-06-18 04:05:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.h:
+         d3d11decoder: Check 16K resolution support
+         16K decoding is supported by some GPUs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2629>
+
+2022-06-17 05:11:08 +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: Add support for non-zero crop-{x,y} position
+         AVC and HEVC define crop rectangle and the x/y coordinates might
+         not be zero. This commit will address the non-zero x/y offset coordinates
+         via GstVideoCropMeta if downstream supports the meta and d3d11 memory.
+         Otherwise decoder will copy decoded texture into output frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2624>
+
+2022-06-17 02:45:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Implement filling border color
+         Equivalent to GST_VIDEO_CONVERTER_OPT_BORDER_ARGB and
+         GST_VIDEO_CONVERTER_OPT_FILL_BORDER options of GstVideoConverter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 02:18:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/plugin.cpp:
+         d3d11converter: Objectify converter
+         ... and set conversion options via property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 00:52:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11shader.cpp:
+       * sys/d3d11/gstd3d11shader.h:
+         d3d11shader: Remove GstD3D11Quad helper object
+         It's not very generic to be used for various scenario. Use native D3D11
+         APIs directly instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 00:50:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Don't use GstD3D11Quad
+         The helper object will be removed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-15 23:46:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11overlaycompositor.cpp:
+         d3d11overlaycompositor: Fix HLSL compiler warning
+         warning X3206: 'Sample': implicit truncation of vector type
+         And don't use GstD3D11Quad since it will result in redundant API calls
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-02-01 23:46:43 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/closedcaption/gstcccombiner.c:
+       * ext/closedcaption/gstcccombiner.h:
+         cccombiner: expose output-padding property
+         When schedule=true and output-padding=false, cccombiner will not
+         inject padding in the output closed caption meta stream.
+         The property has no effect when schedule=false.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1621>
+
+2022-06-15 15:06:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Limit sink query to sink pads
+         This allows the reception of streams that don't exactly match
+         the codec preferences. In particular, the ssrc in the codec preferences
+         is local sender SSRC, the other side is expected to send a different SSRC.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2615>
+
+2022-06-08 19:18:48 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videoparsers/gsth265parse.c:
+         avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+         Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+         also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+         decoders that don't properly support field-based decoding, but makes us
+         end up with the wrong aspect ratio if we implement everything properly.
+         As a workaround, detect 1:2 pixel aspect ratio for field-based
+         interlacing, and check if making that 1:1 would make the new display
+         aspect ratio common. In that case, we override it with 1:1.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2021-05-19 16:03:22 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/srt/gstsrtsrc.c:
+       * ext/srt/gstsrtsrc.h:
+         srtsrc: add "keep-listening" property to avoid EOS on disconnect
+         The property 'keep-listening' avoids EOS
+         when the remote client disconnects.
+         It can be useful to a keep a pipeline alive
+         when the srt connection drops remotely.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>
+
+2021-05-19 16:00:13 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/srt/gstsrtsrc.c:
+         srtsrc: remove dead code
+         Remove code useless since
+         132e3a1af9deb1d2cdf84d22b954967207bcc03a
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>
+
+2022-05-19 05:24:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264dec.cpp:
+         qsvh264dec: Use newly added avcC data parsing API
+         Use gst_h264_parser_parse_decoder_config_record() method to parse
+         codec_data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 05:06:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Use newly added avcC data parsing API
+         Use gst_h264_parser_parse_decoder_config_record() method to parse
+         codec_data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 04:49:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Use newly added avcC data parsing API
+         Use gst_h264_parser_parse_decoder_config_record() method to parse
+         codec_data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 04:25:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * tests/check/libs/h264parser.c:
+         h264parser: Add an API for AVCDecoderConfigurationRecord parsing
+         Add a method for AVC configuration date parsing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-06-15 10:07:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklinkvideosink: Fix selection of > PAL widescreen modes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2601>
+
+2022-06-07 16:30:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: Select output format with the used chroma in decoder.
+         Currently, video format is decided with downstream caps intersection,
+         but that's not correct since chroma is not considered. The video
+         decoders have to decide the output format given the used chroma, not
+         by the downstream caps negotiation.
+         This patch changes that. Still, caps feature is selected by caps
+         negotiation, then, with the preferred caps feature, the output format
+         is search within that caps feature.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2569>
+
+2022-05-23 11:41:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkoverlaycompositor.c:
+       * ext/vulkan/vkoverlaycompositor.h:
+         vulkan: add vulkan overlay compositor element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:26:24 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+         vkfullscreenquad: add support for disabling clearing
+         e.g. if drawing over the top of an existing image, we don'w want to
+         clear.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:25:03 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+         vkfullscreenquad: support setting blend operations
+         Allows e.g. blending with an existing image.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:24:04 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+         vkfullscreenaud: create the vulkan command pool upfront
+         Allows outside to reuse the same command buffer pool much more easily.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 17:07:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+       * gst-libs/gst/vulkan/gstvkbufferpool.h:
+       * gst-libs/gst/vulkan/gstvkcommandbuffer.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorset.h:
+       * gst-libs/gst/vulkan/gstvkfence.h:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/gstvkmemory.h:
+       * gst-libs/gst/vulkan/gstvkvideofilter.h:
+         vulkan: add some missing GAutoPtr definitions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 16:32:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimageview.h:
+         vulkan: remove unneeded #ifdef for GAutoPtr
+         Not necessary anymore as we depend on a new enough Glib version
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 13:22:33 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkanelements.h:
+       * ext/vulkan/vkcolorconvert.h:
+       * ext/vulkan/vkdeviceprovider.h:
+       * ext/vulkan/vkdownload.h:
+       * ext/vulkan/vkimageidentity.h:
+       * ext/vulkan/vkshaderspv.h:
+       * ext/vulkan/vksink.h:
+       * ext/vulkan/vkupload.h:
+       * ext/vulkan/vkviewconvert.h:
+         vulkan: move element register definition to relevant element headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-06-13 03:29:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+         d3d11converter: Add support for colorimetry conversion
+         Handle color primaries and gamma functions.
+         HDR <-> SDR conversion (tone mapping) should be implemented as well
+         but not a part of this patch.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-14 03:15:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11convert: Don't passthrough if colorimetry conversion is required
+         Different input/output colorimetry requires conversion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-14 00:24:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+         d3d11window: Use SDR colorspace whenever possible
+         PQ uses completely different light level scale
+         and it should not be used for SDR bt2020.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-06 03:41:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11converter.h:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+         d3d11converter: Rewrite conversion object
+         Rewriting GstD3D11Converter (equivalent to GstVideoConverter)
+         to optimize some conversion path and clean up.
+         * Extract YUV <-> RGB conversion matrix building method to
+         utils. It will be used by other implementation
+         * Use calculated offset values for YCbCr <-> YPbPr conversion
+         instead of hardcoded values
+         * Handle color range adjustment
+         * Move transform matrix building helper function to utils.
+         The method will be used by other elements
+         * Use single constant buffer. Multiple constatne buffer for
+         conversion pipeline is almost pointless
+         * Remove lots of duplicated HLSL code and split pixel shader
+         code path into sampling -> colorspace conversion ->
+         shader output packing
+         * Avoid floating point precision error around UV coordinates
+         * Optimize RGB -> YUV conversion path
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-05-24 10:40:26 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+       * sys/v4l2codecs/gstv4l2format.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: Add P010 pixel format
+         Copy V4L2_PIX_FMT_P010 define from linux header.
+         V4L2_PIX_FMT_P010 is the little endian definition of P010 so map
+         it GST_VIDEO_FORMAT_P010_10LE.
+         Add it v4l2 default video formats to allows v4l2 decoders to
+         enumerate and use it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2590>
+
+2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gs/gstgscommon.cpp:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mxf/mxfdemux.c:
+       * meson.build:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/va/vacompat.h:
+         Bump GLib requirement to >= 2.62
+         Can't require 2.64 yet because of
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-06-08 10:42:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+         decklink: Add support for 4K DCI, 8K/UHD2 and 8K DCI modes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2570>
+
+2022-06-02 06:06:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+         qsvencoder: Do not copy if input is D3D11 texture
+         In case that input is D3D11 texture, QSV seems to work regardless
+         of the alignment. Actually the alignment requirement seems to make
+         only sense for system memory.
+         Other Intel GPU dependent implementations (new VA encoder, and MediaFoundation)
+         do not require such alignment nor other vendor specific ones (NVENC and AMF)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2540>
+
+2022-06-09 23:19:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Fix for alternate interlacing signalling
+         Don't set d3d11+interlace caps feature. None of d3d11 elements
+         support it
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2579>
+
+2022-06-04 22:33:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11testsrc.cpp:
+       * sys/d3d11/gstd3d11testsrc.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+         d3d11: Add d3d11testsrc element
+         Adding Direct3D11 based videotestsrc element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2554>
+
+2022-06-08 16:38:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+         -bad/docs: be more selective about header files to exclude
+         A few header files in -bad contain comments that start with the
+         /** gtk-doc pattern, but should not actually be parsed (and warned
+         about as such).
+         Previously, we were using far-reaching wildcard patterns to avoid
+         parsing those, but this had the unintended side effect of also
+         excluding legitimate files, and creating confusion when comments
+         were not parsed from those.
+         Switch to excluding specific files instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2576>
+
+2022-05-27 05:15:13 +1000  Jan Schmidt <jan@centricular.com>
+
+       * sys/androidmedia/gstamc-constants.h:
+       * sys/androidmedia/gstamc.c:
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/androidmedia/gstamcvideoenc.h:
+         amc: Add H.265 encoder mapping.
+         Add mime type mapping to enable the use of Android H.265 encoders
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2511>
+
+2022-05-13 17:21:25 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: Decoder should use its own pool when downstream allocator is not recognizable
+         Msdkdec should use it own pool when the allocation from downstream query
+         is not any msdk_allocator (i.e. msdk_video_allocator,
+         msdk_dmabuf_allocator and msdk_system_allocator). Otherwise, when using
+         pipeline "msdkh264dec ! vah264enc !" to transcode a not 16-bit-aligned
+         stream (i.e. 1920x1080), the transcoding will fail due to the size
+         mismatch issue between decoder pool and encoder pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2451>
+
+2022-06-06 10:56:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         va: Update plugin cache.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-29 13:43:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Guard logging functions
+         .. and use spec for rate control rather than static switch.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-30 10:20:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Support default and none rate control.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-29 12:09:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         va: encoder: Rate control property.
+         Fixes: #1241
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-30 11:26:24 +0100  Philippe Normand <philn@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Add a prepare-data-channel GObject signal
+         This new signal allows data-channel consumers to configure signal handlers on a
+         newly created data-channel, before any data or state change has been notified.
+         The webrtcin unit-tests were refactored to make use of this new signal.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>
+
+2022-05-16 16:43:57 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtcdatachannel: Chain to parent class constructed
+         And add a debug log statement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>
+
+2022-06-02 10:32:28 -0400  Eric Knapp <emkman99@gmail.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+         decklinkvideosink: Add 3G-SDI Level A output support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2544>
+
+2022-06-04 15:05:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: Fix memory leaks in parse_user_data_unregistered().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2551>
+
+2022-06-04 17:23:00 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/rtmp2/rtmp/rtmpmessage.c:
+         rtmp2: Fix allocation of GstRtmpMeta
+         Use the right size.
+         On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
+         masked this bug. On 32-bit platforms, it causes crashes. Thanks to
+         @maxatka for discovering this.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2553>
+
+2022-06-02 16:38:55 +0200  Robert Mader <robert.mader@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/wayland/gstwaylandsink.c:
+         gstwaylandsink: Add support for the "render-rectangle" property
+         We already implement the `set_render_rectangle` videooverlay interface,
+         thus install the videooverlay property accordingly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>
+
+2022-01-04 15:20:41 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/gstwaylandsink.h:
+       * ext/wayland/meson.build:
+       * ext/wayland/wldisplay.c:
+       * ext/wayland/wldisplay.h:
+       * ext/wayland/wlwindow.c:
+       * ext/wayland/wlwindow.h:
+       * gst-libs/gst/wayland/gstwl_fwd.h:
+       * gst-libs/gst/wayland/gstwlbuffer.c:
+       * gst-libs/gst/wayland/gstwlbuffer.h:
+       * gst-libs/gst/wayland/gstwlcontext.c:
+       * gst-libs/gst/wayland/gstwlcontext.h:
+       * gst-libs/gst/wayland/gstwldisplay.c:
+       * gst-libs/gst/wayland/gstwldisplay.h:
+       * gst-libs/gst/wayland/gstwllinuxdmabuf.c:
+       * gst-libs/gst/wayland/gstwllinuxdmabuf.h:
+       * gst-libs/gst/wayland/gstwlshmallocator.c:
+       * gst-libs/gst/wayland/gstwlshmallocator.h:
+       * gst-libs/gst/wayland/gstwlvideobufferpool.c:
+       * gst-libs/gst/wayland/gstwlvideobufferpool.h:
+       * gst-libs/gst/wayland/gstwlvideoformat.c:
+       * gst-libs/gst/wayland/gstwlvideoformat.h:
+       * gst-libs/gst/wayland/gstwlwindow.c:
+       * gst-libs/gst/wayland/gstwlwindow.h:
+       * gst-libs/gst/wayland/meson.build:
+       * gst-libs/gst/wayland/wayland-prelude.h:
+       * gst-libs/gst/wayland/wayland.c:
+       * gst-libs/gst/wayland/wayland.h:
+       * tests/examples/waylandsink/main.c:
+       * tests/examples/waylandsink/wayland-threads.c:
+         gstwayland: Move reusable parts of the waylandsink into a library
+         In preparation for the new element `GstGtkWaylandSink`, move reusable
+         parts out of `GstWaylandSink` into the already exisiting but very
+         barebone library.
+         Notable changes include:
+         - the `GstWaylandVideo` interface was dropped
+         - support for `wl-shell` was dropped
+         - lots of renaming in order to match established naming patterns
+         - lots of code modernisations, reducing boilerplate
+         - members were made private wherever possible
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>
+
+2022-06-06 00:30:15 +0200  Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+       * ext/opencv/gstcvtracker.cpp:
+       * ext/opencv/gstcvtracker.h:
+       * ext/opencv/meson.build:
+         opencv: Allow building against 4.6.x
+         Replace the broken version checks with one modeled after
+         `GLIB_CHECK_VERSION`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2557>
+
+2022-05-30 16:31:38 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Reject answers that don't contain the same number of m-line as offer
+         Otherwise, it segfaults later. Also add test to validate this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2526>
+
+2022-03-15 12:44:20 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/librfb/gstrfb-utils.c:
+       * gst/librfb/gstrfb-utils.h:
+       * gst/librfb/gstrfbsrc.c:
+       * gst/librfb/gstrfbsrc.h:
+       * gst/librfb/meson.build:
+         rfbsrc: add uri interface
+         Adding a uri interface enables plugging in RFB/VNC sources to anything
+         that makes use of uridecodebin:
+         gst-play-1.0 rfb://:password@10.40.216.180:5903?shared=1
+         Use userinfo to pass user (ignored) and password, other key/value pairs
+         can be encoded in the query part of the URI (see shared)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1963>
+
+2022-05-17 00:36:24 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstvideoparseutils.c:
+       * gst/videoparsers/gstvideoparseutils.h:
+         videoparse: rename from _free to _clear
+         The function does not free the structure but the data
+         contained within.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-16 14:21:53 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parse: fix leak in user data unregistered
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         Fix documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100  Brad Hards <bradh@frogmouth.net>
+
+       * tests/check/elements/h264parse.c:
+         h264parse: add unit test for Precision Time Stamp in SEI messages
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+       * gst/videoparsers/gstvideoparseutils.c:
+       * gst/videoparsers/gstvideoparseutils.h:
+         h264parse: add support Precision Time Stamp in SEI messages
+         Expose User Data Unregistered as a new Meta and add
+         API to parse Precision Time Stamp (ST 0604).
+         Fixes #927
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-06-02 02:22:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/meson.build:
+         meson: cuda: Add missing override_dependency()
+         Required for GstCuda library to be consumed via "gstreamer-cuda-1.0"
+         dependency.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2539>
+
+2022-06-02 21:25:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/gstcudautils.c:
+         cuda: Fix uninitialized debug category
+         Make sure debug category init
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2542>
+
+2022-04-22 06:46:07 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkav1enc.c:
+       * sys/msdk/gstmsdkav1enc.h:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkav1enc: Reorder pts
+         This is a workaround for pts because oneVPL cannot handle the pts
+         correctly when there is b-frames. We first cache the input frame pts in
+         a queue then retrive the smallest one for the output encoded frame as
+         we always output the coded frame when this frame is displayable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:45:03 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkav1enc.c:
+       * sys/msdk/gstmsdkav1enc.h:
+         msdkav1enc: Add b-pyramid and p-pyramid
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:33:55 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkav1enc.c:
+       * sys/msdk/gstmsdkav1enc.h:
+         msdkav1enc: Add tile for encoding
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:03:36 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkav1enc.c:
+       * sys/msdk/gstmsdkav1enc.h:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/meson.build:
+         msdk: Add msdkav1enc element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-05-31 20:39:29 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/amfcodec/gstamfencoder.cpp:
+         amfencoder: always empty the queue when pushing output samples
+         gst_amf_encoder_try_output() pushes at most one output buffer downstream
+         although more may be ready. As a consequence, output samples will keep
+         queueing up in AMFComponent whenever QueryOutput() returns AMF_REPEAT
+         (and do_wait is FALSE). This has negative impact on latency when the
+         video being encoded is a live stream.
+         In order to avoid it, always retrieve and push all samples available in
+         AMFComponent's output queue at once.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2536>
+
+2022-05-29 06:55:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/gstdshowvideosrc.cpp:
+       * sys/directshow/plugin.cpp:
+         directshow: Fix for uninitialized debug category warning
+         A method in the code is used in another place (device provider)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2519>
+
+2022-05-29 12:42:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabasetransform.c:
+         va: Register base classes as abstract.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>
+
+2022-05-29 12:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+         va: encoder: Use entrypoint type.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>
+
+2022-05-27 14:47:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         va264enc: Fix typo.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>
+
+2022-05-27 14:45:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+         va: encoder: Fix regression since commit 2042c2d4f0.
+         There's no need to compare with the open entrypoint to query the
+         encoder. This commit removes the checks to the configured entrypoint
+         with the parameter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>
+
+2022-03-26 23:48:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.h:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * tests/examples/mediafoundation/meson.build:
+       * tests/examples/mediafoundation/mfvideoenc-dynamic-reconfigure.c:
+       * tests/examples/meson.build:
+         mfvideoencoder: Handle dynamic property update
+         Re-init MFT on property update to apply new encoding options
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 23:50:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/plugin.cpp:
+         mediafoundation: Run indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 22:24:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+         mfvideoenc: Remove redundant bitwise or operation
+         MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY (0xc0) covers
+         MFT_ENUM_FLAG_SORTANDFILTER (0x40)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:47:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+         mfvideoencoder: Early terminate d3d11 interop
+         Shared texture will work only for the same GPU
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:43:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+         mfvideoencoder: Check HRESULT code as well for GPU sync
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:40:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+         mfvideoencoder: Don't specify keyed mutex misc flag
+         Current implemetation copies textures using non-keyed mutex way.
+         D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is pointless
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-05-25 13:25:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacompositor.c:
+         vacompositor: Pass video info pointer than copying it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>
+
+2022-05-25 13:24:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvacompositor.c:
+         vacompositor: Remove useless consts.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>
+
+2022-05-27 21:13:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Work around Intel DXVA driver crash
+         Intel DXVA driver crashes sometimes (from GPU thread) if
+         ID3D11VideoDecoder is released while there are outstanding view objects.
+         To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
+         in GstD3D11Memory object.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2504>
+
+2022-05-26 23:50:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Bind internal texture to render target
+         ... so that memory allocator can initialize texture with black color
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>
+
+2022-05-26 23:46:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Clear YUV texture with black color
+         We prefer black color as an initial texture color and
+         Direct3D11 runtime will initialize texture with zeros (except for alpha)
+         which is fine for RGB formats. But UV components of YUV texture
+         requires manual clear for black color.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>
+
+2022-05-24 12:54:05 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * tests/check/elements/vacompositor.c:
+       * tests/check/meson.build:
+         tests: va: add simple vacompositor test
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2481>
+
+2022-04-22 16:29:56 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: Add intra refresh parameters
+         Note that for msdkh265enc, intra refresh parameters are only supported
+         under low-power mode. If these parameters are set without enabling lowpower,
+         they will be simply ignored.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>
+
+2022-04-15 13:38:20 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+         msdkh264enc: Add intra refresh parameters
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>
+
+2022-05-23 00:36:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11videosink-kb.c:
+       * tests/examples/d3d11/d3d11videosink-kb.h:
+       * tests/examples/d3d11/d3d11videosink.c:
+       * tests/examples/d3d11/meson.build:
+       * tests/examples/key-handler.c:
+       * tests/examples/key-handler.h:
+       * tests/examples/nvcodec/meson.build:
+       * tests/examples/nvcodec/nvcodec-kb.c:
+       * tests/examples/nvcodec/nvcodec.c:
+       * tests/examples/nvcodec/nvcodec.h:
+       * tests/examples/qsv/meson.build:
+       * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+         tests: examples: Stop duplicating keyboard interaction handler code
+         Extract the code from QSV and use it for D3D11 and NVCODEC examples
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2468>
+
+2022-05-26 14:08:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtc: fix build with older libnice versions
+         1) check for right macro name when checking for NICE_VERSION_CHECK
+         2) if libnice version is 0.1.18.1 this should not satisfy
+         a NICE_VERSION_CHECK(0,1,19).
+         Fixes build with libnice 0.1.18.1 subproject checkout.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2499>
+
+2022-05-24 05:33:05 +1000  Jan Schmidt <jan@centricular.com>
+
+       * sys/androidmedia/gstamc.c:
+         amc: Don't map input buffer with write mode
+         When copying data out of a GStreamer buffer, we don't
+         need to map it writable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2492>
+
+2022-05-11 09:17:46 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtc: Use new libnice API to get the candidate relay address
+         Corresponding libnice API added in:
+         https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/229 (0.1.19)
+         https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/232 (0.1.20)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-05-11 09:15:33 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/meson.build:
+         webrtc: Ensure the NICE_CHECK_VERSION macro is available
+         This macro was introduced in libnice 0.1.19.1, so until we bump our libnice
+         dependency to 0.1.20 we have to vendor the macro.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-03-26 12:36:46 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-03-20 12:36:07 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Document IceCandidateStats and RTCIceCandidatePairStats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2021-09-01 16:12:24 +0000  Sherrill Lin <lshuying@amazon.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcstats: Update unit test for outbound rtp stats
+         "remote-id" is not guaranteed to present after commit 1deb034e3d873f577a38bc483e6256b0346ee874.
+         Thus, we should not fail the test if "remote-id" is not found.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2021-06-30 16:01:10 -0400  Sherrill Lin <lshuying@amazon.com>
+
+         webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
+         The implementation follows w3.org specs:
+         * https://www.w3.org/TR/webrtc-stats/#icecandidate-dict*
+         * https://www.w3.org/TR/webrtc-stats/#candidatepair-dict*
+         Corresponding unit tests are also added.
+         Rebased and updated from
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
+         Fixes #1207
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-05-23 20:58:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabaseenc.h:
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+       * sys/va/gstvah264enc.h:
+       * sys/va/plugin.c:
+         va: H264enc: Add encoder for VAEntrypointEncSliceLP.
+         We name vah264lpenc to support H264's VAEntrypointEncSliceLP encoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2472>
+
+2022-05-25 20:01:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+         va: encoder: Do not reset the frame count when reconfig().
+         We should not reset the input/output_frame_count when some configure
+         changes. For example, the if resolution changes, the current way just
+         resets the frame count and make the PTS of the output buffer restart
+         from the original PTS of the first frame. That causes a lot of QOS
+         event and drop all the new frames.
+         We should only reset them when encoder start().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>
+
+2022-05-25 19:57:18 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabaseenc.h:
+       * sys/va/gstvah264enc.c:
+         va: encoder: change reset_state() to a virtual function of base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>
+
+2022-05-24 10:21:31 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/gstvacompositor.c:
+         vacompositor: check caps and info return values
+         Check return values for get caps and video info from caps.
+         This was flagged by static analysis.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2480>
+
+2022-05-25 02:38:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.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 on negotiation failure
+         It may not be a critical error and even expected when shutting down
+         pipeline or flushing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2483>
+
+2022-05-24 11:06:39 +0200  Erwann Gouesbet <erwann.gouesbet@blacknut.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+         d3d11screencapture: Fix missing/outdated cursor shape
+         d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
+         - AcquireNextFrame only provides cursor shape when there is one update
+         - current d3d11screencapture skips cursor shape when mouse is not drawn
+         So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
+         "show-cursor"=false and then switches this property to true, the cursor will not be
+         actually drawn until AcquireNextFrame provides a new cursor shape.
+         This commit makes d3d11screencapture always update the cursor shape information, even
+         if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
+         when requested to draw it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2485>
+
+2022-05-24 14:47:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/plugin.c:
+         va: Avoid unused variable if logging is disabled.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2478>
+
+2022-05-22 10:10:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvah264enc.c:
+         va: Keep include's code style
+         Headers are in alphabetical order.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2465>
+
+2022-05-24 13:19:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         vafilter: Fix logging of unsupported alpha blending.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2477>
+
+2022-05-24 14:36:36 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: reuese the same fec/rtx/red payload types for the same media payload
+         WHen bundling, if multiple medias are used with the same media payload, then
+         each of the fec/rtx/red additions would add a distinct payload.  This could
+         very easily overflow the available payload space.
+         Instead, track the relationship between the media payload value and
+         the relevant fec/rtx/red payload values and reuse them whenever
+         necessary, even when bundling.
+         e.g.
+         ...
+         a=group:BUNDLE video0 video1
+         m=video 9 UDP/SAVPF 96 97
+         a=mid:video0
+         a=rtpmap:96 VP8/90000
+         a=rtpmap:97 rtx/90000
+         a=fmtp:97 apt=96
+         ...
+         m=video 9 UDP/SAVPF 96 97
+         a=mid:video1
+         a=rtpmap:96 VP8/90000
+         a=rtpmap:97 rtx/90000
+         a=fmtp:97 apt=96
+         ...
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2474>
+
+2022-05-23 00:04:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+         tests: examples: Fix typo in QSV encoder example
+         Fixing width adjustment
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-22 22:44:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvav1enc.cpp:
+       * sys/qsv/gstqsvav1enc.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+       * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+         qsv: Add AV1 encoder element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-22 21:38:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvjpegenc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+         qsvencoder: Move common property to baseclass
+         adapter-luid and device-path are common for all codecs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-23 15:03:03 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+         va: baseenc: No need to check the frame pointer in handle_frame().
+         No need to check the NULL pointer of "frame" in error handling, it
+         is assured non-NULL by base class and we already use it everywhere
+         in this function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2471>
+
+2022-05-22 15:03:54 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+         va: baseenc: include the "vacompat.h" for old version glib.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2463>
+
+2022-04-26 12:07:26 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/plugin.c:
+         va: vpp: enable compositor
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
+
+2022-04-26 12:06:17 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/va/gstvacompositor.c:
+       * sys/va/gstvacompositor.h:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/meson.build:
+         va: vpp: add compositor
+         New implementation of a VA-API compositor with blend feature.
+         Various chunks of code was taken from vavpp.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
+
+2022-03-25 21:51:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: Apply the va base encoder to the vah264enc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>
+
+2022-03-25 21:48:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabaseenc.c:
+       * sys/va/gstvabaseenc.h:
+       * sys/va/meson.build:
+         va: Add the GstVaBaseEnc common object for all va encoders.
+         Just like the GstVaBaseDec and GstVaBaseTransform, this base encoder
+         will handle all common logic for all va encoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>
+
+2022-05-15 00:56:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+         d3d11device: Enhance format enumeration and debugging
+         * Enhance debug log to print human readable D3D11_FORMAT_SUPPORT flags
+         value, instead of packed numeric flagset value.
+         * Only device supported format will be added to format table.
+         Depending on device feature level (i.e., D3D9 feature devices),
+         16bits formats will not be supported. Although there might be formats
+         we deinfed but not supported, it will not be a major issue in practice
+         since our D3D11 implementation does not support legacy devices already
+         (known limitation) and also old d3dvideosink will be promoted in that case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2441>
+
+2021-12-22 19:23:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/jpegformat/gstjpegparse.h:
+       * gst/jpegformat/meson.build:
+       * tests/check/elements/jpegparse.c:
+         jpegparse: Rewrite element.
+         Now it uses the JPEG parser in libgstcodecparsers, while the whole
+         code is simplified by relying more in baseparser class for tag
+         handling.
+         The element now signals chroma-format and default framerate is 0/1,
+         which is for still-images.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-25 13:00:17 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/check/elements/jpegparse.c:
+         tests: jpegparse: Mark data as static.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-22 18:13:17 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/jpegformat/gstjifmux.c:
+       * gst/jpegformat/gstjifmux.h:
+       * gst/jpegformat/gstjpegformat.h:
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/jpegformat/meson.build:
+         jpegformat: Use codecparsers' for JPEG markers.
+         Instead of repeating JPEG markers definition, this patch uses those
+         defined in gstcodecparsers library.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-22 17:35:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/jpegformat/gstjpegparse.h:
+         jpegparse: Headers cleanup
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2022-05-18 16:54:53 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         datachannel: Notify low buffered amount according to spec
+         Quoting
+         https://www.w3.org/TR/webrtc/#dom-rtcdatachannel-bufferedamountlowthreshold
+         The bufferedAmountLowThreshold attribute sets the threshold at which the
+         bufferedAmount is considered to be low. When the bufferedAmount decreases from
+         above this threshold to **equal** or below it, the bufferedamountlow event fires.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2448>
+
+2022-05-17 14:15:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         tsmux: Make sure to set srcpad caps under all conditions before outputting the first buffer
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1218
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2438>
+
+2022-05-17 04:27:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+         d3d11device: Don't print ERROR log on open failure
+         Device open can be failed in various reasons, but it's unlikely
+         our problem
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2433>
+
+2022-05-17 14:02:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/sdp/gstsdpdemux.c:
+         sdpdemux: Release request pads from rtpbin when freeing a stream
+         Otherwise the pads of the rtpbin stay around forever and are leaked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2437>
+
+2022-05-17 03:32:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/libmfx/meson.build:
+       * sys/qsv/meson.build:
+         qsv: Disable non-MSVC build on Windows
+         ... and remove pointless UWP consideration that will never work.
+         Cross-compiled binary has an issue which causes deadlock.
+         Although cerbero will not build this plugin for non-MSVC build,
+         people can still build this plugin and may complain its brokenness.
+         See also
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/854
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2431>
+
+2022-04-28 16:02:26 +0100  Diogo Goncalves <diogo@diporg.com>
+
+       * sys/applemedia/avfvideosrc.m:
+         avfvideosrc: fix wrong framerate selected for caps
+         This fix solves an issue where a format that doesn't support the
+         requested framerate would be selected. It ensures that we use the first
+         format and framerate pair that supports the requested caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2331>
+
+2022-05-12 05:13:08 +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: Add hardcoded minimum resolution values to caps for NVIDIA
+         NVIDIA GPUs have undocumented limitation regarding minimum resolution
+         and it can be queried via a NVDEC API. However, since we don't want to
+         bring CUDA/NVDEC API into D3D11, use hardcoded values for now
+         until we find a nice way for capability check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2406>
+
+2022-05-12 07:23:29 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Handle files produced by legacy FFmpeg
+         Until March 2022, the FFmpeg MXF muxer would write the various index table
+         segments with the same instance ID, which should only be used if it is a
+         duplicate/repeated table.
+         In order to cope with those, we first compare the other index table segment
+         properties (body/index SID, start position) before comparing the instance
+         ID. This will ensure that we don't consider them as duplicate, but can still
+         detect "real" duplicates (which would have the same other properties).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2407>
+
+2022-05-03 16:23:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+         va: basedec: Always select first available format.
+         If the stream chroma doesn't match with any video format in the source
+         caps template (generated from va config surface formats) instead of
+         return unknown, return the first available format in the template,
+         assuming that the driver would be capable to do color conversions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2404>
+
+2022-05-07 03:15:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Improve robustness against malformed NAL packets
+         Use newly added gst_h265_parser_identify_and_split_nalu_hevc()
+         method to handle broken streams where packetized NAL unit
+         contain start code prefix in it.
+         It's obviously wrong stream but we know how to work around it
+         and even need to support such broken streams since
+         stateless decoder implementations are being a primary
+         decoder element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>
+
+2022-05-10 03:32:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * tests/check/libs/h265parser.c:
+         h265parser: Add a new NAL parsing API to handle malformed packets
+         Add gst_h265_parser_identify_and_split_nalu_hevc() method to
+         handle a case where packetized stream contains start-code prefix.
+         This new method behaves similar to exisiting gst_h265_parser_identify_nalu_hevc()
+         but it will scan start-code prefix to split given data into
+         NAL units.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>
+
+2022-03-30 17:19:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: basedec: Select format from template or negotiated caps.
+         Instead of using a hard-coded list of preferred formats according the
+         chroma type, now if now caps are pre-negotiated, from template caps
+         will choose the first format with the same chroma type. If
+         pre-negotiated, then it will choose the first format, with same chroma
+         type, from the first caps structure.
+         Also all the decoders will check if GST_VIDEO_FORMAT_UNKNOWN is
+         returned, failing the negotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2351>
+
+2022-05-06 17:53:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvadisplay_drm.c:
+         libs: va: Add O_CLOEXEC flag at opening drm device.
+         So any other potential subprocess won't have access to it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2386>
+
+2022-05-06 18:21:00 -0400  Olivier Crête <olivier.crete@ocrete.ca>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: Set timestamp in DTS, not PTS
+         This matches the behaviour of basesrc, in particular, it matches the
+         behaviour of udpsrc, so it's easier to use to as a replacement to test
+         rtpjitterbuffer and other similar elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2388>
+
+2022-01-16 15:51:32 +0300  Dmitry Osipenko <digetx@gmail.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+         v4l2codecs: h264: Set frame type flags
+         V4L spec now requires decode_params flags to be set in accordance to the
+         frame's type. In particular this is required by H.264 decoder of NVIDIA
+         Tegra SoC to operate properly. Set the flags based on type of parsed
+         slices.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1757>
+
+2022-05-06 10:50:59 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * tests/check/meson.build:
+         tests: Skip test if srtp element not built
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2383>
+
+2022-05-06 01:46:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Protect against concurrent access from GPU and CPU to staging texture
+         Staging texture does not allow GPU access while it's CPU mapped.
+         But because we cannot block concurrent READ access by GstMemory design,
+         additional staging texture is still required.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2375>
+
+2022-05-05 02:16:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapture.h:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * tests/examples/d3d11/d3d11screencapturesrc.cpp:
+         d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
+         GstD3D11ScreenCapture object is pipeline-independent global object
+         and the object can be shared by multiple src elements,
+         in order to overcome a limitation of DXGI Desktop Duplication API.
+         Note that the API allows only single capture session in a process for
+         a monitor.
+         Therefore GstD3D11ScreenCapture object must be able to handle a case
+         where a src element holds different GstD3D11Device object. Which can
+         happen when GstD3D11Device context is not shared by pipelines.
+         What's changed:
+         * Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
+         texture to be able to copied into other device's texture
+         * Holds additional shader objects per src element and use it when drawing
+         mouse
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2366>
+
+2022-05-05 20:35:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mxf/mxfmux.c:
+         mxfmux: Disable aggregator's default negotiation
+         mxfmux can't negotiate caps with upstream/downstream and always outputs
+         specific caps based on the input streams. This will always happen before
+         it produces the first buffers.
+         By having the default aggregator negotiation enabled the same caps
+         would be pushed twice in the beginning, and again every time a
+         reconfigure event is received.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 20:35:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Disable aggregator's default negotiation
+         mpegtsmux can't negotiate caps with upstream/downstream and always outputs
+         specific caps based on the input streams. This will always happen before
+         it produces the first buffers.
+         By having the default aggregator negotiation enabled the same caps
+         would be pushed twice in the beginning, and again every time a
+         reconfigure event is received.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 00:24:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Fix for unhandled low-delay decoding case
+         Baseclass calls get_preferred_output_delay() in a chain of
+         sequence header parsing and then new_sequence() is called
+         with required DPB size (includes render-delay) information.
+         Thus latency query should happen before the sequence header
+         parsing for subclass to report required render-delay accordingly
+         via get_preferred_output_delay() method.
+         (e.g., zero delay in case of live pipeline)
+         This commit is to fix wrong liveness signalling in case of
+         upstream packetized format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2363>
+
+2022-05-05 00:49:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Fix for unhandled low-delay decoding case
+         Baseclass calls get_preferred_output_delay() in a chain of
+         sequence header parsing and then new_sequence() is called
+         with required DPB size (includes render-delay) information.
+         Thus latency query should happen before the sequence header
+         parsing for subclass to report required render-delay accordingly
+         via get_preferred_output_delay() method.
+         (e.g., zero delay in case of live pipeline)
+         This commit is to fix wrong liveness signalling in case of
+         upstream packetized format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2364>
+
+2022-05-04 23:36:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+         nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
+         Allocated memory size has not been updated which results in
+         realloc per slice. Fixing it and also release bitstream buffer
+         on ::close(), not finalize.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361>
+
+2022-04-29 20:28:53 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+         d3d11screencapture: Set viewport when drawing mouse cursor
+         If there weren't any moved/dirty regions in the captured frame, the
+         viewport of the ID3D11DeviceContext would be left at whatever previous
+         value it had, which could lead to the cursor being drawn in a wrong
+         position and/or in an incorrect size.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2362>
+
+2022-05-02 22:59:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvav1dec.c:
+       * sys/nvcodec/gstnvav1dec.h:
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add AV1 decoder
+         Adding GstCodecs based AV1 decoder element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-03 23:56:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1decoder.h:
+         av1decoder: Add support for render delay
+         Sync up with other decoder baseclass implementations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-04-28 03:14:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1picture.h:
+         av1decoder: Hold OBU temporal and spatial id in picture struct
+         NVDEC API requires the information
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-04 01:03:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/meson.build:
+         meson: nvcodec: Remove unnecessary override option and fix build with non-MSVC
+         cpp_std=c++11 was hack for macOS build but we don't build this plugin
+         for Apple device anymore. And add "-Wno-deprecated-declarations"
+         compile option for gcc/clang
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2021-12-17 17:22:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/cuviddec.h:
+       * sys/nvcodec/nvEncodeAPI.h:
+       * sys/nvcodec/nvcuvid.h:
+         nvcodec: Bump SDK header version to 11.1
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-02 22:46:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvdecoder: Handle DPB size margin in a single place
+         ... instead of each subclass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-05-02 22:41:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * 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: Handle DPB size margin in a single place
+         ... instead of each subclass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-04-28 04:25:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1decoder.h:
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp8decoder.h:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         codecs: Signal required DPB size for AV1,MPEG2,VP8, and VP9 via new_sequence()
+         Make all codecs consistent so that subclass can know additional DPB
+         size requirement depending on render-delay configuration regardless
+         of codec. Note that render-delay feature is not implemented for AV1
+         yet but it's planned.
+         Also, consider new_sequence() is mandatory requirement, not optional
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-04-12 12:17:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+         v4l2codecs: Port to the new tile size helper
+         This will complete the scaling of width/height shift scaling
+         as only a partial implementation was made.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-05-02 11:46:59 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/cuda/meson.build:
+         cuda: Fix introspection warnings
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1183
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2344>
+
+2022-05-02 21:57:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/gstcudautils.c:
+         Revert "cuda: Fix GstCudaContext refcount bug"
+         This reverts commit df7ee0e21518ab5586e4094f2089048f3767d5f5.
+         We should not unref it since gst_message_new_have_context()
+         takes ownership of the GstContext.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2342>
+
+2022-05-02 09:15:57 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         tsdemux: Demote warning to simple debug
+         That issue is actually handled, so don't pollute the logs with such warning.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2340>
+
+2022-04-29 19:08:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Also handle a missing "interlace-mode" field as progressive
+         Otherwise caps negotiation will fail in situations that are supposed
+         to work, like:
+         "video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>
+
+2022-04-29 19:08:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Add some more debug output to the getcaps function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>
+
+2022-04-29 16:56:54 +0100  Myles Inglis <myles.inglis@vcatechnology.com>
+
+       * gst-libs/gst/cuda/gstcudautils.c:
+         cuda: Fix GstCudaContext refcount bug
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2334>
+
+2022-04-28 17:08:11 +0200  Ludvig Rappe <ludvigr@axis.com>
+
+       * ext/webrtc/icestream.c:
+         webrtc: Fix memory leak in icestream
+         Since both g_value_set_object() and g_weak_ref_get() takes a reference
+         there will be two new references to the GstWebRTCICE object when there
+         should be only one. g_value_take_object() has the same functionality as
+         g_value_set_object() but does not take a reference.
+         Without this change, the GstWebRTCICE object will be leaked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2333>
+
+2022-04-27 22:50:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/gstcudautils.c:
+         cuda: Correct CUDA device id field in GstContext structure
+         device id is unsigned int, not signed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2311>
+
+2022-04-28 13:23:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.h:
+         codecs: h265decoder: Fix documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2328>
+
+2022-04-27 15:24:50 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegts: Handle "empty" PMT gracefully
+         Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
+         but doesn't contain/define any streams. That causes an unrecoverable issue when
+         we try to activate the 2nd (valid) PMT.
+         Instead of doing that, pre-emptively refuse to process PMT without any streams
+         present within. We still do post that section on the bus to inform applications.
+         Fixes #1181
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2310>
+
+2022-04-26 09:11:07 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/elements/srtp.c:
+         srtp: fix flaky unit test
+         Use different port for each test to avoid other UDP
+         packet to be received.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2294>
+
+2022-04-28 00:48:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/plugin.cpp:
+         d3d11h265dec: Assign PRIMARY + 1 rank
+         Promote d3d11h265dec to be default one if available
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2314>
+
+2022-04-28 00:31:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvvp9sldec: Increase DPB size to cover render delay
+         This should've included in the previous MR
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
+         already, but missed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2313>
+
+2022-03-07 15:44:04 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+         qroverlay: Reset data_changed after we use the info
+         It was never reset so it was always TRUE once the data was changed!
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>
+
+2022-03-04 22:00:18 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/qroverlay/gstqroverlay.c:
+         qroverlay: Add a GstQROverlay meta
+         See documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>
+
+2022-04-27 00:27:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/onvif/gstrtponviftimestamp.c:
+         rtponviftimestamp: add extension data to all packets ..
+         regardless of whether they are input as individual buffers or
+         buffer lists.
+         The ONVIF specification requires all packets to hold the extension,
+         it makes no sense to behave differently when handling buffer lists.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303>
+
+2022-03-08 21:26:16 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * sys/nvcodec/gstcudaconvert.c:
+         cudaconvert: Enhance debugging when setting video info fails
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2300>
+
+2022-04-26 22:35:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+         codecparsers: bitwriter: Calculate PicSizeInCtbsY when writing slice header.
+         The slice->pps->PicWidthInCtbsY/PicHeightInCtbsY values are calculated when
+         we parse the slice header. But they are not calculated in bitwriter and so
+         may not have valid value when writing slice header.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>
+
+2022-04-24 17:26:03 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+         codecparsers: bitwriter: Fix some coverity issues of H265 bitwriter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>
+
+2022-04-24 00:02:18 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvabasedec.c:
+         va: dec: Use gst_buffer_pool_config_set_va_alignment() to set alignment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:59:08 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvapool.h:
+         va: pool: Replace all tabs with spaces in header file.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:52:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvapool.c:
+         va: pool: Delete the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.
+         The va pool is used for GPU side surface/image, its alignment should
+         not be changed arbitrarily by others. So we decide not to expose the
+         GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT flag anymore.
+         Instead, user can call gst_buffer_pool_config_set_va_alignment() to
+         set its surface/image alignment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:40:14 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvapool.c:
+       * gst-libs/gst/va/gstvapool.h:
+         va: pool: Add set_va_alignment() API.
+         We want to use gst_buffer_pool_config_set_va_alignment() to replace
+         gst_buffer_pool_config_get_video_alignment(). The later one is specific
+         for GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT option.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-26 01:16:06 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Fix a latent memory leak in colorimetry setting.
+         Also delete the useless "have_cinfo" judgement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>
+
+2022-04-24 22:54:58 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Correct the meaning of color_range flag.
+         According to spec:
+         color range equal to 0 shall be referred to as the studio swing
+         representation and color range equal to 1 shall be referred to as
+         the full swing representation.
+         The current status is just the opposite.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>
+
+2022-04-25 22:59:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Workaround for invalid DTS with VP9
+         SDK runtime seems to report zero DTS for all frames in case of VP9 but
+         we don't need to use DTS for the codec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2291>
+
+2022-04-24 00:37:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/cuda/meson.build:
+       * sys/nvcodec/meson.build:
+         nvcodec: Stop building for non-{Windows,Linux} target
+         The other platforms, specifically macOS have not been supported already
+         because this plugin loads so or dll. Moreover, NVIDIA dropped
+         support for macOS as of CUDA 11.0. See also
+         https://developer.nvidia.com/nvidia-cuda-toolkit-11_0_0-developer-tools-mac-hosts
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2283>
+
+2022-03-28 17:06:46 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/elements/srtp.c:
+       * tests/check/meson.build:
+         srtp: add unit tests
+         Enable unit tests in meson.build
+         Add test_play_key_error to check the stats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>
+
+2022-03-25 17:47:23 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/srtp/gstsrtpdec.c:
+       * ext/srtp/gstsrtpdec.h:
+         srtpdec: add counts in stats
+         In order to count the buffers which have been received and dropped for
+         decryption reason, add a stats to track it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>
+
+2022-04-23 04:00:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Fix for unhandled mouse double click events
+         Only window created with CS_DBLCLKS style can receive those mouse
+         double click events, so we need to use the style for internal/external
+         windows can get double click events.
+         Also, passthrough mouse events to parent window in the same message pumping
+         threads instead of manually forwarding each mouse event.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2277>
+
+2022-03-07 08:46:57 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+       * sys/msdk/meson.build:
+         Meson: Fix deprecation warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-22 17:44:06 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/rsvg/gstrsvgdec.h:
+         rvsg: fix cairo include
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2276>
+
+2022-04-22 12:29:29 +0200  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/cuda-converter.c:
+         cuda-converter: fix nvrtc compilation on non-English locale systems
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2268>
+
+2022-04-21 00:38:37 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Avoid access of freed memory
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2256>
+
+2022-04-15 22:19:09 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: h264enc: Do not let L0 number surplus the HW limitation.
+         The algorithm to calculate the L0/L1 number may let the L0 number
+         surplus the HW limitation. We should ensure that limitation after
+         that calculation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2202>
+
+2022-03-02 14:42:42 +0800  He Junyan <junyan.he@intel.com>
+
+       * tests/check/libs/h265bitwriter.c:
+       * tests/check/meson.build:
+         test: Add test cases for the H265 bitwriter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>
+
+2022-03-02 14:31:05 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+       * gst-libs/gst/codecparsers/gsth265bitwriter.h:
+       * gst-libs/gst/codecparsers/meson.build:
+         codecparsers: bitwriter: Add the common bit writer functions for H265.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>
+
+2022-04-20 13:18:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: Update the colorimetry and HDR fields when fixup src caps.
+         When we fixup src caps, the current way of handling the HDR fields is not
+         correct.
+         1. We trim the HDR fields only when the input caps is not a subset of the
+         fixup src caps. But in fact, the input caps with HDR fields such as the
+         "mastering-display-info" can possibly be the subset of the fixup src caps,
+         if they have all same other fields.
+         2. We always copy the colorimetry from input caps to src caps if it is
+         absent. But when hdr-tone-mapping is enabled, the HDR->SDR conversion makes
+         the colorimetry change. We should use downstream's setting, or just use the
+         default colorimetry of SDR.
+         We changes to:
+         1. If hdr-tone-mapping is enabled, we trim all HDR fields and add a correct
+         colorimetry.
+         2. Copy colorimetry from input if it is still absent.
+         3. Consider the subset replacement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2244>
+
+2022-04-20 23:06:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.h:
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265dec.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvjpegenc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+         qsv: Add GPU description to element long-name on Windows
+         Would be useful for a multi-Intel-GPU system
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249>
+
+2022-04-19 21:38:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Notify if hdr-tone-mapping property changes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2247>
+
+2022-03-30 18:09:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/vasurfaceimage.c:
+       * gst-libs/gst/va/vasurfaceimage.h:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvah264enc.c:
+         va: Expose a couple va surface/buffer methods.
+         And use them in va plugin.
+         Also, set as default logging category the vadisplay one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2077>
+
+2022-04-20 08:09:58 +0900  Wonchul Lee <wonchul.dev@gmail.com>
+
+       * ext/dash/gstdashsink.c:
+         dashsink: Unlock when failed to get content
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2242>
+
+2022-04-18 17:50:22 +0900  Camilo Celis Guzman <camilo@pexip.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         gstav1parse: fixup various possible logical errors
+         Found via an analyzed build for Clang. Specifically we had:
+         gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
+         gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value
+         Also a couple of false-positives:
+         gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
+         gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2230>
+
+2022-03-25 10:18:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Always define ENABLE_NLS
+         GLib guarantees libintl API is always available, provided by
+         proxy-libintl as last resort. GLib itself unconditionally define
+         ENABLE_NLS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/gettext.h:
+       * gst-libs/gst/gst-i18n-plugin.h:
+         Delete unused i18n headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/curl/gstcurlelement.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/dash/gstdashdemux.c:
+       * ext/ladspa/gstladspa.c:
+       * ext/openal/gstopenal.c:
+       * ext/openal/gstopenalelement.c:
+       * ext/opencv/gsttemplatematch.cpp:
+       * ext/resindvd/resindvdbin.c:
+       * ext/resindvd/resindvdsrc.c:
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/smoothstreaming/gstmssdemux.c:
+       * ext/smoothstreaming/gstsmoothstreaming-plugin.c:
+       * ext/sndfile/gstsf.c:
+       * ext/sndfile/gstsfdec.c:
+       * ext/sndfile/gstsfelement.c:
+       * ext/sndfile/gstsfsink.c:
+       * ext/sndfile/gstsfsrc.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst/aiff/aiffparse.c:
+       * gst/aiff/gstaiffelement.c:
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfparse.c:
+       * gst/camerabin2/camerabingeneral.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstdigitalzoom.c:
+       * gst/camerabin2/gstviewfinderbin.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/midi/midi.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsttranscodeelement.c:
+       * sys/dvb/gstdvb.c:
+       * sys/dvb/gstdvbelement.c:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/dvb/parsechannels.c:
+         Replace gst-i18n-*.h with gi18n-lib.h
+         GLib guarantees libintl is always present, using proxy-libintl as
+         last resort. There is no need to mock gettex API any more.
+         This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+         be defined before including libintl.h, and glib does it for us as part
+         as including glib.h.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-13 15:23:56 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/cuda/gstcudautils.c:
+       * gst-libs/gst/cuda/gstcudautils.h:
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cuda: Fix typo in gst_cuda_buffery_copy_type_to_string
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-12 13:19:52 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/cuda/gstcudacontext.c:
+       * gst-libs/gst/cuda/gstcudacontext.h:
+       * gst-libs/gst/cuda/gstcudautils.h:
+         cuda: Add a `gst_cuda_context_new_wrapped` constructor
+         So that application or people implementing cuda element from
+         outside GStreamer itself can ensure that their contexts are used
+         by GStreamer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-08 11:48:08 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/libs/cuda/index.md:
+       * docs/libs/cuda/sitemap.txt:
+       * docs/meson.build:
+       * gst-libs/gst/cuda/cuda-gst.h:
+       * gst-libs/gst/cuda/cuda-prelude.h:
+       * gst-libs/gst/cuda/gstcudabufferpool.c:
+       * gst-libs/gst/cuda/gstcudabufferpool.h:
+       * gst-libs/gst/cuda/gstcudacontext.c:
+       * gst-libs/gst/cuda/gstcudacontext.h:
+       * gst-libs/gst/cuda/gstcudaloader.c:
+       * gst-libs/gst/cuda/gstcudaloader.h:
+       * gst-libs/gst/cuda/gstcudamemory.c:
+       * gst-libs/gst/cuda/gstcudamemory.h:
+       * gst-libs/gst/cuda/gstcudanvrtc.c:
+       * gst-libs/gst/cuda/gstcudanvrtc.h:
+       * gst-libs/gst/cuda/gstcudautils.c:
+       * gst-libs/gst/cuda/gstcudautils.h:
+       * gst-libs/gst/cuda/gstnvrtcloader.c:
+       * gst-libs/gst/cuda/gstnvrtcloader.h:
+       * gst-libs/gst/cuda/meson.build:
+       * gst-libs/gst/cuda/stub/cuda.h:
+       * gst-libs/gst/cuda/stub/cudaGL.h:
+       * gst-libs/gst/cuda/stub/nvrtc.h:
+       * gst-libs/gst/meson.build:
+       * sys/nvcodec/cuda-converter.c:
+       * sys/nvcodec/cuda-converter.h:
+       * sys/nvcodec/gstcudabasefilter.c:
+       * sys/nvcodec/gstcudabasetransform.c:
+       * sys/nvcodec/gstcudabasetransform.h:
+       * sys/nvcodec/gstcudaconvert.c:
+       * sys/nvcodec/gstcudafilter.c:
+       * sys/nvcodec/gstcudamemorycopy.c:
+       * sys/nvcodec/gstcudascale.c:
+       * sys/nvcodec/gstcuvidloader.h:
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/gstnvencoder.cpp:
+       * sys/nvcodec/gstnvencoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh264encoder.cpp:
+       * sys/nvcodec/gstnvh264encoder.h:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvh265encoder.cpp:
+       * sys/nvcodec/gstnvh265encoder.h:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         cuda: Factor out a public GstCUDA library
+         So applications and elements implemented outside GStreamer can reuse
+         our infrastructure
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-03 13:12:42 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Give more details about errors
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-11-12 20:13:10 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         gst_plugin_load_file: force plugin reload if diff filename
+         If a file includes a new version of a plugin that exits in the
+         registry, the output of gst-inspect is incorrect. The output has the
+         correct version but incorrect filename, and element description.
+         This seems to have also fixed some documentation issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2022-04-19 04:37:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: Remove outdated comment
+         d3dvideosink is not a primary video sink element
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2223>
+
+2022-04-18 00:25:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h264decoder,h265decoder: Do not hold codec_data buffer
+         ... also do not need to extract it from caps.
+         Decoder uses codec_data only once per set_format() and
+         baseclass will extract codec_data buffer already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2212>
+
+2022-04-17 23:55:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
+         Our decoder implementation does not use downstream d3d11 pool for
+         decoding because of special requirement of D3D11/DXVA. So preallocation
+         using the downstream buffer pool will waste GPU memory in most cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2211>
+
+2022-04-14 13:22:03 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Include coded-picture-structure info in caps
+         This reverts commit 652773de366a98e155332bf8ffb83ee5e6bea9e5 and
+         modifies it to rename the caps field name to coded-picture-structure.
+         It was previously removed because it confuses the decoder and we didn't
+         have a valid use case for including it in the encoded caps at this
+         stage. We now do have such a use case but still don't want to confuse
+         the decoder, so the field is renamed.
+         However, it is still not accurate without looking at the SEI picture
+         structure of each frame, so it was named coded-picture-structure. If its
+         value is "frame" it is most likely progressive, if it's "field" it is
+         most likely interlaced or mixed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2177>
+
+2022-04-18 12:44:19 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: h264enc: Fix the forgotten unlock() when getting device path property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2215>
+
+2022-04-17 22:25:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+         qsvdecoder: Use system memory for non-d3d11 downstream
+         QSV's memory download implementation seems to be more faster
+         than our implementation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:14:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvh265dec.cpp:
+       * sys/qsv/gstqsvh265dec.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add H.265 decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:18:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvutils.cpp:
+       * sys/qsv/plugin.cpp:
+         qsv: Include single gstva.h
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:04:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264dec.cpp:
+         qsvh264dec: Don't register element if it's not supported by device
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 01:27:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvdecoder.h:
+       * sys/qsv/gstqsvh264dec.cpp:
+         qsvh264dec: Add support for packetized format
+         Handle avc/avc3 packetized formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 00:00:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvjpegenc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+       * sys/qsv/plugin.cpp:
+         qsv: Move debug init into each source file
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-16 23:51:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.cpp:
+         qsvdecoder: Reset next_task_index per init_session()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-16 21:27:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Copy HDR10 related caps field manually
+         If negotiate() is called from the set_format() chain, sinkpad may not
+         hold caps yet, so baseclass cannot copy it over to srcpad caps.
+         Copy them manually.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2203>
+
+2022-04-16 22:27:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+         qsvencoder: Rename property name i-frames to idr-interval
+         ... and clarify the meaning of the value for each h264 and h265
+         encoder since the usage of mfxInfoMFX::IdrInterval is different
+         per codec.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>
+
+2022-04-16 21:26:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh265enc.cpp:
+         qsvh265enc: Write HDR10 metadata SEI
+         If device supports HDR10 metadata API, write the information
+         into bitstream per IDR.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>
+
+2022-04-13 06:19:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         gst_plugins_cache.json: Update va plugins.
+         * Update conditionally-available attribute in vah264enc properties.
+         * Update GstVaFeature usage.
+         * Update GstVaEncoderRatecontrol usage.
+         * Update vapostproc classification.
+         * Add `add-borders` property in vapostproc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:58:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Use GstVaFeature enum for enabling MBBRC.
+         GstVaFeature is a common enumeration for auto/disabled/enabled kind of
+         property setting.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:56:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Move rate-control enum to encoder class helper.
+         Since it's a common enumeration used, as user setting property, for
+         most of codecs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:52:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Add device-path property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-15 13:19:36 +0000  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstcudautils.c:
+         cudautils: fix critical typo in gst_cuda_buffer_fallback_copy
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2194>
+
+2022-04-14 20:10:46 +1000  Brad Hards <bradh@frogmouth.net>
+
+       * po/POTFILES.skip:
+       * tests/interactive/meson.build:
+       * tests/interactive/pitch-test.c:
+       * tests/meson.build:
+         tests: rename 'icles' subdir to be more descriptive
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-14 08:23:51 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/gstmpegdefs.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Fix AC-4 detection
+         This regression was introduced by
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1102
+         and has been present since 1.18
+         * Stream Type 0x06 is defined in the base mpeg-ts specification as Private PES
+         Packets. Determining the content should be solely based on descriptors found
+         within the PMT.
+         * This was abused in that commit by defining a "bluray-only" stream type for AC4
+         : `ST_BD_AUDIO_AC4`
+         * This should be entirely handled in the regular private pes handling further
+         down in the code
+         Fixes #1154
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2175>
+
+2022-04-10 17:28:03 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: h264enc: Correct the hierarchical level name for pyramid-b frames.
+         The current way names the level by the number of B frames it contains, the
+         less it contains, the higher level it is. So the non ref B frames are in the
+         lowest layer and the B frames in the highest level refer to I/P frames.
+         But the widely used way is just the opposite, the ref B frames are in the
+         lower level and non ref B frames are at the highest level.
+         The is just a terminology change, and does not have any effect for compression
+         result and quality.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2149>
+
+2022-04-12 10:34:27 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+         codecs: av1parser: Fix a typo in seq_level_idx check.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2157>
+
+2022-04-13 01:46:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/amfcodec/gstamfh265enc.cpp:
+         amfh265enc: Handle preset option
+         Add missing preset option handling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>
+
+2022-04-13 01:39:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/amfcodec/gstamfencoder.cpp:
+         amfencoder: Do shared resource copy only if texture belongs to other device
+         Staging texture from the same d3d11device can be copied without
+         shared resource handling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>
+
+2022-04-12 01:01:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/meson.build:
+         win32: Enable high-resolution timer for MinGW build
+         timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+         header instead, which defines struct and APIs in case of our MinGW
+         toolchain. Note that in case of native Windows10 SDK (MSVC build),
+         mmsystem.h will include timeapi.h
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-11 16:03:41 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Give WebKit the keyboard, touch and pointer modifiers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-11 15:56:19 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpesrc: Convert from utf32 to support other keys
+         This makes all of the non-letter keys work.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-11 15:54:05 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpesrc: Initialize key event to 0
+         Otherwise, WebKit sees random modifiers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-12 11:20:00 +0200  Andoni Morales Alastruey <amorales@fluendo.com>
+
+       * sys/amfcodec/gstamfh264enc.cpp:
+         amfcodec: fix setting quality presets
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2159>
+
+2022-04-11 10:32:40 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Fix issue with re-syncing
+         In case of re-syncing (i.e. moving to another partition to avoid too much of an
+         interleave), there was previously no checks to figure out whether a given
+         partition was already fully handled (i.e. when coming across it again after a
+         previous resync).
+         In order to handle this at least for single-track partitions, check whether we
+         have reached the essence track duration, and if so skip the partition.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>
+
+2022-04-11 10:31:15 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Don't double-increase track position
+         The essence track position should only be overriden if we sucesfully switched to
+         another position. In case of EOS we do not want to override it else we would
+         increase the track position *again* at the end of this function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>
+
+2022-04-12 01:49:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/amfcodec/gstamfencoder.cpp:
+       * sys/amfcodec/gstamfh264enc.cpp:
+       * sys/amfcodec/gstamfh265enc.cpp:
+       * sys/amfcodec/meson.build:
+         amfcodec: Fix for MinGW build
+         timeapi.h header might not be missing depending on toolchain.
+         Also do hard meson error if winmm dep is not available but
+         amfcodec is explicitly enabled.
+         And fixing various GCC build warning errors.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2155>
+
+2022-04-09 23:32:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator.cpp:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvjpegenc.cpp:
+       * sys/qsv/gstqsvjpegenc.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add JPEG encoder
+         Note that YUY2 is not supported yet, since the format support is not
+         implemented now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2142>
+
+2022-04-10 02:34:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/amfcodec/gstamfencoder.cpp:
+       * sys/amfcodec/gstamfh264enc.cpp:
+       * sys/amfcodec/gstamfh265enc.cpp:
+       * sys/amfcodec/plugin.cpp:
+         amfcodec: Update plugin cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2143>
+
+2022-04-09 00:52:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvencoder.cpp:
+       * sys/nvcodec/gstnvencoder.h:
+       * sys/nvcodec/gstnvh264encoder.cpp:
+       * sys/nvcodec/gstnvh265encoder.cpp:
+       * tests/examples/nvcodec/nvcodec.c:
+         nvencoder: Update property names and default values
+         Update properties of newly written D3D11/CUDA mode encoders
+         to be consistent with Intel QSV plugin. And rename "zerolatency"
+         to "zero-reorder-delay" because previous "zerolatency" may
+         misleading
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>
+
+2022-04-09 00:00:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+       * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+         qsvencoder: Update property names and default values
+         Stop using MSDK plugins property naming, instead use unified names
+         and default values to be consistent with newly written NVIDIA encoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>
+
+2022-03-31 04:16:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson_options.txt:
+       * sys/amfcodec/gstamfencoder.cpp:
+       * sys/amfcodec/gstamfencoder.h:
+       * sys/amfcodec/gstamfh264enc.cpp:
+       * sys/amfcodec/gstamfh264enc.h:
+       * sys/amfcodec/gstamfh265enc.cpp:
+       * sys/amfcodec/gstamfh265enc.h:
+       * sys/amfcodec/gstamfutils.cpp:
+       * sys/amfcodec/gstamfutils.h:
+       * sys/amfcodec/meson.build:
+       * sys/amfcodec/plugin.cpp:
+       * sys/meson.build:
+         amfcodec: Add support for h264/h265 encoding
+         New encoder implementations for AMD GPU using AMF API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>
+
+2022-03-31 01:36:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/amfcodec/include/components/ColorSpace.h:
+       * sys/amfcodec/include/components/Component.h:
+       * sys/amfcodec/include/components/ComponentCaps.h:
+       * sys/amfcodec/include/components/PreAnalysis.h:
+       * sys/amfcodec/include/components/VideoDecoderUVD.h:
+       * sys/amfcodec/include/components/VideoEncoderHEVC.h:
+       * sys/amfcodec/include/components/VideoEncoderVCE.h:
+       * sys/amfcodec/include/core/AudioBuffer.h:
+       * sys/amfcodec/include/core/Buffer.h:
+       * sys/amfcodec/include/core/Compute.h:
+       * sys/amfcodec/include/core/ComputeFactory.h:
+       * sys/amfcodec/include/core/Context.h:
+       * sys/amfcodec/include/core/CurrentTime.h:
+       * sys/amfcodec/include/core/D3D12AMF.h:
+       * sys/amfcodec/include/core/Data.h:
+       * sys/amfcodec/include/core/Debug.h:
+       * sys/amfcodec/include/core/Dump.h:
+       * sys/amfcodec/include/core/Factory.h:
+       * sys/amfcodec/include/core/Interface.h:
+       * sys/amfcodec/include/core/Plane.h:
+       * sys/amfcodec/include/core/Platform.h:
+       * sys/amfcodec/include/core/PropertyStorage.h:
+       * sys/amfcodec/include/core/PropertyStorageEx.h:
+       * sys/amfcodec/include/core/Result.h:
+       * sys/amfcodec/include/core/Surface.h:
+       * sys/amfcodec/include/core/Trace.h:
+       * sys/amfcodec/include/core/Variant.h:
+       * sys/amfcodec/include/core/Version.h:
+       * sys/amfcodec/include/core/VulkanAMF.h:
+         amfcodec: Import AMF SDK headers
+         SDK version v1.4.24 at the commit of
+         https://github.com/GPUOpen-LibrariesAndSDKs/AMF/commit/fbf12cd39fe1812ed902525a1c001307b94871b9
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>
+
+2022-04-09 02:13:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkcontextutil.c:
+         msdk: Fix Windows build
+         Headers of gstva should not be included on Windows
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2141>
+
+2022-04-08 04:24:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window: Use ANSI version WIN32 API explicitly
+         We were using ANSI version APIs implicitly because UNICODE is not
+         defined by ourselves. But potentially it can be broken if user
+         defines UNICODE.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>
+
+2022-04-08 04:02:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11: Run indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>
+
+2022-03-11 20:46:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Fix short_term_ref_pic_set() size calculation
+         This field is used by DXVA/NVDEC/VA, and each specification
+         describes (NVDEC is not well documented) that it's the number of
+         bits used in short_term_ref_pic_set().
+         DXVA doesn't explicitly mention that whether the size of
+         emulation preventation bytes (EPB) is inclusive or not, but
+         VA is clearly specifying that it's the size after removing
+         EPB. Excluding EPB size here makes more sense therefore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1930>
+
+2022-04-06 11:21:25 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mxf/mxfvanc.c:
+         mxfvanc: Handle empty VANC packets
+         Some XDCAM recorders store empty packets for VANC, and don't even include the
+         2byte length.
+         Handle them in the same way as VANC packets with 0 packets.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2122>
+
+2022-04-01 22:52:18 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * gst-libs/gst/webrtc/datachannel.c:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc/datachannel: Change initial data channel state to CONNECTING
+         It complies with http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2099>
+
+2022-04-04 20:47:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Don't use USAGE_HINT_ENCODER and enable derived image support
+         Peformance issue by disabled derived image support was reported
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>
+
+2022-04-04 20:36:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264enc.c:
+         Revert "vah264enc: Disable derived image support"
+         This reverts commit 0011feb0d660f331abde5b1e36f1c56e9cf3b014.
+         The commit caused performance-wise regression for some platforms
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>
+
+2022-04-01 15:35:17 +0800  Tong Wu <tong1.wu@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: use mfxU32 instead of uint32_t
+         Msdk should use mfx variables defined in mfxdefs.h. Replace uint32_t
+         with mfxU32.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2091>
+
+2022-04-01 15:00:01 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         bad: examples: fix unused res warning
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-03-29 14:42:04 +0200  Johan Sternerup <johast@axis.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/icestream.c:
+       * ext/webrtc/icestream.h:
+       * ext/webrtc/nicetransport.c:
+         webrtc: Improve robustness of nice agent signal handlers
+         NiceAgent and it's associated thread is alive for as long as
+         GstWebRTCICE is alive so make sure any signal handlers connected to
+         NiceAgent do not access data that is deleted earlier.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2073>
+
+2022-04-03 22:12:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264encoder.cpp:
+       * sys/nvcodec/gstnvh265encoder.cpp:
+         nvcodec: Fix typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>
+
+2022-04-03 22:08:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvencoder.h:
+         nvencoder: Fix operator overloading
+         GUID equality check was inverted
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>
+
+2022-04-01 21:09:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/va/meson.build:
+         libs: va: make sure va-enumtypes.h is generated before it's used
+         Need to add a dep for the generated header file to the dependency()
+         so that it gets generated before anyone tries to #include files
+         from it (which may happen before the actual lib is built because
+         that's only needed when stuff is linked together later).
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057#note_1323236
+         and CI build failures in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2103>
+
+2022-04-01 05:02:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Disable derived image support
+         Behavior of derived image seems to be platform dependent and
+         it's buggy in some cases.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1110
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2086>
+
+2022-04-01 22:47:07 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.
+         It seems that the VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER is used only
+         for the recon surfaces, if we set this flags for input raw surfaces,
+         the alignment is wrong and we get broken result.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2100>
+
+2022-04-01 15:59:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+         va: Fix printf format modifier for drm modifiers
+         DRM modifiers are 64bit, the printf modifier is platform dependant. Use
+         the G_GINT64_MODIFIER macro to make this printf portable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2102>
+
+2022-03-30 11:06:02 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Use gmodule-no-export-2.0
+         We don't need `-Wl,--export-dynamic`, that's used only for executables
+         that needs to export an API to be used by plugins they load.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/vulkan/meson.build:
+       * ext/webrtc/meson.build:
+       * gst-libs/gst/d3d11/meson.build:
+       * gst/rtp/meson.build:
+       * meson.build:
+       * sys/bluez/meson.build:
+       * sys/dvb/meson.build:
+       * tests/check/meson.build:
+       * tests/examples/ipcpipeline/meson.build:
+       * tests/examples/opencv/meson.build:
+       * tests/examples/webrtc/meson.build:
+       * tests/examples/wpe/meson.build:
+       * tests/icles/meson.build:
+         Remove glib and gobject dependencies everywhere
+         They are part of gst_dep already and we have to make sure to always have
+         gst_dep. The order in dependencies matters, because it is also the order
+         in which Meson will set -I args. We want gstreamer's config.h to take
+         precedence over glib's private config.h when it's a subproject.
+         While at it, remove useless fallback args for gmodule/gio dependencies,
+         only gstreamer core needs it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-24 14:15:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/sctp/usrsctp/meson.build:
+       * meson.build:
+         Fix cross build with mingw32
+         At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
+         to WinXP. We require at least Vista for FILE_STANDARD_INFO.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>
+
+2022-03-25 22:04:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator_va.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+         qsvencoder: Add support for VA memory
+         Use VA allocator and buffer pool implementation for zero-copy
+         encoding with upstream VA elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>
+
+2022-03-25 21:03:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator_va.h:
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvencoder.cpp:
+         qsv: Use pipeline's VA context
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>
+
+2022-03-29 14:52:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstva.h:
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+       * gst-libs/gst/va/gstvapool.c:
+       * gst-libs/gst/va/gstvapool.h:
+       * gst-libs/gst/va/meson.build:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvah264enc.c:
+         libs: va: add VA allocator parameter for derived images usage.
+         Added GstVaFeature enum type, and new parameter for VA allocator's
+         set_format() and get_format(). Also added a new parameter in VA pool
+         gst_va_pool_new_with_config() and
+         gst_buffer_pool_config_set_va_allocation_params().
+         This new parameter will define if derived images will by used for
+         buffer mapping.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057>
+
+2022-03-28 21:25:50 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcstats.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcstats: Unify 'packets-lost' data type to int64
+         Previously, 'packets-lost' member of RTCReceivedRtpStreamStats had
+         a value of G_TYPE_INT from rtpsource or a value of G_TYPE_UINT64
+         from rtpjitterbuffer.
+         Because of the negative value of estimated amount of packets lost
+         in rtpsource as well as the description in
+         https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats
+         it is fixed to set this value with G_TYPE_INT64.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2049>
+
+2022-03-30 12:12:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+         va: encoder: Remove unused allocation config.
+         Since it's also done inside of gst_va_pool_new_with_config().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2072>
+
+2022-03-30 02:49:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/va/gstvadisplay.c:
+       * gst-libs/gst/va/gstvautils.c:
+         vadisplay: Add description readonly property
+         Expose description of vendor for user information, similar to
+         the description property of d3d11device.
+         Also, set description and DRM device path on GstContext structure
+         so that user can read them and it will be printed on terminal
+         when gst-launch-1.0 is used
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2064>
+
+2022-03-30 07:03:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvapool.c:
+       * gst-libs/gst/va/gstvapool.h:
+       * gst-libs/gst/va/va_fwd.h:
+         va: Don't expose internal classes.
+         VA allocators and pools classes don't need to be exposed as external
+         symbols.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2070>
+
+2022-03-30 12:01:20 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         gstplay: don't print error log in warning_cb
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2069>
+
+2022-03-29 20:14:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Build classification dynamically.
+         By default, the classification is
+         "Converter/Filter/Colorspace/Scaler/Video/Hardware", but if VA
+         post-processor driver supports either color balance, skin tone
+         enhancement, sharpening or noise reduction, "Effect" is added.
+         Thus, if vapostproc ranking is raised, it can be chosen by
+         autovideosink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2066>
+
+2022-02-21 14:02:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtc: produce stats for all relevant streams
+         Instead of only using the last ssrc that was pushed into a sink pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2022-02-11 16:50:42 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: avoid different versions of gnu-indent always wanting to change !!
+         Add some sneaky parenthesis to avoid always having to use git commit -n
+         or revert out hunk of the change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:04:14 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: implement initial simulcast fec/rtx usage
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:11:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+       * gst-libs/gst/webrtc/datachannel.c:
+         webrtc/datachannel: fix use-after-free in sctp state notification
+         g_signal_disconnect*() doesn't stop any existing callbacks from running
+         which means that if the notify::state callback is in progress in one
+         thread and the data channel object is finalize()ed in another thread,
+         then there could be a use-after-free trying lock the data channel
+         object.
+         We can't reasonably use a GWeakRef as we don't have a 'parent' object to
+         free the GWeakRef after the data channel is finalized.  This is also
+         complicated by the fact that the application can hold a reference to the
+         data channel object that would live beyond the lifetime of webrtcbin
+         itself.
+         We solve this by implementing a ghetto weak-ref solution internally with
+         a list of outstanding data channels.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:06:39 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: fix a use-after-free in test_data_channel_close
+         g_object_weak_ref() is not thread-safe and the data channel object's
+         refs/unrefs can happen on multiple threads.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 21:51:57 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: fix a race in the tests related to state tracking
+         If things progress fast enough, some state changes may not be seen be
+         the waiting code.
+         Fix by:
+         1. keeping a list of all the state changes
+         2. waiting checks each entry and if the relevant state is found, all
+         states up to and including then are removed.
+         This ensures that any waits will see all the state sets.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 02:00:12 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: factor out src pad property checking to a separate function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 19:27:11 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcstats.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: initial support for sending and receiving simulcast streams
+         Input (sink pads) is the already-ssrc-muxed stream with the relevant rtp
+         sdes header extensions already applied:
+         - mid
+         - stream-id
+         - repaired-stream-id
+         Output (src pads) have the pads separated into individual ssrc's as
+         that's what rtpbin gives us.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 18:11:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: test for enabled bundled fec/rtx
+         Doesn't actually check that any fec/rtx happens, just that the pipeline
+         is vaguely sane and doesn't error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:39:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: support multiple received streams for a single mline
+         Each rtpbin exposed recv_src pad is now exposed as webrtcbin src_%u pad
+         now with no meaining applied to the value of %u.  Previously this used
+         to mean the mline in the SDP.  If this is is still required, then the
+         transceiver can be retrieved from the pad and the "mlineindex" property
+         from the transciever.  The "mid" is also retrievable from the
+         transceiver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:28:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: explicitly error out in a couple of renegotiation cases
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:21:31 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/transportstream.c:
+         webrtc/transportstream: add debug category
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-03 21:18:53 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: also check valid mline for srcpad codec-preferences negotiation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-03 20:46:23 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: don't name src pads based on the mline specifically anymore
+         Naming based on the mline doesn't really work with e.g. simulcast
+         scenarios.
+         It is entirely possible to retrieve the transceiver and then the mline
+         from that if that is so required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-10-29 18:40:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc/tests: print the correct media idx on error
+         Instead of the attribute index
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-10-29 18:38:37 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc/tests: give slightly better names to the dot file dumps
+         Don't use printf-specifiers with g_strconcat().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 17:48:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: improve some debugging output
+         - Put human readable names into debug strings.
+         - Demote some frequent rtpbin signal logging
+         - Don't use GST_PTR_FORMAT in g_set_error()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 17:39:11 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: silence spurious warning when creating answer transceiver
+         When creating a transceiver when creating an answer, the media kind of the
+         transceiver was never set correctly initially.  This would lead to a
+         GST_WARNING being produced about changin a transceiver's media kind.
+         Fix by retrieving the GstSDPMedia kind from the offer instead as the answer
+         GstSDPMedia has not been set as the answer caps have not been chosen yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 14:29:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: always use a unique SSRC for each stream
+         Will become more relevant with mid/rid->ssrc mappings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 14:14:30 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: add a specific find_transceiver_by_mid function
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-20 20:17:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: explicitly use a variable for the rtp session idx
+         Slightly clearer in meaning.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-01 15:54:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: support using an a=mid value from the sink/transceiver caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2022-03-25 15:56:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstva.h:
+       * gst-libs/gst/va/gstvaallocator.h:
+       * gst-libs/gst/va/gstvadisplay.c:
+       * gst-libs/gst/va/gstvadisplay.h:
+       * gst-libs/gst/va/gstvadisplay_drm.c:
+       * gst-libs/gst/va/gstvadisplay_drm.h:
+       * gst-libs/gst/va/gstvadisplay_wrapped.h:
+       * gst-libs/gst/va/gstvapool.c:
+       * gst-libs/gst/va/gstvapool.h:
+       * gst-libs/gst/va/gstvasurfacecopy.h:
+       * gst-libs/gst/va/gstvautils.c:
+       * gst-libs/gst/va/gstvautils.h:
+       * gst-libs/gst/va/gstvavideoformat.h:
+       * gst-libs/gst/va/va_fwd.h:
+       * gst-libs/gst/va/vasurfaceimage.h:
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvadisplay_priv.c:
+       * sys/va/gstvadisplay_priv.h:
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvah264enc.c:
+       * sys/va/gstvavpp.c:
+       * tests/examples/va/main.c:
+       * tests/examples/va/multiple-vpp.c:
+         va: Set <gst/va/gstva.h> as library single point entry header.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-02-23 15:40:19 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvaallocator.c:
+       * gst-libs/gst/va/gstvaallocator.h:
+       * gst-libs/gst/va/gstvapool.c:
+       * gst-libs/gst/va/gstvapool.h:
+       * gst-libs/gst/va/gstvasurfacecopy.c:
+       * gst-libs/gst/va/gstvasurfacecopy.h:
+       * gst-libs/gst/va/meson.build:
+       * gst-libs/gst/va/vasurfaceimage.c:
+       * gst-libs/gst/va/vasurfaceimage.h:
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvah264enc.c:
+       * sys/va/gstvavpp.c:
+       * sys/va/meson.build:
+         va: Move allocators and pool objects into gstva library.
+         In order to other plugins use gstva objects, such as allocators and buffer
+         pools, this merge request move them from the va plugin to the gstva library.
+         This objects are not exposed in <gst/va/gstva.h> since they are not expected
+         to be used by users, only by plugin implementators.
+         Because of the surface copy design, which is used to implement allocator's
+         mem_copy() virtual function, depends on the vafilter, which is kept inside
+         the plugin, memory copy through VAPosproc is disabled and removed temporarly.
+         Also added some missing parameter validation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-02-23 15:25:08 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvavideoformat.c:
+       * gst-libs/gst/va/gstvavideoformat.h:
+       * gst-libs/gst/va/meson.build:
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadisplay_priv.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/meson.build:
+       * sys/va/vasurfaceimage.c:
+         va: Move the video format functions into gstlibva.
+         Untabifying header file.
+         The logging category was moved from the plugin generic category to
+         the display category. It can argue that video formats hacks are
+         display dependant.
+         Added validations for input parameters.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-03-27 23:27:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvencoder.h:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+       * tests/examples/meson.build:
+       * tests/examples/qsv/key-handler.c:
+       * tests/examples/qsv/key-handler.h:
+       * tests/examples/qsv/meson.build:
+       * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+         qsvencoder: Add support for dynamic bitrate update
+         ... and add more encoding options.
+         QSV API supports dynamic bitrate change without IDR insertion.
+         That's more efficient way of runtime encoding option update
+         than starting from new sequence with IDR per bitrate option change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-25 23:15:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh265enc.cpp:
+         qsvh265enc: Add missing gop-size property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-25 21:13:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator.cpp:
+         qsv: Fix mfxFrameAllocator::Lock for encoder
+         Only read map is possible for encoder input system memory
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-28 20:51:35 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/videotexturecache.m:
+         applemeida/texturecache: remove unused variable
+         Fixes:
+         ../sys/applemedia/videotexturecache.m:71:20: error: variable 'features' set but not used [-Werror,-Wunused-but-set-variable]
+         GstCapsFeatures *features;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:50:27 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/corevideobuffer.c:
+         applemedia/corevideobuffer: remove unused variable
+         Fixes:
+         ../sys/applemedia/corevideobuffer.c:209:19: error: variable 'video_meta' set but not used [-Werror,-Wunused-but-set-variable]
+         GstVideoMeta *video_meta;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:49:01 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/iosurfaceglmemory.c:
+         applemedia/iosgl: remove unused variable
+         Fixes:
+         ../sys/applemedia/iosurfaceglmemory.c:219:41: error: variable 'texfmt' set but not used [-Werror,-Wunused-but-set-variable]
+         GLuint tex_id, tex_target, texifmt, texfmt;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:37:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/vtdec.c:
+         vtdec: remove unused variable
+         Fixes:
+         ../sys/applemedia/vtdec.c:611:35: error: variable 'output_flags' set but not used [-Werror,-Wunused-but-set-variable]
+         VTDecodeFrameFlags input_flags, output_flags;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:24:59 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/avsamplevideosink.m:
+         avsamplevideosink: remove unused variable
+         Fixes
+         ../sys/applemedia/avsamplevideosink.m:80:20: error: variable 'gstelement_class' set but not used [-Werror,-Wunused-but-set-variable]
+         GstElementClass *gstelement_class;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:11:29 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/avfassetsrc.m:
+         avfassetsrc: fix unused-but-set warning
+         ../sys/applemedia/avfassetsrc.m:1014:12: error: variable 'caps' set but not used [-Werror,-Wunused-but-set-variable]
+         GstCaps *caps;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 19:42:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/speed/gstspeed.c:
+         speed: fix unused-but-set warning
+         ../gst/speed/gstspeed.c:523:39: error: variable 'base' set but not used [-Werror,-Wunused-but-set-variable]
+         gint64 start_value, stop_value, base;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:38:23 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/resindvd/gstpesfilter.c:
+         resindvd: silence unused-but-set warning
+         ../ext/resindvd/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
+         guint16 STD_buffer_size_bound;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:23:20 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegts: don't shadow res variable
+         Fixes unused-but-set warning:
+         ../gst/mpegtsmux/gstbasetsmux.c:2115:43: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+         gboolean all_headers, done = FALSE, res = FALSE;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:12:43 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-dvb-section.c:
+         mpeg: fix unused-but-set warning
+         ../gst-libs/gst/mpegts/gst-dvb-section.c:206:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+         guint i = 0, allocated_events = 12;
+         ^
+         ../gst-libs/gst/mpegts/gst-dvb-section.c:365:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+         guint i = 0, allocated_streams = 12;
+         ^
+         ../gst-libs/gst/mpegts/gst-dvb-section.c:543:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+         guint i = 0, allocated_streams = 12;
+         ^
+         ../gst-libs/gst/mpegts/gst-dvb-section.c:885:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+         guint i = 0, allocated_services = 8;
+         ^
+         ../gst-libs/gst/mpegts/gst-dvb-section.c:1316:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+         guint i = 0, allocated_services = 8;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 10:10:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-28 15:56:22 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/mpegdemux/gstpesfilter.c:
+         mpegdemux: silence unused-but-set werror
+         ../gst/mpegdemux/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
+         guint16 STD_buffer_size_bound;
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2044>
+
+2022-03-25 14:25:02 +1100  Andrew Pritchard <andrew@vivi.io>
+
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+         Fix GstAmcSurfaceTexture segfault Check that `self` and `self->callback` are defined. `self` can be set to `NULL` in `remove_listener`, and `self->callback` can be set to `NULL` inside `gst_amc_surface_texture_jni_set_on_frame_available_callback`. This can cause a segfault since the Java object can outlive the C object, and call the callback after `remove_listener` is called.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2024>
+
+2022-03-23 17:31:37 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: ensure correct ordering of cea608 across output buffers
+         e.g. if a 60fps output is configured, we can only produce a single field
+         of cea608 that must alternate between field 1 and field 2.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>
+
+2022-03-23 15:13:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: ignore padding cea608 data even if marked as 'valid'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>
+
+2022-03-23 10:36:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: Detect missing M2M_HOLD_CAPTURE_BUF
+         Produce an error if we try to use the feature of holding capture buffer
+         but it is not supported by the driver. Ingoring this can lead to stalls
+         as the driver will run-out of capture buffer to decode into. This
+         affects slice decoders but also split-field interlaced decoding.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2022-03-23 09:11:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Set other field poc if available
+         Whenever the other field POC is available, pass it back to the
+         driver. This should not be strictly required, but it makes things
+         easier to debug and more forgiven.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:59:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Trace request by it FD
+         This helps when crossing the debug logs with the kernel logs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:55:58 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Fix dpb entry flag FLAG_FIELD
+         The logic to guess back this value was broken. Use the value
+         now saved into the picture instead. This was tested using
+         LibreELEC patched 5.15 kernel, and fixed the interlaced decode
+         issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:52:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264: Save the field_pic_flag
+         This flag is set when the stream is interlaced and the specific
+         slice is made of single parity fields rather the paired at the
+         macroblock layer. This is rarely needed in late decoding process
+         but the Rockchip RKVDEC HW interface requires it, hence needs to
+         be passed through V4L2 Stateless interface.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2022-03-25 13:26:52 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * tests/examples/d3d11/d3d11device.cpp:
+         d3d11: Fix example build error
+         ```
+         ../subprojects/gst-plugins-bad/tests/examples/d3d11/d3d11device.cpp:129:50: error: invalid conversion from ‘int’ to ‘DXGI_FORMAT’ [-fpermissive]
+         129 |     D3D11_SHADER_RESOURCE_VIEW_DESC srv_desc = { 0, };
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2029>
+
+2022-03-18 16:59:32 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/opencv/gsthanddetect.cpp:
+       * ext/vulkan/vksink.c:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3dvideosink/d3dhelpers.c:
+       * tests/check/pipelines/ipcpipeline.c:
+         navigation: Add support for key Modifiers in all relevant events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 21:39:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah265dec.c:
+         va: h265dec: Fix a crash because of missing reference frame.
+         Some problematic H265 stream may miss the reference frame in the DPB,
+         and get some message like: "No short term reference picture for xxx".
+         So there may be empty entries in ref_pic_list0/1 when passing to
+         decode_slice() function of sub class. We need to check the NULL pointer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2018>
+
+2022-03-24 15:19:27 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
+
+       * ext/openexr/meson.build:
+         openexr: Specify modules when finding OpenEXR.
+         Specify modules to look for OpenEXR when CMake is used, as we may have
+         CMake config files instead of pkg-config files that result from building
+         OpenEXR, which may be built with CMake which is typically the case on Visual
+         Studio builds.
+         In this case, Meson does seem to find the 'OpenEXR' package with CMake
+         after trying pkg-config, but does not consider it enough without the
+         'modules:' argument.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2014>
+
+2022-03-22 00:30:28 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Update documentation of 'get-stats' action signal
+         Some stats fields are updated according to the current implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2005>
+
+2022-03-25 00:27:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+       * tests/check/elements/webrtcbin.c:
+         Revert "webrtcbin: fix msid line and allow customization"
+         This reverts commit 3cad3455377d5a22faa138d9df840257059776c8.
+         That commit was breaking the association between an audio and
+         a video track in the standard case.
+         In practice, to support carrying separate MediaStream, we are
+         going a way to map what MediaStreamTrack belong to what MediaStream,
+         but that will require some thinking about the API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2023>
+
+2022-03-24 19:55:48 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Don't check SCTE events for being too far from the PCR
+         Otherwise it happens that SCTE events can only be scheduled up to 15
+         seconds since the last seen PCR, which is a useless restriction.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2021>
+
+2022-03-21 23:03:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: fix msid line and allow customization
+         From https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-msid-16:
+         > Multiple media descriptions with the same value for msid-id and
+         > msid-appdata are not permitted.
+         Our previous implementation of simply using the CNAME as the msid
+         identifier and the name of the transceiver as the msid appdata was
+         misguided and incorrect, and created issues when bundling multiple
+         video streams together: the ontrack event was emitted with the same
+         streams for the two bundled medias, at least in Firefox.
+         Instead, use the transceiver name as the identifier, and expose
+         a msid-appdata property on transceivers to allow for further
+         customization by the application. When the property is not set,
+         msid-appdata can be left empty as it is specified as optional.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2003>
+
+2022-01-05 10:15:34 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpesrcbin.cpp:
+         wpe: Mark first audio buffer as discont
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-01-04 15:49:35 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/wpe/gstwpe.h:
+       * ext/wpe/gstwpesrcbin.cpp:
+       * ext/wpe/gstwpevideosrc.cpp:
+       * ext/wpe/meson.build:
+       * tests/validate/meson.build:
+       * tests/validate/wpe/load_bytes_first.validatetest:
+         wpe: Use `about:blank` as default URL to support only using load-bytes
+         WebKit is not going to render anything until a URI is set, leading to a
+         WPE posting a `WPE View did not render a buffer` error message. To avoid
+         requiring the user to know it if they only want to use
+         `wpesrc::load-bytes` we can just use `about:blank` as default and
+         everything will work as users would expect.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-01-27 23:54:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/gstfakeaudiosink.c:
+       * gst/debugutils/gstfakeaudiosink.h:
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/debugutils/gstfakevideosink.h:
+         fakevideosink,fakeaudiosink: Proxy handoff and preroll-handoff signals
+         Proxy signals for application to be able to consume them
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1585>
+
+2021-12-24 19:49:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/aom/gstav1enc.c:
+         aom: av1enc: Specify Temporal Unit alignment
+         Encoded bitstream consists of leading Temporal delimiter OBU
+         with frame, that's Temporal Unit alignment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1471>
+
+2022-03-24 02:52:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+         qsvencoder: Clear caps after debug print
+         Otherwise debug function will print (null) for alread cleared pointer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>
+
+2022-03-24 02:43:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh264enc.cpp:
+         qsvh264enc: Fix profile and level setting in codec data
+         The profile field in SPS is located after header byte
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>
+
+2022-03-16 04:58:16 +0900  Seungha Yang <seungha@centricular.com>
+
+         nvcodec: Add new Direct3D11/CUDA mode encoder implementation
+         Adding new encoder elements nvd3d11{h264,h265}enc for Direct3D11
+         input support and re-written nvcuda{h264,h265}enc elements.
+         Newly writeen elements have some differences compared with old
+         nv{h264,h265}enc including non-backward compatible changes.
+         * RGBA is not a supported input format any more:
+         New elements will support only YUV formats to avoid implicit conversion
+         done by hardware. Ideally it should be done by upstream element
+         in order to have more control on it. Moreover, RGBA support can cause
+         redundant RGBA -> YUV conversion if multiple encoders are
+         used for the same RGBA input
+         * Subsampled planar format support is dropped:
+         I420 and YV12 format are not supported formats for Direct3D11.
+         Although it's supported in CUDA mode, it's not a hardware friendly
+         memory layout and it will waste GPU memory since UV planes
+         will have large padding due to the memory layout requirement of NVENC.
+         * GL support is dropped: Similar to the RGBA case,
+         GL support in encoder would be suboptimal if GL input is
+         used by multiple encoders, because each encoder will copy GL memory
+         into CUDA memory.
+         Upstream cudaupload element can be used for GL <-> CUDA
+         interop instead.
+         * No more pre-allocation of encoder input surfaces. New implementation
+         will use input CUDA memory without copy (zero-copy) or
+         will copy into a NVENC's input buffer struct in case of
+         system memory input.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1997>
+
+2022-02-10 10:21:01 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Add touch event support
+         Dispatches a list of active touch events to the wpe view on each
+         received TOUCH_FRAME event. Touch inputs currently only move the cursor,
+         since wpe doesn't seem to support clicking/scrolling or zooming with
+         touch input.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/opencv/gsthanddetect.cpp:
+       * ext/vulkan/vksink.c:
+       * gst/librfb/gstrfbsrc.c:
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/directshow/dshowvideosink.cpp:
+       * sys/va/gstvavpp.c:
+       * tests/check/pipelines/ipcpipeline.c:
+         all: Use new navigation interface and API
+         Use and implement the new navigation interface in all relevant sink elements,
+         and use API functions everywhere instead of directy accessing the event structure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-22 10:37:59 +0800  Tong Wu <tong1.wu@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdkenc: add macro definitions to avoid the gst-inspect error
+         Since the strings are empty for GST_MSDK_CAPS_MAKE_WITH_DMABUF_FEATURE
+         and GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE, when excuting
+         gst-inspect-1.0.exe msdkh265enc, there will be convert static caps error
+         because of the extra semicolon between two empty strings. Now macro
+         definitions are added to avoid this issue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2004>
+
+2022-01-26 14:55:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Check width and height of mfxVideoParam before allocation
+         DecodeHeader must be called to fill the mfxVideoParam before allocation,
+         and thus the check for width and height in mfxVideoParam is necessary.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1817>
+
+2022-03-18 16:34:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update cache after NV12_8L128 addition
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-21 13:01:03 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: Fix memory leak
+         Free pending_requests array when releasing decoder to avoid memory leak
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2000>
+
+2022-02-02 10:05:16 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1decoder.h:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/va/gstvaav1dec.c:
+         av1decoder: Sync duplicate_picture with VP9 one
+         Pass the current frame to the duplicate_picture callback. This makes it easier
+         to set the frame's output_buffer if we already have one available. Also
+         documented that unlike VP9, it is not optional to implement this as the
+         picture will populate the DPB if it is a key-frame. To ensure this, remove the
+         default implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-18 15:59:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         vp9decoder: Copy system_frame_number in duplicate_picture
+         Just like AV1, copy the system_frame_number from the original picture to make
+         it clear they reference the same data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-09 16:35:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+         cdoecs: av1: Copy system_frame_number in duplicate_picture
+         The system_frame_number is notably used by V4L2 decoder as a unique
+         indentifier for the frame that was decoded. This value is used to tell driver
+         which frame to reference, as V4L2 does not have an efficient mechanism to
+         otherwise pass back the frames.
+         For this reason, and because it is more ligical, copy the original
+         system_frame_number into the duplicate picture instead of using the current
+         frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-21 22:03:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/va/meson.build:
+         meson: va: Define GST_USE_UNSTABLE_API
+         Remove extra_c_args which is not defined in this meson file at all,
+         and define GST_USE_UNSTABLE_API to avoid build warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1999>
+
+2022-03-16 13:17:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+       * gst-libs/gst/codecs/gstav1decoder.c:
+         codecs: av1: Fix state when we show existing keyframe
+         Showing existing keyframe have special meaning in AV1. All the references
+         frame will be refreshed with the original keyframe information. The refresh
+         process (7.20) is implemented by saving data from the frame_header into the
+         state. To fix this special case, load all the relevant information into the
+         frame_header.
+         As there is nothing happening in between this and the loading of the key-frame
+         into the state, this patch also remove the separate API function, using it
+         internally instead.
+         Fixes #1090
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1971>
+
+2022-03-18 13:04:59 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+         d3d11: Fix some typos
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1985>
+
+2022-03-18 13:42:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Bump all meson requirements to 0.60
+         Lots of new warnings ever since
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 13:37:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/openexr/gstopenexrdec.cpp:
+         openexr: Fix some warnings
+         ```
+         ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:46:24: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+         46 |   virtual Int64 tellg ();
+         |                        ^
+         In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+         /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+         23 | typedef IMATH_NAMESPACE::Int64 Int64;
+         |                                ^~~~~
+         ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:47:32: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+         47 |   virtual void seekg (Int64 pos);
+         |                                ^
+         In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+         /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+         23 | typedef IMATH_NAMESPACE::Int64 Int64;
+         |                                ^~~~~
+         ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:67:26: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+         67 | Int64 MemIStream::tellg ()
+         |                          ^
+         In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+         /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+         23 | typedef IMATH_NAMESPACE::Int64 Int64;
+         |                                ^~~~~
+         ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:73:29: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+         73 | MemIStream::seekg (Int64 pos)
+         |                             ^
+         In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+         /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+         23 | typedef IMATH_NAMESPACE::Int64 Int64;
+         |                                ^~~~~
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 09:48:46 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         codecparsers: av1parser: Fix a typo in FilmGrainParams comment.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1974>
+
+2022-03-10 17:37:26 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapture.h:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+         d3d11screencapturesrc: Allow capturing screen sub-area
+         Adds crop-x, crop-y, crop-width, crop-height properties specifying the
+         screen area to capture.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1932>
+
+2022-03-15 17:01:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Warn when offer didn't intersect with transceiver caps
+         We were silently falling back to creating a recvonly offer if the caps
+         didn't intersect.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1864>
+
+2022-03-17 13:36:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: drop data with a warning if scratch buffers overflow
+         Instead of asserting which could bring down the entire application.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1972>
+
+2022-03-11 17:02:55 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Reintroduce persistent WebContext
+         A WebContext leak was introduced in MR
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252.
+         If we wanted one WebContext per WebView we should also unref the
+         WebKitWebContext when destroying the WebView.
+         This patch reintroduces the persistent WebContext, initially part of
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1484.
+         Fixes #1084
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1933>
+
+2022-03-16 00:05:19 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: fix deadlock when setting up FEC encoder
+         We bind transceivers' fec_percentage property to the FEC encoder
+         percentage property, and with the binding bidirectional a deadlock
+         was introduced by the latest changes from !1762:
+         We take hold of the transceiver's object lock, then add the binding
+         and set the property to its initial value on the encoder, which causes
+         set_property to deadlock in the transceiver when the binding kicks in.
+         Changing the binding type to DEFAULT (source to target) is enough
+         to address the deadlock and still serves the original intent.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1967>
+
+2022-03-10 19:22:52 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Check data channel transport for notifying 'ice-gathering-state'
+         Previously, it did not care about data channel's. It is fixed by adding
+         some conditions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1957>
+
+2022-03-14 01:19:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+       * sys/nvcodec/gstcudautils.c:
+       * sys/nvcodec/gstcudautils.h:
+         nvcodec: Move CUDA <-> GL, D3D11, NVMM copy function to utils
+         This method can be used in other elements as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1945>
+
+2022-03-12 01:12:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh265dec.c:
+         nvh265sldec: Add support for delayed output
+         Delay 4 frames in case of non-live to improve throughput
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 21:54:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+         h265decoder: Add support for delayed output
+         Functionally identical to the other decoder baseclasses.
+         Delayed output can improve throughput depending on decoding APIs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 00:53:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.h:
+         h265decoder: Update documentation
+         Sync up with other baseclasses
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 04:45:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+         h265decoder: Drain decoder on new_sequence()
+         Holding previously decoded but not outputted pictures even after
+         new_sequence is not a safe approach in various aspect.
+         However, we cannot drain out DPB on new_sequence() unconditionally,
+         because there is a case where decoder should drop decoded pictures
+         if NoOutputOfPriorPicsFlag is set.
+         To detect NoOutputOfPriorPicsFlag before the new_sequence() call,
+         this patch splits decoding process into two path, one for nal unit parsing
+         in order to detect NoOutputOfPriorPicsFlag and then each nal unit
+         will be decoded.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 03:15:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+         h265decoder: Remove unused pts variable
+         We can know timestamp from associated GstVideoCodecFrame
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-13 00:17:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Fix deadlock because of too strict buffer pool size
+         The pool size might need to be larger than encoding surface pool size.
+         Also, because we always copy input frame into internal CUDA memory,
+         there's no reason to restrict max size of buffer pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1939>
+
+2022-03-12 10:31:13 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+         va: Fix a regression because of "Invert video codec frame dependency".
+         1. Always set the according GstVaH264EncFrame pointer when GstVideoCodecFrame
+         pointer is assigned, which can make the logic safe.
+         2. Fix the forgotten change in _sort_by_frame_num. Its input pointer now is
+         GstVideoCodecFrame type.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1935>
+
+2022-03-09 03:45:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gstav1picture.c:
+       * gst-libs/gst/codecs/gstav1picture.h:
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2picture.c:
+       * gst-libs/gst/codecs/gstmpeg2picture.h:
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp8picture.h:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9picture.c:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/va/gstvah264dec.c:
+         codecs: Rename picture clear functions
+         Our convention for clear method is gst_clear_foo_bar().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1897>
+
+2022-03-11 23:20:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh265dec.c:
+         nvh265sldec: Always fill SPS/PPS related parameters
+         Address compare was not a valid approach since it works
+         only if SPS/PPS id are changed. Otherwise it will always point to
+         the same address of member variables of h265parser.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1931>
+
+2022-03-11 19:32:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         h264decoder: Fix invalid memory access
+         gst_h264_dpb_needs_bump() can be called with null picture
+         in case of live
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1928>
+
+2022-02-10 08:01:02 +0100  Branko Subasic <branko@axis.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/onvif/gstrtponviftimestamp.c:
+       * gst/onvif/gstrtponviftimestamp.h:
+       * tests/check/elements/rtponviftimestamp.c:
+         rtponviftimestamp: add support for using reference timestamps
+         Make it posible to configure the element to obtain the timestamps from
+         reference timestamp meta data instead of using the ntp-offset property,
+         or estimating its own offset. Currently the only time format supported
+         is "timestamp/x-unix", i.e. UTC time expressed in the unix time epoch.
+         In addition the custom event GstNtpOffset has been renamed to
+         GstOnvifTimestamp, to reflect that it is not necessarily used to convey
+         the ntp-offset. As a consequence we had to modify a couple of files in
+         the rtsp-server as well.
+         Fixes #984
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683>
+
+2022-03-10 18:40:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/sdp/gstsdpdemux.c:
+         sdpdemux: add media attributes to caps to fix ptp clock handling
+         Those are needed by rtpjitterbuffer to do the right thing, e.g.
+         a=ts-refclk:ptp=IEEE1588-2008:00-**-**-**-**-**-**-**:0
+         a=mediaclk:direct=1266592257
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1924>
+
+2022-03-08 16:20:27 +0100  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstcudaformat.h:
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudamemorycopy: add D3D11 resource support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-03-09 09:35:16 +0100  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstcudacontext.c:
+       * sys/nvcodec/meson.build:
+         cudacontext: find associated DXGI Adapter LUID
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-02-28 14:40:51 +0100  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstcudautils.c:
+       * sys/nvcodec/gstcudautils.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/stub/cuda.h:
+         cudautils: add support of D3D11 resource as Cuda graphics resource type
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-02-28 11:24:31 +0100  Corentin Damman <c.damman@intopix.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/stub/cuda.h:
+         cudaloader: add D3D11 API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-03-10 10:33:56 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegts: Handle glib < 2.58
+         By using a workaround to the lack of g_ptr_array_steal_index.
+         Fixes #1078
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1917>
+
+2022-03-10 15:36:00 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: fix ulpfecenc passthrough pt
+         ulpfecenc uses a value of pt=255 for passthrough.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1075
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1914>
+
+2022-03-10 02:28:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvh264dec,nvh265dec: Fix broken key-unit trick and reverse playback
+         On GstVideoDecoder::{drain,flush}, we send null packet with
+         CUVID_PKT_ENDOFSTREAM flag to drain out decoder. Which will
+         reset CUVID parser as well.
+         To continue decoding after the drain, the next input buffer
+         should include sequence headers otherwise CUVID parser will
+         not report any decodeable frame.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1911>
+
+2021-11-02 09:20:55 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         tsbase: Handle more program updates
+         There could be a case where the new program has the same program number as the
+         previous one ... but is actually located on a PID previously used for elementary
+         stream. In that case the program is guaranteed to not be an update of the
+         previous program but a completely new one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>
+
+2021-11-02 09:18:57 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegtsbase: Use an array to track programs
+         We need to be able to look for programs by their PID also. Using a hash table
+         was a bit sub-par (and overkill) for storing a range of programs.
+         This is needed because there could potentially be two programs with the same
+         program id but different PMT PID (while one is being deactivated the new one
+         would "exist").
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>
+
+2022-03-04 13:19:17 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Invert video codec frame dependency.
+         Instead of using GstMiniObject to hold H264 frame, now it uses a plain
+         structure. Besides, instead of holding a reference to
+         GstVideoCodecFrame, the H264 frame structure is set as a
+         GstVideoCodecFrame user data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1856>
+
+2022-03-09 02:14:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudamemorycopy: Fix GL resource leak
+         Clear GL resources on stop()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1896>
+
+2022-03-07 18:46:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Start last_ts with GST_CLOCK_TIME_NONE
+         And use the output segment position for the outgoing timestamp while it
+         is. This is needed to delay the calculation of `output_ts_offset` until
+         we actually have a usable timestamp, as tsmux will output a few initial
+         packets while `last_ts` is still unset.
+         Without this, the calculation would use the initial `0` value, which did
+         not have the intended effect of making VBR mode behave like CBR mode,
+         but always calculated an offset equal to the selected start time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>
+
+2022-03-07 18:46:08 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Use GST_CLOCK_STIME_NONE for output_ts_offset
+         It's a GstClockTimeDiff, thus GST_CLOCK_TIME_NONE isn't appropriate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>
+
+2022-03-08 01:26:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/decklink/linux/DeckLinkAPI.h:
+       * sys/decklink/linux/DeckLinkAPIConfiguration.h:
+       * sys/decklink/linux/DeckLinkAPIDeckControl.h:
+       * sys/decklink/linux/DeckLinkAPIDiscovery.h:
+       * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/linux/DeckLinkAPIModes.h:
+       * sys/decklink/linux/DeckLinkAPITypes.h:
+       * sys/decklink/linux/DeckLinkAPIVersion.h:
+       * sys/decklink/linux/LinuxCOM.h:
+       * sys/decklink/osx/DeckLinkAPI.h:
+       * sys/decklink/osx/DeckLinkAPIConfiguration.h:
+       * sys/decklink/osx/DeckLinkAPIDeckControl.h:
+       * sys/decklink/osx/DeckLinkAPIDiscovery.h:
+       * sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/osx/DeckLinkAPIModes.h:
+       * sys/decklink/osx/DeckLinkAPIStreaming.h:
+       * sys/decklink/osx/DeckLinkAPITypes.h:
+       * sys/decklink/osx/DeckLinkAPIVersion.h:
+       * sys/decklink/win/DeckLinkAPI.h:
+       * sys/decklink/win/DeckLinkAPI_i.c:
+         decklink: Update SDK version to 12.2.2
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1883>
+
+2022-03-08 03:45:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudamemorycopy: Remove texture-target caps field
+         It's GL specific field, and we can remove it unconditionally
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>
+
+2022-03-05 02:30:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudaformat.h:
+       * sys/nvcodec/gstcudamemorycopy.c:
+       * sys/nvcodec/gstcudanvmm.c:
+       * sys/nvcodec/gstcudanvmm.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         cudaupload,cudadownload: Add support for dGPU NVMM
+         Implement NVMM <-> CUDA, GL, SYSTEM memory conversion. Jetson is
+         not supported yet. Note that NVMM <-> GL interop on Jetson platform
+         is supported by GstGL
+         Some example pipelines are:
+         - Convert NVMM to GstGL memory
+         nvv4l2decoder ! "video/x-raw(memory:NVMM)" ! cudadownload ! "video/x-raw(memory:GLMemory)" ! glimagesink
+         - Upload system memory to NVMM and encode
+         video/x-raw,format=NV12 ! cudaupload ! "video/x-raw(memory:NVMM)" ! nvv4l2h264enc
+         - Convert NVMM to GstCUDA memory and encode
+         nvvideoconvert ! "video/x-raw(memory:NVMM)" ! cudaupload ! "video/x-raw(memory:CUDAMemory)" ! nvh264enc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>
+
+2022-03-03 15:06:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         va: encoder: Don't preallocate reconstruct buffers.
+         It's not required by VA to register the reconstruct buffers at context
+         creation, just as in decoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1857>
+
+2022-03-07 10:19:53 +0000  Philippe Normand <philn@igalia.com>
+
+       * tests/check/libs/play.c:
+         gstplay: tests: Keep track of errors/warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 10:16:36 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         gstplay: Do not error out on message parsing failures
+         Specially when parsing errors and warnings, the details field can be NULL and
+         the gst_structure_get() call would return FALSE in such cases, triggering false
+         positive errors.
+         Follow-up for #1063
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 10:14:43 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+       * gst-libs/gst/play/gstplay.h:
+         gstplay: Fix warning parsing API
+         The GError is an out parameter, so should be a ** parameter, like the details
+         parameter.
+         See also #1063
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 18:59:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudamemorycopy.c:
+         cudamemorycopy: Fix build when gl is disabled
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1707
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1868>
+
+2022-03-02 09:15:12 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Fix to not trigger SFC scaling when vpp at downstream
+         When there is vpp scaling downstream, we need to make sure SFC is not
+         triggered because vpp may fall into passthrough mode which causes
+         the decoder negotiation to create src caps with vpp scaled width/height.
+         This patch includes bitstream's original size in first query with
+         downstream in gst_msdkdec_src_caps, which is the same for what we do for
+         color format in this query. This is to ensure SFC scaling starts to
+         work only when downstream directly asks for a different size instead of
+         through vpp.
+         Note that here SFC scaling follows the same behavior as msdkvpp:
+         if user only changes width or height, e.g. dec ! video/x-raw,width=xx !,
+         the height will be modified to the value which fits the original DAR.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1838>
+
+2022-03-06 19:18:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudautils.c:
+         nvcodec: Add missing null check in context sharing code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-04 03:33:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudadownload.c:
+       * sys/nvcodec/gstcudadownload.h:
+       * sys/nvcodec/gstcudaformat.h:
+       * sys/nvcodec/gstcudamemorycopy.c:
+       * sys/nvcodec/gstcudamemorycopy.h:
+       * sys/nvcodec/gstcudaupload.c:
+       * sys/nvcodec/gstcudaupload.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Refactor cudaupload/download and add support for GL memory
+         * Implement new baseclass GstCudaMemoryCopy to remove duplicated
+         cudaupload/download code
+         * Add support for CUDA <-> GL memory conversion via cudaupload/download
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 03:25:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/cuda-converter.c:
+       * sys/nvcodec/cuda-converter.h:
+       * sys/nvcodec/gstcudabasefilter.c:
+       * sys/nvcodec/gstcudabufferpool.c:
+       * sys/nvcodec/gstcudadownload.c:
+       * sys/nvcodec/gstcudamemory.c:
+       * sys/nvcodec/gstcudamemory.h:
+       * sys/nvcodec/gstcudaupload.c:
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Refactor GstCudaMemory abstraction
+         * Hide GstCudaMemory member variables
+         * Make GstCudaAllocator object GstCudaContext independent
+         * Set offset/stride of memory correctly via video meta
+         * Drop GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT support.
+         This implementation actually does not support custom alignment
+         because we allocate device memory via cuMemAllocPitch
+         of which alignment is almost uncontrollable
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 22:03:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/cuda-converter.h:
+       * sys/nvcodec/gstcudabasefilter.c:
+       * sys/nvcodec/gstcudabasefilter.h:
+       * sys/nvcodec/gstcudabasetransform.c:
+       * sys/nvcodec/gstcudabasetransform.h:
+       * sys/nvcodec/gstcudaconvert.c:
+       * sys/nvcodec/gstcudadownload.c:
+       * sys/nvcodec/gstcudadownload.h:
+       * sys/nvcodec/gstcudaformat.h:
+       * sys/nvcodec/gstcudaupload.c:
+       * sys/nvcodec/gstcudaupload.h:
+         nvcodec: Refactor basetransform subclasses
+         * cudaupload/download
+         - Specify only formats actually we can deal with
+         nvcodec elements, not all video formats
+         - Supports CUDA output for download and input for upload in order
+         to make passthrough possible, like other upload/download elements.
+         * cudabasetransform
+         - Reset conversion element if upstream CUDA memory
+         holds different CUDA context and the element can accept it.
+         This is the same behavior as corresponding d3d11 filter elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 20:55:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudabufferpool.c:
+       * sys/nvcodec/gstcudabufferpool.h:
+         cudabufferpool: Move GstCudaContext object to public member
+         ... so that plugins can understand assosicated cuda context with the
+         pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 02:48:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudacontext.c:
+       * sys/nvcodec/gstcudacontext.h:
+       * sys/nvcodec/gstcudautils.c:
+         cudacontext: Require explicit gpu id instead of auto (-1)
+         Sync up with GstD3D11Device implementation. The auto stuff should
+         be handled in context sharing step, not device creation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 03:24:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudamemory.c:
+       * sys/nvcodec/gstcudascale.c:
+       * sys/nvcodec/gstcuvidloader.c:
+       * sys/nvcodec/gstnvrtcloader.c:
+         nvcodec: Indent update
+         ... to prevent gnu indent version dependent diffs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 05:01:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudacontext.c:
+         cudacontext: Remove unnecessary cuInit() call
+         It's already called at plugin init time
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-05 11:35:29 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Add a comment when the detection of TU fails.
+         Also update the print message.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1863>
+
+2022-03-04 16:48:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         camerabin: Remove drain query
+         This was to support very old V4L2 kernel. As we moved to DMABuf and can now
+         detach buffers on renegotiation, the buffer it tries to fix no longer exist.
+         The risk to blocking indefinitly the application does still exist though.
+         Fixes #1070
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1861>
+
+2022-03-03 23:00:41 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: check the error return when parse_alignment_from_caps()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 22:38:56 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Use the intersected caps to decide the alignment.
+         When we negotiate with downstream, We should use the intersected
+         caps of input and output to decide the alignment and stream format.
+         The current code just uses the input caps which may lack the stream
+         format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 21:30:00 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/ivfparse/gstivfparse.c:
+         ivfparse: Set the alignment to tu for AV1 stream.
+         Just do the same as other demux.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 17:51:11 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Only detect the stream format when input alignment is tu.
+         The demux now outputs the AV1 stream in "tu" alignment, so we do not need
+         to detect the input alignment. But the annex b stream format is not recognized
+         by the demux, we still need to detect that stream format for the first input.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:22:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Save the default alignment
+         Otherwise the transformation is not applied and decoders may not
+         get the appropriate format despite the caps being negotiated
+         correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:20:31 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Remove duplicated check
+         The case of both strings being empty is already checked in the
+         helper function. No functional changes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-04 10:02:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gstvp9parse.c:
+         vp9parse: Fix auto-plugging of HW frame decoder
+         Decoders that required frame aligmment and didn't have an associated
+         alpha decoder were skipped. This is because the parser was constructing
+         caps based on the software alpha decoder, which specify super-frame
+         alignment.
+         Iterate over the caps to filter the one that have a matching codec-alpha, with
+         the semantic the no codec-alpha field means codec-alpha=false. Then if
+         everything was removed, callback to the original, so that the first non-alpha
+         decoder will be picked.
+         Fixes #820
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1855>
+
+2022-03-04 14:17:47 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle PES headers bigger than a mpeg-ts packet
+         While the actual PES header parser could notify us that it needed more data, we
+         would never actually act on it.
+         This commit will accumulate incoming packets in such situation and re-attempt
+         the header parsing.
+         Fixes #1027
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1852>
+
+2022-03-03 11:32:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.c:
+         va: basetransform: Add device-path read-only property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>
+
+2022-03-03 11:05:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+         va: basedec: Add device-path read-only property.
+         And elements will notify the used device-path if display is DRM.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>
+
+2022-03-04 13:34:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Remove GST_PARAM_CONDITIONALLY_AVAILABLE.
+         Since it's used only when the property is conditionally installed, and
+         these parameters are always installed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-04 09:15:42 +0100  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaencoder.c:
+         va: encoder: Clean dead code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 14:08:16 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+         va: encoder: Fix error code path when open.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 13:57:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264enc.c:
+         vah264enc: Remove preferred_output_delay.
+         In the current state of the encoder it's just dead code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 09:59:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Avoid mapping coded buffer twice.
+         Currently for copying the coded buffer onto a GStreamer buffer, the
+         coded buffer is mapped two times: one for getting the size, and later
+         for do the actual copy. We can avoid this by doing directly in the
+         element rather than in the general encoder object.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-02 20:53:16 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/gstvah264enc.c:
+         vah264enc: Single parameter array per picture.
+         There's no need, at least in H.264, to hold a global parameter array,
+         since there's no need to submit SPS, trellis, hdr or quality in every
+         buffer, but only on IDR ones.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-02 20:06:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/plugin.c:
+         va: Fix log message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-04 09:57:02 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+       * gst-libs/gst/play/gstplay.h:
+         play: Fix error parsing API
+         The GError is an out parameter, so should be a ** parameter, like the details
+         parameter.
+         Fixes #1063
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1849>
+
+2021-08-03 12:14:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: support renegotiating adding/removing RTX
+         We need to always add the RTX/RED/ULPFEC elements as rtpbin will only
+         call us once to request aux/fec senders/receivers.
+         We also need to regenerate the media section of the SDP instead of
+         blindly copying from the previous offer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1762>
+
+2022-03-01 11:43:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: Change default ref frames number as 0
+         When user does not set ref-frames in pipeline, we should let MediaSDK
+         decide the reference frame number via setting default value as 0 at
+         gstreamer side.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1839>
+
+2022-03-04 04:18:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wic/meson.build:
+         meson: wic: Fix typo
+         Should check WIC build option, not MediaFoundation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1847>
+
+2022-03-03 04:22:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvdecoder.h:
+       * sys/qsv/gstqsvencoder.h:
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+         qsv: Remove strcpy for DRM device path
+         Simplify code. It's just one-time allocation, so don't need to worry
+         about leaking.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1835>
+
+2022-03-03 04:57:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: Don't print error log for missing DRM device path
+         It's expected in case that such DRM device is unavailable for some reasons,
+         specifically non-Intel platform or so
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1836>
+
+2022-01-30 03:11:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson_options.txt:
+       * sys/meson.build:
+       * sys/wic/gstwicdecoder.cpp:
+       * sys/wic/gstwicdecoder.h:
+       * sys/wic/gstwicimagingfactory.cpp:
+       * sys/wic/gstwicimagingfactory.h:
+       * sys/wic/gstwicjpegdec.cpp:
+       * sys/wic/gstwicjpegdec.h:
+       * sys/wic/gstwicpngdec.cpp:
+       * sys/wic/gstwicpngdec.h:
+       * sys/wic/gstwicutils.cpp:
+       * sys/wic/gstwicutils.h:
+       * sys/wic/meson.build:
+       * sys/wic/plugin.cpp:
+         wic: Add support for JPEG and PNG decoding
+         Adding Windows Imaging Component (WIC) plugin with JPEG/PNG decoding
+         support.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1605>
+
+2022-03-02 06:17:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/gstdshow.cpp:
+       * sys/directshow/gstdshowvideodec.cpp:
+         directshow: Fix for division by zero
+         The AvgTimePerFrame value may be unknown. Use arbitrary
+         value (30 fps) instead of crashing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828>
+
+2022-02-20 03:59:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator.cpp:
+       * sys/qsv/gstqsvallocator.h:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvallocator_va.cpp:
+       * sys/qsv/gstqsvdecoder.cpp:
+       * sys/qsv/gstqsvdecoder.h:
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvh264dec.cpp:
+       * sys/qsv/gstqsvh264dec.h:
+       * sys/qsv/gstqsvutils.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add H.264 decoder
+         Initial decoder implementation with baseclass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1786>
+
+2022-02-21 10:49:15 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpe.cpp:
+       * ext/wpe/gstwpe.h:
+         Remove the uninstalled term
+         Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+         The `uninstalled` is the old name and the project should stick to a
+         single name for the procedure.
+         Remove the term from all the files, exceptions are variables from
+         dependencies like `uninstalled_variables` from pkgconfig and
+         `meson-uninstalled`.
+         Adjust mentions of the script in the documentation and README.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * README.md:
+         Maintain build instructions at a single location
+         Do not maintain similar build instructions within each gst-plugins-*
+         subproject and the subproject/gstreamer subproject. Use the build
+         instructions from the mono-repository and link to them via hyperlink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-21 12:26:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Add vah264enc metadata.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:53:19 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/plugin.c:
+         va: enable the H264 encoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:51:48 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvah264enc.c:
+       * sys/va/gstvah264enc.h:
+       * sys/va/meson.build:
+         va: Add H264 encoder.
+         This a new VA-API implementation of a H264 encoder.
+         It can control the GOP and parameter settings, while the MV searching,
+         VCL and the rate control algorithm are implemented by VA drivers and HW.
+         It supports most of the common usage options in H264, but still lacks
+         of look ahead, field, B frame weighted prediction, etc.
+         Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:50:07 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaencoder.c:
+       * sys/va/gstvaencoder.h:
+       * sys/va/meson.build:
+         va: Add a common encoder object.
+         As the counterpart of the va decoder, this class handles all the
+         common logic for the encoding routine and miscellaneous queries about
+         encoding.
+         Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2022-01-20 21:44:20 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/vacompat.h:
+         va: Add vacompat.h to wrap glib functions.
+         The g_queue_clear_full() and g_array_copy() functions in the glib
+         may not be available for the current glib version check, so we add
+         helper functions to wrap it.
+         This should be deleted after the glib version bumps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-21 22:56:23 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaprofile.c:
+       * sys/va/gstvaprofile.h:
+         va: Add the profile string name into the profile_map.
+         We also add a helper function of gst_va_profile_from_name to get
+         the VA profile value by its profile string name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:53:47 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaprofile.c:
+         va: Change the H264 profile string order in the profile_map.
+         The first one should be the one that matches the VA profile's name
+         most precisely.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:45:25 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvacaps.h:
+         va: caps: Expose gst_va_create_coded_caps as helper function.
+         And allow free indentation for array declaration.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:43:28 +0800  He Junyan <junyan.he@intel.com>
+
+       * tests/check/libs/h264bitwriter.c:
+       * tests/check/meson.build:
+         test: Add test cases for the H264 bitwriter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:42:41 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+       * gst-libs/gst/codecparsers/gsth264bitwriter.h:
+       * gst-libs/gst/codecparsers/meson.build:
+         codecparsers: bitwriter: Add the common bit writer functions for H264.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:41:07 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/nalutils.c:
+       * gst-libs/gst/codecparsers/nalutils.h:
+         codecparsers: nalutils: Add nal_writer_reset_and_get_data help function.
+         We not only want to create a NAL gstmemory, but also need to create and
+         get the raw data of a NAL writer for the later usage.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2022-02-28 16:33:23 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * ext/gs/meson.build:
+         gs: look for google_cloud_cpp_storage.pc
+         storage_client.pc was legacy and has been removed:
+         https://github.com/googleapis/google-cloud-cpp/commit/df6fa3611cdfbc37d40e1451afa91fd7d2e7d5f7#diff-bc35ad7c2fe631fd5578a06092412dba81c7ddd27bb25df7e17bb13771799afcL743
+         No need to keep looking for storage_client.pc as a fallback as 1.25.0,
+         our minimum version, already ships google_cloud_cpp_storage.pc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1815>
+
+2022-02-25 15:00:05 +0800  jinsl00000 <jinsl00000@msn.cn>
+
+       * sys/ipcpipeline/gstipcpipelinecomm.c:
+       * sys/ipcpipeline/meson.build:
+         ipcpipeline: fix crash and error on windows with SOCKET or _pipe()
+         The fd was in different meanings on windows:
+         POSIX read and write use the fd as a file descriptor.
+         The gst_poll use the fd as a WSASocket.
+         This patch use WSASocket as default on windows. This is a temporary measure, because IPC has many different implement. There may be a better way in the future.
+         See #1044
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1791>
+
+2022-02-14 16:15:46 +0800  Wu Tong <tong1.wu@intel.com>
+
+       * sys/msdk/gstmsdkcontextutil.c:
+       * sys/msdk/gstmsdkenc.c:
+         MSDK: Add _context_query() and avoid compile error on Windows
+         To avoid compile error on Windows, macro definitions are added to suppress va
+         variables. In the meantime, add function _context_query() to query
+         context on Windows.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1693>
+
+2022-02-24 20:26:46 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
+
+       * ext/ldac/gstldacenc.c:
+         ldac: Set eqmid in caps
+         We set the eqmid in caps to be usable downstream by rtpldacpay for
+         knowing the frame count.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797>
+
+2022-01-31 16:13:32 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         tsmux: Skip empty buffers
+         They can be created e.g. by aggregator when there is a gap. Such buffers
+         should not be muxed at all.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611>
+
+2022-02-21 11:37:26 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * data/meson.build:
+       * ext/voamrwbenc/meson.build:
+       * gst/freeverb/meson.build:
+         devenv: Add some missing GStreamer specific env variables
+         This should make "meson devenv" closer to what "gst-env.py" sets.
+         - GST_VALIDATE_SCENARIOS_PATH
+         - GST_VALIDATE_APPS_DIR
+         - GST_OMX_CONFIG_DIR
+         - GST_ENCODING_TARGET_PATH
+         - GST_PRESET_PATH
+         - GST_PLUGIN_SCANNER
+         - GST_PTP_HELPER
+         - _GI_OVERRIDES_PATH
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2018-12-05 01:22:48 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * ext/fdkaac/gstfdkaacdec.c:
+       * ext/fdkaac/gstfdkaacdec.h:
+         fdkaacdec: Support arbitrary channel configs
+         Try to match the config to GStreamer positions. If something doesn't
+         fit, fall back to a set of unpositioned channels.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>
+
+2018-12-05 01:07:19 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * ext/fdkaac/gstfdkaacdec.c:
+       * ext/fdkaac/gstfdkaacdec.h:
+         fdkaacdec: Use predefined channel layouts
+         This limits the decoder to the layouts predefined for the encoder
+         (including the MPEG standard layouts) but greatly simplifies the
+         implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>
+
+2022-02-01 14:51:27 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+         tsmux: Lock mux->tsmux, the programs hash table, and pad streams
+         They contain implementations that are not thread-safe (e.g. GList, GHashTable).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616>
+
+2022-02-17 15:16:40 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Fix uninitialized variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1731>
+
+2022-02-17 15:12:52 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Fix unchecked return values
+         There are several calls of gst_video_info_from_caps and gst_video_frame_copy
+         without checks for the returned values. This patch adds all necessary
+         function return checks.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1738>
+
+2022-02-22 05:19:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvencoder.cpp:
+         qsvencoder: Fix caps leak in Linux build
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>
+
+2022-02-22 05:15:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/plugin.cpp:
+         qsv: Fix debug category name of qsvallocator
+         Remove gst prefix to make $env:GST_DEBUG="qsv*:6" work for qsvallocator
+         as well
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>
+
+2022-02-21 16:45:50 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         bad:docs: Add vaav1dec in documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1773>
+
+2022-02-21 14:17:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+         d3d11: Remove non-existing gst_d3d11_memory_get_type() API from header
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-14 23:30:45 +0300  Dmitry Osipenko <dmitry.osipenko@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+       * sys/v4l2codecs/gstv4l2format.h:
+         v4l2codecs: Support YUV420M format
+         YUV420M format of V4L essentially is I420 with separate memory planes.
+         It's used by NVIDIA Tegra V4L decoder. Support this format by v4l2codecs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1727>
+
+2022-02-20 23:59:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+         d3d11screencapturesrc: Use staging buffer pool for performance
+         By using staging pool/buffer, we can avoid per frame
+         staging texture -> system memory copy.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1756>
+
+2022-02-20 15:20:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Add NV12_16L32S into the cache
+         Autogenerated by CI
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-26 13:39:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+       * sys/v4l2codecs/gstv4l2format.h:
+         v4l2codecs: Enable MediaTek MM21 (NV12_16L32S)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-19 15:53:05 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+         v4l2codecs: Add support for multi planar buffers
+         V4L2 have some pixel formats that produces 2 dmabuf, this add
+         support for these format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:08:47 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/wayland/wlshmallocator.c:
+       * sys/kms/gstkmsallocator.c:
+       * sys/v4l2codecs/gstv4l2format.c:
+         Port plugins to gst_video_format_info_extrapolate_stride()
+         This reduces code duplication and simplify addition of new
+         pixel formats into related plugins.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-20 06:36:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/winscreencap/dxgicapture.c:
+       * sys/winscreencap/dxgicapture.h:
+       * sys/winscreencap/gstdxgiscreencapsrc.c:
+       * sys/winscreencap/gstdxgiscreencapsrc.h:
+       * sys/winscreencap/gstwinscreencap.c:
+       * sys/winscreencap/meson.build:
+         winscreencap: Remove dxgiscreencapsrc element
+         We have the d3d11screencapturesrc element in d3d11 plugin
+         which is obviously better than this element in terms of performance
+         and design, so we don't need to make people be confused by two separate elements.
+         Let's pick the better implementation and remove unnecessary one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750>
+
+2022-02-08 15:23:17 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+       * ext/wpe/meson.build:
+         wpe: Clean up build script
+         Use feature.require to check for gstgl and exit early if 'wpe' is
+         disabled (don't even check for wpe-webkit-1.1).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1668>
+
+2022-02-19 00:37:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/dshowvideosink.cpp:
+       * sys/directshow/gstdshowaudiodec.h:
+         directshow: Fix build warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2022-02-19 00:14:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
+       * sys/directshow/dshowdecwrapper/meson.build:
+       * sys/directshow/dshowdeviceprovider.cpp:
+       * sys/directshow/dshowdeviceprovider.h:
+       * sys/directshow/dshowsinkwrapper/meson.build:
+       * sys/directshow/dshowsrcwrapper/meson.build:
+       * sys/directshow/dshowvideofakesrc.cpp:
+       * sys/directshow/dshowvideofakesrc.h:
+       * sys/directshow/dshowvideosink.cpp:
+       * sys/directshow/dshowvideosink.h:
+       * sys/directshow/gstdshow.cpp:
+       * sys/directshow/gstdshow.h:
+       * sys/directshow/gstdshowaudiodec.cpp:
+       * sys/directshow/gstdshowaudiodec.h:
+       * sys/directshow/gstdshowaudiosrc.cpp:
+       * sys/directshow/gstdshowaudiosrc.h:
+       * sys/directshow/gstdshowfakesink.cpp:
+       * sys/directshow/gstdshowfakesink.h:
+       * sys/directshow/gstdshowfakesrc.cpp:
+       * sys/directshow/gstdshowfakesrc.h:
+       * sys/directshow/gstdshowutil.cpp:
+       * sys/directshow/gstdshowutil.h:
+       * sys/directshow/gstdshowvideodec.cpp:
+       * sys/directshow/gstdshowvideodec.h:
+       * sys/directshow/gstdshowvideosrc.cpp:
+       * sys/directshow/gstdshowvideosrc.h:
+       * sys/directshow/meson.build:
+       * sys/directshow/plugin.cpp:
+         directshow: Merge plugins into single directshow plugin
+         ... and lower rank of dshowvideosink and dshowdeviceprovider
+         to GST_RANK_MARGINAL since we don't prefer this plugin
+         by default
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2022-02-19 00:12:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
+       * sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
+       * sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowutil.h:
+       * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
+       * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
+       * sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
+       * sys/directshow/dshowsinkwrapper/dshowvideosink.h:
+       * sys/directshow/dshowsrcwrapper/gstdshow.h:
+       * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
+       * sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
+         directshow: Remove white spaces
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2021-10-19 16:10:06 -0300  Martin Reboredo <yakoyoku@gmail.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/gstvulkanelements.h:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkshaderspv.c:
+       * ext/vulkan/vkshaderspv.h:
+         vulkanshaderspv: SPIRV based filter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1197>
+
+2022-02-18 16:23:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: vp9: Fix reset_frame_context parameter
+         It was assumed that the kernel parameters would match with the bitstream value
+         but instead the author when with another set of value. Surprisingly, this
+         makes no difference with the resulting fluster score.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>
+
+2022-02-18 16:02:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: vp9: Only fill compressed headers if needed
+         Fixes: 13944cf3ee871722 ("v4l2codecs: vp9: Make compressed hdr control optional")
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>
+
+2022-01-14 23:42:27 -0600  Tim Mooney <Tim.Mooney@ndsu.edu>
+
+       * sys/v4l2codecs/linux/types-compat.h:
+         v4l2: include <sys/ioccom.h> on Illumos
+         Needed for _IOR/_IORW
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1524>
+
+2022-01-26 21:06:45 +0100  Loic Le Page <llepage@fluendo.com>
+
+       * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
+       * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.h:
+       * sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
+       * sys/directshow/dshowsinkwrapper/dshowvideosink.h:
+       * sys/directshow/dshowsinkwrapper/meson.build:
+       * sys/directshow/dshowvideosink/README:
+       * sys/directshow/meson.build:
+         Add build files and fix build for gst-plugins-bad dshowsinkwrapper plugin
+         dshowsinkwrapper plugin is the old dshowvideosink plugin that has been
+         renamed to be compliant with the actuel plugin name in the source code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 21:03:10 +0100  Loic Le Page <llepage@fluendo.com>
+
+       * sys/directshow/dshowsrcwrapper/BUILD.txt:
+       * sys/directshow/dshowsrcwrapper/CMakeLists.txt:
+       * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+       * sys/directshow/dshowsrcwrapper/meson.build:
+       * sys/directshow/meson.build:
+         Add build files and fix build for gst-plugins-bad dshowsrcwrapper plugin
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 20:58:12 +0100  Loic Le Page <llepage@fluendo.com>
+
+       * sys/directshow/dshowdecwrapper/CMakeLists.txt:
+       * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/directshow/dshowdecwrapper/meson.build:
+       * sys/directshow/meson.build:
+         Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 20:43:09 +0100  Loic Le Page <llepage@fluendo.com>
+
+       * meson_options.txt:
+       * sys/directshow/meson.build:
+       * sys/directshow/strmbase/LICENSE:
+       * sys/directshow/strmbase/baseclasses/amextra.cpp:
+       * sys/directshow/strmbase/baseclasses/amextra.h:
+       * sys/directshow/strmbase/baseclasses/amfilter.cpp:
+       * sys/directshow/strmbase/baseclasses/amfilter.h:
+       * sys/directshow/strmbase/baseclasses/amvideo.cpp:
+       * sys/directshow/strmbase/baseclasses/arithutil.cpp:
+       * sys/directshow/strmbase/baseclasses/cache.h:
+       * sys/directshow/strmbase/baseclasses/checkbmi.h:
+       * sys/directshow/strmbase/baseclasses/combase.cpp:
+       * sys/directshow/strmbase/baseclasses/combase.h:
+       * sys/directshow/strmbase/baseclasses/cprop.cpp:
+       * sys/directshow/strmbase/baseclasses/cprop.h:
+       * sys/directshow/strmbase/baseclasses/ctlutil.cpp:
+       * sys/directshow/strmbase/baseclasses/ctlutil.h:
+       * sys/directshow/strmbase/baseclasses/ddmm.cpp:
+       * sys/directshow/strmbase/baseclasses/ddmm.h:
+       * sys/directshow/strmbase/baseclasses/dllentry.cpp:
+       * sys/directshow/strmbase/baseclasses/dllsetup.cpp:
+       * sys/directshow/strmbase/baseclasses/dllsetup.h:
+       * sys/directshow/strmbase/baseclasses/dxmperf.h:
+       * sys/directshow/strmbase/baseclasses/fourcc.h:
+       * sys/directshow/strmbase/baseclasses/measure.h:
+       * sys/directshow/strmbase/baseclasses/msgthrd.h:
+       * sys/directshow/strmbase/baseclasses/mtype.cpp:
+       * sys/directshow/strmbase/baseclasses/mtype.h:
+       * sys/directshow/strmbase/baseclasses/outputq.cpp:
+       * sys/directshow/strmbase/baseclasses/outputq.h:
+       * sys/directshow/strmbase/baseclasses/perflog.cpp:
+       * sys/directshow/strmbase/baseclasses/perflog.h:
+       * sys/directshow/strmbase/baseclasses/perfstruct.h:
+       * sys/directshow/strmbase/baseclasses/pstream.cpp:
+       * sys/directshow/strmbase/baseclasses/pstream.h:
+       * sys/directshow/strmbase/baseclasses/pullpin.cpp:
+       * sys/directshow/strmbase/baseclasses/pullpin.h:
+       * sys/directshow/strmbase/baseclasses/refclock.cpp:
+       * sys/directshow/strmbase/baseclasses/refclock.h:
+       * sys/directshow/strmbase/baseclasses/reftime.h:
+       * sys/directshow/strmbase/baseclasses/renbase.cpp:
+       * sys/directshow/strmbase/baseclasses/renbase.h:
+       * sys/directshow/strmbase/baseclasses/schedule.cpp:
+       * sys/directshow/strmbase/baseclasses/schedule.h:
+       * sys/directshow/strmbase/baseclasses/seekpt.cpp:
+       * sys/directshow/strmbase/baseclasses/seekpt.h:
+       * sys/directshow/strmbase/baseclasses/source.cpp:
+       * sys/directshow/strmbase/baseclasses/source.h:
+       * sys/directshow/strmbase/baseclasses/streams.h:
+       * sys/directshow/strmbase/baseclasses/strmctl.cpp:
+       * sys/directshow/strmbase/baseclasses/strmctl.h:
+       * sys/directshow/strmbase/baseclasses/sysclock.cpp:
+       * sys/directshow/strmbase/baseclasses/sysclock.h:
+       * sys/directshow/strmbase/baseclasses/transfrm.cpp:
+       * sys/directshow/strmbase/baseclasses/transfrm.h:
+       * sys/directshow/strmbase/baseclasses/transip.cpp:
+       * sys/directshow/strmbase/baseclasses/transip.h:
+       * sys/directshow/strmbase/baseclasses/videoctl.cpp:
+       * sys/directshow/strmbase/baseclasses/videoctl.h:
+       * sys/directshow/strmbase/baseclasses/vtrans.cpp:
+       * sys/directshow/strmbase/baseclasses/vtrans.h:
+       * sys/directshow/strmbase/baseclasses/winctrl.cpp:
+       * sys/directshow/strmbase/baseclasses/winctrl.h:
+       * sys/directshow/strmbase/baseclasses/winutil.cpp:
+       * sys/directshow/strmbase/baseclasses/winutil.h:
+       * sys/directshow/strmbase/baseclasses/wxdebug.cpp:
+       * sys/directshow/strmbase/baseclasses/wxdebug.h:
+       * sys/directshow/strmbase/baseclasses/wxlist.cpp:
+       * sys/directshow/strmbase/baseclasses/wxlist.h:
+       * sys/directshow/strmbase/baseclasses/wxutil.cpp:
+       * sys/directshow/strmbase/baseclasses/wxutil.h:
+       * sys/directshow/strmbase/meson.build:
+       * sys/meson.build:
+         Add directshow strmbase library source code from Microsoft repo
+         Original repo is here:
+         https://github.com/microsoft/Windows-classic-samples
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-02-16 14:53:12 +0100  Loïc Le Page <llepage@fluendo.com>
+
+       * sys/directshow/dshowdecwrapper/CMakeLists.txt:
+       * sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
+       * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
+       * sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
+       * sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowutil.h:
+       * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
+       * sys/directshow/dshowsrcwrapper/BUILD.txt:
+       * sys/directshow/dshowsrcwrapper/CMakeLists.txt:
+       * sys/directshow/dshowsrcwrapper/dshowdeviceprovider.cpp:
+       * sys/directshow/dshowsrcwrapper/dshowdeviceprovider.h:
+       * sys/directshow/dshowsrcwrapper/gstdshow.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshow.h:
+       * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
+       * sys/directshow/dshowsrcwrapper/gstdshowfakesink.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshowfakesink.h:
+       * sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+       * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
+       * sys/directshow/dshowvideosink/README:
+       * sys/directshow/dshowvideosink/dshowvideofakesrc.cpp:
+       * sys/directshow/dshowvideosink/dshowvideofakesrc.h:
+       * sys/directshow/dshowvideosink/dshowvideosink.cpp:
+       * sys/directshow/dshowvideosink/dshowvideosink.h:
+         Move all directshow plugins to the same sub-folder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-15 00:04:05 -0600  Tim Mooney <Tim.Mooney@ndsu.edu>
+
+       * ext/curl/meson.build:
+       * gst/festival/meson.build:
+       * meson.build:
+       * sys/shm/meson.build:
+         meson: check for libsocket and libnsl
+         If present, add '-lsocket' and '-lnsl' to network_deps.
+         ext/curl/meson.build: add network_deps to dependencies
+         gst/festival/meson.build: same
+         sys/shm/meson.build: same
+         Fixes linking issues on Illumos distros.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1525>
+
+2022-02-14 22:59:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * tests/check/elements/d3d11colorconvert.c:
+         d3d11: Add support for AYUV, AYUV64, and RGBA64_LE formats
+         Note that AYUV and AYUV64 formats will be used to expand format
+         support, especially some packed YUV formats (e.g., Y410, YUY2)
+         are common DXGI formats used for hardware decoder/encoder on Windows
+         but those formats cannot be used as a render target. We need to handle
+         them differently without pixel shader help, using compute shader
+         for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2022-02-13 20:32:48 +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/gstd3d11format.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+         d3d11: Reorganize format mapping table
+         ... and handle GST <-> D3D11 format mapping in a single place to
+         make adding format easier
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2022-02-13 04:36:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.h:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11converter.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/mediafoundation/plugin.cpp:
+         d3d11: Store device format in struct
+         Holding pointer to struct was unsafe approach because
+         the pointer to d3d11 format will be invalidated once d3d11 device
+         object is released
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2021-10-01 20:27:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+       * gst/festival/gstfestival.c:
+       * meson.build:
+       * sys/ipcpipeline/gstipcpipelinecomm.c:
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+       * tests/examples/nvcodec/nvcodec.c:
+         meson: Do hard build error for some MSVC warnings
+         Handle various MSVC warnings as errors for development version.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-14 16:18:54 +0300  Dmitry Osipenko <dmitry.osipenko@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Correct scaling matrix ABI check
+         Scaling matrix V4L UAPI control not presents on NVIDIA Tegra, the default
+         matrix should be used in this case. Mark scaling matrix presence optional.
+         Fixes: 47bfa71530c ("v4l2codecs: h264: Improve ABI check ")
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1726>
+
+2022-01-21 15:32:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: Enable SFC scaling for AVC and HEVC
+         Decoder SFC only supports down-scaling at most to 1/8.
+         For example, given a 4K bistream, SFC can scale it to 1080p via:
+         "msdkh265dec ! video/x-raw,width=1920,height=1080 ! glimagesink"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2021-12-15 11:49:40 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkh264dec.c:
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkdec: Enable SFC csc for AVC and HEVC
+         Decoder SFC will be triggered when default output format is not accept at
+         downstream. One use case below can work without using msdkvpp:
+         "! msdkh265dec ! "video/x-raw,format=BGRA" ! glimagesink",
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2021-11-17 17:05:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: Add SFC codes
+         SFC refers to Scaler Format Converter, more details here:
+         https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol15-sfc.pdf
+         By attaching mfxExtDecVideoProcessing buffer to mfxVideoParam, decoder
+         can do SFC for csc and scaling.
+         MSDK will check if surface bitdepth equals to input when no SFC is
+         triggered, which means in the case of SFC, there is no need to update
+         surface bitdepth via gst_msdk_update_mfx_frame_info_from_mfx_video_param.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2022-02-16 02:23:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Fix for missing GRAY conversion
+         Add missing Y410 -> GRAY and GRAY -> semi-planar conversion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>
+
+2022-02-16 02:11:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Don't use FIXME_OBJECT for non-GstObject
+         ... and print ERROR messages for unexpected input/output formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>
+
+2021-11-10 15:18:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvadisplay.c:
+       * gst-libs/gst/va/gstvadisplay.h:
+       * sys/va/gstvacaps.c:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadisplay_priv.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvasurfacecopy.c:
+       * sys/va/vasurfaceimage.c:
+         va: Delete the display lock/unlock when we call VA-API.
+         According to the VA-API's description, they are MT-safe, we do not
+         need to care about that in our middleware layer. The lock/unlock
+         operations have overhead and make the performance lower.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1333>
+
+2022-02-08 15:22:39 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+       * ext/openaptx/gstopenaptxdec.h:
+       * ext/openaptx/gstopenaptxenc.h:
+       * ext/openaptx/meson.build:
+         openaptx: Support libfreeaptx
+         [libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
+         [1]: https://github.com/iamthehorker/libfreeaptx
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1642
+         Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1589
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1667>
+
+2022-02-15 02:26:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11converter.cpp:
+         d3d11converter: Fix RGB to GRAY conversion
+         Fix typo in shader code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1697>
+
+2022-02-14 12:57:44 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: unlock mutex on -1 start_offfset
+         Closing #1013
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1694>
+
+2022-02-13 22:39:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11download.cpp:
+         d3d11download: Fix decide_allocation
+         Caps should be parsed in any cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1691>
+
+2022-02-13 10:49:31 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/meson.build:
+         meson: va: Add va option check into plugin's build.
+         Because the liblibgstva is built unconditionally, we now move the
+         va option check into va plugin's build.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>
+
+2022-02-13 10:39:37 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/meson.build:
+         meson: va: Remove va option check from gst-libs
+         Building libgstva-1.0 unconditionally for the va implementation can be
+         used by non-va plugins such as MSDK even when va plugin is disabled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>
+
+2022-02-12 10:05:11 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/webrtc/dtlstransport.c:
+         dtlstransport: Notify ICE transport property changes
+         The application might track the underlying ICE transport, so not notifying
+         changes might lead to use-after-free issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1688>
+
+2022-02-12 14:51:51 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         vavpp: Fix the caps leak in the transform_caps() function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1689>
+
+2022-02-12 00:51:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/meson.build:
+         meson: d3d11: Remove d3d11 option check from gst-libs
+         Build gstd3d11-1.0 unconditionally for d3d11 implementation can be used
+         by non-d3d11 plugins even when d3d11 plugin is disabled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>
+
+2022-02-10 22:31:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11_private.h:
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11format.cpp:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+       * gst-libs/gst/d3d11/meson.build:
+       * sys/d3d11/gstd3d11convert.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11screencapturedevice.h:
+       * sys/d3d11/gstd3d11videoprocessor.cpp:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_dummy.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+       * sys/mediafoundation/plugin.cpp:
+         d3d11: Update build-time dependency
+         Remove all the d3d11 and dxgi header version dependent ifdef
+         and bump the minimum requirement to d3d11_4.h and dxgi1_6.h.
+         We are already failing support old Visual Studio (Windows SDK actually)
+         such as Visual Studio 2015. Note that our MinGW toolchain satisfies
+         the requirement.
+         From runtime point of view, this change should be fine since
+         we are checking OS version with IUnknown::QueryInterface()
+         everywhere in order to check API availability
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>
+
+2021-05-08 17:54:34 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/msdk.h:
+         MSDK: Import VA surface as encoder's input.
+         We make all MSDK encoders declare "memory:VAMemory" feature. Then
+         the pipeline such as:
+         gst-launch-1.0 -vf filesrc location=xxx.h264 ! h264parse ! \
+         vah264dec ! msdkh265enc ! fakesink
+         will choose VA memory caps between the VA decoder and MSDK encoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 17:26:27 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdk_va.c:
+       * sys/msdk/gstmsdk_va.h:
+       * sys/msdk/meson.build:
+         MSDK: Add helper function to peek VA surface of VA kind gstbuffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 15:51:11 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         MSDK: Handle context query into the encoder's query function.
+         The MSDK encoder's query function is not set and it just forwards
+         all query to its base class. We now need to answer the context
+         query correctly. Other VA plugins need to query the VA display.
+         By the way, the current query of "gst.msdk.Context" is also missing.
+         The other MSDK elements must depend on the bin's context message(
+         sent in context_propagate()) to set their MsdkContext correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:36:59 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         MSDK: Handle context query into the VPP's query function.
+         The MSDK VPP's query function is not set and it just forwards
+         all query to its base class. We now need to answer the context
+         query correctly. Other VA plugins need to query the VA display.
+         By the way, the current query of "gst.msdk.Context" is also missing.
+         The other MSDK elements must depend on the bin's context message(
+         sent in context_propagate()) to set their MsdkContext correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:34:43 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         MSDK: Handle context query into the decoder's query function.
+         The MSDK decoder's query function is not set and it just forwards
+         all query to its base class. We now need to answer the context
+         query correctly. Other VA plugins need to query the VA display.
+         By the way, the current query of "gst.msdk.Context" is also missing.
+         The other MSDK elements must depend on the bin's context message(
+         sent in context_propagate()) to set their MsdkContext correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:33:18 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkcontextutil.c:
+       * sys/msdk/gstmsdkcontextutil.h:
+         MSDK: Add a handle_context_query() helper function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 21:51:58 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkcontextutil.c:
+       * sys/msdk/gstmsdkcontextutil.h:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         MSDK: Improve the GstContext setting logic.
+         We now can use the gst va lib's display to create our MSDK context,
+         and use its helper functions to simplify our code. The improved logic
+         is like this:
+         1. Every MSDK element should use gst_msdk_context_find() to find a MSDK
+         context from neighbour. If valid, reuse it.
+         2. Use gst_msdk_ensure_new_context(). It will first query neighbours
+         about the GstVaDisplay, if found(e.g. some VA element is connected),
+         use gst_msdk_context_from_external_display() to create a MSDK context.
+         3. Then, creating the MSDK context from scratch. It creates both the
+         display and MSDK context.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 13:49:23 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/gstmsdkcontext.h:
+         MSDK: Add new_with_va_display() helper function to create context.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 11:44:57 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/gstmsdkcontext.h:
+         MSDK: Use the VA display object to replace the raw display handle.
+         The VA display object from VA lib is a common defined object. which
+         contain the whole display things. It is easier to use, and more important,
+         we can share it with the other VA plugins and keep all the VA related
+         plugins working on the same GPU device.
+         We also delete the useless gst_msdk_context_get_fd() API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2022-02-11 11:11:03 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/msdk/meson.build:
+         MSDK: Add the gst va lib into MSDK's dependency.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2022-02-10 12:52:30 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Add temporal unit check when TD is absent.
+         The current manner for deciding the new temporal unit is based on
+         temporal delimiter(TD) OBU. We only start a new temporal unit when
+         the TD comes.
+         But some streams do not have TD at all, which makes the output "TU"
+         alignment fail to work. We now add check based on the relationship
+         between the different layers and it can successfully judge the TU edge.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2022-02-04 17:12:15 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: let the parse continue when MISSING_OBU_REFERENCE error.
+         Some streams may have verbose OBUs before a valid sequence header. We
+         should let the parse continue rather than return a error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2022-02-04 11:40:18 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Continue when we fail to detect the alignment.
+         Some streams may have problematic OBUs at the beginning, which causes
+         the parse fail to detect the alignment and return error. For example,
+         there may be verbose OBUs before a valid sequence, which should be
+         discarded until we meet a valid sequence. We should let the parse
+         continue when we meet such cases, rather than just return error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2021-03-30 19:23:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/ivfparse/gstivfparse.c:
+         ivfparse: Don't set zero resolution on caps
+         It could be zero if the information is not available at ivfparse
+         side, or not implemented. In that case, simply don't set
+         width/height on caps, otherwise downstream would be confused
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1649>
+
+2022-01-29 01:52:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfmp3dec.cpp:
+       * sys/mediafoundation/gstmfmp3dec.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.cpp:
+         mediafoundation: Add support for MP3 decoding
+         See also
+         https://docs.microsoft.com/en-us/windows/win32/medfound/windows-media-mp3-decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-27 02:20:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacdec.cpp:
+       * sys/mediafoundation/gstmfaacdec.h:
+       * sys/mediafoundation/gstmfaudiodecoder.cpp:
+       * sys/mediafoundation/gstmfaudiodecoder.h:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfutils.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.cpp:
+         mediafoundation: Add support for AAC decoding
+         See also
+         https://docs.microsoft.com/en-us/windows/win32/medfound/aac-decoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-28 01:45:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacenc.cpp:
+       * sys/mediafoundation/gstmfaudioencoder.cpp:
+       * sys/mediafoundation/gstmfaudioencoder.h:
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfmp3enc.cpp:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.cpp:
+       * sys/mediafoundation/gstmfvideoencoder.h:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.cpp:
+         mediafoundation: Cosmetic changes
+         Rename baseclass to be consistent with other Windows plugins
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-27 02:26:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaudioenc.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mediafoundation: Use & operator instead of GetAddressOf()
+         Use shorter expression
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-24 02:41:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacenc.cpp:
+       * sys/mediafoundation/gstmfaudioenc.cpp:
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+       * sys/mediafoundation/gstmfdevice.cpp:
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfmp3enc.cpp:
+       * sys/mediafoundation/gstmfplatloader.cpp:
+       * sys/mediafoundation/gstmfsourceobject.cpp:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfvideobuffer.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideosrc.cpp:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * sys/mediafoundation/gstwin32devicewatcher.cpp:
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.cpp:
+         mediafoundation: Port to C++
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-02-09 03:27:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/plugin.cpp:
+         d3d11decoder: Promote rank to primary except for mpeg2
+         Our D3D11/DXVA codecs implementation has been verified
+         during 1.18 and 1.20 development cycle and also via the Fluster
+         test framework. Similar to the case of nvdec and vtdec,
+         we can prefer hardware over software in most cases
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1672>
+
+2022-02-09 15:05:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: vp9: Fix duplicating a duplicated picture
+         Duplicating a picture what was already a dup was leading to a crash. Rename
+         the custom picture flags as HOLDS_BUFFER to make its meaning clear. Then save
+         then ref and store the picture as userdata, so it can be obtained when
+         duplicating. Finally, mark the doplicated as HOLDS_BUFFER to avoid thinking it
+         holds a request.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1681>
+
+2022-02-10 01:48:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaudioenc.cpp:
+         mfaudioenc: Handle empty IMFMediaBuffer
+         IMFMediaBuffer may not hold encoded data, which seems to happen
+         while draining.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1679>
+
+2022-02-03 10:10:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadecoder.c:
+         va: decoder: Log profile name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>
+
+2022-01-24 16:25:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: Log the added filter name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>
+
+2021-10-25 13:41:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         vapostproc: Process HDR caps
+         This patch adds a new parameter: hdr-tone-mapping (same as
+         vaapipostproc), if the HDR capabilites are availabe in driver, and
+         it's disabled by default.
+         If hdr-tone-mapping is enabled then HDR fields in sink caps are
+         processed in frames from HDR to SDR, removing those hdr fields in
+         source pad caps too.
+         hdr-tone-mapping is not enabled if a color conversion is also
+         requested, since it fails to process in the iHD driver, so far.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1258>
+
+2021-09-30 17:42:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/meson.build:
+       * sys/msdk/meson.build:
+         build: Add libva dependency fallback.
+         Then libva can be subproject and used by either gstreamer-vaapi,
+         va and msdk in gst-plugins-bad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1397>
+
+2022-02-06 23:20:32 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtcice: Fix memory leaks in gst_webrtc_ice_add_candidate()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1646>
+
+2022-01-28 14:49:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: vp9: Make compressed hdr control optional
+         This is to supported by Mediatek VP9 driver. Mediatek handles
+         the forward probabilities in hardware hence does not need and
+         does not implement support for
+         V4L2_CID_STATELESS_VP9_COMPRESSED_HDR.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1600>
+
+2022-02-07 12:34:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/meson.build:
+         va: Fix and simplify build recipe.
+         1. Use api_version variable rather than static string.
+         2. Remove pkgconfig generation since currently the library
+         is not installed, only used internally.
+         3. Rely on dependency "required" to abort compilation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>
+
+2022-02-07 11:27:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/meson.build:
+       * sys/va/meson.build:
+         va: Remove libgudev crumbs in library.
+         In commit e699aaeb we moved linking of libgudev to the plugin rather
+         the library, because it's only used in the plugin. But the dependency
+         check is still done in library.
+         This patch removes the dependency check in library, and updates the
+         dependency check in plugin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>
+
+2022-02-08 04:51:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdk: Fix for MFXUnload symbol re-definition build error
+         Fix for libgstreamer-full build
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-25 00:13:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvh265enc.cpp:
+       * sys/qsv/gstqsvh265enc.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add support for HEVC encoding
+         main and main-10 profiles are supported for now
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-19 21:39:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/gstqsvallocator.cpp:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvvp9enc.cpp:
+       * sys/qsv/gstqsvvp9enc.h:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Add support for VP9 encoding and more video formats
+         Add VP9 encoder with 4:2:0 8 bits and 4:4:4 8/10 bits formats support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-06 21:34:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson_options.txt:
+       * sys/meson.build:
+       * sys/qsv/gstqsvallocator.cpp:
+       * sys/qsv/gstqsvallocator.h:
+       * sys/qsv/gstqsvallocator_d3d11.cpp:
+       * sys/qsv/gstqsvallocator_d3d11.h:
+       * sys/qsv/gstqsvallocator_va.cpp:
+       * sys/qsv/gstqsvallocator_va.h:
+       * sys/qsv/gstqsvencoder.cpp:
+       * sys/qsv/gstqsvencoder.h:
+       * sys/qsv/gstqsvh264enc.cpp:
+       * sys/qsv/gstqsvh264enc.h:
+       * sys/qsv/gstqsvutils.cpp:
+       * sys/qsv/gstqsvutils.h:
+       * sys/qsv/libmfx/meson.build:
+       * sys/qsv/meson.build:
+       * sys/qsv/plugin.cpp:
+         qsv: Introduce H.264 Intel Quick Sync Video Encoder
+         A new implementation of Intel Quick Sync Video plugin.
+         This plugin supports both Windows and Linux but optimization for
+         VA/DMABuf is not implemented yet.
+         This new plugin has some notable differences compared with existing
+         MSDK plugin.
+         * Encoder will expose formats which can be natively supported
+         without internal conversion. This will make encoder
+         control/negotiation flow much simpler and cleaner than
+         that of MSDK plugin.
+         * This plugin includes QSV specific library loading helper,
+         called dispatcher, with QSV SDK headers as a part of this plugin.
+         So, there will be no more SDK version dependent #ifdef in the code
+         and also there will be no more build-time MSDK/oneVPL SDK
+         dependency.
+         * Memory allocator interop between GStreamer and QSV is re-designed
+         and decoupled. Instead of implementing QSV specific allocator/bufferpool,
+         this plugin will make use of generic GStreamer memory
+         allocator/bufferpool (e.g., GstD3D11Allocator and GstD3D11BufferPool).
+         Specifically, GstQsvAllocator object will help interop between
+         GstMemory and mfxFrameAllocator memory abstraction layers.
+         Note that because of the design decision, VA/DMABuf support is not made
+         as a part of this initial commit. We can add the optimization for Linux
+         later once GstVA library exposes allocator/bufferpool implementation as
+         an API like GstD3D11.
+         * Initial encoder implementation supports interop with GstD3D11
+         infrastructure, including zero-copy encoding with upstream D3D11 element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-01 22:18:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+         qsv: Remove unnecessary pargma message
+         We know what we are doing, just remove noisy build warnings
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-01 22:18:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/qsv/libmfx/api/vpl/mfx.h:
+       * sys/qsv/libmfx/api/vpl/mfxadapter.h:
+       * sys/qsv/libmfx/api/vpl/mfxbrc.h:
+       * sys/qsv/libmfx/api/vpl/mfxcommon.h:
+       * sys/qsv/libmfx/api/vpl/mfxdefs.h:
+       * sys/qsv/libmfx/api/vpl/mfxdispatcher.h:
+       * sys/qsv/libmfx/api/vpl/mfxdispatcherprefixedfunctions.h:
+       * sys/qsv/libmfx/api/vpl/mfximplcaps.h:
+       * sys/qsv/libmfx/api/vpl/mfxjpeg.h:
+       * sys/qsv/libmfx/api/vpl/mfxmvc.h:
+       * sys/qsv/libmfx/api/vpl/mfxpcp.h:
+       * sys/qsv/libmfx/api/vpl/mfxsession.h:
+       * sys/qsv/libmfx/api/vpl/mfxstructures.h:
+       * sys/qsv/libmfx/api/vpl/mfxsurfacepool.h:
+       * sys/qsv/libmfx/api/vpl/mfxvideo++.h:
+       * sys/qsv/libmfx/api/vpl/mfxvideo.h:
+       * sys/qsv/libmfx/api/vpl/mfxvp8.h:
+       * sys/qsv/libmfx/dispatcher/linux/device_ids.h:
+       * sys/qsv/libmfx/dispatcher/linux/libvpl.map:
+       * sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
+       * sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
+       * sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.h:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
+       * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_win.h:
+       * sys/qsv/libmfx/dispatcher/windows/libmfx.def:
+       * sys/qsv/libmfx/dispatcher/windows/main.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
+       * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
+       * sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
+       * sys/qsv/libmfx/dispatcher/windows/version.rc.in:
+         qsv: Import libmfx API and dispatch code from oneVPL project
+         Copied from oneVPL project (https://github.com/oneapi-src/oneVPL)
+         v2022.0.3 tag at the commit of efc259f8b7ee5c334bca1a904a503186038bbbdd
+         This is corresponding to MFX API version 2.6
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-07 21:29:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+         d3d11memory: Inform subresource index via GstMapInfo::user_data
+         By using this way, caller does not need to call another method
+         gst_d3d11_memory_get_subresource_index()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-06 21:36:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+       * gst-libs/gst/d3d11/gstd3d11memory.h:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+         d3d11memory: Add support for ID3D11Buffer
+         Allow wrap ID3D11Buffer via GstD3D11Memory object
+         At the moment, only staging ID3D11Buffer is supported.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-01 00:50:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh265dec.c:
+         nvh265sldec: Fix for decoding 12bits stream
+         We've been exposing main-444-12 profile as a supported profile
+         in its sinkpad template but not actaully. Adding code to
+         covert 12 and 16 bits as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>
+
+2022-02-01 00:12:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvdecoder: Fix for HEVC 4:4:4 format decoding
+         Map chroma_format_idc == 3 (which means 4:4:4 subsampling) correctly,
+         also pass coded bitdepth for decoder initialization instead of
+         inferring it from output format since they can be different.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/949
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>
+
+2022-02-07 22:38:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+         d3d11stagingbufferpool: Fix typo in texture description
+         Fixing typo, it should be height
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1652>
+
+2021-10-27 11:08:39 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstva.h:
+       * gst-libs/gst/va/meson.build:
+       * sys/va/gstvaallocator.h:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvacaps.h:
+       * sys/va/gstvadecoder.c:
+       * sys/va/gstvadecoder.h:
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvadevice.h:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvasurfacecopy.h:
+       * sys/va/gstvavpp.c:
+       * sys/va/vasurfaceimage.h:
+       * tests/examples/va/main.c:
+       * tests/examples/va/multiple-vpp.c:
+         va: Add a gstva.h to include all va lib header files.
+         And replacing all va lib headers with this new header files
+         when including.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>
+
+2021-10-07 14:31:28 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/va/gstvautils.c:
+       * gst-libs/gst/va/gstvautils.h:
+       * gst-libs/gst/va/meson.build:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvavpp.c:
+       * sys/va/meson.build:
+         va: Move the vautils into the gst va lib.
+         The context query and handle are common logic for all va related
+         elements. So we move it from va plugins to the common gst va lib.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>
+
+2021-10-24 22:07:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvampeg2dec.c:
+         codecs: Stop claiming constness for refcounted object
+         It's almost pointless and makes little sense as subclass might
+         want to modify refcount of the object or so. And all subclasses
+         are already casting them to non-const version as well.
+         In a general sense, we need to avoid passing refcounted object
+         with const qualifier.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1238>
+
+2022-02-06 01:06:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Use staging buffer pool for non-d3d11 upstream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-06 00:53:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11download.cpp:
+       * sys/d3d11/gstd3d11upload.cpp:
+         d3d11upload,d3d11download: Use staging buffer pool
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-05 23:25:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Use staging buffer pool for non-d3d11 downstream
+         In specific condition, this can show about 10% ~ 30%
+         performance gain with non-d3d11 downstream element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-05 23:08:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11.h:
+       * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
+       * gst-libs/gst/d3d11/meson.build:
+         d3d11: Add new buffer pool implementation for staging texture
+         staging buffer pool will allocate staging d3d11 texture
+         for upload/download optimization. By using staging buffer,
+         we can avoid per frame staging -> system memory copy operation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-02 00:15:34 -0300  Martin Reboredo <yakoyoku@gmail.com>
+
+       * gst-libs/gst/vulkan/gstvkerror.c:
+       * gst-libs/gst/vulkan/gstvkerror.h:
+         gstvulkan: Expose gst_vulkan_result_to_string
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1623>
+
+2022-02-05 17:36:41 +0300  Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+
+       * meson_options.txt:
+         qroverlay: move to plugins that need external deps
+         qroverlay requires libqrencode dependency, move it next to similar plugins.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1642>
+
+2022-02-04 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
+=== release 1.20.0 ===
+
+2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * README:
+       * RELEASE:
+       * gst-plugins-bad.doap:
+       * meson.build:
+         Release 1.20.0
+
+2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.20.0
+
+2022-02-02 09:58:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashsink.c:
+         dashsink: doc cleanup
+         Remove max-files mention in the command line test
+         Fix some typos
+         Use mpegtsdemux instead of tsdemux in the pipeline description
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1624>
+
+2022-02-01 00:18:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+         nvdecoder: Fix for display resolution setup
+         Display resolution should be cropped rect, not coded resolution.
+         Otherwise decoded output from NVDEC might be wrong.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1617>
+
+2022-02-01 03:00:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtenc.c:
+       * sys/applemedia/vtutil.c:
+       * sys/applemedia/vtutil.h:
+         applemedia: Disable 64RGBALE support on older macOS
+         The kCVPixelFormatType_64RGBALE enum is only available on macOS Big
+         Sur (11.3) and newer. We also cannot use that while configuring the
+         encoder or decoder on older macOS.
+         Define the symbol unconditionally, but only use it when we're running
+         on Big Sur with __builtin_available().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1613>
+
+2022-02-01 03:04:32 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtenc.c:
+         applemedia: Remove some unnecessary variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1613>
+
+2022-02-01 05:07:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+       * sys/applemedia/avfassetsrc.m:
+       * sys/applemedia/iosassetsrc.m:
+         docs: Add objc and objcpp files to hotdoc gst_c_sources
+         Hotdoc should be able to extract and parse comments out of these. Just
+         need to be careful to only add the glob in directories that actually
+         contain *.m (objc) and *.mm (objcpp) files.
+         Also fix some doc comments and remove redundant ones.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614>
+
+2022-01-14 11:26:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/wpe/meson.build:
+         wpe: Support wpe-webkit-1.1
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1522>
+
+2022-01-29 10:24:36 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/gstwpe.cpp:
+       * ext/wpe/gstwpe.h:
+       * ext/wpe/meson.build:
+       * ext/wpe/wpe-extension/meson.build:
+         wpe: Install WebExtension in pkglibdir
+         The uninstalled WebExtension takes precedence over the installed one, so that
+         audio support works in local developer builds as well.
+         Fixes #975
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1602>
+
+2022-01-30 19:06:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/plugin.m:
+       * sys/applemedia/vtenc.c:
+         docs: Rename "OS X" to "macOS" in some documentation
+         No one uses the term "Mac OS X" anymore, it's "macOS". "OS X" is even
+         worse, because people will usually start the search with "mac".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1607>
+
+2022-01-28 23:15:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/applemedia/avfvideosrc.m:
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtenc.c:
+         applemedia: Document vtenc / vtdec elements
+         Also preserve-alpha property should only be exposed on the
+         vtenc_prores element since h264 does not support transparency.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/94
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601>
+
+2022-01-28 14:39:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Improve ABI check
+         This moves the ABI check to the registration, so we don't expose
+         decoders with the wrong ABI or that are just broken somehow. It
+         also makes few enhancement:
+         - Handle missing, but required controls
+         - Prints the controls macro name instead of id
+         This should fix RK3399 support with a currently release minor
+         regression in the Hantro driver that cause errors.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1599>
+
+2022-01-28 17:11:41 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.c:
+       * ext/webrtc/utils.h:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/webrtc/webrtcsdp.c:
+       * gst-libs/gst/webrtc/meson.build:
+       * gst-libs/gst/webrtc/webrtc.c:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: Expose RTCError enum
+         The error codes not complying with the spec are now notified with the
+         GST_WEBRTC_ERROR_INTERNAL_FAILURE code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1485>
+
+2022-01-29 04:46:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11decoder: Fix typo in doc
+         s/elemenet/element/g
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1598>
+
+=== release 1.19.90 ===
+
+2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-bad.doap:
+       * meson.build:
+         Release 1.19.90
+
+2022-01-28 14:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.90
+
+2022-01-27 11:22:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Make cb max values symmetrical to their min values.
+         Intel drivers expose some colorbalance's maximum values much more
+         bigger than their minimum values, given their middle values (default
+         value). This means, in practice, that the real middle point between
+         the maximum and minimum values implies a major change in the color
+         balance, which is not expected by the GStreamer color balance logic.
+         This patch makes the given maximum value symmetrical to the minimum
+         value, given the middle one (default value).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1580>
+
+2022-01-27 11:49:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: Fix debug assertion in register functions
+         As now, we warn if the decoder have no support src pixel format, but that
+         warning is called before the type (hence the debug category) is initialized.
+         Fix this by moving the debug category init out of the type initialization,
+         into the register funcitons.
+         This will fix an assertion that occures in the register function and allow
+         relevant log to be seen by the users.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1588>
+
+2022-01-27 17:56:29 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Chain up to parent constructed method
+         Failing to do so makes GstWebRTCBin invisible to the leaks tracer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1587>
+
+2022-01-27 01:40:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/LINGUAS:
+       * po/ro.po:
+         gst-plugins-bad: update translations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
+
+2022-01-27 03:10:39 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+         d3d11av1dec: Fix typo in debug message
+         Fixing copy and paste mistake, It's AV1 decoder not VP8
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1576>
+
+2022-01-25 12:32:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.c:
+         va: basetransform: Pass component index not plane index.
+         This is an issue detected and fixed in commit 3897b24f for other
+         libraries and elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1566>
+
+2022-01-24 11:14:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter & postproc: Match color with caps features.
+         When fixating color, there might be "other caps" with color spaces not
+         supported by the caps features exposed in the vapostproc's source pad
+         caps template (perhaps it's a bug somewhere else in GStreamer).
+         This solution checks if the proposed format exists in the filter
+         within the caps feature associated with the proposed format.
+         The check is done with the new filter's function
+         gst_va_filter_has_video_format().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1559>
+
+2022-01-10 13:34:21 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         tsmux: Allow specifying PMT order via the prog-map
+         Look for an entry `PMT_<PID>` in the `prog-map`, which specifies the
+         relative index of the stream in the PMT.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 14:16:28 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: Deterministically order program streams by PID
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 12:59:58 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: Deterministically order PAT programs by number
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 13:03:11 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         tsmux: Remove program_array_index
+         It's only used for removal. Let's just scan the array.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 12:31:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         tsmux: Replace streams GArray with GPtrArray
+         This is more appropriate.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-19 23:17:23 +0900  Sangchul Lee <sc11.lee@samsung.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/webrtc/webrtcsdp.c:
+         webrtc: Fix memory leaks
+         Redundant condition and unreachable codes are also removed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1544>
+
+2020-07-14 11:11:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+       * sys/v4l2codecs/gstv4l2format.h:
+         v4l2codecs: Unify the src template caps format
+         Notably NV12_4L4 ended up being applied to only VP9 decoder. This fixes the
+         situation by using a central define for all static src pad templated formats.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965>
+
+2022-01-21 14:13:39 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: Sync kernel headers against 5.16.0
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965>
+
+2022-01-21 11:13:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/msdk/msdk.c:
+         msdk: Avoid noisy registry when no MSDK device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1550>
+
+2022-01-21 10:53:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/gstvadisplay.c:
+         va: libs: Avoid noisy registry when no VA device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1550>
+
+2022-01-20 05:59:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+       * sys/wasapi2/gstwasapi2util.c:
+       * sys/wasapi2/gstwasapi2util.h:
+       * sys/wasapi2/meson.build:
+         wasapi2: Fix for device open failure on old OS
+         To open automatic stream routing aware device,
+         at least Windows10 Anniversary Update is required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1545>
+
+2022-01-18 03:03:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+         wasapi2ringbuffer: Fix for desynced buffer-size and segsize
+         GstAudioRingBufferSpec::segsize has been configured by using
+         device period but GstWasapi2RingBuffer was referencing the
+         buffer size returned by IAudioClient::GetBufferSize()
+         which is most likely larger than device period.
+         Fixing to sync them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1533>
+
+2021-12-30 16:52:17 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+       * ext/wayland/wlwindow.h:
+         waylandsink: Ensure correct mapping of area_surface
+         If the `area_surface` got unmapped when changing to the `READY` or
+         `NULL` state, we currently don't remap it when playback resumes and
+         `wp_viewporter` is supported. Without `wp_viewporter` we do remap
+         it, but rather unintentionally and also when not wanted.
+         On Weston this has not been a big problem as it so far wrongly maps
+         subsurfaces of unmapped surfaces anyway - i.e. only the black
+         background was missing on resume. On other compositors and future
+         Weston this prevents the `video_surface` to get remapped.
+         Shuffle things around to ensure `area_surface` is mapped in the
+         right situations and do some minor cleanup.
+         See also https://gitlab.freedesktop.org/wayland/weston/-/issues/426
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1483>
+
+2022-01-16 02:21:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+         d3d11deinterlace: Do not restrict minimum resolution to 64x64
+         The value 64 was completely arbitrary one, and this element
+         will be able to support smaller resolutions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1528>
+
+2022-01-06 22:00:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11compositor.cpp:
+         d3d11compositor: Don't try to read empty buffer
+         The queued buffer may not be readable buffer in case that
+         upstream sends GAP event or so.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1497>
+
+2022-01-13 14:17:09 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * tests/examples/waylandsink/main.c:
+         waylandsink: Fix alpha value for the test pattern in example
+         The background-color property is in big-endian ARGB, resulting in
+         a alpha value of `0`. This accidentally used to work on all common
+         compositors, but on Weston this now correctly results in a black
+         background.
+         See also https://gitlab.freedesktop.org/wayland/weston/-/issues/577
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 13:16:06 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/wldisplay.c:
+       * ext/wayland/wlwindow.c:
+         waylandsink: Use wl_surface_damage_buffer() instead of wl_surface_damage()
+         The later, doing damage in surface coordinates instead of buffer
+         coordinates, has been deprecated. The reason for that is that it
+         is more prone to bugs, both on the client and the compositor side,
+         especially when paired with buffer scale, `wp_viewporter` or
+         buffer transforms.
+         Unfortunately, on Weston this risks running into
+         https://gitlab.freedesktop.org/wayland/weston/-/issues/446
+         (which causes trouble for several other projects as well). However,
+         that bug only affects cases where we run in sync mode, i.e. only
+         during resizes. In practise I haven't been able to observe the
+         issue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 12:21:06 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Use G_MAXINT32 for surface damage
+         Each time we call `wl_surface_damage()` we want to do full surface
+         damage. Like Mesa, just use `G_MAXINT32` to ensure we always do
+         full damage, reducing the need to track the right dimensions.
+         `window->video_rectangle` is now unused, but we keep it around for
+         now as we may need it again in the future.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-30 18:14:24 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Only call wl_surface_damage() when buffer content changed
+         From the spec:
+         > This request is used to describe the regions where the pending
+         > buffer is different from the current surface contents
+         We currently also call `wl_surface_damage()` on surfaces without
+         new or still compositor-hold buffers, e.g. when resizing the window.
+         In that case we call it on `area_surface_wrapper`, even though it
+         gets resized via `wp_viewport_set_destination()`, in which case
+         the compositor is in charge of repainting the area on screen.
+         Doing so is currently not forbidden by the spec, however it might
+         be in the future, see
+         https://gitlab.freedesktop.org/wayland/wayland/-/issues/267
+         Thus lets stay close to the spec and only call `wl_surface_damage()`
+         when we just attached a buffer.
+         Right now this prevents runtime assertions in Mutter.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 14:31:06 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Simplify input region handling
+         We only need to unset the input region for the area surface when
+         we don't have our own toplevel surface. By default, the input region
+         covers the whole surface, thus no need to change it on resize.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 12:00:10 +0100  Robert Mader <robert.mader@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Use G_MAXINT32 for opaque regions
+         `gst_wl_window_set_opaque` does not get called on window resizes,
+         potentially leaving opaque regions too small.
+         According to the spec opaque regions can be bigger than the surface
+         size - parts that fall outside of the surface will get ignored.
+         Thus we can can simply use `G_MAXINT32` and be sure that the whole
+         surfaces will always be covered.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2022-01-11 13:21:55 -0500  Dave Piché <dave.piche@motorolasolutions.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: fix log error message in function gst_webrtc_bin_set_local_description
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1511>
+
+2022-01-13 11:31:55 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/mxf/mxfvanc.c:
+         mxfdemux: don't error out if VANC track only contains packets we don't handle
+         If the VANC track does contain packets, but we skip over all packets, just
+         treat it the same as if there hadn't been any packets at all and send a
+         GAP event instead of erroring out with "Failed to handle essence element".
+         We would error out because when we reach the end of the loop without having
+         found a closed caption packet the flow return variable is still FLOW_ERROR
+         which is what it has been initialised to.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1518>
+
+2022-01-13 10:36:24 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         codecparsers: h265parser: return invalid profile if len is 0.
+         Though the profiles[0] is inited as GST_H265_PROFILE_INVALID in the
+         gst_h265_profile_tier_level_get_profile(), the profile detecting may
+         change its content later. So the return of profiles[0] may not be an
+         invalid profile even the len is 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1517>
+
+2022-01-13 10:11:52 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         codecparsers: h265parser: Fix the index incrementation error in append_profile().
+         The current "*idx++" operation just refers the pointer and increment the pointer
+         itself, not the content of the pointer. This causes that the count of the profiles
+         is always 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1517>
+
+2022-01-04 04:56:55 +0300  Dmitry Osipenko <digetx@gmail.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Support auto-detection of NVIDIA Tegra driver
+         NVIDIA Tegra SoCs have a separate (from GPU) display controller. It's
+         the primary display device on all Tegra SoCs. Add Tegra to the list
+         of primary DRM drivers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1514>
+
+2022-01-08 00:16:29 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: fix s334-1a scheduling
+         The previous code was mistakenly trying to compute a cc_type out
+         of the first byte in the byte triplet, whereas it is to be interpreted
+         as:
+         > Bit b7 of the LINE value is the field number (0 for field 2; 1 for field 1).
+         > Bits b6 and b5 are 0. Bits b4-b0 form a 5-bit unsigned integer which
+         > represents the offset
+         The same mistake was made when creating padding packets.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1496>
+
+2022-01-05 22:48:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: merge buffers for both fields with caption type s334-1a
+         Other elements such as line21encoder expect both fields to be present
+         in the same meta, not one meta per field.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1496>
+
+2022-01-10 15:24:13 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+         av1parser: Fix data type of film grain param
+         Fix cb_offset and cr_offset data type from guint8 to guint16. According
+         to spec, cb_offset and cr_offset are 9 bit long, while guint8 can cause
+         interger overflow, and thus change to guint16.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1508>
+
+2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+       * ext/opencv/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+       * meson.build:
+       * sys/msdk/meson.build:
+         meson: Add explicit check: kwarg to all run_command() calls
+         This is required since Meson 0.61.0, and causes a warning to be
+         emitted otherwise:
+         https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
+         https://github.com/mesonbuild/meson/issues/9300
+         This exposed a bunch of places where we had broken run_command()
+         calls, unnecessary run_command() calls, and places where check: true
+         should be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
+
+2022-01-05 10:53:55 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+         alphacombine: update example launch line
+         Fix typos and missing videoconvert element to demonstrate
+         the alphacombine element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1494>
+
+2021-12-24 23:09:59 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Set the "tu" as the default alignment.
+         The tu(temporal unit) is more widely used than the current alignment.
+         We now change the default alignment to tu.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1468>
+
+2021-12-24 21:50:01 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Fix the wrong DELTA_UNIT flag setting for key frames.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1468>
+
+2021-12-22 12:36:15 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Copy the PTS and DURATION when we create data.
+         We need to create header buffers for annex b format. This kind of
+         buffers should inherit the PTS and DURATION from the original buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1468>
+
+2022-01-03 21:02:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtenc.c:
+         vtenc: Signal ignored alpha component with ProRes
+         When the image is opaque but the output ProRes format has an alpha
+         component (4 component, 32 bits per pixel), Apple requires that we
+         signal that it should be ignored by setting the depth to 24 bits per
+         pixel. Not doing so causes the encoded files to fail validation.
+         So we set that in the caps and qtmux sets the depth value in the
+         container, which will be read by demuxers so that decoders can skip
+         those bytes entirely. qtdemux does this, but vtdec does not use this
+         information at present.
+         The sister change was made in qtmux and qtdemux in:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1489>
+
+2022-01-03 22:15:12 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         codecparsers: h265parser: Correct the read of slice_sao_chroma_flag.
+         According to the SPEC, for parsing the slice header, we should read the
+         slice_sao_chroma_flag only when ChromaArrayType is not equal to 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1488>
+
+2021-12-29 21:29:02 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: Support RFC8081 mime types
+         Old "application/*" are now as per RFC8081 deprecated in favor of
+         new "font/*" mime types. Some new encoders are already using the
+         updated mime types. We need to also add them to the support list
+         in order for assrender to correctly identify them as fonts.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1481>
+
+2021-12-29 21:28:56 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: Handle ".ttc" attachment extension
+         TTC stands for "TrueType Collection" file. We can pass it
+         into libass as any other attachment. Add it to the supported
+         extensions list, so the fonts it contains will be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1481>
+
+2022-01-02 09:38:43 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtcdatachannel: Notify buffered-amount property updates
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1484>
+
+2021-12-27 03:15:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.cpp:
+         d3d11decoder: Negotiate again on the first output buffer
+         ... unconditionally. There may be updated field in sinkpad caps
+         after the new_sequence() call (HDR related ones for example),
+         then we should signal the information to downstream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1474>
+
+2021-12-29 15:02:03 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Fix null pointer dereference
+         If there is no jitterbuffer stats we should not attempt to store them in the
+         global stats structure.
+         Also add a g_return_if_fail in _gst_structure_take_structure() about this
+         because it is a programmer error to pass an invalid pointer address there.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1479>
+
+2021-08-12 19:14:16 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         codecparsers: av1parse: Add the DECODE_ONLY flag to output buffer.
+         When the alignment is ALIGN_FRAME and the output buf contains a frame
+         which is not to be shown, the GST_BUFFER_FLAG_DECODE_ONLY flag should
+         be set.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1050>
+
+2021-12-14 12:38:25 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Fall back to last packet ssrc if caps dont provide it
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-14 11:28:42 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcstats: Use our own caps instead of the sticky event
+         The sticky event seems to get cleared sometimes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-14 11:28:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: Store the ssrc of the last received packet
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-13 16:57:06 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtc stats: Remove duplicate structure get
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-13 16:56:37 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtc stats: Add more details about codecs into the stats
+         This makes the output a little closer to what the upstream stats are.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-23 10:06:58 +1100  Brad Hards <bradh@frogmouth.net>
+
+       * ChangeLog:
+       * data/targets/file-extension/ts.gep:
+         doc: typo fix for streaming
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1463>
+
+2021-12-21 12:55:59 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaprofile.c:
+         va: av1dec: Use named profiles to replace the numeric ones.
+         Use named AV1 profiles (i.e., main, high, and professional) to replace
+         the old 0, 1, 2 profiles.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-21 01:08:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: Update for newly designed AV1 profile signalling
+         Accept named AV1 profiles (i.e., main, high, and professional)
+         as well
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-19 21:48:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+         d3d11av1dec: Update sinkpad template for profile
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-19 21:44:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gstav1parse.c:
+       * tests/check/elements/av1parse.c:
+         av1parse: Use descriptive profile name instead of numeric
+         As per AV1 specification Annex A, AV1 profiles have explicit and
+         descriptive names for each seq_profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-19 21:47:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gstav1parse.c:
+         av1parse: Remove trailing white space
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-17 22:24:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+         d3d11av1dec: Fix for Cdef param
+         av1parser will increase the sec_strength values by 1 if parsed
+         values were equal to 3 as defined in spec. But DXVA wants unmodified
+         ones.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1455>
+
+2021-12-17 19:49:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+         d3d11av1dec: Sync DXVA AV1 data structure with released header
+         Update AV1 data structure based on Windows 11 SDK header
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1455>
+
+2021-12-15 12:27:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/check/libs/h265parser.c:
+         tests: h265parser: Add test for multiple compatibility profiles.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-14 19:56:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parser: Compare upstream profile with in SPS.
+         Compare if upstream profile in caps is the same as the one parsed in
+         the SPS. If they are different use the bigger for simplicity and
+         more chances to decode it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-15 11:58:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         codecparsers: h265parser: Use a table map to get profile.
+         Instead of a sequence of if statements, declare a table to map profile
+         idc with profiles and traverse it.
+         Also, first add the profile from the parsed profile idc and later add,
+         into the profile array, the profile from the compatibility flags.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-14 19:36:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         codecparsers: h265parser: Verify all possible profiles.
+         It's possible a HEVC stream to have multiple profiles given the
+         compatibility bits. Instead of returning a single profile, internal
+         gst_h265_profile_tier_level_get_profiles() returns an array with all
+         it possible profiles.
+         Profiles are appended into the array only if the generated profile
+         is not invalid.
+         gst_h265_profile_tier_level_get_profile() is rewritten in terms of
+         gst_h265_profile_tier_level_get_profiles(), returning the first
+         profile found the array.
+         And  gst_h265_get_profile_from_sps() is also rewritten in terms of
+         gst_h265_profile_tier_level_get_profiles(), but traversing the array
+         verifying if the proposed profile is actually valid by Annex A.3.x of
+         the specification.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-09 03:00:56 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: bind transceiver's fec-percentage to encoder percentage
+         Allows for dynamic control of the applied FEC overhead
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
+
+2021-12-07 23:55:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+         webrtcbin: fix ulpfec / red for the BUNDLE case
+         * Add fec / red encoders as direct children of webrtcbin, instead
+         of providing them to rtpbin through the request-fec-encoder signal.
+         That is because they need to be placed before the rtpfunnel, which
+         is placed upstream of rtpbin.
+         * Update configuration of red decoders to set a list of RED payloads
+         on them, instead of setting the pt property.
+         That is because there may be one RED pt per media in the same session.
+         * Connect to request-fec-decoder-full instead of request-fec-decoder,
+         in order to instantiate FEC decoders according to the payload type
+         of the stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
+
+2021-12-10 21:58:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+         d3d11videosink: Use only tested color space for swapchain
+         We are querying supported swapchain colorspace via
+         CheckColorSpaceSupport() but it doesn't seem to be reliable.
+         Use only tested full-range RGB formats which are:
+         - sRGB
+         - BT709 primaries with linear RGB
+         - BT2020 primaries with PQ gamma
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1433>
+
+2021-12-11 11:33:39 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/soundtouch/gstpitch.cc:
+         pitch: Specify layout as required for negotiation
+         There are cases where it might negotiate 'non-interleaved' while it
+         is wrong.
+         ```
+         gst-launch-1.0 audiotestsrc !  "audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved" ! audioconvert ! audioresample ! pitch tempo=1.2 ! audioconvert ! "audio/x-raw,format=S16LE" ! fakesink
+         Setting pipeline to PAUSED ...
+         Pipeline is PREROLLING ...
+         (gst-launch-1.0:3029628): GStreamer-Audio-CRITICAL **: 11:42:22.477: gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
+         ERROR: from element /GstPipeline:pipeline0/GstAudioConvert:audioconvert1: The stream is in the wrong format.
+         Additional debug info:
+         ../subprojects/gst-plugins-base/gst/audioconvert/gstaudioconvert.c(876): gst_audio_convert_transform (): /GstPipeline:pipeline0/GstAudioConvert:audioconvert1:
+         failed to map input buffer
+         ERROR: pipeline doesn't want to preroll.
+         ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data stream error.
+         Setting pipeline to NULL ...
+         Additional debug info:
+         ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
+         streaming stopped, reason error (-5)
+         ERROR: pipeline doesn't want to preroll.
+         Freeing pipeline ...
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1441>
+
+2021-12-10 15:46:41 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update vp9alphadecodebin doc cache
+         A new field was added to the template cpas.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 15:18:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+         alphacombine: Fix for early allocation queries
+         When using playbin3, it seems that the alpha decode is always first to
+         push caps and run an allocation query. As the format change from sink
+         and alpha were not synchronized, the allocation query could endup
+         being run before the caps are pushed. That may lead to failing query,
+         which makes the decoder thinks there is no GstVideoMeta downstream and
+         most likely CPU copy the frame.
+         This patch implements a format cookie to track and synchronize the
+         format changes on both pads fixing the racy performance issue.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:09:44 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp9dec.h:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: vp9: Add alpha decodebin wrapper
+         This will allow HW accelerated decoding of WebM alpha videos.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:09:06 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: plugin: Minor style fix
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:08:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: decoder: Improve logging of timed out request
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:07:18 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: mpeg2: Check that the decoder output formats
+         This is to avoid exposing a decoder for which we don't support any
+         output format. This happens on platform using vendor formats or
+         not yet supported tiles formats.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:04:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/codecalpha/gstvp9alphadecodebin.c:
+         vp9alphadecodebin: Fix auto-pluging v4l2slvp9dec
+         This adds the alignment field to the template caps. Without this field
+         set, the auto-plugger will see fixed caps and will use
+         gst_caps_is_subset() against the caps produced by the parser. This is a
+         challenge for all cases where a parser can do conversion. This is fixed
+         by adding alignment field, which makes the auto-pluggers do an
+         intersection of the caps as it gets unfixed caps after intersection now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-09 19:55:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11pluginutils.cpp:
+       * sys/d3d11/gstd3d11pluginutils.h:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Remove hack related to color space selection
+         Use input GstVideoColorPrimaries without any special case handling
+         otherwise rendered image color would be very wrong.
+         The hack was added to work around an issue that some Intel driver
+         couldn't handle wide color gamut image without HDR10 metadata, specifically PQ image.
+         But device capability can be checked via a method added in
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1723
+         so there's no issue now.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1175
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1430>
+
+2021-12-09 19:51:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Fix typo in debug message
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1430>
+
+2021-12-08 11:08:30 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Fix return value type
+         Return value should be GstFlowReturn not gboolean
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1426>
+
+2021-12-07 17:09:11 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Fix return value if klass->new_picture isn't set
+         If klass->new_picture isn't set we need to initialize
+         ret with GST_FLOW_OK to avoid unwanted error case
+         Fixes: 5b405d15858b ("codecs: h265decoder: Use GstFlowReturn everywhere")
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1426>
+
+2021-12-06 16:47:14 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Use basesrc event vfunc
+         Allows for basic default handling from the base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1422>
+
+2021-12-03 13:24:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/teletextdec/gstteletextdec.c:
+         teletextdec: fix minor string leak
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1416>
+
+2021-12-02 15:52:06 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: set properties on children early
+         The properties on the udpsink/udpsrc elements need to be set before
+         there is any state change. If not, in a network without default gateway,
+         udpsink tries to bind an a NULL interface and fails.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1411>
+
+2021-12-03 07:53:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+         v4l2codecs: mpeg2: Fix selected sizeimage
+         Due to a copy paste bug, the bitdepth was never set and that was leading
+         to requesting sizeimage of 0. Previously that worked since the driver
+         would in that case pick a size for us. But now the we bumped the minimum
+         to 4KB, the driver happily allocate 4KB of bitstream which lead to
+         decoding error.
+         As MPEG2 have a fixed bitdeph of 8, use a define instead of the run-time
+         variable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1415>
+
+2021-12-01 12:16:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: vp9: Drop frames on non-keyframe format change
+         V4L2 does not yet support this feature, this will skip over the
+         transition portion up to the next keyframe.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1404>
+
+2021-12-01 09:51:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: Fix renegotiation
+         If we hold the last reference to the allocator, leaving the device
+         streaming will cause an EBUSY error when trying to free the allocate
+         buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1404>
+
+2021-12-02 16:26:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11vp9dec: Drop frames on non-keyframe format change
+         ... in case of NVIDIA GPU
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-12-02 16:04:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvvp9sldec: Drop frames on non-keyframe format change
+         NVDEC doesn't seem to be able to handle the case
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-12-02 16:03:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         codecs: vp9: Drop frames on non-keyframe format change
+         ... if subclass does not support the case
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-12-01 12:10:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: vp9: Also consider render_width/height
+         Also emits new_sequence if on keyframe and the render_width/height have
+         change. The subclass can always optimize this if the frame resolution
+         didn't change, the output caps needs to reflect this though.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-11-30 10:24:37 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsink.c:
+         rtpsink: set properties on children early
+         The properties on the udpsink/udpsrc elements need to be set before
+         there is any state change. If not, in a network without default gateway,
+         udpsink tries to bind an a NULL interface and fails.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1398>
+
+2021-11-30 14:48:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: vp9: Remove uneeded picture data
+         The GstV4l2Request now holds a reference on the picture buffer and is
+         recounted already. This effectively removes usage of GRefCount which is only
+         available in GLib 2.58, while we support 2.56.
+         Fixes #910
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1402>
+
+2021-11-30 17:05:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: decoder: Add method to get the pic_buf
+         This helper will be needed for VP9 frame duplication.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1402>
+
+2021-11-30 16:08:18 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: vp9: Add missing error checks in decide_allocation
+         This could otherwise lead to crash.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1402>
+
+2021-11-24 11:17:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Fix typo in comment
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1387>
+
+2021-11-24 11:17:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Properly set pic_num/frame_num
+         The V4L2 uAPI uses pic_num for both PicNum and ShortTermPicNum. It also
+         doe the same for both FrameNum and LongTermFrameIdx. This change does
+         not change the fluster score, but fixed a visual corruption noticed
+         with some third party streams.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1387>
+
+2021-11-23 16:35:16 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvasurfacecopy.c:
+         va: Use a lock to protect the surface copy by using vpp.
+         If we use vpp to do the surface copy, its operation is not atomic.
+         We need to maintain the filter's context unchanged during the whole
+         copy progress.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1373>
+
+2021-11-23 21:10:55 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: Use the GstVaSurfaceCopy of the allocator atomically.
+         The mem_copy() of the allocator can be called simultaneously from
+         different threads. We should use atomic pointer operations to create
+         and use the GstVaSurfaceCopy of the allocator.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1373>
+
+2021-11-22 16:07:27 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: DMA allocator: Set the copied memory properly when popped from pool.
+         The current code does not set the copied memory correctly when it is popped
+         from the surface cache pool.
+         1. We forget to ref the allocator, which causes the allocator to be freed
+         unexpected, and we get a crash later because of the memory violation.
+         2. We forget to add ref_mems_count, which causes the surface leak because
+         the surface can not be pushed back to the cache pool again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1373>
+
+2021-04-22 16:29:20 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: gstv4l2decoder: set minimum sizeimage
+         Set minimum sizeimage such that there is enough space for any overhead
+         introduced by the codec.
+         Notably fix a vp9 issue in which a small image would not have a
+         bitstream buffer large enough to accomodate it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-04-07 16:15:32 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+         v4l2codecs: gstv4l2codecsvp9dec: implement a render delay
+         The v4l2 backend support delayed output for performance reasons.
+         It is then possible to use render delays to queue multiple requests
+         simultaneously, thus increasing performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-03-30 13:30:46 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp9dec.h:
+       * sys/v4l2codecs/gstv4l2format.c:
+       * sys/v4l2codecs/linux/videodev2.h:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: vp9dec: Implement VP9 v4l2 decoder
+         Implement a v4l2 based vp9 decoder element based on the preexisting vp8
+         v4l2 decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-07-14 16:21:59 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: update to the new uAPI
+         The new VP9 stateless API is in its way to be destaged. Update our
+         headers to match.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-04-08 10:40:03 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: gstvp9decoder: copy frame->system_frame_number into picture
+         A comment in gstvp9picture.h states that picture->system_frame_number
+         should get its value from frame->system_frame_number, but in fact
+         it was never copied at all.
+         Fix it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-04-08 10:38:55 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * gst-libs/gst/codecs/gstvp9statefulparser.c:
+       * gst-libs/gst/codecs/gstvp9statefulparser.h:
+         codecs: gstvp9{decoder|statefulparser}: optionally parse compressed headers
+         Rework gstvp9{decoder|statefulparser} to optionally parse compressed headers.
+         The information in these headers might be needed for accelerators
+         downstream, so optionally parse them if downstream requests it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-11-23 20:12:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: deduplicate extmaps
+         When an extmap is defined twice for the same ID, firefox complains and
+         errors out (chrome is smart enough to accept strict duplicates).
+         To work around this, we deduplicate extmap attributes, and also error
+         out when a different extmap is defined for the same ID.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1383>
+
+2021-11-23 13:30:17 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2decoder: drain() only when significant sequence changes.
+         There are a lot of info in the mpeg2's sequence(also including ext
+         display_ext and scalable_ext). We need to notify the subclass about
+         its change, but not all the changes should trigger a drain(), which
+         may change the output picture order. For example, the matrix changes
+         in sequence header does not change the decoder context and so no need
+         to trigger a drain().
+         Fixes: #899
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1375>
+
+2021-11-23 23:52:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/openjpeg/gstopenjpegenc.h:
+         openjpegenc: Fix build warning
+         Compiling C object subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpeg.dll.p/gstopenjpegenc.c.obj
+         ../subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegenc.c(416):
+         warning C4133: '=': incompatible types - from 'GstFlowReturn (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)' to
+         'gboolean (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)'
+         ../subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegenc.c(418):
+         warning C4133: '=': incompatible types - from 'GstFlowReturn (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)' to
+         'gboolean (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1378>
+
+2021-11-23 09:28:57 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * ext/gs/gstgssink.cpp:
+         gssink: add metadata property
+         This property can be used to set metadata on the storage object.
+         Similar API has been added to the S3 sink already, see
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/613
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1377>
+
+2021-11-23 00:25:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+         d3d11: Update comments
+         Remove copy & paste mistake (this is not GstGL) and add more
+         description.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1374>
+
+2021-11-19 15:13:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasetransform.c:
+       * sys/va/gstvabasetransform.h:
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvavpp.c:
+         vapostproc, vadeinterlace: don't transform caps if no intersection.
+         If caps to transform don't intersect with those supported by the VA
+         filter (VAEntrypointVideoProc) then return them as is, because only
+         pass-through mode is the only possibility.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-11-16 10:40:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Append featured caps rather than merge.
+         So it would be possible to honor upstream preference.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-10-25 19:22:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Remove dead code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-10-25 19:22:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+         va: filter: Validate input parameter in internal function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-11-15 10:15:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: log drm modifier
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-11-22 17:34:22 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvavpp.c:
+         va: vpp: Fix the memory leak in fixate_caps().
+         For the BaseTransform class, the function of fixate_caps(), takes
+         the ownership of "othercaps". So we should clear it in our subclass.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1372>
+
+2021-11-13 12:22:36 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/player/gstplayer.c:
+         player: Ensure the GstPlay is created before the wrapped renderer
+         The GstPlayerWrappedVideoRenderer implicitely depends on GstPlay.
+         Fixes #878
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>
+
+2021-11-13 12:17:23 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/play/gstplay.c:
+         play: Allow runtime configuration of video-renderer
+         This is a requirement for GstPlayer when using the default overlay interface
+         provided by the pipeline. The GstPlayerWrappedVideoRenderer requires a valid
+         pipeline, but that's available only after the GstPlay thread has successfully
+         started.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>
+
+2021-11-19 19:02:20 +0800  He Junyan <junyan.he@intel.com>
+
+       * sys/va/gstvadecoder.c:
+         va: decoder: Also ref the display when duplicating pictures.
+         The _destroy_buffers() will check the display handle using the
+         g_return_val_if_fail. we should not generate the invalid pointer
+         warning.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1368>
+
+2021-11-17 22:51:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update doc cache for Windows specific plugins
+         Updating doc cache for d3d11, mediafoundation and wasapi2 plugins
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-18 00:16:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2sink.c:
+         wasapi2: Fix typo in doc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-17 22:46:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Skip doc for non-default encoder elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-10-21 19:41:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11deinterlace.cpp:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+       * sys/d3d11/plugin.cpp:
+         d3d11: Stop doc for non-default decoder and deinterlacer elements
+         Just skip doc for non-default decoder/deinterlacer elements
+         since there are multiple element in case that system has
+         multiple GPUs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-19 13:27:54 +0900  Wonchul Lee <wonchul.dev@gmail.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11: Fix deadlock while doing unprepare
+         ShowWindow() could be blocked while doing gst_d3d11_window_win32_unprepare
+         when external window handle provided to d3d11videosink in multi-threaded
+         environment.
+         The condition that issue happened is, UI thread is waiting for a
+         background thread that changes d3d11videosink state to NULL, and the
+         background thread would try to send a window message to the queue.
+         The queue is already occupied by the UI thread, so the background
+         thread will be blocked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1366>
+
+2021-11-16 12:56:38 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Fix frame stuttering in GL rendering path
+         Make sure the EGLImage we're rendering to the GL memory stays alive long enough,
+         until the the GL memory has been destroyed.
+         This change fixes tearing and black flashes artefacts that were happening
+         because the EGLImage was sometimes destroyed before the sink actually rendered
+         the associated texture.
+         Fixes #889
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1354>
+
+2021-11-16 12:53:35 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpevideosrc.cpp:
+         wpevideosrc: Run through gst-indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1354>
+
+2021-11-11 19:11:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/rsvg/gstrsvgoverlay.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+         docs: fix unnecessary ampersand, < and > escaping in code blocks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
+
+2020-11-05 10:23:13 +0100  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpcrfbase.c:
+         avtp: crf: Process also local CRF streams
+         Without this patch locally generated CRF streams will be ignored.
+         Therefore the same network interface could not be CRF talker and
+         CRF listener.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1074>
+
+2021-11-09 15:10:21 +0100  Jean Felder <jean.felder@gmail.com>
+
+       * gst/id3tag/id3tag.c:
+         id3tag: Map GST_TAG_MUSICBRAINZ_RELEASETRACKID
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1331>
+
+2021-11-09 15:04:59 +0100  Jean Felder <jean.felder@gmail.com>
+
+       * gst/id3tag/id3tag.c:
+         id3tag: Map GST_TAG_MUSICBRAINZ_RELEASEGROUPID
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1331>
+
+2021-11-09 15:04:00 +0100  Jean Felder <jean.felder@gmail.com>
+
+       * gst/id3tag/id3tag.c:
+         id3tag: Remove trailing whitespace
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1331>
+
+2021-10-06 15:54:09 +0200  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpsrc.c:
+         avtpsrc: Use correct size for provided buffers
+         Without this patch the following pipeline would send packets containing
+         garbage in the data section.
+         $ gst-launch-1.0 avtpsrc ! avtpsink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1077>
+
+2020-10-15 14:49:58 +0200  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpcrfsync.c:
+         avtp: crfsync: Warn when CRF package not yet received
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1075>
+
+2021-03-03 10:08:57 +0100  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * tests/check/elements/avtpcrfbase.c:
+         test: avtp: crf: Check for rounding errors
+         on average period calculation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1073>
+
+2020-11-11 16:50:28 +0100  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpcrfbase.c:
+       * ext/avtp/gstavtpcrfbase.h:
+       * tests/check/elements/avtpcrfbase.c:
+         avtp: crf: Use double for average period calculation
+         to also support CRF intervals like every 1,333,333ns 64 events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1073>
+
+2021-01-12 10:03:32 +0100  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * tests/check/elements/avtpcrfbase.c:
+         tests: avtp: crf: Test for timestamp_interval > 1
+         in case of CRF AVTPDUs with single CRF timestamp.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1076>
+
+2020-09-16 17:12:32 +0200  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpcrfbase.c:
+       * ext/avtp/gstavtpcrfbase.h:
+         avtp: crf: Properly handling one timestamp per PDU
+         The average_period should always represent the time between two
+         events. The specification defines the event time as the time
+         between audio samples, video frame sync, video line sync, etc.
+         In case of one timestamp per PDU the timestamp_interval identifies
+         the amount of events between the timestamp of one PDU and the
+         timestamp of the next PDU.
+         As described in IEEE 1722-2016 chapter
+         "10.4.12 timestamp_interval field" timestamp_interval shall be
+         nonzero.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1076>
+
+2021-11-08 20:18:51 +0100  Thomas Klausner <tk@giga.or.at>
+
+       * sys/shm/meson.build:
+         shm: NetBSD build fix
+         shm_unlink() and friends live in librt on NetBSD. Adapt build system.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1323>
+
+2021-05-21 16:56:33 -0300  Martin Reboredo <yakoyoku@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+         aom: Set fixed_qp_offsets to a deactivated value
+         aom only uses fixed_qp_offsets with the
+         Constant Quality (Q) Rate Control mode,
+         previously this was locking any usage
+         with another Rate Control mode.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1198>
+
+2021-11-05 13:12:14 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * sys/magicleap/meson.build:
+         magicleap: update lumin_rt libraries names to the latest official version
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1314>
+
+2021-10-05 01:07:57 +0800  He Junyan <junyan.he@intel.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264dec: Calculate the latency by its bump mode.
+         The current latency calculation just uses the num_reorder_frames,
+         which is not very precise. We should consider the bump mode of the
+         DPB, the faster it bumps, the lower latency we will have.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1046>
+
+2021-11-04 19:06:22 +0000  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/nvcodec/gstcudabasefilter.c:
+       * sys/nvcodec/gstcudabasetransform.c:
+       * sys/nvcodec/gstcudaconvert.c:
+       * sys/nvcodec/gstcudadownload.c:
+       * sys/nvcodec/gstcudascale.c:
+       * sys/nvcodec/gstcudaupload.c:
+       * sys/nvcodec/gstnvdec.c:
+         doc: Update nvdec documentation
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/870
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1309>
+
+2021-11-03 17:09:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: Don't insert extra AUD if exists in bitstream already
+         AUD nalu in packetized format is completely valid and therefore we should not
+         assume that we should insert AUD for packetized -> bytestream
+         conversion.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/862
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1296>
+
+2021-11-03 20:36:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/elements/h264parse.c:
+         tests: h264parse: Add test for AUD insertion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1296>
+
+2021-11-04 16:36:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+         wasapi2ringbuffer: Fix client object leak
+         Check whether ringbuffer is holding client object already since
+         open_device() may be called multiple times
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1307>
+
+2021-11-04 12:48:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Clear errors from finding codec preferences before the next iteration
+         The media is just skipped and the error is not propagated to the caller,
+         so keeping it around here would cause assertions a bit later when trying
+         to set a new error over the old one.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>
+
+2021-11-04 12:45:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Move addition of attributes to the caps after making sure they're not empty or any
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>
+
+2021-11-02 11:21:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Don't require fixed caps when querying caps for a transceiver pad to match it with a media
+         Upstream caps might for example be
+         application/x-rtp,media=audio,encoding-name={OPUS, X-GST-OPUS-DRAFT-SPITTKA-00, multiopus}
+         and while that is not fixed caps it is enough to match it with a media.
+         Only caps structures that have the correct structure name and that have
+         the media and encoding-name field are preserved, but if both are present
+         then these caps are used as "codec preferences".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>
+
+2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
 === release 1.19.3 ===
 
 2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>
 
+       * ChangeLog:
        * NEWS:
        * RELEASE:
        * gst-plugins-bad.doap: