dwww Home | Show directory contents | Find package

=== release 1.22.0 ===

2023-01-23 19:29:34 +0000  Tim-Philipp Müller <tim@centricular.com>

        * NEWS:
        * RELEASE:
        * gst-plugins-bad.doap:
        * meson.build:
          Release 1.22.0

2023-01-23 16:28:08 +0000  Tim-Philipp Müller <tim@centricular.com>

        * po/hr.po:
        * po/ro.po:
        * po/zh_CN.po:
          gst-plugins-bad: update translations
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

2023-01-23 23:29:08 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11compositor.cpp:
          d3d11compositor: Workaround blending artifacts on Intel platform
          Disable vendor implemented converter in d3d11compositor to workaround
          artifacts
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3770>

2023-01-19 15:24:05 +0100  Jonas Danielsson <jonas.danielsson@spiideo.com>

        * ext/wpe/WPEThreadedView.cpp:
        * ext/wpe/WPEThreadedView.h:
        * ext/wpe/gstwpesrcbin.cpp:
        * ext/wpe/gstwpevideosrc.cpp:
          wpe: Add 'run-javascript' action signal
          Introduce way of running a script in the context of the internal
          webView.
          Fixes #1722
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3753>

2023-01-19 22:40:36 +0900  Seungha Yang <seungha@centricular.com>

        * sys/win32ipc/gstwin32ipcvideosrc.cpp:
          win32ipcvideosrc: Fix leak in fallback copy path
          Clear shared memory after use
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3751>

2023-01-19 15:36:40 +0100  Edward Hervey <edward@centricular.com>

        * sys/va/gstvah264enc.c:
        * sys/va/gstvah265enc.c:
          va: Fix path leak
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3755>

=== release 1.21.90 ===

2023-01-13 19:08:48 +0000  Tim-Philipp Müller <tim@centricular.com>

        * NEWS:
        * RELEASE:
        * gst-plugins-bad.doap:
        * meson.build:
          Release 1.21.90

2023-01-12 22:17:24 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/d3d11/gstd3d11memory.cpp:
          d3d11memory: Fix potential crash in GstD3D11PoolAllocator
          Allocator object can be the final refcount holder, when a GstD3D11Memory
          is being released. Do unref allocator once there's no more
          remaining operation.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715>

2023-01-12 22:14:30 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/d3d11/gstd3d11memory.cpp:
          d3d11memory: Remove GstD3D11PoolAllocator::dispose
          Clear GstD3D11Device object in finalize method as well
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715>

2023-01-11 15:41:21 +0000  Tim-Philipp Müller <tim@centricular.com>

        * po/LINGUAS:
        * po/es.po:
        * po/hr.po:
        * po/ka.po:
        * po/lt.po:
        * po/nl.po:
        * po/ru.po:
        * po/sk.po:
        * po/sl.po:
        * po/sr.po:
        * po/uk.po:
        * po/zh_TW.po:
          gst-plugins-bad: update translations
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

2023-01-11 14:53:39 +0000  Tim-Philipp Müller <tim@centricular.com>

        * scripts/dist-translations.py:
        * scripts/meson.build:
          Fix translation pot files when creating dist tarballs
          Add version as per Translation Project requirements and
          also add a .pot file without the ABI suffix.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

2023-01-11 12:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>

        * tools/gst-transcoder.c:
          tools: Use `gst_macos_main()` on macOS
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1673
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3709>

2023-01-11 03:23:57 +0900  Seungha Yang <seungha@centricular.com>

        * meson.build:
          meson: gst-plugins-bad: Disable spammy MSVC warning
          warning C5051: attribute 'noinline' requires at least '/std:c++20';
          ignored
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3705>

2023-01-09 12:39:55 +0200  Sebastian Dröge <sebastian@centricular.com>

        * gst/mxf/mxfmetadata.c:
          mxfmux: Add all local tags to the primer
          No matter if they're allocated via GSlice or malloc(). The allocator is
          completely irrelevant, all local tags need to be in the primer so they
          can be handled.
          This didn't have any effect in practice because all local tags that
          appear in the muxer are allocated via GSlice. Only from the demuxer they
          might be allocated via malloc().
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3699>

2022-12-15 18:42:26 +0000  Philippe Normand <philn@igalia.com>

        * docs/plugins/gst_plugins_cache.json:
        * ext/aom/gstav1enc.c:
        * ext/aom/gstav1enc.h:
          av1enc: Add property for controlling max distance between 2 keyframes
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2022-07-11 11:03:16 +0530  Yatin Mann <yatinmaan1@gmail.com>

        * docs/plugins/gst_plugins_cache.json:
        * ext/aom/gstav1enc.c:
        * ext/aom/gstav1enc.h:
          aom: av1enc: Expose more properties
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2023-01-08 23:46:40 +0530  yatinmaan <yatinmaan1@gmail.com>

        * ext/aom/gstav1enc.h:
          aom: av1enc: Remove redundant enum variants from header
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2022-07-11 09:27:41 +0530  Yatin Mann <yatinmaan1@gmail.com>

        * ext/aom/gstav1enc.c:
        * ext/aom/gstav1enc.h:
          aom: av1enc: Ensure that input pts is strictly increasing
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2022-07-04 19:55:59 +0530  Yatin Mann <yatinmaan1@gmail.com>

        * ext/aom/gstav1enc.c:
          aom: av1enc: Fix pts unit
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2023-01-02 18:34:59 +0900  ekwange <ekwange@gmail.com>

        * ext/directfb/dfbvideosink.c:
        * ext/directfb/dfbvideosink.h:
          dfbvideosink: Fix compile error
          Fix some compile errors
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3670>

2023-01-01 19:19:03 -0500  Olivier Crête <olivier.crete@collabora.com>

        * gst-libs/gst/webrtc/nice/nice.c:
          webrtc nice: Let libnice handle STUN/TURN DNS resolution
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676>

2023-01-06 15:07:42 -0500  Olivier Crête <olivier.crete@collabora.com>

        * gst-libs/gst/webrtc/nice/meson.build:
        * gst-libs/gst/webrtc/nice/nice.c:
          webrtc: Change requirement to libnice 0.1.20
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676>

2023-01-04 21:37:55 +0100  Mathieu Duponchelle <mathieu@centricular.com>

        * docs/meson.build:
          docs: explicitly declare gir build dependencies
          As the path to the gir file is passed to hotdoc.generate_doc() and
          not the build target itself, meson doesn't know about the dependency.
          In turn, as the CI doesn't build everything before building the
          documentation target, some gir files might not exist, for instance
          in the case of gst-rtsp-server, causing the output documentation to
          be empty.
          The error occurred silently because hotdoc accepts wildcards for
          *-sources arguments, thus it won't warn about a missing gir file as
          it is legitimate for glob matching to resolve to nothing.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3686>

2023-01-04 18:55:08 -0300  Rodrigo Bernardes <rodrigo.bernardes@kantaribopemedia.com>

        * sys/dvb/parsechannels.c:
          dvbbasebin: don't rely on g_key_file_get_(integer|uint64) return
          instead check if an error was returned, and fail if any
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3688>

2023-01-03 15:01:37 -0500  Olivier Crête <olivier.crete@collabora.com>

        * ext/srt/gstsrtobject.c:
          srt: Avoid crash on unknown option
          Use the correct field that is null instead of the struct value which
          never is.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3672>

2022-12-30 10:30:38 -0500  Xavier Claessens <xavier.claessens@collabora.com>

        * ext/qroverlay/gstbaseqroverlay.c:
          qroverlay: Add qrcode-case-sensitive property
          This allows to encode case sensitive strings, like wifi SSID/password.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3662>

2023-01-03 17:28:18 +0800  He Junyan <junyan.he@intel.com>

        * gst-libs/gst/codecs/gsth265decoder.c:
          h265decoder: Fix a memory leak because of slice header.
          The gst_h265_slice_hdr_free() should free the slice header just
          parsed, not the priv->current_slice. Or, the memory leak will
          happen because we do not free the slices in priv->nalu list.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3671>

2022-12-30 17:10:12 +0000  مهدي شينون (Mehdi Chinoune) <mehdi.chinoune@hotmail.com>

        * ext/opencv/meson.build:
          meson: Accept latest version of opencv 4.x
          We've been bumping along the maximum opencv 4.x version for years,
          just accept all opencv versions till someone reports breakage.
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1680
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3664>

2022-12-26 20:53:53 +0900  Seungha Yang <seungha@centricular.com>

        * sys/va/gstvajpegdec.c:
          vajpegdec: Set maybe-leaked flag on template caps
          The fixup function could return new caps object
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3642>

2022-12-22 21:29:39 +0000  Philippe Normand <philn@igalia.com>

        * ext/webrtc/gstwebrtcbin.c:
        * ext/webrtc/gstwebrtcstats.c:
        * tests/check/elements/webrtcbin.c:
          webrtcbin: Support for setting kind attribute on RTCRtpStreamStats
          The attribute maps the `kind` property of the associated transceiver.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3630>

2022-12-23 01:00:57 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/d3d11/gstd3d11memory.cpp:
        * gst-libs/gst/d3d11/gstd3d11memory.h:
          d3d11memory: Fix typo in vfunc name
          s/set_actvie/set_active/g
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3627>

2022-12-19 19:53:28 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstnvenc.c:
        * sys/nvcodec/gstnvenc.h:
        * sys/nvcodec/gstnvencoder.cpp:
          nvcudaenc: Don't use default CUDA stream
          Set non-default CUDA stream via NvEncSetIOCudaStreams() if possible,
          so that NVENC's internal kernel function can run on the given CUDA
          stream instead of default CUDA stream
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3615>

2022-12-14 10:35:53 +0100  Evgeny Pavlov <lucenticus@gmail.com>

        * sys/amfcodec/gstamfav1enc.cpp:
        * sys/amfcodec/gstamfav1enc.h:
        * sys/amfcodec/include/components/VideoEncoderAV1.h:
        * sys/amfcodec/meson.build:
        * sys/amfcodec/plugin.cpp:
          amfcodec: add support of AMF AV1 encoder
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3569>

2022-12-22 00:22:46 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstcudabasetransform.c:
          cudabasetransform: Update CUDA stream on context update
          CUDA stream must be associated with updated CUDA context
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3618>

2022-12-21 14:36:31 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvafilter.c:
          va: Delay the VAProcPipelineCaps query after context created.
          The VAAPI vaQueryVideoProcPipelineCaps() requires the context as the
          parameter. So far, we always pass VA_INVALID_ID and it can succeed.
          But the API does not say that and in theory, a valid context is required.
          Now the new platform really needs a valid context and so we have to
          delay that query until the context is created.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3613>

2022-12-21 00:20:17 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstnvdecoder.c:
          nvdecoder: Use own CUDA stream in GL output path
          Use the same CUDA stream passed to CuvidMapVideoFrame()
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3611>

2022-12-13 08:58:43 -0500  Xavier Claessens <xavier.claessens@collabora.com>

        * meson.build:
          Fix API visibility macros
          This copies the logic from GLib discussed there:
          https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2936
          Beside being simpler, it also fix all public symbols being annotated
          with dllexport when doing a static build, as discovered there:
          https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3540#note_1678335
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3567>

2022-12-19 18:41:46 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstnvdec.c:
        * sys/nvcodec/gstnvdecoder.c:
          nvdec: Don't use default CUDA stream
          NVDEC launches CUDA kernel function (ConvertNV12BLtoNV12 or so)
          when CuvidMapVideoFrame() is called. Which seems to be
          NVDEC's internal post-processing kernel function, maybe
          to convert tiled YUV to linear YUV format or something similar.
          A problem if we don't pass CUDA stream to the CuvidMapVideoFrame()
          call is that the NVDEC's internel kernel function will use default CUDA stream.
          Then lots of the other CUDA API calls will be blocked/serialized.
          To avoid the unnecessary blocking, we should pass our own
          CUDA stream object to the CuvidMapVideoFrame() call
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3605>

2022-12-16 15:03:12 +0100  Edward Hervey <edward@centricular.com>

        * gst/mpegtsdemux/mpegtsbase.c:
          mpegts: Always clear packetizer on DISCONT push mode
          If a discontinuity is detected in push mode, we need to clear the cached section
          observations since they might have potentially changed.
          This was only done properly when operating with TIME segments (dvb, udp,
          adaptive demuxers, ...) but not with BYTE segments (such as with custom app/fd
          sources).
          We still don't want to flush out the PCR observations, since this might be
          needed for seeking in push-based BYTE sources.
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1650
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3584>

2022-12-17 20:04:01 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11window_win32.cpp:
          d3d11videosink: Fixing focus lost on desktop layout change
          Watch all message on the window thread, instead of internal window only.
          Otherwise, some global window messages, such as desktop layout change,
          wouldn't be handled by our window.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3593>

2022-12-17 01:01:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

        * sys/applemedia/avfvideosrc.m:
          avfvideosrc: Report latency when doing screen capture
          There is no `device` when doing screen capture, but there is always an
          `input`, so use that to decide when we can reply to a latency query.
          Without this, the latency query just fails.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3589>

2022-12-16 18:15:04 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
          vaav1dec: Remove double caps unref.
          There was a duplicated caps unref raising a warning.
          Also it reorgs the sorrounding code for simplicity.
          Fixes: #1196
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3587>

2022-12-16 02:52:08 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11videosink.cpp:
        * sys/d3d11/gstd3d11window.cpp:
        * sys/d3d11/gstd3d11window.h:
        * sys/d3d11/gstd3d11window_win32.cpp:
          d3d11videosink: Move potentially time-consuming operations to ::prepare()
          Move following tasks to ::prepare() from ::show_frame()
          * CPU -> GPU upload
          * GstD3D11Window object setup, including input caps change handling
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3574>

2022-12-16 21:42:50 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11window_win32.cpp:
          d3d11videosink: Call ShowWindow() from window thread
          ... when rendering on external HWND. ShowWindow() will cause
          synchronous message passing to window thread and then can be blocked.
          At the same time, window thread can wait for GStreamer thread.
          Instead of the synchronous call, queue the task to window message
          and performs from the window thread.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3583>

2022-12-15 01:15: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: Fix deadlock when parent window is busy
          Deadlock sequence:
          * From a streaming thread, d3d11videosink sends synchronous message
          to the parent window, so that internal (child) window can be
          constructed on the parent window's thread
          * App thread (parent window thread) is waiting for pipeline's
          state change (to GST_STATE_NULL) but streaming thread is
          blocked and waiting for app thread
          To avoid the deadlock, GstD3D11WindowWin32 should send message
          to the parent window asynchronously.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3570>

2022-12-13 12:23:56 +0100  Thibault Saunier <tsaunier@igalia.com>

        * ext/wpe/gstwpevideosrc.cpp:
          base:navigation: Cleanup navigation key modifiers enum
          We were exposing the 'ALT' modifier as if we were guaranteeing its
          accuracy but truth is we were only exposing configuration dependent
          values.
          Make the API simpler for now, the same way as Gtk3 was exposing it, and
          when we have time to guarantee more values by making them take backends
          configuration into account, we will expose those values in a accurate
          way.
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1402
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3565>

2022-10-18 12:17:04 +1100  Matthew Waters <matthew@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
        * ext/webrtc/gstwebrtcbin.c:
        * ext/webrtc/gstwebrtcbin.h:
        * ext/webrtc/utils.c:
        * ext/webrtc/utils.h:
        * tests/check/elements/webrtcbin.c:
          webrtc: implement support for msid values
          Local msid values are taken from sink pad property, or fallback to the
          previously used cname.
          The remote msid values are exposed on the relevant src pads.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3106>

2022-12-13 04:31:24 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/codecparsers/gsth264parser.h:
          h264parser: Update doc for GST_H264_FRMAE_PACKING_TOP_BOTTOM
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1318>

2021-11-07 11:18:15 +1100  Brad Hards <bradh@frogmouth.net>

        * gst-libs/gst/codecparsers/gsth264parser.h:
        * sys/msdk/gstmsdkh264enc.c:
          h264parser: typo fix in enum value
          Old value is marked deprecated, new enum with same entry is added. Should be binary compatible.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1318>

2022-10-21 22:46:16 -0500  A. Wilcox <AWilcox@Wilcox-Tech.com>

        * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
        * tests/check/libs/mpegts.c:
          mpegts: Handle when iconv doesn't support ISO 6937
          Systems like musl libc don't support ISO 6937 in iconv.  This ensures
          that the MPEG-TS plugin can cope with that.  There is existing support
          in the plugin for other methods, so it seems to have been the original
          intent anyway.
          Fixes: #1314
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3245>

2022-12-11 10:12:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * gst-libs/gst/va/gstvaallocator.c:
          vaallocator: Fix gi annotations.
          Remove spurious types and skip functions that returns VASurfaceID
          which isn't exposed to introspection.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3557>

2022-11-22 12:32:52 +0100  Stéphane Cerveau <scerveau@igalia.com>

        * ext/zxing/gstzxing.cpp:
        * ext/zxing/meson.build:
          zxing: update to 1.4.0 tag
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3450>

2022-12-06 11:30:47 +0100  Edward Hervey <edward@centricular.com>

        * gst/mpegtsdemux/mpegtspacketizer.c:
          mpegts: Check continuity counter on section streams
          This wasn't really done, and is needed in order to detect potential section
          changes for sections that have got identical information (such as when switching
          between streams that have the same PAT/PMT pid and subtable information).
          Other checks exist in tsbase to detect if the "new" PAT/PMT really is an update or not.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3530>

2022-12-08 06:05:25 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/cuda/gstcudanvrtc.c:
          cuda: Fix runtime compiler library loading on Windows
          The cuda is a part of GPU driver but runtime compiler is a part of
          cuda toolkit, which means the version number can be different.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3545>

2022-12-08 05:58:48 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/cuda/gstcuda-private.h:
        * gst-libs/gst/cuda/gstcudautils.c:
        * gst-libs/gst/cuda/gstcudautils.h:
        * sys/nvcodec/gstcudamemorycopy.c:
          cuda: Hide memory copy util function
          The method was intended to be used by only cudaupload/download elements
          and not ready to be a part of public API
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3545>

2022-12-08 04:32:47 +0900  Seungha Yang <seungha@centricular.com>

        * sys/winks/gstksvideosrc.c:
          ksvideosrc: Warn for deprecated plugin use
          This plugin should not be used any more
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3544>

2022-12-08 04:25:55 +0900  Seungha Yang <seungha@centricular.com>

        * sys/winscreencap/gstdx9screencapsrc.c:
        * sys/winscreencap/gstgdiscreencapsrc.c:
          winscreencap: Warn for deprecated plugin use
          This plugin should not be used any more
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3544>

2022-11-27 00:26:22 +0900  Seungha Yang <seungha@centricular.com>

        * gst/proxy/gstproxysink.c:
          proxysink: Post EOS message on EOS event
          proxysink is actual sink (GST_ELEMENT_FLAG_SINK flag has configured)
          so it should post EOS message.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3472>

2022-12-07 12:28:55 -0300  Thibault Saunier <tsaunier@igalia.com>

        * gst/videoparsers/gsth264parse.c:
          h264parse: Avoid setting wrong colorimetry info if the stream doesn't contain it
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3543>

2022-12-01 19:35:07 +0200  Marek Olejnik <molejnik@fluendo.com>

        * gst-libs/gst/codecs/gsth265decoder.c:
          h265decoder: Do not abort when failed to prepare ref pic set
          Currently the element calls abort when failed to prepare reference
          picture set. This can happent when the input stream is somehow
          corrupted, like a rtsp strem with lost packets. Now it will only
          return with GST_FLOW_ERROR instead of terminating whole process.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3505>

2022-12-07 10:21:52 +0200  Sebastian Dröge <sebastian@centricular.com>

        * gst/dvbsubenc/gstdvbsubenc.c:
          dvbsubenc: Forward GAP events as-is if we wouldn't produce an end packet and are not in the middle of an existing subtitle
          An end packet is only produced once for the last subtitle, so multiple
          GAP events between subtitles would result only in a single end packet
          and nothing else otherwise. This would potentially starve downstream
          then, so instead forward the GAP events in that case.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3534>

2022-12-05 19:30:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

        * sys/directshow/dshowvideosink.cpp:
          directshow: Fix build error with glib 2.75 and newer
          Starting with glib 2.75, `NULL` is `nullptr`, which cannot be
          implicitly coerced to `0`, unlike `NULL`. So explicitly pass `0`.
          ```
          [3206/4524] Compiling C++ object subprojects/gst-plugins-bad/sys/directshow/gstdirectshow.dll.p/dshowvideosink.cpp.obj
          FAILED: subprojects/gst-plugins-bad/sys/directshow/gstdirectshow.dll.p/dshowvideosink.cpp.obj
          "cl" "-Isubprojects\gst-plugins-bad\sys\directshow\gstdirectshow.dll.p" "-Isubprojects\gst-plugins-bad\sys\directshow" "-I..\subprojects\gst-plugins-bad\sys\directshow" "-Isubprojects\gst-plugins-bad" "-I..\subprojects\gst-plugins-bad" "-Isubprojects\gst-plugins-base\gst-libs" "-I..\subprojects\gst-plugins-base\gst-libs" "-Isubprojects\gstreamer\libs" "-I..\subprojects\gstreamer\libs" "-Isubprojects\gstreamer" "-I..\subprojects\gstreamer" "-Isubprojects\orc" "-I..\subprojects\orc" "-I..\subprojects\gst-plugins-bad\sys\directshow\strmbase\baseclasses" "-Isubprojects\gst-plugins-base\gst-libs\gst\video" "-Isubprojects\gstreamer\gst" "-Isubprojects\gst-plugins-base\gst-libs\gst\audio" "-Isubprojects\gst-plugins-base\gst-libs\gst\tag" "-IC:/gst-install/include/glib-2.0" "-IC:/gst-install/lib/glib-2.0/include" "-IC:/gst-install/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W2" "/EHsc" "/O2" "/Zi" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "/utf-8" "/we4002" "/we4003" "/we4013" "/we4020" "/we4027" "/we4029" "/we4033" "/we4045" "/we4047" "/we4053" "/we4062" "/we4098" "/we4101" "/we4189" "/utf-8" "-D_MBCS" "/wd4189" "/wd4456" "/wd4701" "/wd4703" "/wd4706" "/wd4996" "-DHAVE_CONFIG_H" "/Fdsubprojects\gst-plugins-bad\sys\directshow\gstdirectshow.dll.p\dshowvideosink.cpp.pdb" /Fosubprojects/gst-plugins-bad/sys/directshow/gstdirectshow.dll.p/dshowvideosink.cpp.obj "/c" ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(62): warning C5051: attribute 'noinline' requires at least '/std:c++20'; ignored
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(123): error C2664: 'LRESULT SendMessageA(HWND,UINT,WPARAM,LPARAM)': cannot convert argument 3 from 'nullptr' to 'WPARAM'
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(123): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
          C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winuser.h(3690): note: see declaration of 'SendMessageA'
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(635): error C2664: 'BOOL SystemParametersInfoA(UINT,UINT,PVOID,UINT)': cannot convert argument 2 from 'nullptr' to 'UINT'
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(635): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
          C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winuser.h(13153): note: see declaration of 'SystemParametersInfoA'
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(1593): error C2664: 'LRESULT SendMessageA(HWND,UINT,WPARAM,LPARAM)': cannot convert argument 3 from 'nullptr' to 'WPARAM'
          ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(1593): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
          C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winuser.h(3690): note: see declaration of 'SendMessageA'
          ```
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3528>

2022-12-05 02:29:08 +0000  Tim-Philipp Müller <tim@centricular.com>

        * meson.build:
          Back to development

=== release 1.21.3 ===

2022-12-05 01:28:21 +0000  Tim-Philipp Müller <tim@centricular.com>

        * NEWS:
        * RELEASE:
        * gst-plugins-bad.doap:
        * meson.build:
          Release 1.21.3

2022-12-04 12:25:41 +0000  Tim-Philipp Müller <tim@centricular.com>

        * ChangeLog:
        * docs/random/ChangeLog-0.8:
          Remove ChangeLog files from git repository
          This information is tracked fully in the git repository, so
          no point having the ChangeLog duplicate it, and it interferes
          with grepping the repository.
          We are going to create the ChangeLogs on the fly when generating
          tarballs going forward (with a limited history), since it's still
          valuable for tarball consumers to be able to easily see a list of
          recent changes.
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>

2022-11-07 00:10:39 +0000  Tim-Philipp Müller <tim@centricular.com>

        * meson.build:
        * scripts/gen-changelog.py:
          meson: Generate ChangeLog files for release tarballs on dist
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>

2022-12-01 03:52:53 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
        * sys/d3d11/plugin.cpp:
          d3d11av1dec: Promote rank to primary + 1
          ... so that this element can have higher rank than the other software
          AV1 decoders
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3495>

2022-12-02 07:03:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvajpegdec.c:
          vajpegdec: Reenable element negotiation.
          negotiation vmethod were overwritten by vabasedec, leading to errors.
          This was a regression of commit b6538e0560.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3509>

2022-12-01 13:28:16 +0100  Johan Sternerup <johast@axis.com>

        * gst-libs/gst/webrtc/nice/nicestream.c:
          webrtc: Fix possible use-after-free of GstWebRTCICETransport
          Because of the asynchronous resolving of mDNS ICE candidates it is
          possible that GstWebRTCICE outlives webrtcbin. This in turn prolongs
          the lifetime of the GstWebRTCNiceStream objects via refs in
          nice_stream_map. Thus the GstWebRTCICETransport objects held in
          GstWebRTCNiceStream may be invalid at the time they are accessed by
          the _on_candidate_gathering_done() callback since GstWebRTCNiceStream
          doesn't take a reference to them. Doing so would create a circular
          reference, so instead this commit introduces weak references to the
          transport objects and then we can check if the objects are valid before
          accessing them.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3502>

2022-11-28 20:42:29 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
        * sys/va/gstvabasedec.c:
        * sys/va/gstvabasedec.h:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvah265dec.c:
        * sys/va/gstvajpegdec.c:
        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
        * sys/va/gstvavp9dec.c:
          va: Handle input caps change.
          Update output caps if it's notified by baseclass
          See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-27 13:00:20 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
          vaav1dec: Use gst_va_base_dec_set_output_state().
          And even that vaav1dec doesn't use vabasedec negotiate vmethod, it should align
          with the new scheme of using base's width & height for surface size and
          output_info structure for downstream display size negotiation.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-26 11:45:52 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvavp9dec.c:
          vavp9dec: Use gst_va_base_dec_set_output_state().
          As this element reopen the internal decoder differently, it only uses the helper
          function to negotiate.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-28 19:31:57 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvampeg2dec.c:
          vampeg2dec: Streams are progressive by default.
          By initializating progressive, then interlaced streams are detected correctly.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-26 09:11:39 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvabasedec.c:
        * sys/va/gstvabasedec.h:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvah265dec.c:
        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
          va: Add and use common decode negotiate vmethod.
          This vmethod can be used by decoders with the same VA decoder reopen logic:
          same profile, chroma, width and height.
          Also a new public method called gst_va_base_dec_set_output_state() with the
          common GStreamer code for setting the output state, which is always called by
          the negotiate vmethod.
          In order to do this refactoring, new variables in vabasedec have to be populated
          by the decoders:
          * width and height define the resolution set in VA decoder. In the case of H264
          would be de coded_width and codec_height, or max_width and max_height in AV1.
          * output_info is the downstream video info used for negotiation in
          gst_va_base_dec_set_output_state().
          * input_state, from codec parent class shall be also held by vabasedec
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-24 13:52:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
          vaav1dec: Use gst_va_base_dec_prepare_output_frame().
          And simplify a bit the code flow.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-24 13:15:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvabasedec.c:
        * sys/va/gstvabasedec.h:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvajpegdec.c:
        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
        * sys/va/gstvavp9dec.c:
          va: Add and use gst_va_base_dec_prepare_output_frame().
          This helper will do downstream negotiation and later will
          allocate the output frame.
          H265 and AV1 decoders don't use this approach since their output
          frame allocation is different.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-23 18:29:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvah265dec.c:
        * sys/va/gstvavp8dec.c:
          va: Remove last_ret error handling in decoders.
          It was used in the early development of the base classes. Now it
          shouldn't be needed.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-23 18:14:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
        * sys/va/gstvabasedec.c:
        * sys/va/gstvabasedec.h:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvah265dec.c:
        * sys/va/gstvajpegdec.c:
        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
        * sys/va/gstvavp9dec.c:
          va: Add and use gst_va_base_dec_process_output().
          This function will copy the frame, if it's needed, and will apply buffer flags.
          The function is used by all the decoders.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-12-01 22:50:30 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvaav1dec.c:
        * sys/va/gstvabaseenc.c:
          va: Fix the caps memory leak by gst_va_pool_new_with_config().
          The gst_va_pool_new_with_config() will ref the caps, and so we need
          to unref after that.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3503>

2022-11-30 13:33:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
        * sys/va/gstvadevice.c:
        * sys/va/gstvadevice.h:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvah264enc.c:
        * sys/va/gstvah265dec.c:
        * sys/va/gstvah265enc.c:
        * sys/va/gstvajpegdec.c:
        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
        * sys/va/gstvavp9dec.c:
          va: Add render node name in non-first devices.
          There could be multi-GPU setups where the non-first has more
          entrypoints than the first one, and the elements names are not
          homogeneous, leading to pipeline building error.
          This patch add the render node in the elements names when they belong
          to the non-first device.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3491>

2022-11-26 21:02:00 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvafilter.c:
          vafilter: Increase the caps for HDR.
          As they might be other medatadata types.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>

2022-11-26 20:48:45 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvafilter.c:
          vafilter: Increase the number of 3DLUT caps to 16.
          To fix the warning on Alderlake
          vafilter gstvafilter.c:534:gst_va_filter_ensure_filters:<vafilter0>
          vaQueryVideoProcFiltersCaps: list argument exceeds maximum number
          Increase the number of caps to 16 as vadumpcaps does.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>

2022-11-15 06:58:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * tests/examples/va/vaenc-dynamic-reconfigure.c:
          example: vaenc-dynamic-reconfigure: Support H265.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-05-04 10:42:59 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvah265enc.c:
          va: Add H265 SCC profile support.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-05-02 23:14:32 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvah265enc.c:
          va: Add extended formats support such as 10/12 bits, 4:2:2 and 4:4:4.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-04-25 15:49:31 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvaencoder.c:
        * sys/va/gstvaencoder.h:
        * sys/va/gstvah265enc.c:
          va: enable multi tile support for H265 encoder.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-06-02 21:18:16 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvah265enc.c:
          va: enable vah265lpenc for low power mode H265 encoder.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-04-18 22:36:09 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvah265enc.c:
          va: Add the low-delay-b frame support for H265.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-04-06 17:06:20 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvaencoder.c:
        * sys/va/gstvaencoder.h:
          va: Add prediction direction attribute support for H265 encoder.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-03-25 21:55:28 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/plugin.c:
          va: Register and enable and the vah265enc plugin.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-03-25 21:54:30 +0800  He Junyan <junyan.he@intel.com>

        * sys/va/gstvah265enc.c:
        * sys/va/gstvah265enc.h:
        * sys/va/meson.build:
          va: Implement the vah265enc plugin for va HEVC encoding.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-11-29 02:22:50 +0900  Seungha Yang <seungha@centricular.com>

        * sys/mediafoundation/gstmfvideosrc.cpp:
          mfvideosrc: Fix buffer leak
          The allocated buffer should be released
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479>

2022-11-29 02:10:42 +0900  Seungha Yang <seungha@centricular.com>

        * sys/mediafoundation/gstmfsourcereader.cpp:
        * sys/mediafoundation/gstwin32devicewatcher.cpp:
          mediafoundation: Chain up from GObject::constructed
          ... so that GstTracer can trace it
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479>

2022-11-29 02:06:11 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11videosink.cpp:
        * sys/d3d11/gstd3d11window_corewindow.cpp:
        * sys/d3d11/gstd3d11window_dummy.cpp:
        * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
        * sys/d3d11/gstd3d11window_win32.cpp:
          d3d11: Use correct ref/unref methods
          Those objects are GstObject subclasses
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479>

2022-11-25 20:19:22 +0900  Seungha Yang <seungha@centricular.com>

        * sys/win32ipc/gstwin32ipcvideosrc.cpp:
          win32ipcvideosrc: Fix property name and enum value mismatch
          Make them consistent
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3465>

2022-11-25 20:14:43 +0900  Seungha Yang <seungha@centricular.com>

        * sys/win32ipc/gstwin32ipcvideosrc.cpp:
          win32ipcvideosrc: Protect pipe from flush thread
          The pipe object must be protected against GstBaseSrc::unlock()
          thread.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3465>

2022-11-25 18:38:27 +0800  He Junyan <junyan.he@intel.com>

        * gst-libs/gst/codecparsers/gsth264parser.c:
          h264parser: Fix a typo in pred_weight_table parsing.
          When setting default values, the reference list number of l1 is wrong.
          Fix: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/336
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3464>

2022-11-22 17:01:37 +0800  Ma, Mingyang <mingyang.ma@intel.com>

        * sys/msdk/gstmsdkdec.c:
          msdkdec: Update decoding pts
          Update frame pts before calling gst_video_decoder_finish_frame, or frames may be lost when transcoding in specific stream
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3449>

2022-11-19 02:56:27 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
        * meson_options.txt:
        * sys/meson.build:
        * sys/win32ipc/gstwin32ipcutils.cpp:
        * sys/win32ipc/gstwin32ipcutils.h:
        * sys/win32ipc/gstwin32ipcvideosink.cpp:
        * sys/win32ipc/gstwin32ipcvideosink.h:
        * sys/win32ipc/gstwin32ipcvideosrc.cpp:
        * sys/win32ipc/gstwin32ipcvideosrc.h:
        * sys/win32ipc/meson.build:
        * sys/win32ipc/plugin.cpp:
        * sys/win32ipc/protocol/win32ipcmmf.cpp:
        * sys/win32ipc/protocol/win32ipcmmf.h:
        * sys/win32ipc/protocol/win32ipcpipeclient.cpp:
        * sys/win32ipc/protocol/win32ipcpipeclient.h:
        * sys/win32ipc/protocol/win32ipcpipeserver.cpp:
        * sys/win32ipc/protocol/win32ipcpipeserver.h:
        * sys/win32ipc/protocol/win32ipcprotocol.cpp:
        * sys/win32ipc/protocol/win32ipcprotocol.h:
        * sys/win32ipc/protocol/win32ipcutils.cpp:
        * sys/win32ipc/protocol/win32ipcutils.h:
          win32ipc: Add WIN32 shared memory videosrc/sink elements
          Windows supports various IPC methods but that's completely
          different form that of *nix from implementation point of view.
          So, instead of adding shared memory functionality to existing
          shm plugin, new WIN32 shared memory source/sink elements
          are implemented in this commit.
          Each videosink (server) and videosrc (client) pair will communicate
          using WIN32 named pipe and thus user should configure unique/proper
          pipe name to them (e.g., \\.\pipe\MyPipeName).
          Once connection is established, videosink will create named shared memory
          object per frame and client will be able to consume the object
          (i.e., memory mapped file handle) without additional copy operation.
          Note that implementations under "protocol" directory are almost
          pure C/C++ with WIN32 APIs except for a few defines and debug functions.
          So, applications can take only the protocol part so that the application
          can send/receive shared-memory object from/to the other end
          even if it's not an actual GStreamer element.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3441>

2022-11-23 14:35:07 +0100  Jan Lorenz <jan.lorenz@pascom.net>

        * sys/mediafoundation/gstmfcapturedshow.cpp:
          mfvideosrc: check HRESULT of CreateClassEnumerator correctly
          Fixes a crash during direct show device enumeration
          Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1599
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3460>

2022-11-22 15:27:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

        * sys/kms/gstkmssink.h:
          kmssink: Fix compilation without kernel headers
          There was a drm/drm_mode.h included added recently, drm/ is usually
          referencing the linux kernel header, but we only requires the libdrm
          headers to be installed. On top of this, including drm_mode.h is never
          needed as its already included by drm.h.
          Fixes #1596
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3452>

2022-11-10 08:50:35 -0500  Daniel Morin <daniel.morin@collabora.com>

        * ext/onnx/gstonnxclient.cpp:
        * ext/onnx/gstonnxclient.h:
        * ext/onnx/gstonnxobjectdetector.cpp:
        * ext/onnx/meson.build:
          onnx: Update to OnnxRT >= 1.13.1 API
          - Replace deprecated methods
          - Add a check on ORT version we are compatible with.
          - Add clarification to the example given.
          - Add the url to retrieve the model mentioned in the example.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3388>

2022-11-22 16:42:26 +0800  He Junyan <junyan.he@intel.com>

        * gst/videoparsers/gsth265parse.c:
          h265parse: Add the missing timestamp when splitting a frame.
          When splitting a frame, the gst_buffer_copy_region() does not copy
          the timestamp correctly for sub frames when the offset is not 0.
          We still need those timestamps for each output sub frame.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448>

2022-11-22 15:50:44 +0800  He Junyan <junyan.he@intel.com>

        * gst/videoparsers/gsth264parse.c:
          h264parse: Add the missing timestamp when splitting a frame.
          When splitting a frame, the gst_buffer_copy_region() does not copy
          the timestamp correctly for sub frames when the offset is not 0.
          We still need those timestamps for each output sub frame.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448>

2022-11-21 19:40:35 +0200  Sebastian Dröge <sebastian@centricular.com>

        * gst/dvbsubenc/gstdvbsubenc-util.c:
        * gst/dvbsubenc/gstdvbsubenc.c:
        * gst/dvbsubenc/gstdvbsubenc.h:
          dvbsubenc: Write Display Definition Segment if a non-default width/height is used
          Otherwise it can't be rendered by dvbsuboverlay or ffmpeg at least.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3446>

2022-10-28 00:06:23 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
        * ext/aom/gstav1dec.c:
          av1dec: Demote rank to secondary
          cerbero does not build this plugin for now, and there's altanative
          dav1ddec
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3287>

2022-11-18 13:32:10 -0800  Bill Hofmann <bill.hofmann@gmail.com>

        * sys/kms/gstkmsedid.c:
        * sys/kms/gstkmsedid.h:
        * sys/kms/gstkmssink.c:
        * sys/kms/gstkmssink.h:
        * sys/kms/meson.build:
          kmssink: add HDR10 infoframe support
          If stream has HDR10 metadata and HDMI device EDID supports it, this patch
          will set the DRM properties accordingly.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3303>

2022-11-21 15:48:49 -0500  Bill Hofmann <bill.hofmann@gmail.com>

        * docs/plugins/gst_plugins_cache.json:
        * sys/kms/gstkmssink.c:
        * sys/kms/gstkmssink.h:
          kmssink: Add skip-vsync property
          The legacy emulation in DRM/KMS drivers badly interact with GStreamer and
          may cause the framerate to be halved. With this property, users can disable
          vsync (which is handled internally by the emulation) in order to regain the
          full framerate.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3303>

2022-11-18 02:06:51 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/codecs/gstav1decoder.c:
          av1decoder: Clear highest_spatial_layer per sequence header
          Clear the value to default zero, indicating that no spatial scalability
          layer is used.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:59:55 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/codecs/gstav1decoder.c:
          av1decoder: Don't error out by dropped OBU
          OBU can be dropped if the current layer is not in selected operation
          point
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:49:43 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/codecs/gstav1decoder.c:
          av1decoder: Fix wrong spatial layer validation
          Highest spatial id and temporal id is independent, and should not drop
          temporal enhance layer by the previous condition. Note that
          the decision for dropping OBU based on operation point is being
          handled in gst_av1_parser_identify_one_obu() already.
          Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1585
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:43:26 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/codecparsers/gstav1parser.c:
          av1parser: Don't print warning for expected OBU drop
          Dropping an OBU which is not in selected operation point is an
          expected condition.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:41:33 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/codecparsers/gstav1parser.c:
          av1parser: Remove impossible condition
          unsigned integer cannot be negative
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-19 19:22:17 +1100  Jan Schmidt <jan@centricular.com>

        * ext/webrtc/gstwebrtcbin.c:
          webrtcbin: Remove queue after rtpfunnel
          The original BUNDLE support commit placed a queue after the
          rtpfunnel that combines streams, but I don't see a good reason for
          it. It has default settings, so if network output is slow might
          accidentally store up to 1 second of pending data, increasing
          latency.
          Remove it in favour of doing any necessary buffering before
          webrtcbin. If it turns out that there is a reason for it to
          exist, the limits should probably be configurable and small.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3437>

2022-11-19 04:42:56 +1100  Jan Schmidt <jan@centricular.com>

        * gst-libs/gst/webrtc/webrtc_fwd.h:
          webrtc: Improve GstWebRTCStatsType docstring
          Fix a typo of peer-connectiion -> peer-connection
          Add a link to the w3c RTCStats type for a description
          of what each statistics type is.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3434>

2022-11-19 04:42:20 +1100  Jan Schmidt <jan@centricular.com>

        * ext/webrtc/gstwebrtcbin.c:
          webrtcbin: Fix a typo in debug log
          transceiever -> transceiver
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3434>

2022-11-13 03:07:54 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
        * sys/qsv/plugin.cpp:
          qsv: Promote encoder rank to PRIMARY on Windows
          QSV is very well integrated with GstD3D11 infrastructure on Windows,
          and this is the recommended H/W encoder element over the MediaFoundation
          plugins on Intel GPU system.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3393>

2022-11-15 13:50:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

        * sys/v4l2codecs/gstv4l2format.c:
          video: Add arbitrary tile dimensions support
          In current tile representation, only tiles with power of two
          width and height in bytes are supported. This limitation
          prevents adding more complex tiles formats.
          In this patch, we deprecate tile_ws and tile_hs from GstVideoFormatInfo and
          replace if with an array of GstVideoTileInfo. Each plane tiles are then
          described with their pixels width/height, line stride and total size.
          The helper gst_video_format_info_get_tile_sizes() that depends on the
          deprecated API is also being removed. This can simply be removed as it wasn't
          in any stable release yet.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3424>

2020-08-31 14:04:54 +0200  Johan Sternerup <johast@axis.com>

        * docs/plugins/gst_plugins_cache.json:
        * ext/webrtc/gstwebrtcbin.c:
        * gst-libs/gst/webrtc/ice.c:
        * gst-libs/gst/webrtc/ice.h:
        * gst-libs/gst/webrtc/nice/nice.c:
          webrtcbin: Add settings for HTTP proxy
          Pass this to libnice which has a simple HTTP 1.0 proxy with basic
          authentication only.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2867>

2021-10-20 13:02:31 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

        * gst/mpegtsdemux/tsdemux.c:
          tsdemux: Add pad-name to warning for continuity mismatch
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3141>

2022-05-02 19:13:41 +0200  Enrique Ocaña González <eocanha@igalia.com>

        * ext/hls/gsthlsdemux.c:
        * ext/hls/gsthlsdemux.h:
        * ext/hls/m3u8.c:
        * ext/hls/m3u8.h:
        * tests/check/elements/hlsdemux_m3u8.c:
          hlsdemux: Expose EXT-X-PROGRAM-DATE-TIME as tags.
          This allows an application to use timestamps associated
          with fragments.
          Patch by: Thomas Bluemel <tbluemel@control4.com>
          See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/195
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1417>

2022-11-16 19:39:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvabaseenc.c:
          vabaseenc: Reduce logging noise if finish_frame fails.
          Fixes: #1579
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3423>

2022-11-13 03:28:23 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
        * sys/amfcodec/plugin.cpp:
          amfcodec: Promote encoder rank to PRIMARY
          This H/W encoder implementation is the recommended element
          on AMD system over the MediaFoundation one.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3394>

2022-11-02 14:45:51 +0100  Edward Hervey <edward@centricular.com>

        * gst/mpegtsdemux/tsdemux.c:
          tsdemux: Push GST_EVENT_STREAM_COLLECTION
          Demuxers that are not streams-aware will have that handled by parsebin. This
          created a difference in results downstream between streams-aware and
          non-streams-aware demuxers
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2022-11-14 15:53:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

        * sys/v4l2codecs/gstv4l2codech264dec.c:
        * sys/v4l2codecs/gstv4l2codech265dec.c:
        * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
        * sys/v4l2codecs/gstv4l2codecvp8dec.c:
        * sys/v4l2codecs/gstv4l2codecvp9dec.c:
          v4l2codecs: Allow output caps to be updated
          This change allow output caps to be updated even though we stay in
          streaming state. This is needed so that any upstream updated to fields
          like framerate, hdr data, etc. can result in a downstream caps event
          being pushed.
          Previously, any of these changes was being ignored and the downstream
          caps would not reflect it.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 21:06:39 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstnvav1dec.c:
        * 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: Handle input caps change
          Update output caps if it's notified by baseclass
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 21:00:43 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstnvav1dec.c:
        * 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: Don't hold decoder output state
          It's not referenced by this implementation
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 20:16:21 +0900  Seungha Yang <seungha@centricular.com>

        * tests/examples/codecs/decoder-caps-update.cpp:
        * tests/examples/codecs/meson.build:
        * tests/examples/meson.build:
          examples: Add test code to verify decoder caps update
          Sample command lines
          * Configures pipeline with video encoder
          decoder-caps-update \
          --encoder="video/x-raw,format=NV12 ! qsvh264enc" \
          --decoder=d3d11h264dec \
          --videosink=d3d11videosink
          * Playing exisiting file
          decoder-caps-update \
          --location=test_file.mp4 \
          --decoder=d3d11h264dec \
          --videosink=d3d11videosink
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 02:47:54 +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: Handle input caps change
          Update output caps if it's notified by baseclass
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 01:07:02 +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.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:
          codecs: Keep track of non-decoding-essential input state change
          In theory, input caps can be updated anytime at non-keyframe or
          sequence boundary, such as HDR10 metadata, framerate, aspect-ratio
          or so. Those information update might not trigger ::new_sequence()
          or subclass may ignore the changes.
          By this commit, input state change will be tracked by baseclass
          and subclass will be able to know the non-decoding-essential
          update by checking the codec specific picture struct
          on ::output_picture()
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-16 09:42:08 +0100  Edward Hervey <bilboed@bilboed.com>

        * gst/mpegtsdemux/mpegtspacketizer.c:
          Revert "mpegtspacketizer: memcmp potentially seen_before data"
          This reverts commit fcad4cc646a23e4e621ec5e8485958ab78d98090.
          This was wrong is so many ways.
          * The memcmp was badly used (it should use == 0 to check the data is identical,
          and not != 0)
          * There was no boundary checks on the present stream section_data when passing
          it to memcmp.
          * The return value should have been TRUE (i.e. we have done all checks, none of
          them failed, therefore the section has been seen before)
          * stream->section_data would *always* be NULL if the section had already been
          processed
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1559
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3421>

2022-11-16 09:29:59 +0100  Edward Hervey <edward@centricular.com>

        * gst/mpegtsdemux/mpegtsbase.c:
          mpegts: Check is program is identical before updating
          There is no need to update the program if it's identical :)
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3421>

2022-11-16 03:15:44 +0900  Seungha Yang <seungha@centricular.com>

        * gst/codectimestamper/gstcodectimestamper.c:
        * gst/codectimestamper/gstcodectimestamper.h:
          codectimestamper: Remove duplicated GstSegment struct
          Use the one in priv struct. And use gst_segment_is_equal()
          to compare GstSegment
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380>

2022-11-09 18:03:48 +1100  Matthew Waters <matthew@centricular.com>

        * gst/codectimestamper/gstcodectimestamper.c:
        * tests/check/elements/h264timestamper.c:
        * tests/check/meson.build:
          h264/5timestamper: provide a workaround for h264/5parse producing pts=NONE buffers
          A workaround for
          https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/649
          and
          https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/287
          which is hard to change baseparse behaviour for both video and audio
          parsers.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380>

2022-11-12 06:16:59 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
          nvcodec: Update plugin cache
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 05:45:15 +0900  Seungha Yang <seungha@centricular.com>

        * tests/check/elements/cudaconvert.c:
          tests: cudaconvert: Update test code
          Adding more formats, and rescale test with borders
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 04:48:50 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstcudaconvertscale.c:
          cudaconvertscale, cudascale: Add "add-borders" property and support 8bits RGB planar formats
          Adding "add-borders" property which is identical to that of
          videoscale and this will be enabled by default.
          And adding RGBP/BGRP/GBR/GBRA format support.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 04:06:32 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/cuda-converter.c:
        * sys/nvcodec/cuda-converter.h:
        * sys/nvcodec/gstcudaconverter.c:
        * sys/nvcodec/gstcudaconverter.h:
        * sys/nvcodec/gstcudaconvertscale.c:
        * sys/nvcodec/meson.build:
          cuda: Rewrite colorspace/rescale object
          Rewriting GstCudaConverter object, since the old implementation was not
          well organized and it's hard to add new features.
          Moreover, the conversion operations were not very optimized.
          Major change of this implementation:
          * Remove redundant intermediate conversion operations such as
          any RGB -> ARGB(64) conversion or any YUV -> Y444 (or 16bits Y444).
          That's not required most of cases. The only required case is
          converting 24bits (such as RGB/BGR) packed format to 32bits format
          because CUDA texture object does not support sampling 24bits format
          * Use normalized sample fetching (i.e., [0, 1] range float value)
          and also normalized coordinates system for CUDA texture.
          It's consistent with the other graphics APIs such as Direct3D
          and OpenGL, that makes sampling operations much easier.
          * Support a kind of viewport and adopt math for colorspace conversion
          from GstD3D11 implementation
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-10 19:38:03 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/cuda/gstcudamemory.c:
        * sys/nvcodec/gstcudaformat.h:
          cudaupload,cudadownload: Add support for planar 8bits RGB formats
          Defines RGBP, BGRP, and GBR formats, which have the same memory
          layout as already supported Y444. And defines GBRA format as well
          which needs just one additional alpha plane
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-10 20:47:44 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/cuda/gstcudacontext.c:
          cudacontext: Store texture alignment
          it was missed in the previous refactoring
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 04:01:08 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstcudabasefilter.c:
        * sys/nvcodec/gstcudabasefilter.h:
        * sys/nvcodec/gstcudaconvert.c:
        * sys/nvcodec/gstcudaconvert.h:
        * sys/nvcodec/gstcudaconvertscale.c:
        * sys/nvcodec/gstcudaconvertscale.h:
        * sys/nvcodec/gstcudafilter.c:
        * sys/nvcodec/gstcudascale.c:
        * sys/nvcodec/gstcudascale.h:
        * sys/nvcodec/meson.build:
          cudaconvert, cudascale: Port to GstCudaBaseCovert baseclass
          Don't need to hold duplicated code in the source tree
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-09 21:31:01 +0900  Seungha Yang <seungha@centricular.com>

        * sys/nvcodec/gstcudabasefilter.h:
        * sys/nvcodec/gstcudaconvertscale.c:
        * sys/nvcodec/gstcudaconvertscale.h:
        * sys/nvcodec/gstcudafilter.c:
        * sys/nvcodec/meson.build:
          cuda: Add convertscale element
          GstCudaConverter object can do colorspace conversion and scale at once.
          Adding new element "cudaconvertscale" to do that, this can
          save unnecessary GPU operation if colorspace conversion and
          rescale is required for given input stream format.
          Most of codes are taken from d3d11convert element
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-10 14:39:12 +0800  Elliot Chen <elliot.chen@nxp.com>

        * gst-libs/gst/play/gstplay.c:
          gstplay: add warning message details check before post it
          For some warning message which has no detail data, need check to avoid printing critical log.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3382>

2021-10-14 11:56:58 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

        * tests/check/elements/dash_mpd.c:
          tests: Add DASH MPD baseURL with query test
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2021-10-14 10:12:51 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

        * ext/dash/gstmpdparser.c:
          mpdparser: Fix missing baseURL query
          When no initializationURL or mediaURL, return baseURL that also
          contains original URI query if available. This fixes a problem
          where URI query was being omitted in the HTTP requests.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2021-10-14 10:09:31 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

        * ext/dash/gstmpdclient.c:
        * ext/dash/gstmpdparser.c:
        * ext/dash/gstmpdparser.h:
          mpdparser: Be consistent about returning duplicated URL
          Instead of returning a "const gchar" or a "gchar" that should not be freed, always
          return a duplicated string as those functions were used together with g_strdup anyway.
          This is needed to prepare support for returning modified strings in next commit.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2021-10-14 10:18:40 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

        * ext/dash/gstmpdparser.c:
          mpdparser: Return correct mediaURL value
          This fixes a problem where get_mediaURL was returning NULL when segmentURL
          was unavailable instead of baseURL as a fallback.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2022-11-13 02:08:15 +0900  Seungha Yang <seungha@centricular.com>

        * gst-libs/gst/d3d11/gstd3d11converter.cpp:
          d3d11converter: Fix YUY2 conversion error
          Always configure shader conversion path, then fallback to the
          shader path if processor is not available
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392>

2022-11-12 22:55:52 +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:
        * tests/check/elements/d3d11colorconvert.c:
          d3d11: Add support for planar RGB formats
          Adding RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, and
          GBRA_12LE format support
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392>

2022-11-13 02:28:42 +0900  Seungha Yang <seungha@centricular.com>

        * docs/plugins/gst_plugins_cache.json:
          d3d11screencapturesrc: Update plugin cache
          Missed in
          https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392>

2022-11-15 00:11:15 +1100  Jan Schmidt <jan@centricular.com>

        * ext/aes/gstaesdec.c:
          aesdec: Fix padding removal for per-buffer-padding=FALSE
          When per-buffer-padding is FALSE, the OpenSSL context needs
          to be told to remove any padding at the end of the ciphertext
          Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1243
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3406>

2022-11-12 09:16:36 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gsttranscodebin.c:
          transcodebin: Use const arguments for clarity
          And rename it when it classhes with existing local variable
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 09:15:23 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gsttranscodebin.c:
          transcodebin: Don't leak GstStream
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 08:35:27 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gsttranscodebin.c:
          transcode: Don't leak caps
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 08:35:12 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gst-cpu-throttling-clock.c:
          transcode: Don't leak timer
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-11 14:37:17 +0100  Edward Hervey <edward@centricular.com>

        * gst/mpegtsdemux/mpegtsbase.c:
          mpegtsbase: Don't leak GList
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:04:39 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gsturitranscodebin.c:
          uritranscodebin: Don't leak uris, profile, sinkpad and filters
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:04:26 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gsttranscodebin.c:
          transcodebin: Don't leak profile
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:03:48 +0100  Edward Hervey <edward@centricular.com>

        * gst/transcode/gsttranscodebin.c:
          transcodebin: Actually free the TranscodingStream structure
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:02:53 +0100  Edward Hervey <edward@centricular.com>

        * gst-libs/gst/transcoder/gsttranscoder.c:
          transcoder: Don't leak API bus and GMainLoop
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-10 03:23:53 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/meson.build:
          meson: d3d11: Clarify the message for WGC support check
          Even Windows10 SDK seems to have required symbols depending on installed
          SDK version
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3376>

2022-11-10 02:49:38 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11winrtcapture.cpp:
          d3d11screencapturesrc: Fix build error with MSVC x86
          Delete the code for now. Note that the code block is unnecessary already
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3375>

2022-11-10 14:31:43 +1100  Matthew Waters <matthew@centricular.com>

        * ext/webrtc/gstwebrtcbin.c:
        * ext/webrtc/webrtcdatachannel.c:
        * ext/webrtc/webrtcdatachannel.h:
          webrtc/datachannel: handle error messages from appsrc/sink
          Fixes a possible race where closing a data channel may produce e.g.
          not-linked errors.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381>

2022-11-10 14:22:30 +1100  Matthew Waters <matthew@centricular.com>

        * ext/sctp/gstsctpdec.c:
          sctpdec: fix stream reset (src pad removal) if no data is ever received
          If we don't receive any data from usrsctp, then there will be no src pad
          for the stream id and the stream reset will fail to remove the relevant
          src pad.  Workaround by first attempting to add the relevant src pad, then
          almost immediately removing it.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381>

2022-07-19 17:42:12 +0800  He Junyan <junyan.he@intel.com>

        * tests/check/libs/h264bitwriter.c:
        * tests/check/libs/h265bitwriter.c:
          test: Correct the test suite name of the h264 and h265 bitwriter.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3384>

2022-10-10 19:58:12 +0100  Colin Kinloch <colin.kinloch@collabora.com>

        * sys/va/gstvavpp.c:
          videocrop, videobox: Simplify navigation event handling and support touch events
          Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>

2022-09-23 19:29:31 +0100  Colin Kinloch <colin.kinloch@collabora.com>

        * sys/va/gstvavpp.c:
          va: Fix vapostproc navigation event co-ordinate mapping
          Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>

2022-09-19 18:05:28 +0100  Colin Kinloch <colin.kinloch@collabora.com>

        * sys/va/gstvavpp.c:
          va: Use gst_video_orientation_from_tag to parse orientation
          Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>

2022-09-07 16:26:22 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkvpp.c:
          msdkvpp: delete the macros to make video memory work on Windows
          Since gst_msdk_import_to_msdk_surface has been implemented for d3d11, we
          delete the macros to make it work on Windows.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-07 15:29:37 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkvpp.c:
          msdkvpp: modify the way of copying system memory to msdk surface
          Replace video_copy with memcpy to fix the issue when the sizes of the
          src frame and dst frame don't match. Moreover, for Windows, you have to
          do the copy first and call gst_msdk_import_to_msdk_surface later.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-07 10:55:57 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkvpp.c:
          msdkvpp: add d3d11 support during negotiation
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-02 16:03:09 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkvpp.c:
          msdkvpp: add d3d11 video memory to sink and src caps
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-07 10:44:16 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkvpp.c:
        * sys/msdk/gstmsdkvpp.h:
          msdkvpp: delete use_sinkpad_va and use_srcpad_va
          This two variables are no longer useful. Delete them for now.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-26 16:19:33 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkenc.c:
          msdkenc: modify the way of copying system memory to msdk surface
          Replace video_copy with memcpy to fix the issue when the sizes of the
          src frame and dst frame don't match. Moreover, for Windows, you have to
          do the copy first and call gst_msdk_import_to_msdk_surface later.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-10-17 17:01:18 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkallocator.h:
        * sys/msdk/gstmsdkallocator_d3d.c:
        * sys/msdk/gstmsdkenc.c:
          msdkallocator_d3d: add d3d11 video memory and import it to msdk surface
          This patch introduces d3d11 texture and index to GstMsdkMemoryID and
          implements gst_msdk_import_to_msdk_surface in order to wrap the surface
          to mfxMemId.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-26 14:13:36 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkallocator_d3d.c:
          msdkallocator_d3d: implement GetHDL callback function
          During encoding process, oneVPL runtime will call GetHDL callback function.
          This patch implements this function for the use of msdk.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-10-17 16:48:15 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkallocator.h:
        * sys/msdk/gstmsdkallocator_libva.c:
        * sys/msdk/gstmsdkallocator_libva.h:
        * sys/msdk/gstmsdkenc.c:
        * sys/msdk/gstmsdkvpp.c:
          msdkallocator: add a parameter to function gst_msdk_import_to_msdk_surface
          Add a flags parameter to function gst_msdk_import_to_msdk_surface and
          move the function declaration to gstmsdkallcator.h to prepare for adding
          Windows implementation.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-19 13:51:11 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkenc.c:
        * sys/msdk/gstmsdkenc.h:
          msdkenc: add d3d11 pool during negotiation
          This patch adds Windows specific set_format and propose_allocation
          functions to enable creating d3d11 pools during negotiation.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-19 13:40:05 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkenc.c:
        * sys/msdk/gstmsdkh265enc.c:
        * sys/msdk/gstmsdkvp9enc.c:
        * sys/msdk/msdk.h:
          msdkenc: add D3D11 caps for msdkenc
          This patch adds D3D11 feature to sink factory for msdkenc.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-05-07 17:10:34 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/gstmsdkcontext.c:
        * sys/msdk/gstmsdkcontext.h:
        * sys/msdk/gstmsdkcontextutil.c:
        * sys/msdk/gstmsdkcontextutil.h:
        * sys/msdk/gstmsdkdec.c:
        * sys/msdk/gstmsdkenc.c:
        * sys/msdk/gstmsdkvpp.c:
          MSDK: Introduce d3d11 device to MSDK context
          Currently MSDK context does not support d3d11va. Now introduce d3d11va
          device to MSDK context, making it able to create msdk session with d3d11
          device and to easily share with upstream and donwstream.
          Add environment variable to enable user to choose GPU device in multi-GPU
          environment. This variable is only valid when there's no context
          returned by upstream or downstream. Otherwise it will use the device
          that created by upstream or downstream.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-05-07 16:28:50 +0800  Tong Wu <tong1.wu@intel.com>

        * sys/msdk/meson.build:
          MSDK: Add gst d3d11 lib into MSDK's dependency
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-11-09 14:59:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvafilter.c:
          vafilter: Log out processed surfaces for debug.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373>

2022-11-09 14:53:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvadeinterlace.c:
        * sys/va/gstvavpp.c:
          vadeinterlace, vapostproc: Drop output buffer if process failed.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373>

2022-11-07 16:32:50 -0300  Daniel <daniel.almeida@collabora.com>

        * docs/plugins/gst_plugins_cache.json:
        * gst/debugutils/gstvideocodectestsink.c:
          debugutils: videocodectestsink: add support for more formats
          Add support for more formats so as to run the libvpx high bit depth test suite.
          This means the files under CONFIG_VP9_HIGHBITDEPTH
          This also allows running the yuv444p 8bit file in the regular 8 bit vp9 suite.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3356>

2022-11-10 15:07:20 +0800  Elliot Chen <elliot.chen@nxp.com>

        * gst-libs/gst/play/gstplay.c:
          gstplay: fix segmentation fault caused by subtitle info update
          For subtitle stream played by subrui, gstplay will update subtitle
          information before select the stream by using playbin3. Need check
          the subtitle_sid value to avoid segmentation fault.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3383>

2022-11-09 14:16:23 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

        * ext/gs/gstgssink.cpp:
          gssink: add 'content-type' property
          Useful when one wants to upload a video as `video/mp4` instead of
          'video/quicktime` for example.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3371>

2022-06-01 21:24:41 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/ccutils.c:
        * ext/closedcaption/ccutils.h:
        * ext/closedcaption/gstcccombiner.c:
        * ext/closedcaption/gstcccombiner.h:
          cccombiner: initial implementation of using CCBuffer helper
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-06-01 17:47:55 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/ccutils.c:
        * ext/closedcaption/ccutils.h:
        * ext/closedcaption/gstccconverter.c:
        * ext/closedcaption/gstccconverter.h:
        * tests/check/elements/ccconverter.c:
          closedcaption: move CC buffering to helper object
          Move most of the interesting code from ccconverter to this new helper
          object.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-30 21:39:13 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/ccutils.c:
        * ext/closedcaption/ccutils.h:
        * ext/closedcaption/gstcccombiner.c:
        * ext/closedcaption/gstccconverter.c:
          closedcaption: move cdp->cc_data into shared location
          So it can be used by both ccconverter and cccombiner
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-13 15:19:43 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/ccutils.c:
        * ext/closedcaption/ccutils.h:
        * ext/closedcaption/gstcccombiner.c:
        * ext/closedcaption/gstccconverter.c:
        * ext/closedcaption/gstclosedcaption.c:
          closedcaption: move cc_data->cdp to shared file
          Used by both ccconverter and cccombiner
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-12 13:22:00 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/gstccconverter.c:
          ccconverter: avoid different indent versions indenting !! differently.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-12 13:19:58 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/ccutils.c:
        * ext/closedcaption/ccutils.h:
        * ext/closedcaption/gstcccombiner.c:
        * ext/closedcaption/gstcccombiner.h:
        * ext/closedcaption/gstccconverter.c:
        * ext/closedcaption/meson.build:
          closedcaption: move cdp framerate table to common file
          shared by both cccombiner and ccconverter
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-12 13:15:19 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/gstcccombiner.c:
          cccombiner: don't assume a single cea608 data packet per buffer
          e.g. 24fps can have up to 3 and would include either two field0 or
          field1 cea608 data.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-06 14:00:38 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/gstccconverter.c:
        * tests/check/elements/ccconverter.c:
          ccconverter: drop data when overflow on extracting cea608 from cc_data
          If the buffer overflows, then drop rather than causing a failure and
          fropping the output buffer indefinitely.  This may have caused downstream to
          be waiting for data the will never arrive.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-05 18:27:50 +1000  Matthew Waters <matthew@centricular.com>

        * ext/closedcaption/gstccconverter.c:
        * tests/check/elements/ccconverter.c:
          ccconverter: fix framerate passthrough with malformed input
          If an input is malformed (only produces cea608 field 1 cc_data) then
          when in passthrough we would effectively be dropping every second cea608
          on output as we would not store any unused cea608 data.
          Fix by having all code paths go through the framerate conversion code
          which will store and retrieve any relevant data across buffers.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-11-10 05:54:18 +0900  Seungha Yang <seungha@centricular.com>

        * sys/amfcodec/gstamfh264enc.cpp:
        * sys/amfcodec/gstamfh265enc.cpp:
          amfcodec: Fix typos
          Fixing typo surfrace -> surface
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3378>

2022-11-10 06:03:45 +0900  Seungha Yang <seungha@centricular.com>

        * sys/mediafoundation/gstmfcapturedshow.cpp:
          mfvideosrc: Return S_OK from ISampleGrabberCB callback
          The Microsoft's ISampleGrabber implementation seems to be ignoring
          the HRESULT return value from the callback though,
          S_OK is the right HRESULT code.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3379>

2022-11-08 19:26:39 +0900  Seungha Yang <seungha@centricular.com>

        * sys/d3d11/gstd3d11screencapturedevice.cpp:
        * sys/d3d11/gstd3d11screencapturesrc.cpp:
          d3d11screencapturesrc: Specify PAR 1/1 to template caps
          ... otherwise PAR can be wrongly signalled during the negotiation
          Fixing below pipeline when desktop resolution is not 640x480
          gst-launch-1.0.exe \
          d3d11screencapturesrc ! videoscale !
          video/x-raw,width=640,height=480,pixel-aspect-ratio=1/1 ! d3d11videosink
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360>

2022-05-22 12:02:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * tests/examples/va/meson.build:
        * tests/examples/va/vaenc-dynamic-reconfigure.c:
          tests: examples: va: Add encoders dynamic reconfiguration.
          Take the QSV encoder test and used it for VA.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-11-05 15:12:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvacaps.c:
        * sys/va/gstvah264enc.c:
          va: caps: Fix raw caps for H264 encoding.
          Mesa gallium and Intel i965 ill reports unsupported video formats.
          This commit reverts ecb12a05 and adds a deeper workaround, since
          ecb12a05 only fix the template caps, but not when renegotation
          happens.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-10-21 10:56:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvabaseenc.c:
          vabaseenc: Log out the flow error name.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-10-20 11:20:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvah264enc.c:
          vah264enc: Enable parameters change while running.
          1. Removes the verification if the internal encoder is not opened
          yet to allow the property setting.
          2. And toggles on the base class' reconf flag for each property
          variable that can be modified at run time.
          3. Mark those modifiable properties as mutable while playing.
          Currently the run-time modifiable properties are:
          qpi, qpp, qpb, bitrate, target percentage, target usage and rate control
          Other properties can be enabled too, but they need testing.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-10-20 11:13:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvabaseenc.c:
        * sys/va/gstvabaseenc.h:
          vabaseenc: Enable encoder reconfiguration.
          Adds an internal function reset() which drains the internal queues and
          calls the reconfig() vmethod.
          This reset() method is called inconditionally at set_format() and in
          handle_frame() if the instance's reconf flag is enabled.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-09-20 20:55:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvah264enc.c:
          vah264enc: Avoid reopen encoder or renegotiate.
          If parameters remain similar enough to avoid either encoder reopening
          or downstream renegotiation, avoid it.
          This is going to be useful for dynamic parameters setting.
          To check if the stream parameters changed, so the internal encoder has
          to be closed and opened again, are required two steps:
          1. If input caps, profile, chroma or rate control mode have changed.
          2. If any of the calculated variables and element properties have
          changed.
          Later on, only if the output caps also changed, the pipeline
          is renegotiated.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-09-20 19:11:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaencoder.c:
        * sys/va/gstvaencoder.h:
          vaencoder: Add gst_va_encoder_get_reconstruct_pool_config()
          This method will return the caps configured in the reconstruct buffer
          pool, and its maxium number of buffers to allocate.
          The caps are needed later to know if the internal encoder has to be
          reopened if the stream properties change.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-11-08 03:43:02 +0900  Seungha Yang <seungha@centricular.com>

        * sys/directshow/plugin.cpp:
          directshow: Demote rank of device provider to GST_RANK_NONE
          Current directshow plugin seems to be unstable and unmaintained
          for many many years.
          See
          https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323
          and
          https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828
          Disable this device provider by default to avoid any side-effect
          of this plugin
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3355>

2022-11-08 11:43:19 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvah264enc.c:
          vah264enc: Fix properties documentation.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-11-08 11:36:12 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvaav1dec.c:
        * sys/va/gstvabaseenc.c:
        * sys/va/gstvacompositor.c:
        * sys/va/gstvah264dec.c:
        * sys/va/gstvah265dec.c:
        * sys/va/gstvajpegdec.c:
        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
        * sys/va/gstvavp9dec.c:
          va: Document device-path property.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-11-08 10:37:10 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * docs/plugins/gst_plugins_cache.json:
          va: Reenable plugin cache.
          This basically a revert of commit 9bb560e7
          Also it adds vaav1dec.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-11-08 11:34:20 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

        * sys/va/gstvampeg2dec.c:
        * sys/va/gstvavp8dec.c:
          vavp8dec, vampeg2dec: Fix type name.
          The camel case name is wrong when registering the type.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-10-26 18:05:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

        * sys/va/gstvacaps.c:
          vacaps: Sort raw caps according their efficiency.
          Caps negotiations considers template caps order. This patch sets the
          correct order according the feture caps: VAMemory, DMABuf and
          SystemMemory.
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3349>

2022-11-08 02:08:08 +0000  Tim-Philipp Müller <tim@centricular.com>

        * meson.build:
          Back to development
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358>

=== release 1.21.2 ===

2022-11-07 23:53:59 +0000  Tim-Philipp Müller <tim@centricular.com>

        * ChangeLog:
        * NEWS:
        * RELEASE:
        * gst-plugins-bad.doap:
        * meson.build:
          Release 1.21.2

2022-11-07 23:53:57 +0000  Tim-Philipp Müller <tim@centricular.com>

        * ChangeLog:
          Update ChangeLogs for 1.21.2

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 ===

Generated by dwww version 1.15 on Fri May 24 09:14:34 CEST 2024.