=== release 1.25.50 ===

2025-02-09 17:35:17 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2025-02-08 16:53:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/opencv/meson.build:
	  opencv: Fix pkgconfig dependency name and gstopencv_dep
	  Broke in bbdf8f599633627d4727b4cab6274c6a2b486a81
	  Also print the prefix inside which we try to detect opencv's data dir.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2025-02-08 01:49:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/opencv/gsthanddetect.cpp:
	* gst-libs/gst/opencv/meson.build:
	  opencv: Fix hand detect profile paths
	  This is the same mechanism used by facedetect
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2024-12-13 09:07:48 +0000  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvavp8dec.c:
	  va: Add VP8 alpha decode bin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2024-10-29 12:40:04 +0800  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvavp9dec.c:
	  va: Add VP9 alpha decode bin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2024-10-29 12:39:39 +0800  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvacodecalphadecodebin.c:
	* sys/va/gstvacodecalphadecodebin.h:
	* sys/va/meson.build:
	  va: Add codec alpha decode bin base class
	  A VA-API decoder bin base class for codecs with alpha channel support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2025-02-07 15:43:05 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* gst-libs/gst/webrtc/meson.build:
	  webrtc: fix pkg-config missing sdp dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8433>

2025-02-07 08:44:53 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecs/meson.build:
	  codecs: include gsth266decoder.h when building gir
	  Will hopefully fix cerbero ci job.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8430>

2025-02-05 15:27:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Add NV12_10LE40 / NV15 support
	  NV15 is common format on RK platform and is that only uncompressed 10bit
	  format the display controller on RK3588 supports.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8426>

2023-05-22 16:15:33 +0200  Kévin Commaille <zecakeh@tedomum.fr>

	* ext/zbar/gstzbar.c:
	* tests/check/elements/zbar.c:
	  zbar: allow to get symbol as bytes
	  It would be possible to get some binary symbols with a string, but if
	  they contain NUL bytes, the string will be cut off. To fix this,
	  provide the decoded symbol as a GBytes too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

2023-05-22 16:09:28 +0200  Kévin Commaille <zecakeh@tedomum.fr>

	* docs/plugins/gst_plugins_cache.json:
	* ext/zbar/gstzbar.c:
	* ext/zbar/gstzbar.h:
	* ext/zbar/meson.build:
	  zbar: allow to enable binary mode
	  Added in zbar 0.23.1, it is a mode that prevents zbar from trying to
	  convert the binary data of QR codes to text by guessing the encoding.
	  Add a property that changes the configuration of the zbar image scanner
	  accordingly.
	  <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

2025-01-09 23:42:14 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Handle the padding OBU correctly
	  The current av1parse can not find the edge of frame correctly if there
	  is padding OBUs inside the stream. We now use a flag seen_non_padding to
	  check whether we see some valid data after a data push. Then the padding
	  OBUs will be the part of the new frame.
	  We also refine the code logic to make the code more readable.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4044
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8269>

2025-02-05 17:10:16 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gsth266parse.h:
	  h266parse: clean up unused APS fields
	  Since APS is always carried in-band, we don't need to keep the APS
	  NALs around in the parser anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-31 00:26:38 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	  h266parser: do not fail when extension flags are set
	  For VPS, PPS, APS, OPI and DCI, the extension flags are the last syntax
	  in the structures, and according to the spec, should be ignored if set to 1.
	  Therefore, we can just ignore them rather than failing.
	  This fixes a few failures in fluster, like in the PSEXT_A_Nokia_2 stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:11:28 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* tests/check/elements/h266parse.c:
	  h266parse: add tests for vvc1 and vvi1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:10:05 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/videoparsers/gsth266parse.c:
	  h266parse: enable vvc1 and vvi1 stream formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:07:21 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: handle packetized frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-05 14:17:21 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: don't prepend APS NALs on IDR frames
	  Instead, APS NALs can just be pushed an in-band NALs like PH and SEI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:21:35 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: negotiate before handling codec_data NALs
	  If we find VPS/SPS/PPS in codec_data and call gst_h266_parse_process_nal
	  with them, we need to have negotiated before in order to correctly
	  process them with flags like h266parse->transform set or not depending
	  on the negotiation. This is important because in certain vvc1/vvi1 streams we
	  may have correct codec_data but faulty parameter sets in the stream and
	  we would want to push the parameter sets from codec_data first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-05 14:17:45 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: parse codec_data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:46:38 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: update IDR position in more cases
	  The IDR position should be updated if we're processing an
	  IDR frame or pushing codec NALs. Not only when picture_header_in_slice_header_flag
	  is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:37:10 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: fix typos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:30:36 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: implement make_codec_data
	  implement serialization of codec_data containing VvcDecoderConfigurationRecord
	  as defined in ISO/IEC 14996-15.
	  The VPS/SPS/PPS NALs are added to the codec_data. APS NALs could be
	  optionally included as well but will be pushed in-band instead, because:
	  1. Logic is easier that way. We'd have to filter out for PREFIX_APS only
	  (SUFFIX_APS aren't allowed in codec_data).
	  2. APS NALs can also be sent for every non-keyframe slice, and often are, so just pushing
	  them in-band makes more sense to have less to keep track and avoid possible
	  duplicates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:17:50 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	* tests/check/libs/h266parser.c:
	  h266parser: add API to parse VVCDecoderConfigurationRecord
	  VVCDecoderConfigurationRecord is present in ISOBMFF files carrying
	  VVC/H.266 streams via the vvcC box, as defined in ISO/IEC 14496-15.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-06 08:34:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/opencv/meson.build:
	  opencv: imgcodecs.hpp is also needed to build the plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>

2025-02-06 08:08:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opencv/meson.build:
	* gst-libs/gst/opencv/meson.build:
	  meson: Modernize opencv build definitions
	  Use the fs module instead of using `run_command('test')`, simplify
	  some indentation, fix dependency management
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>

2025-01-03 15:15:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Distinguish missing plugin errors and include more details in error/warning messages
	  Include the URI (and if possible) stream-id in the messages. These are provided
	  by uridecodebin3 / decodebin3 in most cases but there is fallback code to guess
	  them otherwise.
	  For missing plugin errors also the installer details are included.
	  The URI is included in all message types.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3547
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8236>

2025-02-06 23:28:13 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/nvdswrapper/gstnvdsdewarp.cpp:
	* ext/nvdswrapper/plugin.cpp:
	  docs: Add nvdswrapper docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8425>

2024-12-23 11:47:26 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	  wpe: Reduce gpointer usage in ThreadedView
	  Those gpointers were introduced when we had to support some old WPE API, no need
	  for them anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8413>

2025-02-03 12:25:34 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/plugin.c:
	  docs: v4l2codecs: Add plugin index documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-25 16:28:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Push v4l2codecs documentation cache
	  These are normally autogenerated for the platform GStreamer runs on,
	  though it is convenient to have everything listed in the doc. This
	  was created with the new GST_V4L2_CODEC_GEN_DOC=1 environment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 16:27:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  doc: v4l2codecs: Document all decoders
	  Add the documentation blob and since marker for all decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 23:05:58 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Remove uneeded per-codec abstract class
	  That subclass was not needed and was causing issues wit doc generation.
	  The only down side of removing it is that the decoder cast macro is no
	  longer type safe.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 20:00:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Add Hardware class to alpha decoders
	  This was accidently omitted, this is needed wen filterting hardware
	  codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:48:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	  v4l2codecs: Cleanup alpha decodebin class header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:26:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.h:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.h:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.h:
	  v4l2codecs: Don't needlessly expose decoder types
	  We have explicit register functions and have no use for these types in
	  other components.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:19:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.h:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/gstv4l2codecdevice.h:
	* sys/v4l2codecs/gstv4l2codech264dec.h:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
	* sys/v4l2codecs/gstv4l2codecpool.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.h:
	* sys/v4l2codecs/gstv4l2codecvp9dec.h:
	* sys/v4l2codecs/gstv4l2decoder.h:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Use pragma once
	  This is a nice cleanup and removes comment referring to D3D notably.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-24 17:07:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs: Enable AV1 kernel version check
	  The uAPI finally got merged into 6.5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-24 17:04:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecdevice.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Add a doc generation mode
	  This is enabled through an env, it allow exposing all elements without
	  the needed driver supports. This is useful to fill the documentation cache.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-02-03 14:09:16 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Prefer DMABuf over system memory
	  Swap the template and caps query around to that the sink can describe a
	  preference for DMAbuf over system memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404>

2025-02-04 17:33:23 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh265.c:
	  vkvideoencodeh265: fix PicOrderCntVal usage
	  remove `pic_order_cnt` member variable of GstVulkanH265EncodeFrame and
	  use always `pic_num` instead.
	  Intialize first `pic_num` value in test_encoder_h265_i_p.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8408>

2025-02-04 16:10:38 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkvideoencodeh26x: tests: set constant qp
	  Set constant qp to 26 in between 0 and 51, the qp range
	  for h264 and h265.
	  minQp in case of ANV is 10 for h265
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8407>

2025-02-04 03:49:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/meson.build:
	  mediafoundation: Enable MinGW build
	  Update MinGW toolchain in cerbero can support MediaFoundation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 05:27:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideobuffer.h:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mediafoundation: Use DEFINE_GUID instead of DECLSPEC_UUID
	  MinGW will not define IID for custom COM object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 04:14:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfutils.h:
	  mediafoundation: Fix GUID_NULL related MinGW build error
	  Include cguid.h for GUID_NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 04:09:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaacenc.cpp:
	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfmp3enc.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfutils.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideobuffer.h:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideosrc.cpp:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Fix various GCC warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2024-06-28 09:32:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.h:
	* sys/va/gstvah266dec.c:
	* sys/va/gstvah266dec.h:
	* sys/va/gstvaprofile.c:
	* sys/va/gstvaprofile.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the VA h266 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>

2024-12-20 18:13:23 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth266decoder.c:
	* gst-libs/gst/codecs/gsth266decoder.h:
	* gst-libs/gst/codecs/gsth266picture.c:
	* gst-libs/gst/codecs/gsth266picture.h:
	* gst-libs/gst/codecs/meson.build:
	  codecs: Add the H266/VVC decoder base class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>

2025-02-04 05:27:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstwin32devicewatcher.cpp:
	  mfdevice: Unregister device notification callback on stop
	  ... as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-04 03:55:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoenc: Fix profile string check
	  profile_str is not std::string. Use strcmp instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-04 02:52:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfdevice.cpp:
	  mfdevice: Fix memory leak
	  Release resources on dispose() as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-03 20:39:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/meson.build:
	* sys/nvcodec/meson.build:
	* sys/qsv/meson.build:
	  meson: Check d3d12video header for MinGW build
	  Old MinGW toolchain does not ship the header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8400>

2025-02-03 09:39:07 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/closedcaption/gstceaccoverlay.c:
	  cc708overlay: Deprecate element in favour of cea708overlay
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3459
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8397>

2025-02-02 19:00:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12mipgen: Respect requested mip levels
	  Don't waste GPU power by generating more levels than requested
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>

2025-02-02 00:55:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12mipgen: Serialize root signature only once
	  ... and reuse serialized blob
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>

2024-06-11 17:46:11 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* meson.build:
	  meson: use nls option to ENABLE_NLS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017>

2023-09-29 18:14:52 +0200  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-app-maker:
	* tools/gst-element-maker:
	* tools/gst-project-maker:
	  bad: tools: update gst-{app,element,project}-maker for new gst-indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2023-09-29 18:10:09 +0200  Tim-Philipp Müller <tim@centricular.com>

	* scripts/update-orc-dist-files.py:
	  scripts: update update-orc-dist-files.py scripts for new gst-indent
	  And fix python indentation with autopep8
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2025-01-31 22:06:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix SRV descriptor heap size
	  Converter was allocating smaller size of descriptor heap
	  than required size when auto-mipgen is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8391>

2025-01-22 23:01:40 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/codecparsers/meson.build:
	* tests/examples/codecparsers/parse-h264-drop-frames.c:
	  examples: Add h264parser example
	  An example to show how to detect frame type using h264parser
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8338>

2025-01-29 19:37:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	  mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
	  Out parameters are (transfer full) by default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380>

2025-01-09 14:27:11 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: De-dupe filling caps format fields
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268>

2025-01-29 09:31:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: format: Fix tiled stride with modifiers
	  After a bit of back and forth, we figure-out that for backward
	  compatibility we need to set the tile stride the way GStreamer
	  defines it. Sinks such as glimagesink/waylandsink translate it
	  back to the number of bytes representation used by Linux.
	  The change in !7355 when the other way around, breaking tiled
	  playback through waylandsink and glimagesink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7892>

2025-01-10 11:29:44 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Don't filter out unrecognised DRM formats
	  There is no requirement for a base DRM format to be supported by libgstvideo
	  in order to be uploaded to.
	  The linux-dmabuf-v1 format events are DRM_FORMAT codes and don't need to
	  be converted before use with `gst_video_dma_drm_fourcc_to_string`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8279>

2025-01-27 18:55:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Restore QoS messaging
	  Reimplement the QoS message generation that was lost together with the
	  caption frame counting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2025-01-23 15:34:14 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Clean up property mutability
	  Most settings are copied from properties on the READY → PAUSED state
	  change. The recently added properties violate this scheme, and are
	  probably unsafe to change.
	  Make these properties consistently MUTABLE_READY. Also remove the unused
	  `output_padding` field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2024-11-19 17:38:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/check/elements/cccombiner.c:
	  tests: cccombiner: Test rescheduling 50fps to 25fps w/o overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2024-11-19 17:38:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Replace caption frame counting with max_buffer_time
	  The counting is defective when we are combining with a stream that has a
	  higher max_cea608_count (such as 60p to 30i), as we produce less caption
	  frames than we consume, leading to periodic queue drops.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2025-01-25 00:15:04 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Use C++20 with MSVC if needed
	  The subproject fails on vs2022 builds with:
	  [...]agc2/input_volume_stats_reporter.cc(89): error C7555: use of designated initializers requires at least '/std:c++20'
	  So let's force C++20 in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>

2025-01-09 11:37:05 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Bump to WebRTC AudioProcessing 2.1
	  Keep 1.0 support around so distros can manage this bump more easily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>

2025-01-20 18:19:18 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: fix seeks hangs due to a race condition draining
	  If the drain function of the decoder triggered by FLUSH_START
	  is run while the output loop is running, once the output loop
	  finished vtdec->downstream_ret will be GST_FLOW_FLUSHING instead
	  of GST_FLOW_OK, which must not be treated as an error since
	  the queue is cleaned correctly as well.
	  Fix #4179
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8328>

2025-01-23 11:50:43 +1100  Matthew Waters <matthew@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	  cudacompositor: pass correct variable to debug log functions
	  Fixes spew of:
	  gst_debug_log_full_valist: assertion 'id != NULL ||
	  object == NULL || G_IS_OBJECT (object)' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8345>

2025-01-23 13:20:50 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpe: remove glFlush() when filling buffer
	  According to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4162#note_2739338
	  it was introduced as workaround for tearing issues.
	  I do not experience any tearing without flushing on both nvidia and AMD
	  GPU, so I suppose it's no longer needed.
	  Slightly improve CPU usage according to my tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8348>

2025-01-22 19:37:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	  cudacompositor: Fix memory leak
	  gst_cuda_compositor_upload_frame() returns buffers with increased
	  refcount already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8335>

2025-01-17 20:46:55 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: add conditional values to AVCConfigurationRecord
	  This adds the data required in AVCDecoderConfigurationRecord for
	  higher profile (High variants) configurations - everything in the if(...) {...} part
	  of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version).
	  Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8308>

2025-01-20 03:14:22 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstcudacompositor.cpp:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  docs: Update nvcodec plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 21:29:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudaipcsrc.cpp:
	  cudaipc: Use empty string for address property docs
	  Since Windows and Linux have different default values,
	  use empty string when generating plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 04:52:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvcodec: Specify documentation caps
	  ... since produced caps will be different depending on OS and GPU model.
	  Also adding Y444_16LE format to decoder's GL template caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 02:55:03 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/nvcomp/gstnvcompvideoenc.cpp:
	* ext/nvcomp/plugin.cpp:
	  docs: Add nvcomp plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 18:37:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8326>

2025-01-20 13:23:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: explicitly list gir files as depends for generating configs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8324>

2024-12-18 01:45:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	* sys/nvcodec/gstcudacompositor.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add cudacompositor element
	  Adding CUDA based compositor element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-17 00:51:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Add support for alpha blending
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-16 01:32:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/meson.build:
	  cudaconverter: Add support for configuration update
	  Allow updating various configuration values via property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-14 23:56:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.c:
	  cudaconverter: Pass constant values as kernel argument
	  Make conversion kernel more flexible and reusable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-14 21:44:55 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load 2D memset function symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2025-01-15 17:36:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* gst-libs/gst/adaptivedemux/meson.build:
	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/basecamerabinsrc/meson.build:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecs/meson.build:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/dxva/meson.build:
	* gst-libs/gst/insertbin/meson.build:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mse/meson.build:
	* gst-libs/gst/opencv/meson.build:
	* gst-libs/gst/play/meson.build:
	* gst-libs/gst/player/meson.build:
	* gst-libs/gst/transcoder/meson.build:
	* gst-libs/gst/va/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/webrtc/meson.build:
	* gst-libs/meson.build:
	  docs: generate hotdoc configs for libraries with our helper script
	  With this patch, configure time is identical no matter whether doc is
	  enabled or not.
	  The configuration files also now contain explicitly-listed sources with
	  no wildcards.
	  For the four libraries where hotdoc needs to use clang to generate the
	  documentation (as opposed to the rest of the libraries where hotdoc uses
	  the gir), the script will call pkg-config to determine the appropriate
	  C flags.
	  This means a side effect of this patch is that pkg-config files are now
	  generated for the gstadaptivedemux and gstopencv libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-17 16:51:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* meson.build:
	  meson: bump minimum version to 1.4 in every subprojects
	  36c01d05797ad9c7778939c54870f979bdcbba1f bumped to 1.4 for gst-devtools
	  and the root project, but we usually keep those in sync everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-04 20:46:37 +0000  Sam James <sam@gentoo.org>

	* ext/lc3/meson.build:
	  lc3: tweak meson style
	  While this might seem a bit silly, it aids some of our infra in
	  packaging. Tweak for consistency with other use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8239>

2025-01-06 13:28:40 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: enhance interlaced content support
	  - Use frame_num instead of pic_num to set the long_term_pic_num
	  fixing 10 interlaced tests in fluster test suite: JVT-AVC_V1
	  - Send the slice offset only once in case of interlaced content.
	  Fixing 5 interlaced tests in fluster test suite: JVT-AVC_V1.
	  - The default value for top and bottom field flag should be 0 in the
	  case of a progressive content.
	  - Use short and long term refs helper getter method to retrieve the
	  reference frames according its none existing and interlaced state
	  - Reorganize the find_next_slot_idx code to be easier to read.
	  Co-authored-by: Daniel Almeida <daniel.almeida@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-06-21 16:55:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: enable h264 interlaced decoding
	  First the slot_index shall have the same value for the first and second
	  fields.
	  Also, the reference frames are only those with both fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-06-21 16:43:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: make GstVulkanH264Picture a reference count
	  Thus we could re-use the same structure for interlaced fields: a single bistream,
	  single output buffer and single vulkan structures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-10-25 15:24:49 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: non existing picture are not refs
	  The non existing picture or gap picture should not be
	  considered as refs for vulkan decoder.
	  Fix fluster tests:
	  MR3_TANDBERG_B
	  MR4_TANDBERG_C
	  MR5_TANDBERG_C
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-10-25 12:36:43 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/vkh264dec.c:
	  vkh264dec: support h264 extended profile
	  Extended is identical to main but allows FMO/ASO features to be used,
	  and prevent using CABAC.
	  Using similar logic to "baseline", assume that if we support main,
	  we can also do extended.
	  This fixes the following fluster vectors, which otherwise would fail when trying to link the parsebin pad.
	  BA3_SVA_C
	  MR6_BT_B
	  MR7_BT_B
	  MR8_BT_B
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2025-01-15 17:08:21 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.h:
	  gst-analytics: add missing mtd segmentation API
	  - add gst_analytics_segmentation_mtd_get_mtd_type() which is required to
	  retrieve the concrete type of a generic mtd (GstAnalyticsMtd).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8307>

2025-01-10 14:15:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Fix handling of caps framerate in auto mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8280>

2025-01-10 21:18:45 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/mpegts/gstmpegtssection.h:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: add support for VVC/H.266
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4940>

2025-01-14 17:22:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc-nice: fix compiler warning with older versions if libnice
	  warning: "HAVE_LIBNICE_CONSENT_FIX" is not defined, evaluates to 0 [-Wundef]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8305>

2025-01-13 00:39:43 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  d3d12: Update docs for max-mip-levels property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-13 00:08:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	  d3d12convert: Add max-mip-levels property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-12 23:37:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add max-mip-level property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-12 23:22:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add max-mip-level property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 21:57:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12converter: Add support for mipmap generation
	  Adding max-mip-levels property so that converter can generate
	  mipmap textures if render target size is smaller than
	  input texture resolution.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 01:59:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Refactor to support mipmap handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 21:05:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_gray.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add support for GRAY output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 00:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_ayuv.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_vuya.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Skip alpha sampling if possible
	  If input format has no alpha and output format has no alpha,
	  skip alpha sampling which can reduce the number of instruction slots
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-09 23:12:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Move mipgen to libs
	  converter object will use mipgen object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-14 15:00:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.1

=== release 1.25.1 ===

2025-01-14 14:52:48 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-12-20 13:28:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fixed caps-building for output devices
	  When iterating through output devices, video_input_caps was being
	  updated instead of video_output_caps.
	  As a result, video output devices were being created with an empty caps object
	  and `gst-device-monitor-1.0 Video/Sink` would produce no decklink devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8298>

2025-01-13 22:09:02 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: drop duplicated call
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8299>

2025-01-13 12:48:52 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: update vampeg2dec docs with new rank
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: add svtjpegxs plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 12:45:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/openaptx/openaptx-plugin.c:
	  docs: add openaptx plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 18:10:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* ext/aes/meson.build:
	* ext/analyticsoverlay/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/codec2json/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/ladspa/meson.build:
	* ext/lc3/meson.build:
	* ext/lcevcdecoder/meson.build:
	* ext/lcevcencoder/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/nvcomp/meson.build:
	* ext/nvdswrapper/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/qt6d3d11/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/svtav1/meson.build:
	* ext/svthevcenc/meson.build:
	* ext/svtjpegxs/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/codectimestamper/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/insertbin/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/meson.build:
	* gst/midi/meson.build:
	* gst/mpegdemux/meson.build:
	* gst/mpegpsmux/meson.build:
	* gst/mpegtsdemux/meson.build:
	* gst/mpegtsmux/meson.build:
	* gst/mse/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/tensordecoders/meson.build:
	* gst/timecode/meson.build:
	* gst/transcode/meson.build:
	* gst/unixfd/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/aja/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/d3d12/meson.build:
	* sys/d3dvideosink/meson.build:
	* sys/decklink/meson.build:
	* sys/directshow/meson.build:
	* sys/directsound/meson.build:
	* sys/dvb/meson.build:
	* sys/dwrite/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/uvcgadget/meson.build:
	* sys/uvch264/meson.build:
	* sys/v4l2codecs/meson.build:
	* sys/va/meson.build:
	* sys/wasapi/meson.build:
	* sys/wasapi2/meson.build:
	* sys/webview2/meson.build:
	* sys/wic/meson.build:
	* sys/win32ipc/meson.build:
	* sys/winks/meson.build:
	* sys/winscreencap/meson.build:
	* tools/gst-project-maker:
	  docs: port plugins to explicit sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>

2024-02-13 10:21:15 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* sys/androidmedia/magicleap/gstamc-codec-ml.c:
	* sys/androidmedia/magicleap/gstamc-codeclist-ml.c:
	* sys/androidmedia/magicleap/gstamc-format-ml.c:
	* sys/androidmedia/magicleap/gstamc-internal-ml.h:
	* sys/androidmedia/magicleap/gstamc-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.h:
	* sys/androidmedia/meson.build:
	  magicleap: Drop MLSDK support
	  I was used by ML1 (first gen device) which is deprecated and not
	  supported anymore. ML2 uses standard Android JNI and NDK.
	  Note that mlaudiosink element remains in bad/sys/magiclea because it
	  allows 3d spatial audio and that API is still supported by Magicleap
	  SDK.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6108>

2025-01-06 09:12:19 +0100  Edward Hervey <edward@centricular.com>

	* ext/iqa/meson.build:
	* ext/sctp/usrsctp/meson.build:
	* ext/soundtouch/meson.build:
	* ext/ttml/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst/dvbsubenc/meson.build:
	* meson.build:
	* sys/dwrite/libcaption/meson.build:
	* sys/qsv/libmfx/meson.build:
	* tests/check/meson.build:
	  bad: Add extra warning flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-11 13:40:39 +0100  Edward Hervey <edward@centricular.com>

	* sys/winscreencap/gstgdiscreencapsrc.c:
	* sys/winscreencap/gstwinscreencap.c:
	* sys/winscreencap/gstwinscreencap.h:
	  winscreencap: Don't use aggregate returns
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-11 09:07:27 +0100  Edward Hervey <edward@centricular.com>

	* sys/decklink/meson.build:
	  decklink: Ignore undef warnings in decklink API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 17:24:40 +0100  Edward Hervey <edward@centricular.com>

	* ext/openni2/meson.build:
	  openni2: Ignore undef in external header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 17:24:30 +0100  Edward Hervey <edward@centricular.com>

	* ext/x265/meson.build:
	  x265: Ignore undef in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:31:01 +0100  Edward Hervey <edward@centricular.com>

	* sys/amfcodec/meson.build:
	  amf: Ignore undef warnings in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:30:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/spandsp/meson.build:
	  spandsp: Ignore undef issue in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:29:53 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Fix definition usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:17:11 +0100  Edward Hervey <edward@centricular.com>

	* ext/sctp/sctpassociation.c:
	  sctp: Convert function to avoid aggregate return
	  It's only used locally and only to fill an existing variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:42:19 +0100  Edward Hervey <edward@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.m:
	* sys/applemedia/corevideobuffer.c:
	* sys/applemedia/videotexturecache-gl.h:
	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	* sys/applemedia/videotexturecache.m:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	  applemedia: Fix usage of HAVE_IOS define
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:10:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/timecode/meson.build:
	  timecode: Fix definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:10:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/resindvd/resindvdbin.c:
	  resindvd: Fix definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:09:58 +0100  Edward Hervey <edward@centricular.com>

	* ext/curl/gstcurlhttpsrc.h:
	* meson.build:
	  curl: Fix definitions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 10:27:51 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	  vulkan: Include api header
	  Needed for GST_VULKAN_HAVE_VIDEO_EXTENSIONS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 11:03:32 +0100  Edward Hervey <edward@centricular.com>

	* ext/wpe/wpe-extension/gstwpeaudiosink.c:
	  wpeaudiosink: Check error value explicitly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 15:55:42 +0100  Edward Hervey <edward@centricular.com>

	* sys/msdk/meson.build:
	  msdk: Ignore aggregate return warning
	  That's how their API is implemented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 15:53:55 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/meson.build:
	  d3d11: Ignore undef issues with external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 15:06:58 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Disable implicit fallthrough checks
	  There are some missing explicit fallthrough statements in the direct headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 10:36:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	  rtmp2: Explicitly define scheme error enum
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 10:28:20 +0100  Edward Hervey <edward@centricular.com>

	* ext/directfb/dfbvideosink.c:
	  dfbvideosink: Rework escape handling
	  Detected by a fallthrough.
	  * Just use if/else for clarity
	  * Remove 2002 fart joke
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 09:10:48 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Fix segments iteration
	  `i >= 0` is always true since it's an unsigned integer ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 09:10:08 +0100  Edward Hervey <edward@centricular.com>

	* gst/siren/encoder.c:
	  siren: Cast shift mask to unsigned value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 18:42:01 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix unsigned value reading
	  Unsigned values are always above 0, use MAX variant for reading
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:13:23 +0100  Edward Hervey <edward@centricular.com>

	* tests/examples/ipcpipeline/ipc-play.c:
	  examples/ipcpipeline: Fix ESC handler
	  Same as for gst-play
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:12:54 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/libs/play.c:
	  tests/play: Fix debug statement
	  The interval is in milliseconds, convert to nanoseconds for debugging statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:12:21 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Remove useless checks with unsigned values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:10:59 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcea608mux.c:
	  closedcaption: Use proper type for storing result
	  drop_ccp_from_cc_data() will return a negative value if there was an
	  error. Storing that in an unsigned value will cause the checks for errors to
	  never happen.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:10:21 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstcea708decoder.c:
	  cea708decoder: Remove useless checks
	  No need to check for the type limits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:09:28 +0100  Edward Hervey <edward@centricular.com>

	* ext/isac/gstisacdec.c:
	  isacdec: Remove impossible check
	  WebRtcIsac_DecodePlc() never returns a negative value (confirmed by
	  documentation and current/historical code)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:09:00 +0100  Edward Hervey <edward@centricular.com>

	* ext/sctp/gstsctpdec.c:
	  sctpdec: Remove useless check
	  A uint16 will always be below ... the maximum value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:47:11 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	  mpeg2decoder: Remove useless check
	  The enum is unsigned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:43:19 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vkinstance: Remove useless check
	  priv->requested_api_major is unsigned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:42:22 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  basetsmux: Add explicit macro for GstClockTimeDiff handling
	  The checks in the other macro were useless for unsigned values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:41:54 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Remove useless check
	  values will always be positive
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:41:18 +0100  Edward Hervey <edward@centricular.com>

	* gst/speed/gstspeed.c:
	  speed: Refactor event handler
	  To avoid fallthrough issues which were tricky to fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 18:00:41 +0100  Edward Hervey <edward@centricular.com>

	* ext/fdkaac/gstfdkaacdec.c:
	* gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
	* gst-libs/gst/isoff/gstisoff.c:
	* gst/aiff/aiffparse.c:
	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
	* gst/mpegpsmux/psmuxstream.c:
	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mpegtsdemux/pesparse.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/rtmpchunkstream.c:
	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gstmpeg4videoparse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* sys/ipcpipeline/gstipcpipelinesrc.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* tests/examples/audiomixmatrix/test-audiomixmatrix.c:
	* tests/examples/waylandsink/wayland-threads.c:
	  bad: Clearly specify fallthrough in switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-09 00:42:48 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtc: fix duplicate payload types with RTX and multiple video codecs
	  Before this patch, there could be duplicate payload types in offers that
	  have, within a media section, multiple codecs and RTX enabled:
	  ```
	  m=video 9 UDP/TLS/RTP/SAVPF 96 97 97 <-- HAS DUPLICATES
	  a=sendrecv
	  a=rtpmap:96 VP8/90000
	  a=rtcp-fb:96 nack
	  a=rtcp-fb:96 nack pli
	  a=rtcp-fb:96 ccm fir
	  a=rtcp-fb:96 transport-cc
	  a=rtpmap:97 H264/90000
	  a=rtcp-fb:97 nack
	  a=rtcp-fb:97 nack pli
	  a=rtcp-fb:97 ccm fir
	  a=rtcp-fb:97 transport-cc
	  a=rtpmap:97 rtx/90000  <--------- PT IS DUPLICATE
	  a=fmtp:97 apt=96
	  ```
	  Fix this by populating the media_mapping array with all media formats
	  rather than only the first one. The added test case reproduces the issue,
	  which fails without this patch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8259>

2025-01-09 11:39:11 +0100  Edward Hervey <edward@centricular.com>

	* sys/wasapi/gstwasapisink.c:
	  wasapi: Use signed value for can_frames
	  The can retrieval function can return negative values (which will be properly handled)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-09 10:08:23 +0100  Edward Hervey <edward@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Add missing break statement
	  Setting frame-sad would also set ltr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-06 10:39:35 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12: Add missing breaks to switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-06 09:57:33 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h265bitwriter: Don't use type too small
	  The computed `coef_val` could exceed the maximum range of a gint8. Use a bigger
	  one, the checks after will ensure it's properly cropped/padded
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 12:08:24 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtssection.c:
	  mpegts: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:46:21 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mse/gstmsemediatype.c:
	  msemediabuffer: Fix ASCII character detection
	  Use glib function. The previous check was checking whether a signed int was
	  lower than its limit (which ... is always TRUE).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:43:49 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  msesourcebuffer: Fix unsigned value handling
	  Use the explicit valid clocktime handler instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:41:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/rist/gstristsink.c:
	  ristsink: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-10 13:27:13 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Fix indentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281>

2025-01-07 12:56:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkaudiosink.cpp:
	  decklinkaudiosink: Don't crash if started without corresponding video sink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8253>

2025-01-09 17:23:41 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: Print table split when DMABuf format changes
	  The `zwp_linux_dmabuf_v1` doesn't specify an order for modifier events
	  to be sent.
	  In my case the linear format was sent last resulting in the first item
	  in each row being the previous format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8272>

2024-12-25 15:04:03 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Clear cached SHM buffers after caps re-negotiation
	  Otherwise buffers not corresponding to the negotiated caps might be pushed
	  downstream.
	  Fixes #4094
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8212>

2024-12-27 13:28:18 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Post progress messages on the bus
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217>

2024-12-25 14:42:16 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Handle latency queries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217>

2025-01-08 00:56:45 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add mip-levels property
	  Generating full levels would result in waste of GPU resource
	  depending on rendering usecase. Adding a property to make it
	  controllable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>

2025-01-08 00:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add YUV and 64bits output formats
	  Add support for YUV and 64bits output formats to avoid
	  colorspace conversion and bitdepth loss
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>

2025-01-06 15:16:02 -0600  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: Tensor dimensions are always row-major or col-major
	  Simplify by removing the extra fields, as this is what all
	  frameworks give us.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250>

2024-12-27 20:55:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: add support for interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-27 18:02:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: factor out encoding of codestream into separate function
	  Prepare for interlacing support where an interlaced image
	  is coded as two codestreams each representing a field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-26 18:08:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	  mpegtsmux: add support for interlaced JPEG XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 22:54:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: add support for interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 22:40:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: drop frames that had decoding errors
	  Follow-up to !8163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 18:07:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: factor out decoding of codestream into separate function
	  Prepare for interlacing support where an interlaced image
	  is coded as two codestreams each representing a field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-20 13:49:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: handle interlaced JPEG XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-10 15:09:24 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: update only vps/sps on demand and pass pps always
	  As PPS can change over the stream, the pps should be always
	  updated to avoid missing picture parameters sets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124>

2024-12-10 12:48:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: update only sps on demand and pass pps always
	  As PPS can change over the stream, the pps should be always
	  updated to avoid missing picture parameters sets.
	  See CABA3_TOSHIBA_E.264 in fluster resources.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124>

2024-12-30 21:59:03 +0100  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* ext/gtk/meson.build:
	* tests/examples/gtk/meson.build:
	* tests/examples/waylandsink/meson.build:
	  meson: Fix build with gtk3 but not wayland
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8222>

2025-01-04 20:30:01 +0000  Sam James <sam@gentoo.org>

	* meson_options.txt:
	  codec2json: move option to right section
	  It has an external dependency (json-glib) so should be under
	  that heading.
	  Fixes: fd588a50e415feb0ab21c4a3386bd426c8c9043b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238>

2025-01-04 19:52:48 +0000  Sam James <sam@gentoo.org>

	* meson_options.txt:
	  analyticsoverlay: move option to right section
	  It has an external dependency (pango/cairo) so should be under
	  that heading. Also, fix an inconsistency with the ':' style.
	  Fixes: 95464c89772e144088af54c1e8a4c1fecc45f09a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238>

2024-12-20 14:51:45 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: remove batch-size
	  - Batch-size will be the outer-most dimension. Presence of batch dimension can
	  be identified using `dims` and `id`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191>

2025-01-01 00:43:41 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Add support for HDR capture in DDA mode
	  Use IDXGIOutput5::DuplicateOutput1() if HDR is enabled.
	  Note that scRGB color space is not defined in GStreamer,
	  this element will output SDR tonemapped frame
	  with linear or reinhard filtering.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3834
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>

2025-01-01 22:15:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_scrgb.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_scrgb_tonemap.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	  d3dshader: Add sampling pixel shader for scRGB SRV
	  Shaders required for HDR capturing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>

2024-11-22 12:46:22 +0100  Albert Sjolund <alberts@axis.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: add new post-rtp-aux-sender signal
	  Adds a new signal to webrtcbin, to allow for placement
	  of an object after rtp, before sendbin. This is usable for
	  objects such as congestion control elements, that don't want
	  to be burdened by the synchronization requirements of rtpsession.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7940>

2024-12-26 01:33:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: fix JPEG XS framerate handling for 29.97fps
	  .. and other framerate values with a 1.001 denominator.
	  The coded framerate denominator value is a code that maps to
	  either 1 (for 1) or 1.001 (for 2) not a direct value.
	  Before, 29.97fps would be announced as 15fps because it
	  would calculate 30/2 instead of 30/1.001.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8226>

2024-12-30 22:53:02 +0100  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* meson.build:
	  meson: Also disable drm on GNU/Hurd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8223>

2024-12-28 22:29:23 +0900  Seungha Yang <seungha@centricular.com>

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

2024-12-28 22:26:48 +0900  Seungha Yang <seungha@centricular.com>

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

2024-12-28 21:43:46 +0900  Seungha Yang <seungha@centricular.com>

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

2024-12-28 21:35:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12deinterlace.cpp:
	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Add "Since" markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 21:06:24 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add asio plugin docs
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3745
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 20:42:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	* sys/asio/plugin.c:
	  asio: Add "Since" markers and fix typos in property description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 20:38:13 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add webview2 plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 13:26:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix stream id leaks on initial stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-12-27 19:01:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/meson.build:
	  play: Actually check for valgrind for the tests
	  Other tests in gst-plugins-bad also assumed it to be checked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-12-27 13:31:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/play.c:
	  play: Fix tests after the switch to playbin3
	  And also fix various memory leaks and other issues that always existed
	  in the tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-10-10 15:54:04 -0400  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/play.c:
	* tests/check/meson.build:
	  play: Port tests to libsoup 3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-10-10 15:08:33 -0400  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay-media-info-private.h:
	* gst-libs/gst/play/gstplay-media-info.c:
	* gst-libs/gst/play/gstplay-media-info.h:
	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Add stream-id based selection of streams to match better playbin3's API
	  As part of this
	  - Add accessors for the stream ID and selection API based on the
	  stream ID
	  - Deprecate the old index-based APIs
	  - Remove playbin support
	  - Implement the track enable API based on stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7648>

2024-12-23 15:17:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix build when libsrtp1 is being used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8204>

2024-12-23 14:58:31 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/wpe-extension/gstwpeextension.c:
	* ext/wpe/wpe-extension/meson.build:
	  wpe: Fix build for version 2.44
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8203>

2024-12-22 15:00:07 +0100  Philippe Normand <philn@igalia.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: Fix a use-after-free buffer issue
	  The gst_srtp_dec_decode_buffer() function modifies the input buffer after making
	  it writable, so the pointer might change as well, depending on the refcount of
	  the buffer.
	  This issue was detected using a netsim element upstream of the decoder in a
	  WebRTC pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8198>

2020-08-10 14:27:29 +0900  Hosang Lee <hosang10.lee@lge.com>

	* ext/smoothstreaming/gstmssdemux.c:
	  mssdemux: Use gsturi structure to form fragment urls
	  We can use gst_uri_from_string_with_base () to join base url
	  and the fragment url path.
	  The previous method of forming base url in update_base_url(),
	  by looking for the string 'manifest' or 'Manifest' is insufficient.
	  A query may include these string in their paths and thus an invalid
	  base url string will be kept.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8193>

2024-12-18 13:18:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Handle gst_dep.get_variable('libexecdir') failure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-18 12:27:30 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Allow updating the plugins cache for all modules even if hotdoc is not present
	  This was possible for some modules but not all, for no good reason.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-20 12:52:31 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: decoder: Fix drm format query
	  A late change that slipped through as it mainly affects NC12
	  at the moment.
	  Fixes: 4b07d54931 ("v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8188>

2023-04-18 11:37:25 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add provisional AV1 mapping
	  The main difference with the WIP av1-in-mpegts mapping is that the payload data
	  is not startcode-escaped. Most of the rest is sensible usage of it:
	  * Custom AV1G (AV1 Gstreamer) registration descriptor instead of AV01
	  * AV1CodecConfigurationRecord is stored in the same 0x80 custom descriptor and
	  conforms fully to the isobmff spec (i.e. does not the HDR fields from the
	  provisional mpegts specification which conflict with that one).
	  * Data is stored as OBU
	  * Access Unit is the frame level (same as provisional mpegts mapping)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4442>

2024-11-18 12:31:21 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstxmlhelper.c:
	* tests/check/elements/dash_mpd.c:
	  dash: handle 0 duration in gst_xml_helper_set_prop_duration
	  Add dash_mpdparser_check_mpd_client_set_period_to_0
	  unit test to demonstrate it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8114>

2024-12-02 11:39:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix some debug trace and comment typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026>

2024-12-02 11:32:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Don't immediatly reset timestamp in presence of TD
	  When a TD is being processed, it is not always pushed immediatly. Resetting
	  the time information lead to lost of timestamp in TU to Frame conversion. The
	  TU would be formed by buffer of [TD][Frame], and the timestamp taken from
	  the TU buffer was lost then the TD was handled.
	  The handling of TS should be entirely done by the 3 functions:
	  - gst_av1_parse_handle_obu_to_obu() (direct input to output)
	  - gst_av1_parse_handle_to_big_align() Reset DTS on detected TU or TD
	  - gst_av1_parse_handle_to_small_and_equal_align() PTS on show frame, flat DTS
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/79312357a6ab8ebc4cfc1ed2243bdbc0660c39d5
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026>

2024-12-20 08:18:15 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix a typo in the comments about its usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-04 23:27:37 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  Doc: Update the plugin document for h266parse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-13 00:00:01 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/elements/h266parse.c:
	* tests/check/meson.build:
	  test: Add the h266parse element test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2023-09-09 01:10:18 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gsth266parse.h:
	* gst/videoparsers/gstvideoparserselements.h:
	* gst/videoparsers/meson.build:
	* gst/videoparsers/plugin.c:
	  h266parse: Add the new h266parse element
	  TODO: Need to refer to the new ISO/IEC 14496-15 for vvc1 and vvi1's
	  codec data
	  Co-authored-by: Zhong Hongcheng <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-17 00:12:51 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: Add the missing ilrp_idx field in H266's ref list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-17 00:15:07 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: H266 GstH266RefPicListStruct's abs_delta_poc_st should be 16 bits
	  Its value range is 0~(2^15 − 1) according to the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-16 11:39:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Add video codec tag to the tag list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156>

2024-12-16 11:38:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add video codec tag to the tag list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156>

2024-11-08 12:38:09 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: format: Add V4L2_PIX_FMT_NC12
	  Which is used by the Raspberry Pi 4 and 5 for 8-bit HEVC. Adding it
	  here in order to show-case how the V4L2<->DRM translation is
	  supposed to work.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>

2024-08-14 02:11:06 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecpool.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	* sys/v4l2codecs/linux/drm_fourcc.h:
	  v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs
	  V4L2 and DRM choose different, incompatible ways to represent
	  tiled/compressed etc. formats. While the later uses combinations of
	  format fourccs and opaque, vendor/hardware specific modifiers, for the
	  later every such combination is a distinct new format.
	  Traditionally Gst implemented each of the V4L2 formats if needed.
	  Given the large number of tiling and compression modes, this is
	  quite work intensive - and often actually not needed.
	  In many situations Gst just needs to pass buffers from V4L2 to DRM in
	  the form of EGL, VK, Wayland or KMS.
	  Thus implement a direct translation for some V4L2 formats to DRM ones,
	  limited to the DMA_DRM API, allowing much quicker enablement of formats
	  while requiring peers to use external implementations (usually Mesa or
	  KMS) for tiling etc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>

2024-12-12 14:41:08 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder: init debug category earlier
	  The encoder has not been created if the codec is not supported by
	  the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
	  category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>

2024-12-12 14:40:55 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: init debug category earlier
	  The decoder has not been created if the codec is not supported by
	  the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
	  category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>

2024-12-16 19:01:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: handle decode errors more gracefully
	  Use GST_VIDEO_DECODER_ERROR instead of just erroring out
	  unconditionally, so that the error handling behaviour is
	  determined by the "max-errors" property and we'll just
	  continue after decoding errors now instead of erroring out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8163>

2024-12-16 17:32:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.cpp:
	  cuda/context: add gpu stack size property
	  Allows reducing the initial stack size of GPU threads.  Cuda should
	  automatically increase this value if a kernel requires a larger stack.
	  Can save roughly 40MB of GPU memory for a single nvh264enc instance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>

2024-12-16 17:31:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: add CuGet/SetCtxLimit()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>

2024-12-18 13:35:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvadisplay.c:
	  va: display: Optimize out some property indirection
	  Because it was visible during some profiling, I thought it cost nothing
	  to optimize out the uneeded property get roundtrip.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8179>

2024-12-17 17:36:19 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/wpe-extension/gstwpeextension.c:
	  wpe: enable console message with WPE2
	  Looks like the WebKitConsoleMessage API is now available in WPE2 as well:
	  https://webkitgtk.org/reference/webkitgtk-web-process-extension/stable/signal.WebPage.console-message-sent.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8169>

2024-12-16 21:41:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/va/gstvah264dec.c:
	  va: h264dec: Allow "extended" profile decoding
	  Extended is identical to main but allows for FMO/ASO features to be
	  used, and prevent using CABAC. Using similar logic to "baseline",
	  assume that if we support main, we can also do extended.
	  This fixes the following fluster vectors, which otherwise would fail
	  when trying to link the parsebin pad.
	  - BA3_SVA_C
	  - MR6_BT_B
	  - MR7_BT_B
	  - MR8_BT_B
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8164>

2024-11-18 07:54:55 +0100  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Tear down src and sink bins before removing them from webrtc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900>

2024-11-15 15:00:00 +0100  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix potential deadlock on bin elements cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900>

2024-12-10 13:12:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Fix authors of encoder features
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-10 00:05:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Fix class hierarchy in an attempt to fix property docs
	  Also fix some convention-nits in the process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc, osxaudio: Fix missing since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	  vtenc: Mark rate-control enum as plugin API, and update cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Add missing since markers for screen-crop properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-05 00:32:37 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	  docs: Update macOS plugin docs again
	  Contains the following updates:
	  * New properties on avfvideosrc: screen-crop-*
	  * H265 and H265 Alpha support in vtdec and vtenc (VideoToolbox)
	  * ProRes support in vtenc
	  * New properties on vtenc elements: rate-control, data-rate-limits,
	  max-frame-delay
	  * New plugin atenc (AudioToolbox) with support for encoding AAC
	  * Plugin move: atdec moved from -bad to -good
	  * New property on osxaudio elements: unique-id
	  * OS X -> macOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-06 19:13:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose new input-meta-processing type, force
	  In force mode, generated captions are discarded even if input video
	  buffers do not hold CC meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8091>

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

	* gst-libs/gst/cuda/meson.build:
	  meson: Improve NVMM CUDA detection
	  1. Add some comments explaining what headers and libs are expected on
	  what systems
	  2. Only look in default incdirs if no incdir is specified
	  3. Require libnvbufsurface.so on Jetson when cuda-nvmm=enabled
	  4. Require libatomic on Jetson when cuda-nvmm=enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8021>

2024-12-16 00:22:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12descheappool.cpp:
	  d3d12: Suppress misleading leak report
	  Set may-be-leaked flag to child objects if needed,
	  since the parent object holding refcount of the child
	  will be leaked intentionally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8152>

2024-04-07 19:23:52 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12deinterlace.cpp:
	* sys/d3d12/gstd3d12deinterlace.h:
	* sys/d3d12/gstd3d12yadif.cpp:
	* sys/d3d12/gstd3d12yadif.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12deinterlace element
	  Adding D3D12 compute shader based deinterlace element
	  with YADIF filtering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140>

2024-10-09 10:02:09 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1_10.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1_12.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_2.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_4.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	  d3dshader: Add YADIF deinterlacing compute shader code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140>

2024-12-11 11:53:47 +0100  Oskar Fiedot <oskar.fiedot@intel.com>

	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/meson.build:
	* tests/check/libs/analyticsmeta.c:
	  analytics: add rotation to object detection mtd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7938>

2024-12-10 16:15:09 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Simplify fmtp handling in codec stats
	  Parsing the whole caps as SDP media only to retrieve the fmtp field afterwards
	  seems a bit superfluous. By looking up the a-fmtp attribute directly the number
	  of allocations in this function gets down a bit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8125>

2024-12-10 12:52:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: unset GST_TRACERS for g-ir-scanner to avoid warnings
	  People might have GST_TRACERS=leaks set in their environment
	  by default, which will now trigger criticals during the build
	  when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH
	  so that the scanner doesn't load any plugins.
	  Fixes #4093
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8121>

2024-12-10 13:42:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: enable inline query only if it's a video operation
	  This commit enables the usage of inline queries, if and only if, the
	  provided
	  pNext structure, in gst_vulkan_opeation_enable_query(), chains a
	  VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR typed structure.
	  Also it guards "gstvkvideo-private.h" include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112>

2024-12-09 14:45:01 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vkvideo: add video_maintenance1 check
	  Add gst_vulkan_video_maintenance1_supported
	  to check if the video session needs
	  VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112>

2024-12-06 15:15:45 +0100  Armin Begovic <armin.begovic@hotmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	  decklink: Add missing video modes to gst_decklink_mode_get_type()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110>

2024-12-06 15:15:34 +0100  Armin Begovic <armin.begovic@hotmail.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fix copy-paste errors regarding 8K modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110>

2024-12-09 12:02:01 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  docs: Do not try to generate cuda documentation when gir is not generated
	  On macos it is not
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 00:04:45 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	  analytics: add _N_TO_N relation type
	  This relation type define relations between each components of two groups.
	  First component of first group relate to first component of second group,
	  Second component of second group relate to second component of second group,
	  and so on. It's a denser way to express relations in this context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>

2024-11-19 10:30:09 +0100  Peter Stensson <petest@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	  curlhttpsink: Set auth any for http_proxy and https_proxy
	  There was different behaviour if the proxy was configured through
	  properties or environment. For properties libcurl would be configured
	  with any auth, but for environment libcurl would default to using basic.
	  Now any auth is set for both configuration methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935>

2024-11-19 07:31:20 +0100  Peter Stensson <petest@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsink.h:
	  curlhttpsink: Don't set Content-Length to 0 for proxy
	  The Content-Length header would unconditionally be included when the
	  proxy property was set. This would result in requests with both
	  Content-Length and Transfer-Encoding header. Now we rely on the
	  use-content-length property in the proxy case aswell. This also makes
	  sure that Content-Type is set correctly, since before that would be
	  skipped if proxy was used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935>

2024-12-07 00:23:33 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: disable onnxruntime telemetry
	  Disable the telemetry feautre on onnxruntime.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8092>

2024-12-05 13:39:38 +0100  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/zxing/gstzxing.cpp:
	  zxing: Update decode hints usage for compatibility with ZXing >= 2.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7879>

2024-12-04 14:33:07 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: reset nalparser to NULL after it is freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074>

2024-08-01 14:54:11 +0000  sachin gadag <sggadag@amazon.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: set nalparser to NULL after it is freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074>

2024-12-05 06:41:35 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parse: remove useless NULL setting in gst_h265_parser_free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082>

2024-12-05 06:39:06 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: remove useless NULL setting in gst_h264_nal_parser_free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082>

2024-10-16 15:56:40 +0900  Aniket Hande <ahande@ftilab.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/mpegtspacketizer.h:
	* gst/mpegtsdemux/mpegtsparse.c:
	  tsparse: Extract and fill m2ts header for each packet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7625>

2024-12-02 16:42:06 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	  vkoperation: use inline query with video maintenance1
	  When video_maintenance1 is supported,
	  gst_vulkan_operation_begin_query will now use
	  the inline query mechanism instead of vkCmdBeginQuery
	  API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-11-28 15:49:14 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: enable VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-07-29 13:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: dump if video maintenance1 is supported
	  Dump if VK_KHR_video_maintenance1 features is supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-11-28 23:17:40 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecpool.c:
	* sys/v4l2codecs/gstv4l2codecpool.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Use GstVideoInfoDmaDrm more consistently
	  This avoids some duplications and makes the DRM info available in
	  more places, which will help with future changes.
	  Also fix some error messages while on it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8028>

2024-12-03 13:14:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: Free SEI if parsing succeeds but alignment afterwards fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056>

2024-12-03 13:10:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parse: Free SEI if parsing succeeds but alignment afterwards fails
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4076
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056>

2024-11-29 14:41:12 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/neon/meson.build:
	  meson: Drop max version bound from neon
	  Neon 0.34.0 broke the build again, but the API+ABI has been stable since
	  0.27 and the library is so-versioned.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8008>

2024-12-03 14:44:30 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst/videoparsers/gsth265parse.c:
	  h265parse: parse unregistered SEI without user data
	  Same change as in h264parse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>

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

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst/videoparsers/gsth264parse.c:
	* tests/check/elements/h264parse.c:
	  h264parse: parse unregistered SEI without user data
	  We get loads of warnings when parsing videos from users:
	  gsth264parser.c:1115:gst_h264_parser_parse_user_data_unregistered: No more remaining payload data to store
	  gsth264parse.c:646:gst_h264_parse_process_sei:<h264parse0> failed to parse one or more SEI message
	  Those are raised because of unregistered SEI without user data.
	  The spec does not explicitly state that unregistered SEI needs to have
	  data and I suppose the UUID by itself can carry valuable information.
	  FFmpeg also parses and exposes such SEI so there is no reason for us no
	  too as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>

2024-11-15 16:44:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Lower a GST_FIXME to a GST_DEBUG
	  This is not really a refcounting issue and can happen if a new program is in the
	  process of being activated that contains streams with the same PIDs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7898>

2024-08-20 20:43:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: add gst_vulkan_encoder_is_started()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

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

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: add again GST_TYPE_VULKAN_ENCODER_RATE_CONTROL_MODE
	  It was already part of the old rate control mechanism but it had wrong the
	  namespace.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-08 18:05:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: implement callback to chain control rate structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-08 11:44:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: implement callback to chain codec specific structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 16:43:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: handle quality level
	  It creates a new structure for passing the codec quality structure at _start(),
	  where it will be filled. The quality level can be set or changed according
	  encoder limits.
	  Later the quality level will be set at _update_session_parameters() and at each
	  frame encoding. That's why it has to be set at _start().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 15:04:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: rename first_encode_cmd to session_reset
	  Since it reflect better when it's needed to be used: to reset the current
	  session.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 12:47:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle down VkVideoBeginCodingInfoKHR initialization
	  to make it more cohesive
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-05 14:52:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove rate control handling
	  It will be reintroduced later with different approach.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 13:28:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: enhance algorithm to get the slot index
	  The algorithm for generating the current slot index is a simple round robin,
	  nonetheless it's not assured that the next slot index it's not still used by a
	  still living encode picture.
	  This new way holds an array with the still living encode pictures and the next
	  slot index looks for a released index in the array.
	  Its downside is deallocating a picture need to be removed from the array, so the
	  helper has to be passed to the uninit() function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 12:21:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: add VkVideoReferenceSlotInfoKHR in GstVulkanEncoderPicture
	  And remove slotIndex since it's part of VkVideoReferenceSlotInfoKHR, simplifying
	  the reference slots array creation, and changing the tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-12-03 15:39:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: check for codec buffer
	  gst_vulkan_video_codec_buffer_new() can return NULL, so it's required to check
	  the returned value and bail out if needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-06 11:23:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: avoid GstVulkanEncoderPicture allocation
	  By using it as apart of the encoder picture structure that has to initialized
	  and uninitalized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 14:14:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove width, height and fps from GstVulkanEncoderPicture
	  In GStreamer that buffer information is decoupled, holding other structures to
	  describe the stream: GstCaps. So, to keep the GStreamer design this patch
	  removes these information from GstVulkanEncoderPicture and pass to
	  gst_vulkan_encoder_encode() a pointer to GstVideoInfo.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-26 20:10:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: replace packed headers with offset handling
	  Instead of holding all headers in an external array and add them into the
	  bitstream buffer before the encoding operation, adding extra memory and extra
	  copy operations, the encoder picture should specify the offset where the Vulkan
	  will start to add the bitstream slices/frame, because the element has written
	  already the headers until that offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 13:17:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove nb_refs from GstVulkanEncoderPicture
	  That's the number of references that gst_vulkan_encoder_encode() receives to
	  process, so it has to go as a parameter, because it's part of the reference
	  list, not of the picture.
	  This commit also modified unit tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 12:31:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove pic_num and pic_order_cnt from GstVulkanEncoderPicture
	  Since they aren't semantically part of the codec-independent encoding operation.
	  And modify unit tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-03 21:36:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove is_ref member from GstVulkanEncoderPicture
	  It's not used. Modified the unit test accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-12 17:31:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: don't store output data size
	  There's no need to store in encoder helper the output data size, that's
	  responsibility of the caller when an output buffer is allocated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-22 10:51:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: enhance capabilities logging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-19 17:52:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: store in GstVulkanVideoCapabilities encoder and decoder caps
	  The structure already stored the generic video capabilities and the specific
	  codec capabilities both for encoding an decoding. The generic decoder
	  capabilities weren't stored because it was only used internally in the decoder
	  helper object. Nonetheless, for the encoder, the elements will need the generic
	  encoder capabilities to configure the encoding. That's why it's required to
	  expose it as part of GstVulkanVideoCapabilities. And the generic decoder is
	  included for the sake of symmetry.
	  While updating the API vkvideoencodeh265 test got some code-style fixes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-27 10:51:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: rename GstVulkanEncoderPicture
	  GstVulkanEncodePicture breaks the namespace. This commit fixes it by renaming it
	  to GstVulkanEncoderPicture, also new() and free() signature functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-13 01:03:56 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/nvdswrapper/gstnvdsdewarp.cpp:
	* ext/nvdswrapper/gstnvdsdewarp.h:
	* ext/nvdswrapper/meson.build:
	* ext/nvdswrapper/plugin.cpp:
	* ext/nvdswrapper/stub/cuda_runtime.h:
	* meson_options.txt:
	  nvdswrapper: Add NVIDIA DeepStream wrapper plugin
	  Adding a NVIDIA DeepStream SDK based plugin with a dewarp element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7357>

2024-12-02 19:34:14 +0800  Pablo Sun <pablo.sun@mediatek.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add mediatek auto-detection
	  Add MediaTek display controller into list of
	  auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8023>

2024-10-03 22:42:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: keep only one DPB view for layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-19 12:29:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: increase reference slots array
	  H264 has the maximum number of refs (36) of any supported codec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-18 16:28:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder_private: move view creation to picture init
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 22:14:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle up operation and query creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 13:44:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle up get format to bail out better
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 13:43:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: define encoded feedback flags by removing override bit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-08-27 18:32:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix parameters overrides
	  First remove validations since they will fail if there isn't a write operation.
	  It's valid to pass data without write operations.
	  Finally, it should check for hasOverride in feedback info. Nonetheless, there's
	  a NVIDIA bug returning always FALSE for hasOverride, that's why we currently
	  force it to TRUE.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-11-28 12:24:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	* sys/kms/meson.build:
	  kms: Bump libdrm requirement to 2.4.108
	  DRM modifier support requires drmModeFormatModifierBlobIterNext()
	  which was added in 2.4.108. See:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174#note_2673883
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7991>

2022-02-18 17:19:57 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Improve get_next_time to avoid spinning
	  Avoid aggregate getting called in a loop when timed out but we're not in
	  a state where we can produce a buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2022-02-18 17:06:44 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Add caption_pad field to avoid get_static_pad
	  Save a reference to the caption pad as well. This will make the
	  `get_next_time` implementation cheaper.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2024-11-26 16:27:19 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Pass caption_pad to schedule_caption
	  Avoid having to find this pad again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2022-02-18 17:06:44 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Add video_pad field to avoid pad get/ref/unref
	  Saving a reference to this always-present pad simplifies the code and
	  avoids a lot of pad list scans and refcounting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2024-10-03 21:04:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vulkan: add gst_vulkan_video_image_create_view()
	  This function is moved from gstvkdecoder-private so it could be used by
	  gstvkencoder-private too, removing there what it should be duplicated code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7984>

2024-11-26 21:22:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix documentation
	  The function doesn't take the reference from caller, it keeps it's own
	  reference, so transfer is none.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-06 11:22:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: fix code style and use gpointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 14:46:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix and complete public functions prechecks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 16:22:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: check for layered buffer when new picture
	  And balance `if` curly brackets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-10-03 22:31:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: early return if dpb pool or dpb buffer already exist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-08-15 17:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: usage structure is provided by caller
	  As all the profile structure, it's not intended to be filled in
	  gst_vulkan_encoder_start() function, but by the caller.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-19 12:31:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix how to get bitstream buffer size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-04 14:21:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: doc: fix function name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-10-03 22:22:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: use gst_clear_object()
	  Instead of g_clear_object() for sake of coherence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-04 14:21:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix return value to gst_vulkan_encoder_encode()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-25 17:51:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: doc: remove (in) annotation
	  because it's the default one
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-05 14:53:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: move out indent macros
	  Outside of the structures whenever is possible, given indent limitations. In this way
	  the code has a better readability.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 21:34:25 +0800  Xi Ruoyao <xry111@xry111.site>

	* ext/x265/gstx265enc.c:
	  x265: Allow building with x265-4.1
	  In x265-4.1 masteringDisplayColorVolume is changed from a pointer to a
	  character array embedded in struct x265_param.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7968>

2024-11-26 16:52:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  meson: Don't unconditionally invoke the libsoup subproject
	  fallback: kwarg will invoke the specified subproject even if required:
	  false, which is not what we want here.
	  Reported at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4045#note_2674340
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7965>

2024-02-01 18:45:01 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose input-meta-processing property
	  It can be used to discard closed captions from the input pad if the
	  matching video buffer already held closed captions.
	  It is useful in a scenario where captions are generated for an AV
	  stream, but the incoming stream already has embedded captions for
	  some intervals, and those original captions should be preferred.
	  It can also be used to make sure input CC meta is always dropped,
	  the default behavior remains to append aggregated CC to whatever
	  CC meta was already present on the input video buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6072>

2024-11-23 22:08:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12converter: Gamma LUT related enhancements
	  * Build gamma LUT using shader, instead of CPU side math then uploading
	  * Make gamma LUT sharable across multiple converters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951>

2024-11-23 11:47:00 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_gamma_lut.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/converter-hlsl/meson.build:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	  d3dshader: Add shader for building gamma LUT
	  Newly added shader will be used by converter to construct
	  gamma encode/decode LUT texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951>

2024-11-19 16:52:29 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Rename wrote_first to write_field1
	  This better describes what we're doing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 17:21:16 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Fix a typo in cc_buffer_take_cea608_field2
	  There are no users of cc_buffer_take_cea608_field2, so this never was a
	  problem.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 16:42:11 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Fix a typo in max_buffer_time handling
	  All users set max_buffer_time to GST_CLOCK_TIME_NONE, effectively
	  infinite, so this never was a problem.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 13:47:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Remove broken branch
	  This branch was added in dd00dab5e9e8650f3f00660c2e611f81f1e8cd5b but is
	  never actually taken, as it requires `cc_data` to be null but
	  `cc_data_len` to be non-null. It would then dereference the null
	  `cc_data`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-26 09:23:51 +0100  Albert Sjolund <alberts@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: don't crash on invalid bundle id
	  If the bundle id forwarded to connect_rtpfunnel is not valid,
	  the assertion fails and crashes the program. This is now instead
	  an error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7963>

2024-11-22 11:31:18 -0700  Sebastien Cote <sebas642@gmail.com>

	* sys/applemedia/vtenc.c:
	  vtenc: add support for the HLG color transfer
	  Fixes #4047
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7947>

2024-11-13 16:04:44 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: update doc to skip barriers array methods
	  Some methods are using arrays of element which type can
	  vary at compile time. These methods should not
	  be introspectable as it's not possible to determine
	  the final type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7880>

2023-10-20 23:05:01 +0800  Zhong Hongcheng <spartazhc@gmail.com>

	* tests/check/libs/h266parser.c:
	* tests/check/meson.build:
	  tests: Add the VVC(H266) parser test cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-21 01:17:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	  libs: codecparsers: Implement the VVC(H266) parser part II
	  Implement the picture header, slice header and SEI parsing functions.
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-13 15:42:03 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/meson.build:
	  libs: codecparsers: Implement the VVC(H266) parser part I
	  Implement all the VPS, SPS and APS parsing functions.
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-13 15:39:49 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: Add the VVC(H266) parser header file
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-20 20:32:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add gst_d3d12_flush_all_devices() method
	  ... and removing implicit flushing behavior on GstD3D12Device::finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7929>

2024-11-20 10:42:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajadeviceprovider.cpp:
	  aja: Fix infinite loop in device provider
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7928>

2024-11-14 10:59:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	  wayland: dmabuf: Translate tiled strides
	  GStreamer uses a different representation of tiled strides that needs
	  to be translated before being sent to wayland.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-14 10:59:05 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Use new helpers for DRM handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-14 09:46:28 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Fix caps string leak in v4l2codecs
	  Unlike gst_video_format_to_string(), gst_video_dma_drm_fourcc_to_string()
	  return a freshly allocated string which needs to be free.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-08 16:22:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Fixed unset dimension in caps
	  When the driver does not implement ENUM_FRMESIZE for some specific
	  formats, the caps limiting the sizes may endup empty, which results in
	  assuming the driver can scale to any sizes.
	  Ensure that the original size is in the caps to prevent this assumption.
	  This happens with Hantro drive, since it only reply to that call if the
	  format is postprocessed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-12 12:09:46 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Use drm modifier to build caps
	  Do not only use drm fourcc to build drm-format but also
	  include the format modifier.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-07 13:06:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Properly handle unrecoverable errors
	  Allocation failures cannot be recovered and should lead to an error
	  being posted on the bus. Otherwise the pipeline will just stall.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903>

2024-11-07 12:49:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Do not offer SHM pool when DMABuf is negotiated
	  Pools are expected to produce DMABuf when the caps are negotiated with
	  the associated caps feature. For that reason, avoid sharing the SHM pool
	  in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903>

2024-11-18 11:00:36 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zbar/gstzbar.c:
	  zbar: fix documentation
	  Fix some typos and markdown cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914>

2024-11-18 10:59:51 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zxing/gstzxing.cpp:
	  zxing: update documentation
	  Fix some typos and markdown cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914>

2024-11-13 17:00:17 +1100  Matthew Waters <matthew@centricular.com>

	* sys/uvcgadget/configfs.c:
	  uvcgadget: silence a maybe-uninitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:59:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: silence a maybe-unitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:58:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rist/gstristrtxsend.c:
	  ristrtxsend: silence a maybe-uninitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:58:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/codec2json/gstav12json.c:
	  av12json: silence a maybe-unitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:12:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	  vulkan/videoutils: silence some maybe-unitialized warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-16 13:20:16 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  Doc: Update the kmssink caps after adding DMA support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-11-08 13:43:53 +0100  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmsbufferpool.c:
	  kmsbufferpool: Accept DMA_DRM caps in the config
	  Only linear modifier is supported due to the dumb allocator's
	  limitation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-09-07 00:43:37 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: ensure we have a valid vinfo_drm after set_caps
	  Consequently drop the check in import_dmabuf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-08-29 20:58:04 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: enumerate drm formats when IN_FORMATS not present
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-05-24 12:26:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Do not provide DMA buffer pool for non-linear caps
	  The dumb allocator does not support modifiers, so we can not allocate
	  non-linear buffers by ourself.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:43:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	  kmssink: Handle the DMA buffer importing correctly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:37:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmsutils.c:
	  kmssink: Add DMA kind caps into sink caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:32:45 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add helper functions to create DMA and raw caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:28:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add a helper function to collect formats and modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:02:42 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	* sys/kms/gstkmsallocator.h:
	* sys/kms/gstkmssink.c:
	  kmssink: Add modifier to gst_kms_allocator_dmabuf_import
	  Use the new drmModeAddFB2WithModifiers() API for binding the
	  non-linear BO.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-11-15 11:46:14 -0300  Thibault Saunier <tsaunier@igalia.com>

	* meson.build:
	  meson: Bump minimum version to 1.3
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7899>

2024-11-12 12:12:17 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Test ioctl return value and errno
	  Fix error testing when using V4L2_FMTDESC_FLAG_ENUM_ALL by using
	  both errno and the return value.
	  Fixes !7686 (merged)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7873>

2024-11-06 12:47:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vksink.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* sys/applemedia/vtdec.c:
	  vkutils: add gst_vulkan_ensure_element_device
	  In order to keep the same device across
	  the elements in the pipeline, use either the device id
	  to create the device or get the device from the context
	  set by the peer elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>

2024-11-08 10:21:19 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkinstance.h:
	  vkinstance: add gst_vulkan_instance_create_device_with_index
	  This method will allow to create a device with its device_index
	  preparing the support of multiple device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>

2024-11-11 18:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gstjpegparser.c:
	* gst-libs/gst/codecparsers/nalutils.c:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparser: remove unused headers
	  Mainly <string.h> but also <stdlib.h> in jpegparse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869>

2024-11-11 17:47:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparsers: avoid libc math library
	  Instead of the libc ceil() and pow() machinery for double types, since the
	  library uses it for unsigned integers use a simple math function for for ceil
	  division and bit left shift for integer power of two.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869>

2024-10-09 13:47:41 -0400  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser/bitwriter: add some comments for ceil_log2 use
	  Validate that the length of field must be calculate with
	  ceil_logs2 and not bit storage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>

2024-10-09 13:46:17 -0400  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: use of ceil_log2 instead of bit_storage
	  According to the specification:
	  The length of the slice_group_id[ i ] syntax element is Ceil( Log2(
	  num_slice_groups_minus1 + 1 ) ) bits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>

2021-07-01 13:09:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Mux timestampless buffers immediately
	  Instead of leaving them queued indefinitely, or until we're timing out
	  and it's the only buffer queued.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870>

2024-11-12 11:01:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Don't time out in live mode if no timestamped next buffer is available
	  The muxer can only advance the time if it has a timestamped buffer that can be
	  output, otherwise it will just busy-wait and use up a lot of CPU.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3912
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870>

2024-11-14 10:37:05 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/zxing/gstzxing.cpp:
	* ext/zxing/gstzxingplugin.c:
	  gst_plugins-cache: add zxing plugin
	  update documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7887>

2024-11-12 09:01:49 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Post error on the bus if no mapping is found
	  This is more useful/visible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707>

2024-10-22 08:42:17 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmux.h:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add custom mapping for vp9
	  This is a custom mapping. There isn't much needed apart from that to store vp9
	  in mpeg-ts since the bitstream is self contained.
	  Since there are no official specification we don't want people to be mistaken in
	  believing that. Therefore that mapping is only used in the muxer if the (new)
	  property `enable-custom-mappings` is set to TRUE.
	  * The MPEG-TS Stream Type is Private Data (0x6) with the registration descriptor
	  set to `VP09`.
	  * The Access Unit are VP9 frames stored in PES packets
	  * As there is no emulation prevention byte in VP9 elementary stream, the can be
	  misdetection of PES start code. To avoid this, the start of a PES packet must
	  be signalled using the Payload Unit Start Indicator in the transport packet
	  header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707>

2024-11-08 10:18:09 -0300  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	  nvcodec: gl now supports Y444_16LE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858>

2024-11-12 02:06:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Fix error when the sink is reused
	  Release backbuffer just before releasing swapchain
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7867>

2024-11-05 14:34:03 +0100  Théo Maillart <tmaillart@freebox.fr>

	* gst/videoparsers/gstmpegvideoparse.c:
	  mpegvideoparse: do not set delta unit flag on unknown frame type
	  When encoding an image to mpeg2 video, with something like:
	  gst-launch-1.0 encodebin name=e profile=mpegpsmux:video/mpeg,mpegversion=2,systemstream=false ! \
	  filesink location=sample.mpg filesrc num-buffers=1 blocksize=$(stat -c%s sample.png) \
	  location=sample/dts.png ! pngdec ! e.
	  The only frame's type is set to an invalid value 0
	  The consequence is that mpegvideoparse sets the delta unit flag on the buffer because
	  it is not an I frame, then decodebin3 drops this only frame because the delta
	  unit flag is set and the decoder receives eos before it was able to receive any
	  encoded data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7832>

2024-11-11 17:44:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h26Xbitwriter: use quote form directive for internal header
	  Since nalutils.h is not installed it should be included for the local path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7868>

2024-10-11 11:57:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.h:
	* tests/check/libs/h264bitwriter.c:
	  h264bitwriter: implement gst_h264_bit_writer_filler()
	  This is required for vulkan encoder since it can only write slides after aligned
	  offsets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7785>

2024-11-08 19:05:41 -0500  Sid Sethupathi <sid.sethupathi@gmail.com>

	* ext/gs/README.md:
	  gs: update building README
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7860>

2023-10-28 13:01:58 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* tests/check/elements/jifmux.c:
	  exiftag: handle GST_TAG_CAPTURING_LIGHT_SOURCE tag
	  This exif tag allows to specify the different light conditions
	  when taking a picture. This tag is defined in:
	  https://exiftool.org/TagNames/EXIF.html#LightSource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5571>

2024-09-17 11:47:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: Don't override in_fps_entry when trying to take output
	  This allows to handle CDP streams where the framerate is not provided by the
	  caps and generally gives preference to the framerate inside the CDP packets over
	  the one in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7532>

2024-11-04 19:30:02 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensormeta: Add APIs to create and access GstTensorMeta contents
	  Also document those APIs better.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-04 19:29:43 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	  tensor: Add APIs to create and access GstTensor contents
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-04 17:04:28 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensors: Use full GstTensorDataType type name in type members
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-31 16:03:31 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	  analytics: Add APIs to add or get a GstTensorMeta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-09-24 10:53:05 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: Adding abstraction on tensor dims
	  Tensor can be row or col major, but it's also possible that the order by we need
	  to read the tensor with more than two dimension need to be described. The
	  reserved field in GstTensorDim is there for this purpose. If we need this we
	  can add  GST_TENSOR_DIM_ORDER_INDEXED, and follow an index defining order for
	  each dimension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-17 17:28:24 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  analytics: Make GstTensor more suitable for inline allocation
	  GstTensor contained two fields (data, dims) that were dynamicallay allocated. For
	  data it's for a GstBuffer and we have pool for efficient memory management. For
	  dims it's a small array to store the dimension of the tensor. The dims field
	  can be allocated inplace by moving it at the end of the structure. This will
	  allow a better memory management when GstTensor is stored in an analytics meta
	  which will take advantage of the _clear interface for re-use.
	  - New api to allocate and free GstTensor
	  To continue to support use-cases where GstTensor is not stored in an
	  analytics-meta we provide gst_tensor_alloc, gst_tensor_alloc_n and
	  gst_tensor_free that will facilitate memory management.
	  - Make GstTensor a boxed type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-07-17 14:39:42 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.h:
	  analytics: Move batch to GstTensor
	  - batch_size is required to interpret the tensor depending on the tensor format
	  the batch are not necessarily memory plane therefore it's preferable to keep it
	  inside GstTensor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-17 17:27:37 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Decouple GstTensor from GstTensorMeta
	  - To support transporting tensor as GstMeta, Analytics-Meta and Media we need to
	  decouple GstTensor from GstTensorMeta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-01-25 01:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/onnx/gstonnx.c:
	* ext/onnx/meson.build:
	* gst/meson.build:
	* gst/tensordecoders/gstssdobjectdetector.c:
	* gst/tensordecoders/gstssdobjectdetector.h:
	* gst/tensordecoders/gsttensordecoders.c:
	* gst/tensordecoders/meson.build:
	* meson_options.txt:
	  tensordecoders: Move decoder out of the ONNX plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-01-24 21:12:17 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/gstonnx.c:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/meson.build:
	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Move tensor meta to the analytics library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-06 16:35:10 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: fix malformed docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7847>

2024-11-06 12:05:25 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: validate frat before setting framerate in caps
	  From JPEG-XS part3 : "If the frame rate is unknown, the frat parameter is 0."
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836>

2024-11-05 18:04:44 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: use JXS_video_descriptor "frat" to set caps "framerate"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836>

2024-11-05 14:23:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/timecode/gsttimecodestamper.c:
	  timecodestamper: Don't fail the latency query in LTC mode if we have no framerate
	  Only in LTC mode we introduce additional latency that is depending on only on a
	  property and not on the framerate, so waiting for the framerate is not necessary.
	  In all other modes no latency is introduced at all and the latency query can
	  simply be proxied.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7831>

2024-03-16 00:38:58 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Add support for SMPTE 302M (audio/x-smpte-302m)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6530>

2024-11-03 17:30:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/meson.build:
	  meson: bail out earlier in docs subdir if docs are disabled
	  The gst_dep.get_variable('libexecdir') may fail in some scenarios
	  (e.g. building a module alone inside an uninstalled devenv) and
	  it shouldn't really be reached in the first place if docs are
	  disabled via options.
	  Also to avoid confusing meson messages when cross-compiling or
	  doing a static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818>

2024-11-03 10:42:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 09:20:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	  d3d12convert: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 06:36:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 04:00:25 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	  d3d12converter: Add support for colorbalance
	  Adding support for hue, saturation, brightness, and contrast adjustment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 17:37:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/de.po:
	* po/es.po:
	* po/hr.po:
	* po/ro.po:
	* po/sl.po:
	* po/sv.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819>

2024-11-02 03:18:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix constant buffer update
	  Fixing regression of
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7814>

2024-08-06 18:09:58 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: Fix pic_timing SEI replacement
	  The calculated position was off. I'm not sure of the exact cause;
	  possibly because we're in AU-aligned byte-stream mode, which means
	  `transform` is true.
	  Replacing the math that calculates the NALU positions with code more
	  similar to what is already in use for `idr_pos` seems to have fixed it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7318>

2024-07-30 14:31:45 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Support drop frame codes with counting_type 6
	  Tested with an Ateme Kyrion CM5000, which uses 6 when it drops 4 frames
	  from the code for 1080p@59.94.
	  Apply the same change to h265parse, with reference to the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7316>

2024-10-27 04:26:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for mouse scroll events
	  Handle WM_MOUSEHWHEEL and WM_MOUSEWHEEL events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7774>

2024-10-29 09:49:50 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegts: Fix bit-depth storage for jpeg-xs
	  As per ISO/IEC 21122-3 2019:
	  > Sample_Bitdepth code shall specify directly the bitdepth of the components
	  minus 1
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775>

2024-10-29 09:43:11 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	  mpegts: Fix JPEG-XS Extension Descriptor handling
	  The initial specification for the descriptor (from H.222.0 06/21) was wrong and
	  introduced duplicate descriptor_tag/descriptor_length field.
	  This was later corrected in H.222.0 (2021) Amendment 1 (12/22)
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775>

2024-10-29 11:29:05 +0100  Edward Hervey <edward@centricular.com>

	* ext/srt/gstsrtobject.c:
	  srt: Don't attempt to reconnect on authentication failures
	  This is a fatal issue which can't be recovered
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1550
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7776>

2024-10-22 22:29:51 +1100  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	  androidmedia: Add more pixel format mappings
	  Add missing pixel format constants, and mappings for
	  P010, packed variants of 420 and RGBA layouts to GStreamer
	  buffer formats. This fixes problems with android decoders
	  refusing to output raw video frames with decoders that
	  announce support for these common pixel formats and
	  only allowing the 'hardware surfaces output' path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743>

2024-10-22 21:28:04 +1100  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	  androidmedia: Add extra H.26[45] profile mappings
	  Update the android headers and add missing mappings for H.264/H.265
	  profiles that have been added in newer android releases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743>

2024-10-28 14:37:04 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: expose force-live property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7765>

2024-10-22 18:08:19 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: reinstate some hardcoded colorimetry handling
	  Needed when we don't yet have an open device and are doing negotiation.
	  colorimetry=bt601 is only actually supported by decklink for PAL and NTSC
	  formats. All other formats use bt709 or above.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 18:06:46 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: only expose HDR colorimetry if 2020 colorspace is supported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:23:06 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklinkvideosrc: ignore HDR metadata consisting of all zeros
	  In some cases decklinkvideosink may produce such stream when the
	  information is unknown.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:20:30 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: provide default values when HDR metadata is not available
	  Some file format standards don't require mastering-display-info
	  and content-light-level values to be provided.
	  Decklink however requires the static HDR metdata for the PQ transfer
	  function which we may not have.
	  CTA-861-G mentions that in this case, 0 may provided as an 'unknown'
	  value which is what we use here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:18:58 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: fix incorrect EOTF value
	  Checking for mastering-display-info twice is incorrect.  One of the
	  checks should be for the content-light-level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-09-24 13:55:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Add NV15 support
	  This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
	  video decoders when decoding 4:2:0 10 bit content.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7569>

2024-10-22 23:41:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	  vp8decoder: Fix resolution change handling
	  Do not store resolution in set_format() so that resolution change
	  can be detected on keyframe as intended.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7710>

2024-10-25 16:37:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: Initialize base_ts / last_ts with the actual first observed timestamp
	  Initializing it with zero can falsely trigger the overflow / underflow detection
	  code if the first observed timestamp is a big integer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7745>

2024-10-28 18:58:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va{av1,vp9}enc: fix return value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7773>

2024-05-27 09:45:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/check/elements/unixfd.c:
	  Revert "unixfd: disable flaky test_unixfd_segment for now"
	  This reverts commit 06cd4e24578caf1e16e364eb56edbbb065b8533e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765>

2024-04-29 14:30:49 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/unixfd/gstunixfdsink.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Fix racy unit test by adding wait-for-connection property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765>

2024-10-26 11:42:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Improve play message API inconsistencies
	  * Consistently name parse functions according to their message type and
	  deprecate the misnamed ones,
	  * Add missing parse functions,
	  * Check for the correct message type when parsing
	  * Use correct field name for warning message details
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7754>

2024-10-25 11:10:38 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/gstlcevch264enc.c:
	  lcevch264enc: Set 'byte-stream' format and 'au' alignment in output caps
	  This is because the LCEVC EIL SDK from V-Nova always outputs encoded video in
	  that format. This also avoids using the parser in some scenarios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7750>

2024-10-21 13:32:03 +0200  Pablo García <pgarcia@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11: implement mouse wheel events
	  Adittion of d3d11 support for WM_MOUSEWHEEL and WM_MOUSEHWHEEL events,
	  which are triggered when the mouse is scrolled vertically or horizontally
	  respectively.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7705>

2024-09-21 19:16:29 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  ci: add suppressions for OpenSSL false positives
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-21 19:01:55 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  gst-plugins-bad.supp: Remvoe gssdp leaks that have been fixed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-20 11:02:42 +0200  Edward Hervey <edward@centricular.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Add since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-04 17:57:08 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gstav1parser.h:
	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  codecparsers: Fix gtk-doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-04 10:11:40 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/isac/gstisacenc.c:
	* ext/ldac/gstldacenc.c:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svthevcenc/gstsvthevcenc.c:
	  bad: Mark more types as plugin API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-03 15:00:39 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	  docs: Fix av1parser symbols
	  Don't use un-named structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-06-28 14:24:54 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  plugins_cache: Update for fedora 40 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-21 18:11:20 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/va/gstvafilter.c:
	  gstvafilter: Add back missing property comments
	  In b1cda4439bc9170b4af60ab464471f58ea770f58 the property comments
	  were removed, even though these are marked as public api.
	  Add back the comments, and a Since version for interpolation-method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-10-24 09:17:54 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  all: Fix closure annotations
	  This was misused almost everywhere.
	  See
	  https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
	  and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725>

2024-10-15 16:07:42 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* gst/debugutils/gstvideocodectestsink.c:
	  debugutils: videocodectestsink: support GRAY8 and GRAY10_LE{16,32}
	  Add support for:
	  * GST_VIDEO_FORMAT_GRAY8
	  * GST_VIDEO_FORMAT_GRAY10_LE16
	  * GST_VIDEO_FORMAT_GRAY10_LE32
	  These formats are used by Fraunhofer VVC encoder and decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>

2024-10-21 11:50:23 +0200  Carlos Falgueras García <cfalgueras@fluendo.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add GRAY10_LE16 support
	  This adds a 10-bit variant of grayscale packed into 16 bits little-endian
	  words. The MSB 6 bits are padding and should be ignored. This format is
	  used by Fraunhofer VVC encoder and decoder libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>

2024-10-23 14:28:30 +0200  Peter Stensson <petest@axis.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	* tests/check/elements/h264timestamper.c:
	  codectimestamper: Fix gint wraparound in pts_compare_func
	  The diff between compared timestamps might be outside the gint range
	  resulting in wrong sorting results. This patch corrects that by
	  comparing the timestamps and then returning -1, 0 or 1 depending on the
	  result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7726>

2024-10-24 14:40:23 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: add support for level 6 6.1 and 6.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7729>

2024-10-22 09:13:06 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: Schedule PMT update on stream removal
	  Following the behavior of tsmux_program_add_stream(), this ensures that a PMT
	  update will also be caused by removal of a stream from a program.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7719>

2024-09-30 15:51:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true
	  The wraparound handling code assumes that the PCR gets updated regularly for
	  being able to detect wraparounds. With ignore-pcr=true that was not the case and
	  it stayed initialized at 1h forever.
	  To avoid this problem, update the fake PCR whenever the PTS advanced by more
	  than 5s, and also detect wraparounds in these fake PCRs.
	  Problem can be reproduced with
	  $ gst-launch-1.0 videotestsrc pattern=black ! video/x-raw,framerate=1/5 ! \
	  x264enc speed-preset=ultrafast tune=zerolatency ! mpegtsmux ! \
	  tsdemux ignore-pcr=true ! fakesink
	  which restarts timestamps at 0 after around 26h30m.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7588>

2024-10-24 06:10:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/meson.build:
	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	  d3d12: Additional fixes for MinGW build
	  Various fixes for GCC build, including actual bug fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7722>

2024-10-23 04:41:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Fix MinGW build with installed DirectX-Headers
	  Required for cerbero MinGW build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7154>

2024-10-18 18:09:01 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	  tensordecoder: Correct Klass, for ssd TD
	  Tensor decoder need a specific klass to be able to auto-plug them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7698>

2024-10-10 17:24:34 +0200  Jochen Henneberg <jochen@centricular.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: va: Added VP8 encoder to dynamic reconfigure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-10 17:22:34 +0200  Jochen Henneberg <jochen@centricular.com>

	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp8enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Added VP8 encoder
	  Fixes #3430
	  Fixes #3576
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-10 17:21:25 +0200  Jochen Henneberg <jochen@centricular.com>

	* gst-libs/gst/codecparsers/gstvp8parser.h:
	  codecparsers: vp8parser: Added frame type enums
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-21 00:23:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Fix debug category
	  Fixing copying-and-pasting mistake
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7701>

2024-06-20 16:52:46 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecdevice.h:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: dynamically discovers supported pixels formats
	  If the driver allows it, for each stateless decoder,
	  enumerate all the pixels formats and use this list for source
	  pad instead of a static template.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7686>

2024-06-20 16:51:07 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: Update videodev2.h with V4L2_FMTDESC_FLAG_ENUM_ALL flag
	  Add V4L2_FMTDESC_FLAG_ENUM_ALL flag to support discovering all
	  possible pixel formats.
	  Add V4L2_FMT_FLAG_META_LINE_BASED to not create a hole in flag
	  definition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7686>

2024-10-11 11:58:37 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h26xbitwriter: false have_space if aligning fails on aud
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7655>

2024-10-18 15:10:56 +0200  Edward Hervey <edward@centricular.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qrbaseoverlay: Add doc/since
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7692>

2024-10-15 16:44:27 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not enable palette mode by default
	  Palette mode should only be enabled only when we know that the content
	  of the picture is simple. For example, only white letters on black
	  screen in SCC mode. So, by default, we need to disable it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7668>

2024-09-27 18:01:53 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add IMX-DCSS auto-detection
	  Add IMX DCSS display controller into list of
	  auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7685>

2024-09-20 13:34:34 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: vp9: Allow inter-frames resolution change
	  When the stream resolution change it is needed to negotiate
	  a new pools and to update the caps.
	  Resolution change could occurs on a new sequence or a new
	  picture so move resolution change detection code in a common
	  function.
	  For memory allocation reasons, only allows resolution change
	  on non keyframe if the driver support remove buffer feature.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-09-20 10:48:39 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  codecs:vp9 decoder: Remove unsused info field
	  Video info field is never used so remove it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-09-20 10:30:01 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  codecs: vp9 decoder: Drain output buffers before resolution change
	  We must drain the pending output picture so that subclass can renegotiate
	  the caps. Not doing so while still renegotiating would mean that the
	  subclass would have to do an allocation query before pushing the caps.
	  Pushing the caps now without this would also not work since these caps
	  won't match the pending buffers format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-27 14:28:18 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Add remove buffers helpers
	  Add helpers function to call VIDIOC_REMOVE_BUFS ioctl.
	  If the driver support this feature buffers are removed from the queue when:
	  - the pool when is detached from the decoded.
	  - the pool is released.
	  - allocation failed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-27 13:52:28 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Do not register stateless decoder if the driver doesn't support VIDIOC_CREATE_BUFS
	  If the driver can't allocate buffers with VIDIOC_CREATE_BUFS do not
	  register it has stateless decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2023-06-19 11:09:22 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Replace VIDIOC_REQBUFS calls by VIDIOC_CREATE_BUFS
	  Use VIDIOC_CREATE_BUFS ioctl to create buffers instead of VIDIOC_REQBUFS
	  because it allows to create buffers also while streaming.
	  To prepare the introduction of VIDIOC_REMOVE_BUFFERS create
	  the buffers one per one instead of a range of them. This way
	  it can, in the futur, fill the holes.
	  gst_v4l2_decoder_request_buffers() is stil used to remove all
	  the buffers of the queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-07 10:48:05 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: udpate videodev2.h
	  Update videodev2.h to be aligned with kernel version v6.10
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-10-14 11:26:20 +0200  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Clean up bin elements when datachannel is removed
	  When a datachannel within a session is removed after proper close,
	  reference to the error_ignore_bin elements of the datachannel
	  appsrc/appsink were left in webrtcbin.
	  This caused the bin-objects to be left and not freed until the whole
	  webrtc session was terminated. Among other things that includes a thread
	  from the appsrc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7675>

2024-10-09 12:32:34 -0400  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/srt/gstsrtsink.c:
	  srtsink: Add guard for null error when SRT open fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7628>

2024-10-09 12:08:10 -0400  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/srt/gstsrtobject.c:
	  srtsink: Register SRT listen callback before binding socket
	  This change https://github.com/Haivision/srt/pull/2683 forces us to
	  call `srt_listen_callback` before `srt_listen`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7628>

2024-07-08 17:54:03 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/libs/analyticsmeta.c:
	  test: Adding a test for segmentation analytics-meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-07-08 17:52:24 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: add segmentation analytics-meta
	  - Add a new analytics-meta to store segmentation analysis result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-07-08 17:47:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	  analytics: Allow specific analytics-meta (Mtd) to handle their clear
	  - Add mtd_meta_clear to allow specific analytics-meta to handle their clear
	  operation specific to their type.
	  - Clear mtd's attached when analytic-meta is freed. When the buffer where
	  analytics-meta is attached is not from a buffer pool
	  gst_analytics_relation_meta_clear will not be called unless we explicitly call
	  it in _free. This important otherwise _mtd_clear are not called and lead to
	  leak if embedded mtd's allocated memory
	  - Un-ref in transform if it's a copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-10-12 21:38:08 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/lc3.c:
	  lc3: tests: Zero out the buffer we allocate for the tests
	  Otherwise liblc3 will try to access the uninitialized memory
	  and it makes valgrind very sad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7657>

2024-10-14 15:31:54 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst/videofilters/gstscenechange.c:
	  scenechange: fix memory leak
	  A reference to the last buffer(oldbuf) was kept
	  leading to a memory leak on stop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7662>

2024-10-11 12:07:27 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gstav1bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	  codecparsers: add debug categories to bitwriters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7653>

2024-10-13 23:04:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/dxva/meson.build:
	  meson: Explicitly use cpp_std=c++11 for dxva
	  dxva is built unconditionally on all platforms where introspection is
	  enabled, so let's fix the build on macOS so that introspection can be
	  enabled there: https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/65009118
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7659>

2024-10-12 19:10:46 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/winrt/meson.build:
	* meson.build:
	* sys/dwrite/meson.build:
	* sys/wasapi2/meson.build:
	* sys/webview2/meson.build:
	* sys/wic/meson.build:
	  meson: Undefine any WINVER and _WIN32_WINNT entries before redefining them
	  Fixes Cerbero build with MinGW GCC 14, where specifying -DWINVER=0x0601 -DWINVER=0x0A00 is a hard -Werror.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:05:17 -0300  L. E. Segovia <amy@centricular.com>

	* sys/amfcodec/meson.build:
	  meson: amfcodec: fix build with MinGW GCC 14
	  >  ../sys/amfcodec/include/core/PropertyStorage.h:87:50: error: 'virtual void
	  >   amf::AMFPropertyStorage::RemoveObserver(amf::AMFPropertyStorageObserver*)' was hidden [-Werror=overloaded-virtual=]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:01:46 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  meson: d3d12: fix build with MinGW GCC 14
	  Also apply the d3d11 fix since both use the same header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:01:13 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/meson.build:
	  meson: d3d11: fix build with MinGW GCC 14
	  In my tests with the new GCC 14 compiler for Cerbero, I got the
	  following error:
	  > In file included from include/directxmath/DirectXMath.h:2275,
	  > from ../gst-libs/gst/d3d11/gstd3d11converter.cpp:46:
	  > include/directxmath/DirectXMathMatrix.inl: In function 'bool
	  >   DirectX::XMMatrixDecompose(XMVECTOR*, XMVECTOR*, XMVECTOR*, FXMMATRIX)':
	  > include/directxmath/DirectXMathMatrix.inl:1161:16:
	  >  error: variable 'aa' set but not used [-Werror=unused-but-set-variable]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-08-29 20:50:59 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Retrieve RR stats from internal sources
	  Check and generate remote reception statistics from the info stored on
	  internal sources, as they are stored there  when running against newer rtpbin
	  since MR !7424
	  This fixes cases where statistics are incomplete when
	  peers send RR reports from a single remote ssrc, which GStreamer does
	  when bundling is enabled and other RTP stacks may too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7425>

2024-10-04 23:37:35 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Set input formats when we get incomplete caps
	  In some cases, decodebin3 will send us incomplete caps (not containing
	  codec_data), and then a GAP event, which will force a negotiation.
	  This segfaults due to a null pointer deref because self->input_state
	  is NULL.
	  The only possible fix is to avoid negotiating when we get incomplete
	  caps (to avoid re-negotiationg immediately afterwards, which isn't
	  supported by some muxers), but also set as much input state as
	  possible so that a renegotiation triggered by a GAP event can complete
	  successfully.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7634>

2024-10-09 17:19:42 -0400  Xavier Claessens <xclaessens@netflix.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: Change pixel-size to percent of width or height
	  The size is now expressed in percent of the smallest dimention. 100
	  means the biggest square that fits the render area.
	  Fixes: #3695
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7638>

2024-10-09 17:16:46 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/vapostproc.c:
	  tests: va: fix vapostproc test for DMABuf
	  Now it picks the first format in the template srcpad list and do
	  the convertion. Also the format size is reduced because not all
	  drives support 4K as DMABuf (radeonsi).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7636>

2024-10-09 16:48:18 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12cmdallocpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdallocpool.h:
	* gst-libs/gst/d3d12/gstd3d12cmdlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue-private.h:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue.h:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12descheappool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descheappool.h:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain-resource.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Shorten various names
	  Update names of various objects and method to be shorter, for instance
	  GstD3D12CommandAllocator is changed to GstD3D12CmdAlloc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 15:46:15 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	  d3d12: Fix typo in docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 15:19:52 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12: Early error out on Signal() fail
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 20:37:10 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/lc3.c:
	  tests/lc3: Allocate the same size for the buffer and the data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7631>

2024-10-09 16:40:05 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxftypes.c:
	* gst/mxf/mxftypes.h:
	  mxftypes: Add support for a few additional fields
	  According to SMPTE ST 377-1:2019
	  Currently still unused.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-10-09 16:25:05 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxftypes.c:
	  mxftypes: Check for the existence of all required fields
	  According to SMPTE ST 377-1:2019
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-10-09 16:23:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Keep tracking the offsets even when an index table was found
	  Some files may contain a partial index table, leading into a crash when
	  you try seeking in them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-09-09 15:53:25 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Don't call drop_frame() when flushing
	  Slipped through with earlier changes to use drop/release_frame() explicitly.
	  We should only drop when something goes wrong in the encoder, and just release otherwise.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7475>

2024-08-08 10:50:23 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/README.md:
	  lcevcencoder: Add README.md
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-08-08 10:01:24 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/README.md:
	  lcevcdecoder: Add README.md
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-25 13:30:48 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/gstlcevcencoder.c:
	* ext/lcevcencoder/gstlcevcencoder.h:
	* ext/lcevcencoder/gstlcevcencoderutils.c:
	* ext/lcevcencoder/gstlcevcencoderutils.h:
	* ext/lcevcencoder/gstlcevch264enc.c:
	* ext/lcevcencoder/gstlcevch264enc.h:
	* ext/lcevcencoder/meson.build:
	* ext/lcevcencoder/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  lcevcencoder: Add new LCEVC Encoder plugin
	  This new LCEVC encoder plugin is meant to implement all LCEVC encoder elements.
	  For now, it only implements the LCEVC H264 encoder (lcevch264enc) element. This
	  element essentially encodes raw video frames using a specific EIL plugin, and
	  outputs H264 frames with LCEVC data. Depending on the encoder properties, the
	  LCEVC data can be either part of the video stream as SEI NAL Units, or attached
	  to buffers as GstMeta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-01 11:15:54 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdecodebin.c:
	* ext/lcevcdecoder/gstlcevcdecodebin.h:
	* ext/lcevcdecoder/gstlcevch264decodebin.c:
	* ext/lcevcdecoder/gstlcevch264decodebin.h:
	* ext/lcevcdecoder/plugin.c:
	  lcevcdecoder: Add new lcevch264decodebin element
	  This new element wraps both the base H264 decoder and lcevcdec elements into a
	  bin so that LCEVC decoding works with auto-plugging elements such as decodebin.
	  By default, the H264 decoder element with higher rank is used as base decoder,
	  but any particular H264 decoder can be used by manually setting the base-decoder
	  property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-01 11:11:18 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	* ext/lcevcdecoder/gstlcevcdec.h:
	* ext/lcevcdecoder/gstlcevcdecutils.c:
	* ext/lcevcdecoder/gstlcevcdecutils.h:
	* ext/lcevcdecoder/meson.build:
	* ext/lcevcdecoder/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  lcevcdecoder: Add new LCEVC Decoder plugin
	  This new LCEVC decoder plugin is meant to implement all LCEVC decoder elements.
	  For now, it only implements the LCEVC enhancement decoder (lcevcdec) element.
	  This element essentially enhances raw video frames using the LCEVC metadata
	  attached to input buffers into a higher resolution frame. The element is only
	  meant to be used after any base decoder (eg avdec_h264).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-09-03 17:09:40 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Wait for SEI before exposing src caps
	  This makes sure 'lcevc=false' src caps are not set before parsing SEI. It is
	  needed for decodebin2 to work properly with the LCEVC decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-10-01 16:40:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Don't fake IDR without at least an i-slice
	  There was an override to fake an IDR as soon as a SPS/PPS
	  is encountered, but that's not valid, at least an i-slice is needed.
	  Amend the visl result, as the output is slightly more correct, not
	  duplicating frame_num.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-08-19 12:16:49 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  h264parse: attach LCEVC meta to buffers if it is present in SEI
	  This improves the h264parse element to attach LCEVC enhancement data to buffers
	  using the new GstLcevcMeta API. This metadata will eventually be used downstream
	  by LCEVC decoders to enhance the RAW video frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-07-27 16:27:29 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst-libs/gst/codecparsers/gstlcevcmeta.c:
	* gst-libs/gst/codecparsers/gstlcevcmeta.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Add LCEVC metadata API
	  This new metadata API allows elements to attach LCEVC enhancement data to video
	  buffers. Usually, the video parser elements are charged to parse the LCEVC
	  enhancement data from SEI Nal units (Supplemental enhancement Information).
	  However, other elements such as demuxers can also use this API if the LCEVC
	  enhancement data of the video is stored in a separate stream in the container.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-09-16 23:34:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/plugin.c:
	  nvdecoder: Add support for D3D12 output
	  Enable D3D12 output if device can support D3D12 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529>

2024-09-16 23:24:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	* sys/nvcodec/gstcudainterop_d3d12.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvcodec: Add support CUDA to D3D12 memory copy
	  Adding CUDA -> D3D12 memory copy method to GstCudaD3D12Interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529>

2024-09-24 23:43:07 -0700  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Guard the read of thiz->initialized with the modification of this value
	  This is to avoid wrongly read/write thiz->initialized when multi-thread
	  invoking encoder init function, it is possible when user apps deploy
	  multi-thread to dynamically change encoder's settings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7578>

2024-09-24 17:32:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajadeviceprovider.cpp:
	  ntv2: Update to AJA NTV2 SDK 17.1.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7568>

2024-09-03 12:16:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/nvcomp/gstnvcompvideodec.cpp:
	* ext/ttml/gstttmlparse.c:
	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkswapper.c:
	* gst/interlace/gstinterlace.c:
	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	* sys/androidmedia/gstamcvideodec.c:
	* sys/applemedia/avfvideosrc.m:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11download.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12download.cpp:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12upload.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegdec.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9dec.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabase.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvacaps.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvavpp.c:
	* tests/check/libs/vkimagebufferpool.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	* tests/examples/d3d11/d3d11converter.cpp:
	* tests/examples/nvcodec/nvcodec.c:
	  common: Use more efficient versions of GstCapsFeatures API where possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-30 18:57:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvavpp.c:
	  common: Stop using GQuark-based GstCapsFeatures API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-29 20:09:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/curl/gstcurlhttpsrc.c:
	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/player/gstplayer.c:
	* gst/debugutils/gsttestsrcbin.c:
	* sys/ipcpipeline/gstipcpipelinecomm.c:
	* sys/kms/gstkmssink.c:
	* sys/nvcodec/gstcudaconverter.c:
	* tests/check/elements/webrtcbin.c:
	* tests/examples/mxf/mxfdemux-structure.c:
	  common: Stop using GQuark-based GstStructure field name API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-09 10:41:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/svthevcenc/gstsvthevcenc.c:
	* gst-libs/gst/mpegts/gstmpegtssection.c:
	* gst-libs/gst/play/gstplay.c:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mxf/mxfaes-bwf.c:
	* gst/mxf/mxfffv1.c:
	* gst/mxf/mxfmetadata.c:
	* gst/mxf/mxfmetadata.h:
	* gst/mxf/mxfmpeg.c:
	  common: Stop using GQuark-based GstStructure name API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-09-26 02:03:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Fix resource allocation on old Windows version
	  D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag was introduced as of
	  Windows 10 May 2020 Update, and older versions don't understand
	  the heap flag. Checks the feature support and enables the
	  D3D12_HEAP_FLAG_CREATE_NOT_ZEROED only if it's supported by OS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7573>

2024-05-30 07:34:22 +0000  Weijian Pan <pwjworks@gmail.com>

	* sys/applemedia/avfdeviceprovider.m:
	  avfdeviceprovider: Fix caps leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6966>

2024-09-24 13:31:34 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpethreadedview.cpp:
	  wpe: initialize threading.ready before reading it
	  Fix Valgrind warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7377>

2023-12-10 23:31:32 +0100  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: make gst_v4l2uvc_fourcc_to_bare_struct work with more raw formats
	  The uvcsink was limited to only transfer YUY2 and MJPEG. For the
	  uncompressed formats there is no technical reason not to support them.
	  Since gst_video_format_to_string is already supporting more fourcc than
	  only YUY2 we use the default path in gst_v4l2uvc_fourcc_to_bare_struct
	  to create structures for more formats and bail out if the returned
	  format is not from the uncompressed type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6037>

2024-09-24 17:01:10 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* sys/kms/gstkmsallocator.c:
	  kmsallocator: fix stride with planar formats
	  This fixes a regression introduced by the merge request
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801
	  The extrapolated stride was computed but not used, resulting in the same
	  stride being applied to all planes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7566>

2024-09-24 01:07:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add colorconvert and scale elements
	  In addition to existing d3d12convert element which supports
	  color conversion and rescale at once, adding
	  separate color-conversion-only and scale-only elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7560>

2024-09-20 23:46:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipgen.h:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12mipmapping.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12mipmapping element
	  Adding a new element for texture conversion from single mip level
	  texture to mipmapping enabled RGBA texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-21 04:33:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	  d3d12: Use D3D12_FILTER_MIN_MAG_MIP_LINEAR filter by default
	  ... instead of D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT, since we supports
	  mipmap texture now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-20 22:56:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12: Add support for mipmap texture
	  Consider D3D12_RESOURCE_DESC.MipLevels > 1 or zero case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-19 21:29:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix crash on pso update
	  Allocates D3D12_INPUT_ELEMENT_DESC memory on heap instead of using
	  stack memory for later reuse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 19:31:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add auto-resize mode
	  Automatically resize swapchain backbuffer to be identical to
	  stream resolution if user calls resize() signal with zero resolution
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 01:23:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add support for MSAA
	  Adding "msaa" property and enable MSAA if supported by device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 00:21:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	  d3d12videosink: Use converter config for initial MSAA setup
	  Avoid redundant pso creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:53:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	  d3d12converter: Add support initial pso DXGI_SAMPLE_DESC setting
	  Add more options for pso, in order to avoid redundant pso
	  creation when MSAA is used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 19:59:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add sampling-method property
	  Allow setting sampler filter method to use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:24:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	  d3d12convert: Use new sampler filter update method
	  ... instead of creating new converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 20:21:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Add support for sampler filter update
	  Creates new root signature and pipeline state object
	  if sampler filter method is updated
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:01:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12converter: Use generated sampler
	  ... instead of static ones, in order to support sampler state update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-07 11:06:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadecoder.c:
	  va: decoder: Delete all the internal locks
	  In fact, the va decoder is just a internal helper class and its access
	  is under the control of all dec elements. So far, there is no parallel
	  operation on it now.
	  At the other side, some code scan tools report race condition issues.
	  For example, the "context" field is just protected with lock at _open()
	  but is not protected at _add_param_buffer().
	  So we just delete all its lock usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-07 10:45:09 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	  h264bitwriter: Add check for data size to avoid overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-07 10:26:22 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h265bitwriter: Add check for data size to avoid overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-06 23:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegenc.c:
	  va: jpegenc: Fix a memory leak when filter sink caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-06 23:35:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: vpp: Use gst_caps_replace to operate the filter_caps
	  No need to use lock when we assign value to priv->filter_caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-18 16:15:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Use gst_aggregator_update_segment() instead of randomly pushing a segment event
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>

2024-09-18 16:15:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use gst_aggregator_push_src_event() for pushing downstream events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>

2024-09-17 14:48:03 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265: Minimize memory allocation
	  Be smarter when allocating sink and source memory pools to reduce the
	  memory footprint. Use gst_v4l2_decoder_get_render_delay() to know the
	  need number of buffers for downstream element.
	  Handle errors in case of memory allocation failures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7544>

2024-02-12 14:02:44 +0800  Tim Blechmann <tim@klingt.org>

	* ext/mdns/gstmicrodnsdevice.c:
	  mdns: fix thread names
	  Linux thread names are limited to 15 chars. providing long thread names
	  causes the thread name not to be applied at all
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6094>

2024-09-17 23:03:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	  d3d12decoder: Disable sub-allocated bitstream buffer
	  This sub-allocation causes decoding artifacts for some reason
	  on Intel platform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7535>

2024-09-17 18:31:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix refcounting issue when selecting the best pad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7538>

2024-09-06 10:44:46 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add support for SMPTE ST-2038 ANC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7461>

2024-09-17 10:36:58 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/aja/gstajasinkcombiner.cpp:
	  aja: there is no need to take object lock
	  Both _sink_event() and _aggregate() vfunc are called from the source pad
	  streaming thread. There is thus no need to protect caps fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7536>

2024-07-15 16:10:10 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/gstmpegtssection.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmuxjpegxs.c:
	* gst/mpegtsmux/gstbasetsmuxjpegxs.h:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/meson.build:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add support for JPEG-XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-08-29 14:49:59 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  tsmux: Split off j2k descriptor code in separate function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-08-28 11:07:32 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegts-private.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* tests/examples/mpegts/ts-parser.c:
	  mpegts: Handle ISO 13818 / ITU H.222.0 base extension descriptor
	  Previously this was hardcoded to the DVB extension descriptors (0x7f), but it
	  should also be applied for the base specification extension descriptors (0x3f)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-09-11 19:07:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxs: add to documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-08-30 11:19:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: put "codestream-length" into caps
	  So consumers can calculate the maximum bitrate (brat)
	  from that for various descriptors, in combination with
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-08-22 14:15:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.h:
	* ext/svtjpegxs/meson.build:
	  svtjpegxs: add SVT JPEG XS decoder
	  Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-07-13 17:45:02 +0200  Tim-Philipp Müller <tim@centricular.com>

	* ext/meson.build:
	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.h:
	* ext/svtjpegxs/meson.build:
	* meson_options.txt:
	  svtjpegxs: add SVT JPEG XS encoder
	  Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-09-09 00:31:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvcodecutils.cpp:
	* sys/nvcodec/gstnvcodecutils.h:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/meson.build:
	  nvencoder: Add support for d3d12 memory
	  Use d3d12 -> cuda memory copy helper object in cuda mode encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 01:00:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	* sys/nvcodec/gstcudainterop_d3d12.h:
	* sys/nvcodec/meson.build:
	  nvcodec: Add a helper object for d3d12 interop
	  Adding new helper object for d3d12 -> cuda memory copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 21:01:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	  d3d12: Add gst_d3d12_get_copyable_footprints() method
	  This helper method will calculate buffer resource size and layout
	  required for (mutiple) texture resources to be stored in a single
	  buffer resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 00:06:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Hold compute queue
	  Compute queue will be used for async compute task or device-to-device
	  memory copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-14 03:12:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load external resource interop symbols
	  Required for d3d12 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-05 22:07:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	  video: Don't overshoot QoS earliest time by a factor of 2
	  By setting the earliest time to timestamp + 2 * diff there would be a difference
	  of 1 * diff between the current clock time and the earliest time the element
	  would let through in the future. If e.g. a frame is arriving 30s late at the
	  sink, then not just all frames up to that point would be dropped but also 30s of
	  frames after the current clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459>

2024-09-11 08:40:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out
	  This makes sure that if upstream has different latencies that we're still
	  outputting buffers with increasining timestamps across the different streams
	  unless buffers are arriving after the latency deadline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7500>

2024-08-30 01:38:23 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemorypool.c:
	* tests/examples/cuda/meson.build:
	  examples: Add application CUDA memory pool example
	  An example to show application managed CUDA memory pool usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

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

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cuda: Add support for application cuda memory pool
	  Adding gst_cuda_register_allocator_need_pool_callback() method
	  to support memory allocation from application's CUmemoryPool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 22:18:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda.h:
	* gst-libs/gst/cuda/gstcudamemorypool.cpp:
	* gst-libs/gst/cuda/gstcudamemorypool.h:
	* gst-libs/gst/cuda/meson.build:
	  cuda: Add CUDA memory pool object
	  Adding a wrapper object for CUmemoryPool handle to use the native
	  handle in a refcounted way
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-09-10 19:29:44 +0900  Seungha Yang <seungha@centricular.com>

	* docs/libs/cuda/index.md:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	  cuda: Add methods to enable stream ordered allocation
	  Adding prefer-stream-ordered-alloc property to GstCudaContext.
	  If stream ordered allocation buffer pool option is not configured
	  and this property is enabled, buffer pool will enable the stream
	  ordered allocation. Otherwise it will follow default behavior.
	  If GST_CUDA_ENABLE_STREAM_ORDERED_ALLOC env is set,
	  default behavior is enabling the stream ordered allocation.
	  Otherwise sync alloc/free method will be used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-30 00:39:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Disable stream ordered allocation
	  Stream ordered allocation is not supported by encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 20:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcsink.cpp:
	  cudaipcsink: Disable stream ordered allocation
	  Legacy CUDA IPC does not support default CUDA memory pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 20:15:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cuda: Add support for stream ordered allocation
	  Default CUDA memory allocation will cause implicit global
	  synchronization. This stream ordered allocation can avoid it
	  since memory allocation and free operations are asynchronous
	  and executed in the associated cuda stream context
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 18:23:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load stream ordered allocation related symbols
	  Required to support async memory allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-30 14:59:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlshmallocator.c:
	* gst-libs/gst/wayland/gstwlshmallocator.h:
	  wayland: Set a debug category for the shm allocator
	  None was set, which meant the debug was associated with default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482>

2024-09-09 16:27:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwlcontext.c:
	* gst-libs/gst/wayland/gstwlcontext.h:
	  wayland: Fix ABI break in WL context type name
	  While transforming the internals of waylandsink into a library, the
	  context type name was accidentally changed, causing an ABI break. Change
	  it back to its original (as used by the libgstgl), and add support for
	  the misnamed version as a backward compatibility measure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482>

2024-09-10 00:10:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan: Fix some doc strings and also some g-i warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7481>

2023-07-18 17:34:54 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: set cur_caps to upstream selected caps
	  If the UVC gadget announces multiple formats in the descriptors the uvcsink
	  doesn't select the actual format but let's the UVC hosts select the format.
	  If the GStreamer pipeline is started before a UVC host selected the format,
	  upstream decides on a format until the UVC host has decided. In this case, the
	  current format needs to be set based on the caps from the caps event to be able
	  to detect if the format selection by the UVC host requires a format change on
	  the GStreamer pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473>

2024-09-05 15:04:33 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: skip comparison with prev_caps if they are not set
	  The uvcsink may be put into the READY state to start listening for UVC requests.
	  Therefore, the UVC host may set a streaming format before the GStreamer pipeline
	  is started and the uvcsink received a caps event. In this case, prev_caps will
	  be NULL.
	  If the EVENT_CAPS has not been received, skip the check if the format needs to
	  be changed, since the sink will be started with the format selected by the UVC
	  host, anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473>

2024-08-29 12:16:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Cleanup TsMuxStream fields
	  Instead of using plenty of case-specific booleans:
	  * Store type as GstStreamType
	  * Store unique stream type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7476>

2024-09-06 10:51:01 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Name the different bus
	  Makes it clearer when reading logs which one is which
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7462>

2024-09-06 01:07:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Prefer byte-stream format over packetized
	  Since old encoder implementation supported only byte-stream,
	  prefers byte-stream format for backward compatibility.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3787
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7457>

2024-09-02 12:15:41 +0200  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: restrict interpolation & scaling property to iHD driver
	  interpolation & scaling is supported for all hardware on
	  iHD driver. But not supported in mesa driver. see:
	  <https://github.com/intel/media-driver/issues/1843>
	  <https://gitlab.freedesktop.org/mesa/mesa/-/issues/11803>
	  improvment of:
	  <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7443>

2024-09-05 01:14:17 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: Correct NV21's BPP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-02 13:18:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegenc.c:
	  vajpegenc: set interlace-mode, colorspace and sampling in output caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-02 13:17:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  vasurfaceimage: log surface status string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:46:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegenc.c:
	* sys/va/gstvajpegenc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vajpegenc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-08-30 23:00:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Check the bitrate property before get its value
	  Not all the encoders have the bitrate property, such as the jpeg enc.
	  We need to check that property before getting its value, or the glib
	  will print warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:24:18 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/jpegbitwriter.c:
	* tests/check/meson.build:
	  tests: Add the jpeg bit code writer test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:14:39 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstjpegbitwriter.c:
	* gst-libs/gst/codecparsers/gstjpegbitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Implement the jpeg bit code writer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-05 10:08:17 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/dash_mpd.c:
	  check: Disable failing test
	  Test hasn't been properly fixed for several years with modern libsoup, and it
	  only for the legacy adaptive demuxer.
	  Fixes #3783
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7454>

2024-08-26 14:46:59 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: enable forward-unknown-ssrc on rtpfunnel
	  See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7405
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7409>

2024-09-03 20:10:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Allow unlimited number of in-flight d3d12 commands
	  ... so that it can be controlled by global direct command queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444>

2024-09-03 19:33:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Add async-depth property
	  Adding a property to control the number of in-flight GPU commands
	  (default is unlimited). Note that actual maximum number is defined
	  in d3d12device's direct command queue object which is 32 now,
	  thus total number of scheduled GPU commands cannot exceed 32.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444>

2024-09-03 17:04:49 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Use new release_frame/drop_frame encoder API
	  Replaces usage of gst_video_codec_frame_unref everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173>

2024-09-03 17:00:09 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Restart encoding session when certain errors are detected
	  Sometimes under certain loads, VT can error out with kVTVideoEncoderMalfunctionErr or kVTVideoEncoderNotAvailableNowErr.
	  These have been reported to happen more often than usual if CopyProperty/SetProperty() is used close to the encode call.
	  Both can be worked around by restarting the encoding session.
	  These errors can be returned either directly from VTCompressionSessionEncodeFrame() or later in the encoding callback.
	  This patch handles both scenarios the same way - a session restart is be attempted on the next encode_frame() call.
	  If the error is returned immediately by the encode call, it's possible that some correct frames will still be given to
	  the output callback, but for simplicity (+ because I wasn't able to verify this scenario) let's just discard those.
	  In addition, this commit also simplifies the beach/drop logic in enqueue_buffer.
	  Related bug reports in other projects:
	  http://www.openradar.me/45889262
	  https://github.com/aws/amazon-chime-sdk-ios/issues/170#issuecomment-741908622
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173>

2024-09-02 18:25:56 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: check whether stream is seekable before seeking when state change
	  If state is changing from playing to paused, and rate is reset to 1
	  which causes seek position is valid, current code will do seek for
	  streams that are not seekable. So need to check whether stream is
	  seekable before seeking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7441>

2024-08-20 02:01:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/glib-compat-private.h:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	* sys/va/meson.build:
	  gst-plugins-bad: use g_sort_array() instead of deprecated g_qsort_with_data()
	  Fixes compiler warnings with the latest GLib versions.
	  See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384>

2024-08-30 09:52:55 +0200  Oskar Fiedot <oskar.fiedot@intel.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h:
	  analytics: Change pointers in getters to const
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7403>

2024-08-29 12:01:30 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Prevent crash when attempting to set answer on invalid SDP
	  If the pending remote description has an invalid BUNDLE group _parse_bundle()
	  triggers early return from _create_answer_task(), before ret has been
	  initialized, so it needs to be checked before attempting to call
	  gst_sdp_message_copy().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7423>

2024-07-27 08:53:47 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  bad: Add suppression for libsrt issues
	  This is not code we control
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415>

2024-07-27 08:29:53 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/lc3.c:
	  check: Fix leak in lc3 test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415>

2024-08-27 11:52:08 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: fix regression with missing RTP header extensions in Answer SDP
	  webrtcsrc first creates recvonly transceivers with codec-preferences
	  and expects that after applying a remote description, the
	  previously created transceivers are used rather than having new
	  transceivers created.
	  When pairing webrtcsink + webrtcsrc, the offer sdp from webrtcsink has a media
	  section with sendonly direction. In !7156, which was implemented following
	  RFC9429 Section 5.10, we only reuse a unassociated transceiver when applying a
	  remote description if the media is sendrecv or recvonly, and that caused creation
	  of new transceivers when applying a remote offer in webrtcsrc, thus losing
	  information from codec preferences like the RTP extension headers in the
	  previously created transceivers.
	  Since the change in !7156 broke existing code from webrtcsrc, relax the condition
	  for reusing unassociated transceivers and add a test to document this behavior which
	  wasn't covered by any tests before.
	  Fixes #3753.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7417>

2024-08-21 13:23:36 +0100  Francis Quiers <fquiers@cisco.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/voamrwbenc/gstvoamrwbenc.c:
	  voamrwbenc: fix list of bitrates
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7396>

2024-08-09 09:41:07 +0000  Daniel Pendse <daniel.pendse@spiideo.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	  rtmp2: Add llnw auth support to rtmp client
	  Add support for Limelight CDN (llnw) authentication. Inspired
	  by the ffmpeg implementation of llnw auth.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7410>

2024-07-25 17:50:26 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Fix time code calculation
	  We need to multiply for the nuit_field_based_flag before scaling, or
	  we'll lose precision and end up only adding even timecodes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7241>

2024-08-23 16:21:43 +0200  RSWilli <bartel.wilhelm@gmail.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: fix documentation error in GstWebRTCKind
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7407>

2024-08-08 06:23:47 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/timecode/gsttimecodestamper.c:
	* gst/timecode/gsttimecodestamper.h:
	  timecodestamper: Add running-time source mode
	  Add a new source mode "running-time". This mode will convert buffer
	  running time into timecode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7322>

2024-08-21 09:24:58 -0400  Thibault Saunier <tsaunier@igalia.com>

	* tests/validate/autovideoconvert/renegotiate/flow-expectations/log-^convert-src$-expected:
	  ci: Fail tests if we forget to checkout expectation files
	  And add missing expectation files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7400>

2024-08-20 22:09:13 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  gstplayer: Check GstPlayerSignalDispatcher type
	  Before trying to retrieve a GMainContext from a provided
	  GstPlayerSignalDispatcher, check that it is actually
	  GstPlayerGMainContextSignalDispatcher. If not, use the
	  default GMainContext for dispatching signals via the adapter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7392>

2024-08-21 09:19:39 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpesrcbin.cpp:
	  wpe: fix gst-launch example
	  wpesrc does not have num-buffers property but wpevideosrc does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7389>

2024-06-07 00:01:10 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cuda-template.c:
	* tests/examples/cuda/meson.build:
	* tests/examples/cuda/template-plugin/cuda-transform-ip-template.c:
	* tests/examples/cuda/template-plugin/cuda-transform-ip-template.h:
	* tests/examples/cuda/template-plugin/plugin.c:
	  examples: Add CUDA based in-place transform element example
	  Adding a CUDA example element for plugin developers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7004>

2024-08-20 19:20:34 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  webrtc: Fix racy unit test
	  Don't reuse the same stats state structure across multiple
	  get-stats calls. Make each callback take a copy of the
	  non-changing fields it needs and use a local working copy
	  to avoid crashing.
	  Fixes problems with the unit test crashing sometimes for the
	  unit test introduced in MR !7338
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7387>

2024-08-20 18:57:50 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Always populate rtp-inbound stats fields
	  Even if there's no jitterbuffer yet for an incoming stream,
	  make sure to populate the mandatory statistics with 0 entries.
	  Fixes problems with the unit test failing sometimes for the
	  unit test introduced in MR !7338
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7387>

2024-08-05 11:46:28 +0200  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: add interpolation method for scaling
	  For description of interpolation methods, see:
	  <https://intel.github.io/libva/structVAProcPipelineParameterBuffer.html#abb95e119ed7f841f71b2afbec2104784>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301>

2024-08-19 14:34:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  va: don't use GST_ELEMENT_WARNING in set_context() vmethod
	  Since bins can set the context of their children elements, the set_context()
	  vmethod shouldn't call bus messages post methods, since it locks the parent
	  object, the bin, which might be already locked, leading to a deadlock.
	  Fixes: #3706
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7378>

2024-08-16 22:33:03 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fix uint64 -> uint confusion for ice-candidate priority
	  ICE candidate priority is a 32-bit field and reported as such in the
	  webrtcbin statistics, but the documentation was incorrect, and the
	  unit test was looking for a uint64.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7338>

2024-08-12 22:17:14 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fixes for bundled statistics generation
	  When multiple streams are bundled on the same transport,
	  the statistics would end up incorrectly generated,
	  as each pad would regenerate stats for every ssrc on the
	  transport, overwriting previous iterations and assigning
	  bogus media kind and other values to the wrong ssrc.
	  Fix by making sure each pad only loops and generates
	  statistics for the one ssrc that pad is receiving / sending.
	  Add a unit test that the codec kind field in RTP statistics
	  are now generated correctly.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2555
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7338>

2024-07-30 21:59:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12swapchainsink.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	* tests/examples/d3d12/d3d12swapchainsink-win32.cpp:
	* tests/examples/d3d12/d3d12swapchainsink-winrt.cpp:
	* tests/examples/d3d12/meson.build:
	  d3d12: Add d3d12swapchainsink element
	  Adding a new videosink element for Windows composition API based
	  applications. Unlike d3d12videosink, this element will create only
	  DXGI swapchain by using IDXGIFactory2::CreateSwapChainForComposition()
	  without actual window handle, so that video scene can be composed
	  via Windows native composition API, such as DirectComposition.
	  Note that this videosink does not support GstVideoOverlay interface
	  because of the design.
	  The swapchain created by this element can be used with
	  * DirectComposition's IDCompositionVisual in Win32 app
	  * WinRT and WinUI3's UI.Composition in Win32/UWP app
	  * UWP and WinUI3 XAML's SwapChainPanel
	  See also examples in this commit which show usage of the videosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7287>

2024-08-08 14:09:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:59:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9enc.c:
	  va: replace %d for %u format for system_frame_number guint32 variable
	  And also fixed the format for other less frequently printed variables.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:58:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: update b_pryamid property if it changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:57:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26xenc: use gst_h26x_slice_type_to_string()
	  Rather than custom function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-16 14:47:52 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Add a lock around the stats test
	  Prevent any race if both webrtcbin end up generating their
	  statistics simultaneously, however unlikely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-16 14:46:19 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Fix racy rollback test
	  Prevent the default webrtc test machinery from attempting to
	  create and set an answer when we're just testing rollback
	  of the offers. Add some locking / waiting to ensure the test
	  is complete before exiting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-16 08:58:47 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Use fail_unless_matches_string()
	  Use pattern matching against expected error strings that
	  might include internal element names, where the names
	  are default assigned with incrementing integers. When running
	  with CK_FORK=no, there may have been previous tests that
	  ran in the same process and incremented the counters more
	  than when running in the default fork-per-test mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-13 23:55:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  va: deinterlace: Do not use the backward reference
	  num_backward_references > 0 means we need to cache several frames
	  after the current frame. But the basetransform class does not
	  provide any _drain() kind function, so we do not have the chance
	  to push out our cached frames when EOS or set caps event comes.
	  Rather than losing the last several frames, we should just give up
	  the backward reference here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7348>

2024-08-13 22:41:00 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  va: deinterlace: Push the forgotten leading frames if forward reference > 0
	  The current code forgets to push the first several frames if the forward
	  reference > 0. They are just cached in history array and will never be
	  deinterlaced and pushed.
	  For the first several frames, even the forward reference frames are not
	  enough, we still need to deinterlace them as normal and push them after that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7348>

2024-08-14 19:44:40 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: fix incorrect reading of transform in app14 marker
	  "adobe" in app14 marker seem not a null-terminted string. so, when
	  we use gst_byte_reader_get_string_utf8, more bytes will be read until
	  null. and "gst_byte_reader_get_uint8 (&reader, &transform)" will almost fail
	  to read transform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7356>

2024-08-14 10:45:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: remove duplicated structure definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-14 10:30:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: don't override error on get_format() call
	  If gst_vulkan_video_encoder_get_format() fails it fills the error structure, so
	  it shouldn't be filled again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 17:29:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: There's no need to store the aligned offset of 0
	  Since it's 0 too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 17:27:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: use g_clear_pointer to unref packed headers
	  And use g_ptr_arra_unref() Instead of using the unrecommended g_ptr_array_free().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 16:58:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: don't check twice for encoder parameter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 16:57:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: fix code style
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-07-22 21:29:38 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* tests/check/libs/h264parser.c:
	  h26xparse: bypass check for length_size_minus_one
	  fix playback fail, when some file with length_size_minus_one == 2
	  According to the spec 2 cannot be a valid value, so that stream has a
	  bad config record. but breaking the decoding because of that, perhaps is too much.
	  and ffmpeg seem not check this
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7213>

2024-05-21 22:28:05 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/amf.h:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	* gst/rtmp2/rtmp/rtmpconnection.h:
	  rtmp2: reimplement librtmp's connection parameters for the connect packet
	  librtmp allows for attaching arbitrary AMF objects to the end of the
	  connect packet, and this is commonly used for authenticating with
	  servers.
	  Add a new property, extra-connect-args, that mimics librtmp's behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7054>

2024-08-13 10:42:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkmpeg2enc.c:
	* sys/msdk/gstmsdkvc1dec.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdk: replace strcmp with g_strcmp0
	  Because strcmp doesn't handle NULL.
	  Fixes: #3721
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7347>

2024-06-23 23:09:00 +0200  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vulkan: Replace open-coded precondition checks with g_return_val_if_fail
	  While analyzing gst_vulkan_get_or_create_image_view_with_info() it
	  seems obvious that this function returns NULL, and that this should be
	  covered in the return annotations.  However, closer inspection indicates
	  that this is only a precondition check when the incoming arguments are
	  incompatible with each other, and should not be considered as a function
	  that optionally returns a pointer.
	  Signify this by using precondition checks instead of an opencoded
	  if-return-NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 23:23:46 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan: Annotate queue getter as nullable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 20:05:18 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.c:
	* gst-libs/gst/vulkan/gstvkbuffermemory.h:
	* gst-libs/gst/vulkan/gstvkmemory.c:
	* gst-libs/gst/vulkan/gstvkmemory.h:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	  vulkan: Mark some pointers to Vulkan info structures as const
	  These pointers are only used as read-only arguments, and should not be
	  treated as mutable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 19:46:49 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vulkan: Add missing `out` annotation to `decoder_out_format()`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-28 10:54:27 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vulkan: Fix context get/set annotations
	  Most notably the out annotations for gst_context_get_* were missing,
	  causing us to generate the wrong bindings for Rust.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2024-08-01 13:42:52 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fix renegotiation checks
	  When checking for renegotiation against a local offer,
	  reverse the remote direction in the corresponding answer
	  to fix falsely not triggering on-negotiation needed when
	  switching (for example) from local sendrecv -> recvonly
	  against a peer that answered 'recvonly'.
	  In the other direction, when the local was the answerer,
	  renegotiation might trigger when it didn't need to -
	  whenever the local transceiver direction differs from
	  the intersected direction we chose. Instead what we want
	  is to check if the intersected direction we would now
	  choose differs from what was previously chosen.
	  This makes the behaviour in both cases match the
	  behaviour described in
	  https://www.w3.org/TR/webrtc/#dfn-check-if-negotiation-is-needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7303>

2024-08-08 14:36:19 +0200  Benjamin Gräf <benjamin.graef@zuehlke.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	  decklink: Add support for all modes of Quad HDMI recorder
	  By extending the GstDecklinkModeEnum with the additional modes supported by the Quad HDMI recorder,
	  we avoid using mode = 0 in case any of these resolutions is returned by the card.
	  Fixes#3713
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7302>

2024-08-08 13:18:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: fix stray gtk-doc chunk
	  Trips up g-ir-scanner it seems:
	  gstmpegtsdescriptor.h:614: Error: GstMpegts: Skipping invalid GTK-Doc comment block
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793#note_2517855
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7324>

2024-08-08 16:37:35 +0800  Shengqi Yu <shengqi.yu@mediatek.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  baseautoconvert: correct mistake in printing log
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7323>

2024-08-07 19:14:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	  aom: av1enc: restrict allowed input width and height
	  Restrict allowed input resolution to something sensible
	  in light of libaom CVE-2024-5171.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7320>

2024-08-05 22:10:28 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/rtcsessiondescription.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Make basic rollbacks work
	  Fixes for basic rollback (from have-local-offer or have-remote-offer to
	  stable). Allow having no SDP attached to the webrtc session description
	  in that case, and avoid all the transceiver and ICE update logic
	  normally applied when entering the stable signalling state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7304>

2024-08-06 22:48:16 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: Add missing G_BEGIN/END_DECLS in header
	  Fix using webrtc.h from C++ by adding the GLib begin/end
	  decls markers around the header contents in webrtc_fwd.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7312>

2024-08-06 10:03:55 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: fix win32 build error
	  This was not caught by the CI in the MR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7307>

2024-07-22 23:55:48 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	  decklink: add support for HDR output and input
	  Supports PQ and HLG static metadata.
	  Support for HDR is queried from the device and selectively enabled when
	  supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7214>

2024-07-30 12:49:04 +1000  Jan Schmidt <jan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	  webrtc: Add reuse-source-pads property
	  Add a property to avoid sending EOS on source pads when the
	  associated transceiver becomes inactive during renegotiation.
	  This allows the pads to become active again in a later
	  renegotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-25 21:25:58 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/rtptransceiver.c:
	  webrtc: Fix transceiver `current-direction` property
	  Fix a typo registering the `current-direction` property
	  that made it just be a proxy for `direction` instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-24 20:59:51 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: Fixes for matching pads to unassociated transceivers
	  Fix an inverted condition when checking if sink pad caps match
	  the codec-preference of an unassociated transceiver, and
	  fix a condition check for transceiver media kind to
	  avoid matching sinkpad requests where caps aren't provided
	  against unassociated transceivers where the caps might
	  not match later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-24 20:58:01 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: tracked maximum pad serial better
	  If a sink pad with a specific index is requested, also
	  increase the maximum pad serial number if necessary, so
	  that mixing fixed sink_X requests with unspecific sink_%u
	  requests works.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-08-02 11:21:13 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: connect output stream on recv transceivers
	  With MR 7156, transceivers and transports are created earlier,
	  but for sendrecv media we could get `not-linked` errors due to
	  transportreceivebin not being connected to rtpbin yet when incoming
	  data arrives.
	  This condition wasn't being tested in elements_webrtcbin, but could be
	  reproduced in the webrtcbidirectional example. This commit now also
	  adds a test for this, so that this doesn't regress anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294>

2024-08-02 11:19:56 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: reverse direction from remote media
	  This had been overlooked from the spec. We need to reverse
	  the remote media direction when setting the transceiver direction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294>

2024-04-08 21:38:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Fix intra only stream bug
	  When we set "ref-frames=0" to generate an intra only stream, the current
	  encoder just generates an assert and exit with error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-04-01 16:56:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Improve B pyramid mode in H264
	  If the reference frame number is bigger than 2, we can enable the
	  pyramid B mode. We do not need to assign a reference frame to each
	  pyramid level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-04-01 23:54:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Make the level table aligned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-08-02 05:21:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Always release acquired frame
	  AcquireNextFrame() call should be paired with ReleaseFrame().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-08-02 04:07:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Do not recreate d3d11 device on capture error
	  Already opened d3d11 device including shader pipeline can be reused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

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

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix deadlock on error
	  Don't try to wait for non-signalled fence
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-07-30 09:27:49 +0000  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	* sys/msdk/msdk-enums.c:
	* sys/msdk/msdk-enums.h:
	  msdkvpp: add interpolation method
	  For description of interpolation modes, see:
	  <https://intel.github.io/libvpl/latest/API_ref/VPL_enums.html#interpolationmode>.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7278>

2024-07-03 07:58:58 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Reject FD received before SPS
	  A previous fix, a275e1e029e9b5d88be26b8304c9a162e4567346, is correct but was too
	  permissive since it treats all un-matched NAL units the same as AU delimiters
	  even though some other NAL unit types can be encountered in the processing loop.
	  The problem this can cause is that some hardware decoders experience bad
	  performance when handling FD units that precede the SPS.
	  This change restores the original behavior for FDs so that they're ignored until
	  the SPS is received and it preserves the codec conformance test gains that the
	  fix has achieved.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7166>

2024-07-29 22:49:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/gstcudautils.h:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/cuda/stub/cudaEGL.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda/nvcodec: Add support for importing and producing embedded NVMM memory
	  As produced on the Nvidia Jetson series of devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7274>

2024-08-01 11:12:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: fix documentation grammar
	  Original-patch-by: Matthew Waters <matthew@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7288>

2024-07-10 10:34:19 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: create and associate transceivers earlier in negotation
	  According to https://w3c.github.io/webrtc-pc/#set-the-session-description
	  (steps in 4.6.10.), we should be creating and associating transceivers when
	  setting session descriptions.
	  Before this commit, webrtcbin deviated from the spec:
	  1. Transceivers from sink pads where created when the sink pad was
	  requested, but not associated after setting local description, only
	  when signaling is STABLE.
	  2. Transceivers from remote offers were not created after applying the
	  the remote description, only when the answer is created, and were then
	  only associated once signaling is STABLE.
	  This commit makes webrtcbin follow the spec more closely with regards to
	  timing of transceivers creation and association.
	  A unit test is added, checking that the transceivers are created and
	  associated after every session description is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7156>

2024-07-29 20:59:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: honor downstream pool allocation parameters
	  If a downstream buffer pool is offered, vulkanupload checks its allocation
	  parameters to honor them. Only adds to usage the TRANSFER bits, which are
	  required to upload buffers.
	  Also, fail if the buffer pool cannot be configured with the current parameters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219>

2024-07-29 19:06:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	  vkimagebufferpool: expose config_get_allocation_params()
	  Also enhanced the documentation and added a config parameter check for
	  gst_vulkan_image_buffer_pool_config_set_allocation_params()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219>

2024-07-26 17:13:10 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/rsvg/gstrsvgoverlay.c:
	  rsvgoverlay: add debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7246>

2024-07-19 14:00:45 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: fix formating
	  Code alignement was not alway consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7205>

2024-07-25 17:06:39 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vulkan: Add missing since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277>

2024-07-25 16:28:04 +0200  Edward Hervey <edward@centricular.com>

	* ext/ldac/ldac-plugin.c:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svthevcenc/gstsvthevcenc.c:
	  bad: Add missing plugin since
	  These predate current stable release. Was never spotted since they weren't built
	  on the CI
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277>

2024-07-27 06:52:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Do not set the CRF/Quality parameter with ProRes
	  It's not supported with ProRes, setting the property will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 06:52:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Log warnings when setting a property fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 06:27:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add max-frame-delay property
	  This controls the number of frames allowed in the compression window.
	  Not all encoders and implementations support it; I've only managed to
	  successfully use it with ProRes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 05:47:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Support emulating CBR mode with data rate limits
	  CBR is only supported on Apple Silicon, and this "emulation" works
	  surprisingly well. We set the window size to a single frame, and don't
	  set ABR at all.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 05:39:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add new property for setting data rate limits
	  This proxies kVTCompressionPropertyKey_DataRateLimits, except it
	  only supports a single limit for now.
	  https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_dataratelimits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 04:36:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add support for constant bitrate encoding
	  Only supported on macOS 13.0+ and iOS 16.0+ on Apple Silicon.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 03:04:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Eliminate some needless complex code
	  We do not need a helper that takes a lock to fetch the values of these
	  properties. There is no race being prevented.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 03:03:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix setting of quality property
	  gst_vtenc_set_quality() will never actually set the VT compression
	  property, because it tries to set it on self->session which is not
	  initialized at this point.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-23 14:12:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: comment zero value usage with VK_ACCESS_NONE
	  Zero is used only for Vulkan version prior to 1.3, because it wasn't defined
	  before.
	  Just for readability.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-26 17:26:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: refactor how image usage is set
	  Now that driver version is expected to be equal or superior to 1.3.275 the bug
	  in NVIDIA and RADV regarding usage is solved, we can revert commit b7ded81f7b.
	  Also this patch sets the internal usage variable after all the validation are
	  run, thus the state don't keep an invalid usage.
	  Finally, the now unused supported_usage variable is dropped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-23 14:11:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: add encoding usage as video usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-23 14:07:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: reset the number of profiles at set_config()
	  Virtual method set_config() can be called several times, and if the number of
	  profiles counter isn't reset the pool will reach an error state.
	  The purpose of number of profiles is to check the number of valid vulkan video
	  profiles (two in the case of transcoding use-case, for example) so it's local to
	  set_config() virtual method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-26 17:09:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vulkan: encoder and decoder runtime check for driver version 1.3.275
	  Which is the one checked in meson. See commit 21ee264d65
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-29 10:29:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: refactor dmabuf handle close
	  Moved the close loop into a function guarded for non-win32 platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7254>

2024-07-28 02:01:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Fix critical warnings
	  Fixing warnings
	  GStreamer-CRITICAL **: 01:21:25.862: gst_value_set_int_range_step:
	  assertion 'start < end' failed
	  Although when QSV runtime reports a codec is supported, resolution query
	  fails sometimes, espeically VP9 encoder case on Windows.
	  Don't try to register an element if resolution query returned an error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7250>

2024-07-27 02:18:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Fix segfault when flushing
	  gst_video_encoder_get_oldest_frame() is nullable, and will signal that
	  all frames are handled by returning NULL.
	  Fixes #3650
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7249>

2024-07-27 04:16:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	  d3d12frame: Fix frame copy method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-27 03:50:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Check heap flag before trying to create NT handle
	  CreateSharedHandle() will fail eventually if the resource was created
	  with non-shared heap. Instead of trying to create handle blindly,
	  validate resource first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-27 03:39:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Prefer d3d12 resource allocated with shared heap
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:46:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	  d3d12: Suppress fence data object leak report
	  We don't release GstD3D12Device intentionally, thus
	  a GstD3D12FenceDataPool owned by a device will not be released
	  but that's expected leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:37:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	  d3d12: Fix debug category name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:17:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	  d3d12download: Do not overwrite fence of non-writable memory
	  A fence configured in GstD3D12Memory should be used only for
	  write access to be completed. And because d3d12 -> d3d11 copy path
	  is read access to d3d12 resource, we should not set fence to
	  memory. Otherwise another read access to the d3d12 resource
	  will wait for d3d11 device context's copy operation although
	  simultaneous read access is allowed.
	  Use background thread to keep d3d12 resource and wait for d3d11 device's
	  copy operation instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-25 22:44:51 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: Fix dmabuf handle leaks
	  Close dmabuf handles manually when they're not going to
	  be passed into GStreamer FD memory, to avoid fd handle
	  leaks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7240>

2024-07-08 16:42:58 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Adjust byte counter when adjusting bitrate
	  When configured in constant bitrate mode, the muxer computes timing information
	  using the configured bitrate and the byte counter (now = bytes sent / byterate).
	  When an application changes the bitrate in CBR mode during playback, the
	  relationship between bytes sent and bitrate is no longer valid so new timing
	  values will be off by the ratio of the old bitrate to the new bitrate.
	  Furthermore, it will upset the way that padding is generated.
	  pad_stream() works by trying to fit the byte counter to now * byterate.
	  The result is that when decreasing bitrate, the muxer stalls, waiting until the
	  byte counter is in agreement with now * byterate. Also, when increasing
	  bitrate, the padding will spike in volume until the byte counter fits with
	  now * byterate.
	  If the byte counter is scaled by the ratio of new bitrate / old bitrate when
	  adjusting bitrate, then padding is generated in a way that applications would
	  more likely expect.
	  One detail this change doesn't yet address is whether the next PCR will match up
	  optimally with the previous PCR right after the byte counter is scaled. In that
	  case, some correction may be necessary. Also, perhaps the user should be
	  prevented from changing from bitrate=0 to bitrate=nonzero during playback since
	  it's not straightforward how to scale the byte counter in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7158>

2024-07-24 22:22:03 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: redraw overlay when caps changes
	  The position needs to be updated as it depends of the video size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230>

2024-07-24 22:21:41 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: add some debug logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230>

2024-07-24 09:16:03 +0200  tomaszmi <257184-tomaszmi@users.noreply.gitlab.freedesktop.org>

	* ext/avtp/gstavtpsink.c:
	  avtp: Fixed Linux/Alpine 3.20 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7226>

2024-07-24 02:33:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime compiler loading with old CUDA tookit
	  Fallback to PTX if CUBIN symbol is unavailable
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3685
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7220>

2024-07-19 17:06:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: no aliased images for video decoding
	  This fix regression in validation layer introduced by commit 3a2e8d2d19
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211>

2024-07-19 16:56:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: handle barrier internally for coincide references
	  This is to avoid a regression in validation layer (introduced by commit
	  916c4e70cd) when using vulkandownload
	  VUID-VkImageMemoryBarrier2-srcAccessMask-03914 ..  vkCmdPipelineBarrier2():
	  pDependencyInfo->pImageMemoryBarriers[1].srcAccessMask (VK_ACCESS_TRANSFER_READ_BIT)
	  is not supported by stage mask (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR)
	  since vulkandownload set DPB memories' access mask to
	  VK_ACCESS_TRANSFER_READ_BIT, while they are retain by the DPB queue, so when
	  they are used as DPB after been shown, this validation error is raised.
	  Must of the barrier values are set ignoring the previous state of the vulkan
	  images.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211>

2023-12-21 09:32:25 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	  vulkan{up,down}load: check for a graphics family queue
	  Vulkan queue retrieved from peer elements should be a graphics family one.
	  Otherwise, get a compatible queue from the given device.
	  Co-Authored-By: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7162>

2024-07-19 01:14:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12av1dec.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h264dec.h:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12h265dec.h:
	* sys/d3d12/gstd3d12mpeg2dec.cpp:
	* sys/d3d12/gstd3d12mpeg2dec.h:
	* sys/d3d12/gstd3d12vp8dec.cpp:
	* sys/d3d12/gstd3d12vp8dec.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.h:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Add support for d3d11 output again
	  Although d3d12download supports d3d12 to d3d11 texture copy,
	  this feature might be useful if an application is not ready to d3d12
	  support and it expects output type of decodebin(3) is d3d11.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7208>

2024-07-18 23:51:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  meson: d3d12: Use configuration file
	  Move defines to config header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7208>

2023-11-14 14:39:29 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Add new driver name "xe"
	  Intel has released a new graphic driver named "xe" for
	  newer Gen12/Xe graphics (i.e. from Lunar Lake).
	  This patch add "xe" name when getting device in gst-msdk plugins.
	  See xe driver public in
	  https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/xe
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7178>

2024-07-19 17:05:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7203>

2024-03-19 20:04:15 -0300  L. E. Segovia <amy@centricular.com>

	* ext/isac/meson.build:
	  isac: Work around upstream having no shared library support for MSVC
	  None of the symbols in webrtc-audio-coding-1 are marked with
	  `__declspec(dllexport)`, rendering the library usable only if
	  it was built with GCC/Clang.
	  The only fix available (as the pulseaudio copy has not been updated
	  with Google's upstream) is to ensure the fallback builds statically.
	  Although this change will also affect webrtcdsp's dependency on
	  webrtc-audio-processing-1, it does not break its compilation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6407>

2024-07-12 10:34:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: reset buffer's access flags
	  The access flags are kept around the operations, but when the buffer is
	  released, the access flag should be reset to its original value, since queue
	  transfers can be done along the pipeline and, when reusing the buffer, the new
	  queue might not support the latest access flag.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-12 10:06:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: set access NONE at buffer pool allocation parameters
	  Since the decoding queue might not have transfer capabilities.
	  This change also applies to unit test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-11 13:05:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: add source pipeline stage to _operation_add_frame_barrier()
	  Instead of dragging the last destination pipeline stage as current barrier
	  source pipeline stage (which isn't a valid semantic) this patch adds a parameter
	  to gst_vulkan_operation_add_frame_barrier() to set the source pipeline stage to
	  define the barrier.
	  The previous logic brought problems particularly with queue transfers, when the
	  new queue doesn't support the stage set during a previous operation in a
	  different queue.
	  Now the operation API is closer to Vulkan semantics.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-12 18:10:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: fix wrong stages or access in barriers
	  While working on !7165 we found out that some parameters for barriers were wrong
	  or the destination pipeline stage was too coarse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7200>

2024-06-27 22:25:42 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	  decklinkvideosink: schedule frames before they need to be displayed
	  This removes most occurances of 'late' frame notifications produced by
	  decklink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7107>

2024-07-18 23:00:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Update internal method names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193>

2024-07-18 03:30:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Always allocate output texture using shared heap
	  ... if downstream preference is unknown (e.g., no proposed
	  buffer pool by downstream), so that produced textures can be
	  shareable with other APIs such as d3d11 or vulkan, or other processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193>

2024-07-16 23:08:39 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/gstvabase.c:
	  vabase: Stop aligning VideoInfo during DMABUF import
	  Doing so resets the stride from the VideoMeta and it wasn't done before
	  the commit below. While on it, drop the plane size check as we can't
	  reliably predict the correct size when using DRM modifiers.
	  Fixes: 89b0a6fa23 ("va: refactor buffer import")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7187>

2024-07-17 12:45:31 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/gstvabase.c:
	  vabase: Use correct VideoInfo during DMABUF import
	  The changes to the VideoInfo, notably the stride from the VideoMeta,
	  were lost. Avoid such mistakes by explicitly using the VideoInfo from
	  drm_info.
	  Fixes: 9f5b2c4e25 ("va: use GstVideoInfoDmaDrm when importing buffers")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7187>

2024-07-17 23:44:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.h:
	* sys/applemedia/avfvideosrc.m:
	  avfdeviceprovider: Fix debug category initialization
	  The device monitor calls into avfvideosrc functions without
	  initializing the debug category, which causes multiple criticals.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7192>

2024-07-16 03:31:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue-private.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain-resource.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/webview2/gstwebview2src.cpp:
	  d3d12: Remove unnecessary event handles
	  null event NT handle to ID3D12Fence::SetEventOnCompletion()
	  will block the calling CPU thread already, thus it has no point that
	  creating an event NT handle in order to immediate wait for fence at CPU-side.
	  Note that passing a valid event NT handle to the fence API might be useful
	  when we need to wait for the fence value later (or timeout is required),
	  or want to wait for multiple fences at once via WaitForMultipleObjects().
	  But it's not a considered use case for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7176>

2024-07-16 04:21:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Fix mouse event handling
	  GstD3D12Window.priv.input_info is referenced by mouse event handler
	  in order to calculate corresponding original position
	  if scene is rotated/flipped by the videosink.
	  Fixing regression introduced by recent d3d12videosink refactoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7177>

2024-07-15 12:44:52 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/plugin.c:
	  va: Blocklist i965 driver for encoding
	  The driver - AKA intel-vaapi-driver - has been unmaintained for four years
	  now and encoding appears to be broken in various cases. As it's unlikely
	  that the situation will improve, blocklist the driver for encoding.
	  Decoding appears to be stable enough to keep it enabled.
	  The driver can still be used by setting the `GST_VA_ALL_DRIVERS` env
	  variable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7170>

2024-07-05 11:36:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan: remove beta extensions guard for encode operations
	  This is not needed anymore since encoder operations are not beta anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7179>

2024-07-16 23:07:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix transparent background mode with YUV output
	  In case of YUV format without alpha channel, zero clear value
	  for each channle will result in green color. Use calculated black
	  background color with alpha=0 for transparent background mode instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7181>

2024-07-16 20:38:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix transparent background mode with YUV output
	  In case of YUV format without alpha channel, zero clear value
	  for each channle will result in green color. Use calculated black
	  background color with alpha=0 for transparent background mode instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7181>

2024-07-11 17:23:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Fix handling of timestamps and don't rely on driver frame counters
	  The driver frame counters (processed, dropped, buffer level) are not
	  always correct apparently, and don't allow reliably assigning a frame
	  number to captured frames.
	  Instead of relying on them, count the number of frames directly here and
	  detect dropped frames based on the capture times of the frames: if more
	  than 1.75 frame durations are between two frames, then there must've
	  been a dropped frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7163>

2024-07-03 22:57:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Update output frame duration when second field frame is discarded
	  In case of an interlaced stream, if each field picture belongs to
	  different GstVideoCodecFrame, updates output frame's duration
	  based on discarded second field picture's timestamp information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7132>

2024-07-13 00:04:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window-swapchain.cpp:
	  d3d12videosink: Clear cached buffer on format change
	  Otherwise converter will try to read memory of which layout/format
	  might be different from configured converter pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7167>

2024-07-12 12:34:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay.c:
	  vadisplay: fix minor version check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7164>

2024-04-17 12:21:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: set image creation flags in needed
	  set ALIAS bit if the usage is for both sampled and storage.
	  set MUTABLE_FORMAT and EXTENDED_USAGE bits if the image is a multiplane YUV and
	  uses multiple memories.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-04-17 12:15:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	  vkformat: add gst_vulkan_format_get_map function
	  This will be used later to compare the format selected by
	  gst_vulkan_format_from_video_info_2(), to verify if it's multiple memory buffer
	  or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-01-25 11:14:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: request storage usage for bufferpool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-01-22 17:28:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: define a default usage
	  Define a default usage and use it instead of repeating the same bitwise
	  addition.
	  Therefore, when usage is defined as zero, the usage is defined with the
	  format's supported usage and the default usage, now without the storage
	  bit, but with color and input attachment bits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-04-17 12:17:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: unward G8_B8R8_2PLANE_420_UNORM
	  Since it exists since VK_VERSION_1_1. It should be ignored by usage flags or the
	  no_multiplane parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-07-04 02:02:42 +0200  Robert Mader <robert.mader@posteo.de>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Fix surface cropping for rotated streams
	  The wp_viewport source rectangle is applied in surface-local coordinates
	  after buffer_transform and buffer_scale. Therefore we need to swap width
	  and height for 90/270 deg. rotations.
	  This fixes playback of rotated videos such as portrait videos from
	  mobile devices.
	  See also: https://wayland.app/protocols/viewporter#wp_viewport
	  Fixes: 0b648f9a2d ("waylandsink: Crop surfaces to their display width height")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7136>

2024-07-08 15:30:45 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: Fix H.264 ref in logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7146>

2024-07-05 00:29:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	  d3d12memorycopy: Enhance d3d12 to d3d11 copy
	  If a d3d12 memory holds non-direct-queue fence but the fence was
	  created with D3D12_FENCE_FLAG_SHARED flag, use the fence instead of
	  waiting for fence at CPU side. Note that d3d12ipcsrc or
	  d3d12screencapture elements will hold such sharable fence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7139>

2024-07-01 16:59:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/videotexturecache-vulkan.mm:
	  applemedia: Disable some deprecation errors
	  This needs significant work to use the new Metal→Vulkan integration
	  extension `VK_EXT_metal_objects`
	  ```
	  MoltenVK/mvk_deprecated_api.h:132:1: note: 'vkGetMTLDeviceMVK' has been explicitly marked deprecated here
	  MVK_DEPRECATED_USE_MTL_OBJS
	  ^
	  MoltenVK/mvk_deprecated_api.h:74:52: note: expanded from macro 'MVK_DEPRECATED_USE_MTL_OBJS'
	  #define MVK_DEPRECATED_USE_MTL_OBJS   VKAPI_ATTR [[deprecated("Use the VK_EXT_metal_objects extension instead.")]]
	  ^
	  ../sys/applemedia/videotexturecache-vulkan.mm:303:20: error: 'vkSetMTLTextureMVK' is deprecated:
	  Use the VK_EXT_metal_objects extension instead.
	  VkResult err = vkSetMTLTextureMVK (memory->vulkan_mem.image, texture);
	  ^
	  MoltenVK/mvk_deprecated_api.h:151:1: note: 'vkSetMTLTextureMVK' has been explicitly marked deprecated here
	  MVK_DEPRECATED_USE_MTL_OBJS
	  ^
	  MoltenVK/mvk_deprecated_api.h:74:52: note: expanded from macro 'MVK_DEPRECATED_USE_MTL_OBJS'
	  #define MVK_DEPRECATED_USE_MTL_OBJS   VKAPI_ATTR [[deprecated("Use the VK_EXT_metal_objects extension instead.")]]
	  ^
	  2 errors generated.
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-28 17:19:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vk-video: Fix uint64_t string format errors
	  With clang on macOS:
	  ```
	  error: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long')
	  ...
	  error: format specifies type 'unsigned long' but the argument has type 'VkImageView' (aka 'unsigned long long')
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:27:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* sys/applemedia/meson.build:
	  meson: Find MoltenVK with the objc++ compiler everywhere
	  When building for iOS in Cerbero, as of MoltenVK SDK 1.3.283, we have
	  to statically link to libMoltenVK since it no longer ships a dylib.
	  This requires linking to libc++, so we find the dep with the objc++
	  compiler to ensure that meson uses the right linker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:25:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/meson.build:
	  meson: Fix some confusing code in applemedia's build file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:20:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/meson.build:
	  meson: Fix vulkan automagic in applemedia plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:13:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	  meson: Fix vulkan library build on iOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:11:48 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	  meson: Use / instead of join_paths for vulkan
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 03:46:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* meson_options.txt:
	  meson: Fix automagic dependency checks in gstvulkan
	  Windowing, in particular, was getting silently disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-07-05 18:17:38 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* tests/check/elements/lc3.c:
	  lc3: remove bitstream comparison in the tests
	  since the encoded output is changing based on version
	  it does not make sense to check the output bitstream with a fixed
	  bytearray since the version in the target might vary. So sticking
	  to checking the number of output buffers and encoded frame size
	  similar to the other tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7141>

2024-07-02 13:00:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vavpp: simplify gst_va_vpp_transform_caps()
	  The code is simplified by using GQuarks for looking for caps features, and
	  removing inner loops.
	  Also, it's used the pad template caps to compare with the incoming caps because
	  is cheaper at the beginning of negotiation, where the pad template caps is used.
	  And, since the ANY caps where removed, there's no need to check for an initial
	  intersection.
	  Finally, the completion of caps features is done through a loop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-06-26 22:19:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  vadeinterlace: Do not append ANY caps into pad template
	  Just like the vapostproc, we delete the ANY caps in pad template to
	  avoid unexpected negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-04-20 16:40:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavpp.c:
	  vapostproc: Do not append ANY caps into pad template
	  The ANY caps in pad template caps seems to mess up the DMA negotiation.
	  The command of:
	  GST_GL_API=opengl gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12 !
	  vapostproc ! "video/x-raw(memory:DMABuf)" ! glimagesink
	  fails to negotiate, but in fact, the vapostproc can convert the input NV12
	  formant into the RGBA format to render.
	  The ANY may help the passthough mode, but we should make the negotiate correct
	  first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-06-27 14:05:46 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-06-27 13:59:40 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-06-25 14:38:12 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvabasetransform.c:
	  vabasetranform: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-04-16 23:59:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the trellis only when HW supports it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-17 00:03:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Init missing fields in reset_state()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-16 23:50:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the trellis only when HW supports it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-16 18:13:06 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Set the trellis parameter anyway
	  The driver may enable trellis by default. So we should also set the
	  trellis info to driver even when the trellis option is turned off.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-07-02 15:26:55 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix Since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 14:55:25 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: Added missing function prototype
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 14:25:59 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 10:14:38 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix single line Since comments
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 09:10:27 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix Since marker for gst_mpegts_descriptor_from_metadata_pointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-27 15:44:54 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: update docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-27 15:20:47 -0500  jadarve <juanda0718@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: update plugin cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 15:39:12 -0500  jadarve <juanda0718@gmail.com>

	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: mux meta/x-id3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 14:39:05 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: use GstMpegtsMetadataApplicationFormat in metadata descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 14:31:48 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: added metadata pointer descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 13:53:26 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gst-metadata-descriptor.c:
	* gst-libs/gst/mpegts/gst-metadata-descriptor.h:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.c:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mpegts/mpegts.h:
	  mpegts: moved metadata descriptors to gstmpegtsdescriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2023-04-07 14:40:58 -0400  Chris Spoelstra <cs.spoelstra@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/srt/gstsrtobject.c:
	  srtsrc: fix case fallthrough of authentication param
	  Add missing breaks to two case statements.
	  Also adds a missing lock of srtobject->element when getting the value
	  of PROP_AUTHENTICATION.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4367>

2024-06-29 23:02:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12memorycopy.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add support for resource copy between d3d11 and d3d12
	  If driver can support cross-api resource sharing, use device-to-device
	  resource copy in d3d12upload/download elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119>

2024-06-29 21:37:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Use shared heap by default
	  ... to make cross-api resource sharing possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119>

2024-06-27 09:55:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Drop some frames after signal recovery
	  After signal recovery the capture times for the next frames are simply
	  wrong. Experimentally this affected 2-3 frames and seemed to be related
	  to the buffer fill level after signal recovery, so drop at least 5
	  frames and up to fill level + 1 frames in this situation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106>

2024-06-27 09:30:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Reset clock after signal loss or signal change
	  Otherwise timestamps would continue as if there was no gap, and the next
	  frames until the clock has compensated would be all too late.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106>

2024-06-27 15:32:01 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/mse/meson.build:
	  meson: Remove duplicated library definitions for gstmse and gstanalytics
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7109>

2024-06-28 02:33:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	  d3d12commandallocatorpool: Remove unused methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108>

2024-06-27 22:58:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.h:
	* sys/d3d12/meson.build:
	  d3d12decoder: Use sub-allocated bitstream buffer
	  Since a buffer resource will occupy at least 64KB,
	  allocating upload resource per decoding command might not be
	  an optimal approach. Instead, use sub-region of a upload resource
	  for multiple decoding command if sub-regions are not overlapped
	  each other.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108>

2024-06-26 16:09:26 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/rtmp2/rtmp/amf.c:
	  rtmp2: guard against calling gst_amf_node_get_type() with NULL
	  gst_amf_node_get_type() raises a CRITICAL if called with a NULL node.
	  All callers were checking for this except those.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7103>

2020-04-08 10:40:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* meson.build:
	* meson_options.txt:
	  build: Add missing common options that are yielding in subprojects
	  - Align `glib_debug`, `glib_assert` and `glib_checks` options with GLib,
	  otherwise glib subproject won't inherit their value. Previous names
	  and values are preserved using Meson's deprecation mechanism.
	  - Add `extra-checks` and `benchmarks` options in the main project so it
	  can be inherited in GStreamer subprojects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1165>

2024-05-13 18:52:28 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Move repeat header data to a dedicated buffer
	  When enable parallel encoding, it is possible that the unshown frame
	  is not output but it is already be marked as a repeated frame header.
	  So we need to use a dedicated buffer to hold the repeat frame header,
	  don't mix it with the orignal frame data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6867>

2024-06-25 20:08:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Check d3d shared resource tier using D3D11 API
	  We can check the tier using d3d11 API. Thus, don't need to
	  create d3d12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7099>

2024-06-02 11:40:04 +0300  Jan Schmidt <jan@centricular.com>

	* ext/hls/m3u8.c:
	  adaptivedemux: Fix handling closed caption streams
	  Fix a typo "CLOSED_CAPTION" -> "CLOSED-CAPTION" and
	  a broken if statement that always bailed out for
	  closed captions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6985>

2024-06-25 22:19:26 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	  webrtcdsp: Enable multi_channel processing
	  Enable multi_channel processing in webrtc-audio-processing when the
	  input or output has multiple channels.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3220
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7100>

2024-06-24 16:00:45 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix redistribute latency spam
	  Just a quick fix to only report the maximum noticed delay (measured by frames inside the encoder) instead of changing
	  the reported latency every time the number there changes, which is way too often.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7094>

2024-06-24 20:49:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Make sure data upload before executing compute shader
	  Use read d3d12 map, so that upload can happen if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 20:07:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add ARGB64_LE format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 17:53:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add AV12 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 01:41:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add NV16, NV61, and NV24 format support
	  Can reuse NV12 shader for the formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 00:29:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add A420, A422 and A444 format support
	  Adding A420/A422/A444 and its 10/12/16 bits format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-23 23:05:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add YUV 4:1:0 and 4:1:1 format support
	  Adding Y41B, YUV9, and YVU9 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-21 18:38:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window-swapchain.h:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window-win32.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Present on GstVideoOverlay::expose()
	  ... so that updated backbuffer can be swapped and presented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7079>

2024-06-23 22:16:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	  d3d12: Add v216, v210, r210, v308, IYU2, RGB, BGR format support
	  Reuse the compute shader implemented for d3d11
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:14:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12: Add support for UYVY, VYUY, and YVYU
	  Use already implemented compute shaders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:13:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add RGB{16,15} and BGR{16,15} format support
	  d3d12 device can support B5G6R5_UNORM and B5G5R5A1_UNORM formats
	  in pixel shader. If the format is not supported by device,
	  U16_UINT format with compute shader will be used, like d3d11converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:00:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	  d3d12: Add BGRA64 and BGR10A2 format support
	  Map BGRA64 and BGR10A2 to Y416 and Y410, respectively,
	  since it's possible RGB space decoder output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 02:01:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add support for DXGI native packed YUV formats
	  Adding YUY2, Y210, Y216, and Y416 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 00:34:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12converter: Fix Y410 conversion
	  Adding format conversion helper and use compute shader in case that
	  output format does not support RTV.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-23 01:18:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Add support for UAV descriptor cache
	  Cache shader invisible UAV descriptor in memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-22 01:36:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12format-private.h:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.h:
	  d3d12: Format table refactoring
	  Hide format table from header. This is a preparation for compute
	  shader based format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-21 00:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Upload shader buffer resources earlier
	  Schedule (semi-)static resource upload at converter creation time.
	  And use single resource for all vertex, index, and constant
	  buffers, since separate resources will waste GPU memory.
	  Note that size and address of a committed resource are 64K aligned
	  even if requested buffer size is small.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7081>

2024-06-20 22:18:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Make gamma remap work as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7073>

2024-06-20 20:44:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Don't warn for out of range device index
	  It can happen during enumeration as well, and it's expected error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070>

2024-06-20 20:34:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Dump device feature support
	  ... and use CD3DX12FeatureSupport helper class in d3dx12.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070>

2024-06-20 00:09:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Prevent too many in-flight GPU commands
	  Even if each element is checking its own in-flight commands,
	  total number of commands can get larger in case of complex pipeline.
	  Limits total number of in-flight commands at command queue level
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-20 00:07:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Detect device removed event
	  Early return if device removed event is detected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-19 23:29:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	  d3d12basefilter: Add adapter property
	  Allows initial GPU adapter selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-19 22:12:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Move fence setter helper method to gst-libs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 19:06:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12converter: Update API signature
	  Always use device's main direct queue, and control gpu waiting
	  behavior by using boolean value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 01:00:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12ipcserver.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/webview2/gstwebview2src.cpp:
	  d3d12memory: Hide fence value from header
	  Instead of exposing fence value to wait in header, user setter/getter
	  methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 00:57:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	  d3d12device: Add helper method for getting fence handle
	  Add get_fence_handle() method so that caller can get command queue's
	  dedicated fence handle from device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 22:59:17 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Remove notify_com and notify_mini_object helper methods
	  Use private macros instead of exposing multiple APIs for the same thing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 22:04:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12commandqueue: Update API name and arguments
	  Accepts multiple fences since single command list may have
	  multiple dependent resources which are associated with
	  different GPU engines
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 21:48:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12device: Use HRESULT return code if possible
	  Make function signature consistent with that of command queue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-05-28 09:55:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: support layered and non dedicated DPB
	  As NVIDIA Amperium. In this case the each output buffer is also a DPB,
	  but using a different view layer.
	  Still pending a validation layer issue:
	  VUID-VkVideoBeginCodingInfoKHR-flags-07244
	  Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6954>

2024-06-17 15:38:05 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	  analytics: Add validation on classification analytics-meta
	  - Add valiation on parameters passed to gst_analytics_cls_add_cls_mtd.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7046>

2024-06-18 09:10:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Fix maximum PCR/DTS values
	  * PTS/DTS are stored as 33 bit
	  * PCR is 33bit multiplied by 300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7050>

2024-06-18 00:33:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Promote decoder and videosink rank to primary
	  It's proven that d3d12 performs better than d3d11 while
	  consumes less resources in various cases.
	  Assign primary+ rank to decoder and videosink in case of Windows10/11,
	  so that it can be tested widely
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7045>

2024-03-22 12:32:22 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: support for query_result_status
	  query_result_status can be optional so we should not create
	  the query pool if the queue does not support it,
	  ie, AMD does not support VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR
	  In other use case such as VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, the
	  query pool must be created.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7043>

2024-06-17 14:55:03 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	  vkphysicaldevice: rename query to query_result_status
	  As only queryResultStatusSupport can be optional,
	  the variable name should be more specific.
	  queryResultStatusSupport reports VK_TRUE if query type
	  VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR and use of
	  VK_QUERY_RESULT_WITH_STATUS_BIT_KHR are supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7043>

2024-06-18 05:53:19 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parse: Do not return error when expectedFrameId mismatch
	  According to the SPEC:
	  The frame id numbers (represented in display_frame_id, current_frame_id,
	  and RefFrameId[ i ]) are not needed by the decoding process, but allow
	  decoders to spot when frames have been missed and take an appropriate action.
	  So we should just print out warning and should not return error in parser when
	  mismatching. The decoder itself is already robust to handle the reference missing.
	  Fixes #3622
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7047>

2024-06-16 21:21:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window-win32.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add direct-swapchain property
	  Because DXGI flip mode swapchain will disallow GDI operation
	  to a HWND once swapchain is configured, videosink has been creating
	  child window of application's window. However, since window creation
	  would take a few milliseconds, it can cause performance issue such as
	  UI freezing. Adding a property so that videosink can attach
	  DXGI swapchain diretly to application's window in order to improve
	  performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-13 01:34:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Add external-window-only property
	  Adding a new property in order to avoid unintended interanl window
	  creation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-10 23:40:55 +0900  Seungha Yang <seungha@centricular.com>

	  d3d12videosink: Add support for window handle update
	  A large refactoring commit for adding features and improve performance
	  * Reuse internal converter and overlay compositor:
	  Converter can be reused as long as input and display formats are not
	  changed. Also overlay compositor reconstruction is required only if
	  display format is changed
	  * Don't wait for full GPU flush on resize or close:
	  D3D12 swapchain requires GPU idle in order to resize backbuffer.
	  Thus CPU side waiting is required for swapchain related commands
	  to be finished. However, don't need to wait for full GPU flushing.
	  * Support multiple sink on a single external window
	  Keep installed subclass window procedure even if there's no associated
	  our internal HWND. This will make window procedure hooking less racy.
	  Then parent HWND's message will be transferred to our internal HWNDs
	  if needed.
	  * Adding support for window handle update
	  Application can change target HWND even when videosink is playing or
	  paused state. So, users can call gst_video_overlay_set_window_handle()
	  against d3d12videosink anytime. The videosink will be able to update
	  internal state and setup resource upon requested.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-10 23:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12overlaycompositor: Remove unused parameter
	  Don't need to check fence value of overlay buffer since
	  window uses global direct command queue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-03 21:53:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Calculate display resolution only per caps change
	  Don't need to calculate it per window property update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-05 00:20:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Fix deadlock on drain()
	  Don't take lock if the drain() is called from the GC thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-12 01:02:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12: Workaround for Intel iGPU decoder crash
	  Observed Intel GPU driver crash when multiple decoders are
	  configured in a process. It might be because of frequent
	  command queue alloc/free or too many in-flight decoding commands.
	  In order to make command queue persistent and limit the number of
	  in-flight command lists, holds global decoding command queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7019>

2024-06-12 18:28:54 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Use GST_VIDEO_DECODER_ERROR instead of aborting when frame has an ERROR flag
	  This was already being used in handle_frame() for errors that happen when queueing a frame for decoding,
	  let's do the same when a frame is flagged with an error in the output callback.
	  From quick testing, this makes seeking more reliable (previously, it would sometimes cause a decoding error
	  and shut the whole decoder down due to GST_FLOW_ERROR).
	  Also manually sets the max error count to actually stop processing if too many errors occur.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446>

2024-03-26 15:24:31 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Handle some errors without stopping the decoder
	  ReferenceMissingErr is not critical and the simplest solution is to just ignore it. The frame has
	  the FrameDropped flag set when it occurs, so we can just drop it as usual.
	  BadDataErr is also not immediately critical, but in its case let's set the ERROR flag,
	  so the output loop can use GST_VIDEO_DECODER_ERROR to count and error out if it happens too many times.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446>

2024-06-17 11:15:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1dec.c:
	  av1dec: Don't treat decoding errors as fatal and print more error details
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7040>

2024-06-11 23:33:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add support for DXGI debug layer
	  Will be enabled if GST_ENABLE_D3D12_DXGI_DEBUG env is set
	  and dxgidebug.dll is available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7016>

2024-06-13 09:11:30 -0500  Zach van Rijn <me@zv.io>

	* gst/pcapparse/gstpcapparse.c:
	  pcapparse: Avoid unaligned memory access
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3602
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7030>

2024-05-21 01:20:59 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/nvcomp/gstnvcomp.cpp:
	* ext/nvcomp/gstnvcomp.h:
	* ext/nvcomp/gstnvcompvideodec.cpp:
	* ext/nvcomp/gstnvcompvideodec.h:
	* ext/nvcomp/gstnvcompvideoenc.cpp:
	* ext/nvcomp/gstnvcompvideoenc.h:
	* ext/nvcomp/meson.build:
	* ext/nvcomp/plugin.cpp:
	* ext/nvcomp/stub/cuda_runtime.h:
	* meson_options.txt:
	  nvcomp: Add nvCOMP library based GPU lossless compression plugin
	  Adding NVIDIA nvCOMP library based plugin for lossless raw video
	  compression/decompression. To build this plugin, user should
	  install nvCOMP SDK first and specify the SDK path via
	  "nvcomp-sdk-path" build option or NVCOMP_SDK_PATH env.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6912>

2024-05-21 18:09:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load 1D memcpy method symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6912>

2024-05-31 13:07:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: never set DTS to NONE
	  If we want to avoid the DTS going backward, then we can set DTS to
	  last_dts as a last resort.
	  Log a warning in this case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6977>

2024-06-07 23:09:54 -0700  Khem Raj <raj.khem@gmail.com>

	* sys/uvcgadget/configfs.c:
	  uvcgadget: Use g_path_get_basename instead of libc basename
	  Musl does not implement GNU basename and have fixed a bug where the
	  prototype was leaked into string.h [1], which resullts in compile errors
	  with GCC-14 and Clang-17+
	  | sys/uvcgadget/configfs.c:262:21: error: call to undeclared function 'basename'
	  ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
	  |   262 |     const char *v = basename (globbuf.gl_pathv[i]);
	  |       |                     ^
	  Use glib function instead makes it portable across musl and glibc on
	  linux
	  [1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7006>

2024-06-12 23:15:29 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vulkan/swapper: expose choose_queue() in docs
	  It was missing a doc trigraph.
	  Also mark input queue argument as nullable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7023>

2024-06-10 13:11:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Handle force-keyunit events properly by requesting keyframes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7008>

2024-06-05 22:09:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	  wasapi2: Adjust log level in device enumeration path
	  Audio device at requested index might not be available, but that's
	  expected case when enumerating devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6996>

2024-05-29 11:07:23 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Add a huge value to inbuf pts and set mfx surface timestamp
	  It can be seen as a WA in the case of multi-channel transcoding (like
	  decoder output to two channels, one for encoder and one for vpp).
	  Normally, encoder sets min pts of a huge value to avoid negative dts,
	  while vpp set pts without this addtional huge value, which are likely to
	  cause input surface pts does not fit with encoder (since both encoder
	  and vpp accept the same buffer from decoder, means they modify the timestamp
	  of one mfx surface). So we add this huge value to vpp to ensure enc and
	  vpp set the same value to input mfx surface meanwhile does not break
	  encoder's setting min pts for dts protection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6971>

2024-06-10 23:25:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window signal handler on dispose as intended
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7012>

2024-05-28 19:23:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Add error-on-closed property
	  Adding a property to control error reporting behavior when output
	  window is closed in playing or paused state. This can be useful
	  for apps where an app wants to close window even if it's playing
	  a stream, and the closed window is expected.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6939>

2024-04-23 21:57:57 +0200  Stéphane Cerveau <scerveau@gmail.com>

	* gst-libs/gst/vulkan/meson.build:
	  vulkan: fix macos build
	  The VulkanSDK can be downloaded from LunarG website and can
	  be installed properly in /usr/local following:
	  https://vulkan.lunarg.com/doc/view/latest/mac/getting_started.html
	  Fixes partly #2372
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6669>

2024-06-06 19:34:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan/fullscreenquad: add check for unset video info
	  So we don't crash when set_info() is not called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000>

2024-06-06 17:16:30 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan/fullscreenquad: allow setting NULL input/output buffer to unset
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000>

2024-06-01 02:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvmm-private.h:
	* gst-libs/gst/cuda/gstcudanvmm.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	* meson_options.txt:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda: Enable x86 NVMM support again
	  It was broken since memory copy helper function was moved to gst-libs.
	  Also, adding "cuda-nvmm" and "cuda-nvmm-include-path" build options
	  to en/disable NVMM support in gstcuda library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6978>

2024-05-15 02:29:12 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemory-sync.c:
	* tests/examples/cuda/meson.build:
	* tests/examples/meson.build:
	  examples: cuda: Add CUDA memory synchronization example
	  Add an example code for external CUDA context sharing and
	  gst_cuda_memory_sync()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6864>

2024-06-06 12:13:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/meson.build:
	  vulkan: remove remaining GST_VULKAN_HAVE_VIDEO_ENCODERS
	  Some define use have been forgotten in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7001>

2024-05-17 14:12:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxftypes.c:
	  mxf: Use GDateTime instead of gmtime()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6872>

2024-06-04 10:10:07 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	* tests/check/meson.build:
	  gst-plugins-bad: tests: rename vkvideoencode tests
	  Rename vulkan encode tests to be able to use the namespace
	  libs_vkvideoencode*.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-06-04 09:55:26 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* tests/check/libs/vkvideoh264encode.c:
	* tests/check/libs/vkvideoh265encode.c:
	* tests/check/meson.build:
	  vulkan: remove GST_VULKAN_HAVE_VIDEO_ENCODERS
	  Use 2.3.275 as first supported SDK version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-06-04 09:34:42 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vkqueue: remove useless decoder include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-02-14 09:43:35 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autoconvert: Fix race condition when creating sub elements
	  There was a case where the element would get destroyed while being
	  added to the hash table of elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6989>

2024-06-02 10:26:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlssrtpenc.c:
	  dtlssrtpenc: Don't crash if no pad name is provided when requesting a new pad
	  It is mandatory to provide a valid pad name for dtlssrtpenc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6984>

2024-06-02 23:36:28 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* gst-libs/gst/vulkan/gstvkvideofilter.h:
	  vulkan/videofilter: add getters for queue/device/instance
	  Allows bindings to not pke at structs for this information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-02 23:34:39 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vulkan/fullscreenquad: add get_queue()
	  Allows bindings to not poke at the instance struct.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-02 23:33:13 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vulkan/fullscreenquad: mark set_info GstVideoInfo as const
	  It's not modified by the function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-01 22:38:11 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/meson.build:
	* ext/vulkan/shaders/ayuv_to_rgb.frag:
	* ext/vulkan/shaders/meson.build:
	* ext/vulkan/shaders/nv12_to_rgb.frag:
	* ext/vulkan/shaders/rgb_to_ayuv.frag:
	* ext/vulkan/shaders/rgb_to_nv12.frag:
	* ext/vulkan/shaders/rgb_to_yuy2.frag:
	* ext/vulkan/shaders/swizzle.frag:
	* ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
	* ext/vulkan/shaders/view_convert.frag:
	* ext/vulkan/shaders/yuy2_to_rgb.frag:
	  vulkan: also support glslang as a shader compiler
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980>

2024-06-01 21:35:26 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	  vulkan: support not having glslc available for building vulkan plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980>

2024-05-31 12:28:40 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vkutils: do not forget to clear context in case of error
	  The context is leaking in case of a failing instance open.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975>

2024-05-31 12:27:30 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkerror.c:
	  vkerror: free the error string after usage
	  g_set_error already used the var string, can clear it now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975>

2024-05-30 01:30:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Fix staging buffer alignment
	  Not all GPUs can support arbitrary offset of
	  D3D12_PLACED_SUBRESOURCE_FOOTPRINT when copying GPU memory between
	  texture and buffer. Instead of calculating size/offset per plane,
	  calculate the entire size and offsets at once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6967>

2024-05-28 04:14:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	* meson.build:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	* sys/msdk/meson.build:
	  msdk: Fix libdrm dependency detection and usage
	  drm_fourcc.h should be picked up via the pkgconfig include, not the
	  system includedir directly.
	  Also consolidate the libdrm usage in va and msdk.
	  All this allows it to be picked up consistently (via the subproject,
	  for example).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-27 18:50:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	  meson: Don't use fallback: kwarg for libva deps
	  This will cause a fallback even when the `va` option is `auto`, not
	  giving the user a chance to provide the dependency via the system, and
	  likely building this feature unnecessarily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-27 18:43:33 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/gstvavideoformat.h:
	  va: Fix libdrm include
	  The libdrm/ prefix should not be used, it will be provided by the
	  pkgconfig file. Also HAVE_LIBDRM is necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-15 12:48:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdkcaps: fix ill-format string
	  This patch fixes this critical warning when registering MSDK:
	  _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed
	  It was because the HEVC string with possible output formats has an extra space
	  that could not be parsed correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6853>

2024-05-29 18:54:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12h264enc.cpp:
	  d3d12encoder: Do not print error log for not-supported feature
	  gst_d3d12_result() will print message with ERROR level if failed.
	  Use FAILED/SUCCEEDED macros instead, since not-supported feature
	  is not a critical error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6955>

2024-04-22 17:04:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Allow null allocator in alloc()
	  Update code as documented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6940>

2024-05-21 17:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Properly transfer TU timestamp
	  When transforming from unknown alignment to frame or obu, the TU timestamp
	  was not properly transferred. Fix this by saving the TU DTS as the first
	  DTS seen within the the TU data, and the PTS as the last PTS seen in that
	  TU data. Finally, reset the TU timestamp after each TU have completed.
	  Fixes #1496
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6895>

2024-05-21 17:22:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Only place a marker on the last frame of a TU
	  Markers are meant to indicate the buffer that ends a frame, which imply
	  something can be displayed. The dependent decode only frames should not
	  have markers. This should also fix last subframe detection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6895>

2024-05-25 16:58:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	  webview2: Add user-data-folder property
	  Adding a propery to specify location of WebView2's user data folder
	  location.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6921>

2024-04-22 01:15:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12: Add support for Device Removed Extended Data (DRED)
	  Enable DRED if "d3d12dred > GST_LEVEL_ERROR", and print
	  DRED debug information on device removed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6718>

2024-04-16 20:37:23 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Enable HEVC with alpha encoding
	  Adds a separate vtenc_h265a element (with a _hw variant as usual) for the HEVCWithAlpha codec type.
	  Decided to go with a separate element to not break existing uses of the normal HEVC encoder.
	  The preserve_alpha property is still only used for ProRes, no need for it here because we explicitly say we want alpha
	  when using the new element.
	  For now, the HEVCWithAlpha has an issue where it does not throttle the amount of input frames queued internally.
	  I added a quick workaround where encode_frame() will block until enqueue_frame() callback notifies it that some space
	  has been freed up in the internal queue. The limit was set to 5, which should be enough I guess? Hopefully this is not
	  too prone to race conditions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6664>

2024-03-26 18:48:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Add missing vtenc_h265 docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6664>

2024-05-27 15:41:23 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autovideoconvert: should not forward the allocation query if no element is selected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6927>

2024-05-27 12:28:44 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Allow session level setup attribute in SDP
	  An SDP answer can declare its setup attribute at the session level or at the
	  media level. Until this patch we were validating only the latter case and an
	  assert was raised in the former case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6930>

2024-05-22 14:54:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: code style fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6901>

2024-05-22 14:50:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vulkanh265dec: fix reference set
	  `StdVideoDecodeH265PictureInfo.flags.IsReference` refers to section 3.132 ITU-T
	  H.265 specification:
	  reference picture: A picture that is a short-term reference picture or a
	  long-term reference picture.
	  `GstH265Picture.ref` doesn't reflect this, but we need to query the NAL type of
	  the processed slice.
	  This patch fixes the validation layer error
	  `VUID-vkCmdBeginVideoCodingKHR-slotIndex-07239` while using the NVIDIA driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6901>

2024-05-10 22:59:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/meson.build:
	* tests/examples/d3d12/d3d12videosink-overlay.cpp:
	* tests/examples/d3d12/meson.build:
	  d3d12videosink: Add overlay signal to support d3d12/d3d11/d2d overlay
	  Conceptually identical to the present signal of d3d11videosink.
	  This signal will be emitted with current render target
	  (i.e., swapchain backbuffer) and command queue. Signal handler
	  can record GPU commands for an overlay image or to blend
	  an image to the render target.
	  In addition to d3d12 resources, videosink will send
	  d3d11 and d2d resources depending on "overlay-mode"
	  property, so that signal handler can render by using
	  preferred/required DirectX API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6838>

2024-05-10 20:08:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Use device's main direct queue
	  The idea of using separate command queue per videosink was that
	  swapchain is bound to a command queue and we need to flush the
	  command queue when window size is changed. But the separate
	  queue does not seem to improve performance a lot.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6838>

2024-05-17 11:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlsconnection.c:
	  dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t
	  If a timeout of more than 4295s was scheduled, the calculation would
	  overflow and a too short timeout would be used instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6870>

2023-08-11 17:50:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	  kmssink: Do not close the DRM prime handle twice
	  The prime_fds for multi planes may be the same. For example, on Intel's
	  platform, the NV12 surface may have the same FD for the plane0 and the
	  plane1. Then, the DRM_IOCTL_GEM_CLOSE will close the same handle twice
	  and get an "Invalid argument 22" error the second time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6914>

2024-04-17 12:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* tests/check/libs/vkformat.c:
	  vkformat: try UNORM format first and decouple them from colorimetry
	  From the spec (chapter 34, v1.3.283):
	  ````
	  UNORM: the components are unsigned normalized values in the range [0, 1]
	  SRGB: the R, G and B components are unsigned normalized value that represent
	  values using sRGB nonlinear encoding, while the A component (if one
	  exists) is a regular unsigned normalized value
	  ```
	  The difference is the storage encoding, the first one is aimed for image
	  transfers, while the second is for shaders, mostly in the swapchain stage in the
	  pipeline, and it's done automatically if needed [1].
	  As far as I have checked, other frameworks (FFmpeg, GTK+), when import or export
	  images from/to Vulkan, use exclusively UNORM formats, while SRGB formats are
	  ignored.
	  My conclusion is that Vulkan formats are related on how bits are stored in
	  memory rather their transfer functions (colorimetry).
	  This patch does two interrelated changes:
	  1. It swaps certain color format maps to try first, in both
	  gst_vulkan_format_from_video_info() and gst_vulkan_format_from_video_info_2(),
	  the UNORM formats, when comparing its usage, and later check for SRGB.
	  2. It removes the code that check for colorimetry in
	  gst_vulkan_format_from_video_info_2(), since it not storage related.
	  1. https://community.khronos.org/t/noob-difference-between-unorm-and-srgb/106132/7
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6797>

2024-05-23 19:10:10 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  Revert "tests/d3d11: add concurrency test for gstd3d11device"
	  This reverts commit 8e0046a738070ca3c5441222da241a0582103fe7.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6904>

2024-05-23 17:29:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  Revert "d3d11device: protect device_lock vs device_new"
	  This reverts commit 926d5366b99b3498632a45147cfa329dbbf2cc30.
	  AcquireSRWLockExclusive seems to be acquiring lock in exclusive mode
	  when the same lock is combined with write lock access.
	  Reverting the commit because of this is unexpected behavior
	  and unavoidable OS bug.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6904>

2024-05-22 12:28:39 +0100  Daniel Stone <daniels@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/meson.build:
	  wayland: Use wl_display_create_queue_with_name
	  Wayland 1.23 and above allow us to attach names to an event queue, which
	  are printed out when debugging. Do this to make the logs easier to read.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6900>

2024-05-23 00:48:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix offset of subsampled planar formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6903>

2024-05-21 16:59:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Add timebase property to allow configuring a specific timebase
	  This mirrors the same property in vp8enc / vp9enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-21 16:58:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Use 1/90000 as timebase and don't use the framerate at all
	  This mirrors the behaviour in vp8enc / vp9enc and is generally more
	  useful than using any framerate from the caps as it provides some degree
	  of accuracy if the stream doesn't have timestamps perfectly according to
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-21 16:46:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Fix last timestamp tracking so it actually works
	  This behaves exactly the same as in vp8enc / vp9enc now.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3546
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-16 20:02:25 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autovideoconvert: fix double unref
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6865>

2024-05-03 19:33:08 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/decoders/gstssdobjectdetector.h:
	  ssdobjectdetector: Add size threshold to drop too big detections
	  There is a known "failure" mode where the SSD detector finds an object
	  which is the whole frame. So skip objects which are "too big" to avoid
	  this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6810>

2024-05-17 14:40:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26{4,5}enc: No need to assert i>=0 in frame_setup_from_gop()
	  The value is an uint here and never be negative.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6868>

2024-05-15 15:32:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26xenc: factorize the encoder frame setup
	  A simple removal of duplicated code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6854>

2024-05-15 15:56:37 -0500  Brad Reitmeyer <brad.reitmeyer@resi.io>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvh264dec.cpp:
	  nvcodec: Accept progressive-high profiles for h264
	  Videos using progressive-high used to work on 1.16 before the parser added progressive-high. It looks like partial
	  support was added to nvcodec in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634
	  but accidentally ommited gstnvh264dec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6862>

2024-05-16 14:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: va: add option for enabling alive stream
	  This is useful to test va encoding for live streams which should enable output
	  delay.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-05-16 08:35:30 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  vabaseenc: Set the correct min_buffers for propose_allocation()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:52:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:43:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:33:44 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:22:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-24 16:56:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: baseenc: Add is_live field to check the live stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 21:25:51 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: baseenc: Add a preferred_output_delay field for GPU parallel processing
	  The encoder can specify the a preferred_output_delay value to get better throughput
	  performance. The higher delay may get better HW performance, but it may increases
	  the encoder and pipeline latency.
	  When the output queue length is smaller than preferred_output_delay, the encoder
	  will not block to waiting for the encoding output. It will continue to prepare and
	  send more commands to GPU, which may improve the encoder throughput performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:57:29 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Do not continue when push_buffer gets error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-02 22:47:58 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: libs: Use va_check_surface_has_status() to implement va_check_surface()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:39:04 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	  va: libs: Add va_check_surface_has_status() helper function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:33:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: Use GstVaEncFrame as the base object for all Enc Frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-05-14 14:44:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Allow pads to have no caps until they receive their first buffer
	  If the muxer times out because of the latency deadline it can happen
	  that some pads have no caps yet. In that case skip creation of streams
	  for these pads and create updated section tables once the first buffer
	  arrives later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6823>

2024-05-09 17:11:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Correctly time out and mux anyway in live pipelines
	  This makes sure that for sparse streams (KLV, DVB subtitles, ...) the
	  muxer does not wait until the next buffer is available for them but
	  times out on the latency deadline and outputs data.
	  For non-live pipelines it will still be necessary for upstream to
	  correctly produce gap events for sparse streams.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6823>

2024-04-28 18:26:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvav1encoder.h:
	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add AV1 encoder
	  Adding CUDA mode "nvav1enc", D3D11 mode "nvd3d11av1enc" and auto GPU
	  mode "nvautogpuav1enc" elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-28 18:35:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/plugin.c:
	  nvcodec: Rename nvcuda{h264,h265}enc to nv{h264,h265}enc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 18:49:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvbaseenc.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvenc.h:
	* sys/nvcodec/gstnvh264enc.c:
	* sys/nvcodec/gstnvh264enc.h:
	* sys/nvcodec/gstnvh265enc.c:
	* sys/nvcodec/gstnvh265enc.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Remove old nvenc implementation
	  Stop shipping deprecated implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-28 17:39:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvenc.c:
	  nvcodec: Bump minimum supported SDK version to 10.0
	  New preset (i.e., P1 ~ P7) requires SDK 10.0 or newer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-24 01:47:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuviddec.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/nvEncodeAPI.h:
	* sys/nvcodec/nvcuvid.h:
	  nvcodec: Update SDK header to 12.0.16
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 21:56:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Enhance lagacy encoding profile mapping
	  Updated based on the NVENC Preset Migration Guide
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 18:21:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Update property names and default value
	  ... to be the same as old NVENC elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-12 21:48:13 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-04-09 23:40:41 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-04-12 16:09:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support force key frame setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-05-14 10:54:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  vaenc: Allow to set the max-qp and min-qp for QVBR and ICQ modes
	  In fact, these setting can work well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>

2024-05-14 10:31:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26{4,5}enc: Set the qp_p and qp_b to qp_i value in ICQ and QVBR
	  Set the P and B frame qp to I frame value to avoid generating delta
	  QP between different frame types. For ICQ and QVBR modes, we can
	  only set the qpi value, so the qpp and qpb values should be set to
	  the same value as the qpi.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>

2024-05-13 21:27:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix SDK debug layer warning
	  Address below message reported by SDK debug layer.
	  ID3D12Device::CheckFeatureSupport: Unsupported Decode Profile Specified.
	  Use ID3D12VideoDevice::CheckFeatureSupport with D3D12_FEATURE_VIDEO_DECODE_PROFILES
	  to retrieve a list of supported profiles
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6839>

2024-05-11 13:29:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Do not use base class video info to calculate coded size
	  We should use our in_info which is an adjusted value to calculate
	  that coded size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6826>

2024-03-16 19:37:35 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstspu-pgs.c:
	* gst/dvdspu/gstspu-pgs.h:
	  dvdspu: use multiple minimal sized PGS overlay rectangles
	  ... rather than possibly 1 large at full video size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6413>

2024-05-12 18:15:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix maximum QP value setting
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6827>

2024-05-06 14:55:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* meson_options.txt:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/meson.build:
	  aja: Update to AJA NTV2 17.0.1
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3289
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6808>

2024-04-15 13:38:15 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Reorder caps to prefer DMA_DRM ones
	  Certain V4L2 fourccs don't (yet) have DRM counter parts, in which case
	  we can't create DMA_DRM caps for them. This is usually the case for
	  specific tilings, which are represented as modifiers for DMA formats.
	  While using these tilings is generally preferable - because of e.g.
	  lower memory usage - it can result in additional conversion steps when
	  interacting with DMA based APIs such as GL, Vulkan or KMS. In such cases
	  using a DMA compatible format usually ends up being the better option.
	  Before the addition of DMA_DRM caps, this was what playbin3 ended up
	  requesting in various cases - e.g. prefering NV12 over NV12_4L4 - but
	  the addition of DMA_DRM caps seems to confuse the selection logic.
	  As a simple and quite robust solution, assume that peers supporting
	  DMA_DRM caps always prefer these and reorder the caps accordingly.
	  In the future we plan to have a translation layer for cases where
	  there is a matching fourcc+modifier pair for a V4L2 fourcc, ensuring
	  optimal results.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6645>

2024-05-04 11:56:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Mention that gst_play_new() also initialized GStreamer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6801>

2024-05-04 11:54:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Initialize debug category and error quark in class_init
	  Doing it in gst_play_new() means that bindings that directly call
	  g_object_new() with the GType wouldn't end up initializing both.
	  This affects at least the Python and GJS bindings.
	  gst_init() is nonetheless only called from gst_play_new() once because
	  calling it from class_init would likely lead to problems as that's
	  called from somewhere in the middle of GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6801>

2024-05-07 10:35:26 +0200  Emil Pettersson <khwaaj@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix deadlock when negotiating format change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6811>

2024-03-12 14:25:31 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: add support for timing out captions without EOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6335>

2024-05-07 11:18:10 +0200  Piotr Brzeziński <piotr@centricular.com>

	* tests/check/elements/audiovisualizer.c:
	* tests/check/meson.build:
	  audiovisualizer: Add simple pipeline unit test
	  Creates pipelines with each of our visualizer elements and runs them with 20 buffers from audiotestsrc.
	  Added after a completely broken (segfaulting) synaescope went unnoticed for a while.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6800>

2024-04-29 18:24:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/unixfd.c:
	  unixfd: disable flaky test_unixfd_segment for now
	  It's a problem with the test, and a proper fix might
	  require new API, so just disable it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6813>

2024-04-18 17:07:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst/codectimestamper/gstcodectimestamper.c:
	* gst/mpegpsmux/psmuxstream.c:
	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajacommon.h:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasink.h:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtdec.h:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklinkaudiosrc.cpp:
	* sys/decklink/gstdecklinkaudiosrc.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  gst: Move GstQueueArray as GstVecDeque to core
	  And change lengths and indices from guint to gsize for a more correct type.
	  Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779>

2024-05-06 20:50:21 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: request-aux-sender, only sink floating refs
	  Don't add an extra ref if non-floating as that ref will never be
	  unreffed.
	  gst_bin_add() is transfer floating (alias to transfer none).
	  Fixes a leak when a non-floating ref was provided as a return value in
	  the request-aux-sender signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6807>

2024-05-04 19:52:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	  d3dshader: Fix gamma and primaries conversion pixel shader
	  Fixing regression introduced by the commit of f52ecb960792257b7394a6dc3182b6747c902b5b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6802>

2024-04-22 09:48:14 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideoh265encode.c:
	* tests/check/meson.build:
	  tests: add vulkan H.265 encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2023-07-10 14:44:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkcodecparams_h264.c:
	* tests/check/libs/vkcodecparams_h265.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoh264encode.c:
	* tests/check/meson.build:
	  tests: add Vulkan H.264 encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2024-02-01 20:43:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkencoder: add gstvkencoder helper object
	  Add a gstvkencoder class to support Vulkan encoder such as H26X
	  formats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2024-04-27 01:13:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d11: Add support for Y216 and Y416 formats
	  We were mapping Y212 and Y412 formats to DXGI_FORMAT_{Y216,Y416}.
	  Reuse already implemented shaders for the new formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745>

2024-04-27 00:37:52 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add Y216 and Y416 formats
	  The same memory layout as Y212 and Y412 formats, respectively
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745>

2024-05-03 22:57:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Fix a memory leak when destroying the object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-05-03 12:08:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-05-02 14:18:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-04-30 16:55:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: change dstmask in decoder frame barrier
	  Use of VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT instead of
	  specific VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
	  Fix for VUID-vkCmdPipelineBarrier2-srcStageMask-03849
	  pDependencyInfo->pImageMemoryBarriers[0].srcStageMask
	  (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR) is not compatible with
	  the queue family properties
	  (VK_QUEUE_GRAPHICS_BIT|VK_QUEUE_COMPUTE_BIT|VK_QUEUE_TRANSFER_BIT|
	  VK_QUEUE_SPARSE_BINDING_BIT|VK_QUEUE_PROTECTED_BIT) of this
	  command buffer. The Vulkan spec states: The srcStageMask member
	  of any element of the pMemoryBarriers, pBufferMemoryBarriers, or
	  pImageMemoryBarriers members of pDependencyInfo must only
	  include pipeline stages valid for the queue family that was
	  used to create the command pool that commandBuffer was allocated
	  from (
	  https://www.khronos.org/registry/vulkan/specs/1.3-extensions/
	  html/vkspec.html#VUID-vkCmdPipelineBarrier2-srcStageMask-03849)
	  The frame barrier should use a compatible srcStageMask for all
	  the queues.
	  Remove reset_pipeline_stage_mask as it is redundant
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6780>

2024-05-02 11:51:03 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: No default will trigger warning at compile time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-05-01 13:40:06 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add max-level and max-tier to caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-04-30 13:24:42 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add level and tier to caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-02-29 12:31:47 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstbpmdetect.cc:
	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/meson.build:
	* tests/validate/meson.build:
	* tests/validate/pitch/change_pitch_properties.validatetest:
	* tests/validate/pitch/change_pitch_properties/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/maintain_pitch_with_variable_playback_rates.validatetest:
	* tests/validate/pitch/maintain_pitch_with_variable_playback_rates/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/pitch-test.meta:
	* tests/validate/pitch/reverse.change_pitch_properties.validatetest:
	* tests/validate/pitch/reverse.change_pitch_properties/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/reverse.maintain_pitch_with_variable_playback_rates.validatetest:
	* tests/validate/pitch/reverse.maintain_pitch_with_variable_playback_rates/flow-expectations/log-pitch-src-expected:
	  pitch: add validate tests
	  Add pitch tests with different forward and backward playback rates.
	  Those tests depend on the libSoundTouch version to validate the buffers
	  checksums. The actual version uses libSoundTouch 2.3.2, use the
	  `--force-fallback-for=soundtouch` meson option to build using the same
	  version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-29 12:27:23 +0100  Loïc Le Page <llepage@igalia.com>

	* tests/files/audio-8s-then-reverse.ogg:
	* tests/interactive/meson.build:
	* tests/interactive/pitch-playback-test.c:
	  pitch: add interactive test
	  Test pitch with different forward and backward playback rates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 19:34:15 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/gstpitch.hh:
	  pitch: make it work with reverse playback
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 18:47:58 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix multithread accesses
	  - fully protect accesses to the libsoundtouch API that is not
	  thread-safe.
	  - fully protect accesses to GstPitch members that could be read by a
	  downstream query thread while written by an upstream streaming thread
	  or a user thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 14:05:11 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/gstpitch.hh:
	  pitch: refactor some variables names
	  - use the `GST_PITCH_GET_PRIVATE` accessor when needed
	  - rename `out_seg_rate` to `output_rate` to use the same name as the parameter
	  - rename `seg_arate` to `segment_applied_rate` to improve readability
	  - apply gst-indent to gstpitch.hh/cc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 13:21:51 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix time ratio computation
	  When changing playing rate, the output segment was not correctly
	  calculated because the stream time ratio was computed using the previous
	  input segment rate instead of using the actual rate. This was producing
	  wrong results for the output segment start and end values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-05-01 00:12:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsvh264dec,qsvh265dec: Fix nalu leaks
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3514
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6781>

2024-04-30 18:15:56 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix PAUSED->READY deadlock when output loop is running
	  Makes sure the GST_PAD_STREAM_LOCK is not taken when pad is being deactivated.
	  The lack of this was causing deadlocks when stopping the pipeline right after producing first buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6783>

2024-04-30 18:08:27 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: Fix stop memory leak
	  The h26xdecoder 'stop' method was not called
	  as the vulkan h26x class rewires the video decoder
	  'stop' base method to its own one.
	  It was causing some memory leaks such as dangling parser
	  and dpb in h26xdecoder base class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6782>

2024-04-30 11:20:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvavp9enc.c:
	  vabaseenc: delete the useless frame counter fields
	  They are used to calculate the PTS and DTS before, no usage now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6773>

2024-04-30 11:12:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Do not set the min_pts
	  Because all the va encoders improved their PTS/DTS algorithm, now
	  it is impossible to generate minus DTS. So no underflow will happen
	  and we do not need to set a 1000 hour offset now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6773>

2024-04-26 17:12:03 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Add Y212 format to hevc encoder static raw caps
	  Note that static caps is used for the old MSDK dispatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6750>

2024-04-22 15:03:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-22 14:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 14:55:31 +0800  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Fix frame leak on error path
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 14:48:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 12:51:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-28 23:37:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix d3d12 resource copy
	  It was copying to self resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6753>

2024-04-28 23:34:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvh265encoder: Fix crash with RGBx and BGRx
	  Both formats need to be handled in switch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6752>

2024-04-27 22:54:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipcclient.cpp:
	  d3d12ipcclient: Fix deadlock when copying texture
	  Fixing deadlock in below case
	  * GC lock is taken by background thread, and the background thread calls
	  gst_d3d12_ipc_client_release_imported_data() which takes ipc lock
	  * ipc lock is already taken in ipc thread and trying to pushing GC data
	  via gst_d3d12_command_queue_set_notify()
	  * gst_d3d12_command_queue_set_notify() is trying to take GC lock
	  but it's already taken by background thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 22:02:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipcsink.cpp:
	  d3d12ipcsink: Handle external fence
	  Waits external fence before sending frame to peer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:34:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Remove CPU-side waiting
	  Sets decoder command queue's fence to memory instead of waiting
	  from decoder's output thread. CPU-side waiting will happen
	  only if download is required.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 21:32:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix output to non-d3d12 element
	  Configures upload/download flags to memory after write
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 20:23:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Release and flush d3d11 objects before d3d12
	  Fixing device-removed error when closing pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 20:10:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Do not wait external fence on map()
	  Only wait for external fence if upload or download is required.
	  Waiting for external fence in case of d3d12 mapping is caller's
	  responsibility
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:30:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Handle external fence explicitly
	  Waits for external fence if any
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 19:46:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12converter: Add support for GPU-side external fence waiting
	  Ideally, GPU waiting should be scheduled just before executing command list.
	  But handling the case outside of converter is a bit complicated.
	  Under an assumption that constructed command list will be executed
	  immediately, schedules GPU-side waiting inside of conversion method
	  to simplify the flow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 18:44:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Use explicit type for GST_MAP_D3D12 define
	  C++ compiler will complain about different type between int and GstMapFlags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:29:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	  d3d12frame: Extract external fence from memory and wait helper function
	  Adding gst_d3d12_frame_fence_{gpu,cpu}_wait() methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:54:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Update copy_texture_region() method
	  Pass external fence value if any and allow passing fence
	  data so that dependent resources can be released
	  once copy is done
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:44:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	  d3d12commandqueue: Add execute_wait_and_command_lists() method
	  ... so that GPU-side waiting and executing can be scheduled at once
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:28:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Add get_external_fence() method
	  Required for caller to wait external fence without map() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 00:07:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Sync all memory objects on acquire_buffer()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-19 00:30:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: No need to call _finish_subframe()
	  After vaav1enc is aligned to TU, there is no case that generates
	  multi output for one input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:25:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:22:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:14:15 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not change the PTS/DTS of output frames
	  The AV1 encoder does not reorder the frames, so there is no need
	  to change the timestamp related meta data of output frames, just
	  inheriting it from the input frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-18 22:30:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Change the alignment of output to "tu"
	  The current output alignment is "frame", which may cause some issues
	  for PTS and DTS calculation. We now change the alignment to "tu",
	  and this is also the alignment mode for av1enc and svtav1enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-15 09:51:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Close file descriptors on error
	  After calling g_unix_fd_list_steal_fds() and before calling
	  gst_fd_allocator_alloc(), we are responsible for closing those fds.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-03 10:28:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	* tests/check/elements/unixfd.c:
	  unixfdsink: Take segment into account when converting timestamps
	  Also rename `calculate_timestamp()` to `to_monotonic()` and
	  `from_monotonic()` which better describe what it does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-03 13:17:01 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Allow sending buffers with no memories
	  There is no reason to not allow it, and it is useful for simple unit
	  test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-25 14:13:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: replace gst_vulkan_queue_create_decoder() with gst_vulkan_decoder_new_from_queue()
	  The purpose of this refactor is to hide decoding code from public API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-23 14:51:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vulkan: conceal unused decoder symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-23 14:48:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	* gst-libs/gst/vulkan/meson.build:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: conceal decoder from public API
	  Since we don't want to expose video decoding API outside of GStreamer, the
	  header is removed from installation and both source files are renamed as
	  -private.
	  The header must remain in gst-libs because is referred by GstVulkanQueue,
	  which's the decoder factory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-24 15:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: disable derived all together for Mesa <23.3
	  First it derived mapping was disabled for P010 formats, but also there's an
	  issue with interlaced frames.
	  It would be possible to disable derived mapping only for interlaced (H.264
	  decoder and vadeinterlace) but it would spread the hacks along the code. It's
	  simpler and contained to disable derived completely for Mesa <23.3
	  Fixes: #3450
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6729>

2024-04-25 11:50:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: use video library to get DRM fourcc
	  Instead of duplicating the GStreamer format to DRM fourcc mapping, this patch
	  uses the GstVideo library helpers. This duplicates the big O of looking for,
	  since the two lists are traversed, but it's less error prone.
	  Partially reverts commit 547f3e8622a39ce971c272f2c31eab8f1fdfbb45.
	  Fixes: #3354
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6731>

2024-04-17 18:37:30 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: free staged buffer when do gst_wl_window_finalize
	  If waylandsink received buffer rate is high which causes frame
	  drop, the cached staged buffer will be replaced when next buffer
	  needs to be rendered and be freed after redraw. But there is
	  chance to get memory leak if ended without redraw. So need to
	  free staged buffer when do gst_wl_window_finalize().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6670>

2024-04-26 00:35:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Performance improvement
	  Process captured frame using d3d11 instead of d3d12, and use shared
	  fence when copying processed d3d11 texture to d3d12 resource.
	  In this way, capture CPU thread does not need to wait for fence signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6733>

2024-04-24 00:52:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgoverlay.c:
	  rsvg: Disable deprecations instead of porting to new librsvg API
	  `rsvg_handle_get_dimensions()` and `rsvg_handle_render_cairo()` are
	  deprecated, and the replacement librsvg functions as specified in the
	  migration guide are `rsvg_handle_get_intrinsic_size_in_pixels()` and
	  `rsvg_handle_render_document()`.
	  However, those are not drop-in replacements, and actually have
	  breaking semantics for our use-case:
	  1. `intrinsic_size_in_pixels()` requires SVGs to have width+height or
	  the viewBox attribute, but `get_dimensions()` does not. It will
	  calculate the geometry based on element extents recursively.
	  2. `render_cairo()` simply renders the SVG at its intrinsic size on
	  the specified surface starting at the top-left, maintaining
	  whatever transformations have been applied to the cairo surface,
	  including distorted aspect ratio.
	  However, `render_document()` does not do that, it is specifically
	  for rendering at the specified aspect ratio inside the specified
	  viewport, and if you specify a viewPort that does not match the
	  aspect ratio of the SVG, librsvg will center it.
	  Matching the old behaviour with the new APIs is a lot of work for no
	  benefit. We'd be duplicating code that is already there in librsvg in
	  one case and undoing work that librsvg is doing in the other case.
	  The aspect ratio handling in this element is also kinda atrocious.
	  There is no option to scale the SVG while maintaining the aspect
	  ratio. Overall, element needs a rewrite.
	  Let's just disable deprecations. The API is not going anywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6726>

2024-04-24 00:51:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  Revert "rsvgdec: Fix uses of librsvg functions deprecated since 2.52"
	  This reverts commit b8db4739551401c653f2ae55f39d1ab77e3a5ef5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6726>

2024-04-17 18:45:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vkswapper: choose color space according with format
	  The swapper surfaces contains the color space for each supported format. Instead
	  of hard coding the color space, it returns the value associated with the
	  negotiated vulkan format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6725>

2024-03-06 12:59:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkcodecparams.c:
	* tests/check/libs/vkvideodecode.c:
	  tests: vulkan: split decoder test and parameters
	  Thus they can be reused for the encoder test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6721>

2024-04-24 14:42:31 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query seek information again in playing state for live stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6681>

2024-04-24 01:02:15 +0900  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: clear configure mutex and cond when finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6722>

2024-04-23 11:00:21 +0200  Edward Hervey <edward@centricular.com>

	* tools/utils.c:
	  bad/utils: Simplify get_file_extension
	  By using g_strrstr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6715>

2024-04-23 10:53:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegtsbase: Fix Program equality check
	  There was an issue with this equality check, which was to figure out what to do
	  with PCR pids (whether they were part of the streams present or not) and whether
	  we ignore PCR or not.
	  Turns out ... we already took care of that further up in the function.
	  The length check can be simplified by just checking whether the length of
	  the *original* PMT and the new PMT are identical. Since we don't store "magic"
	  PCR streams in those, we can just use them as-is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6713>

2024-04-23 01:40:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Lock DPB while building command
	  Since DPB resource can be modified in output thread, protect
	  it when building command list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-22 19:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Hold reference pictures in fence data
	  Keep reference pictures alive during executing decoding commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-22 21:52:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12vp9dec: Disallow resolution change to larger size on non-keyframe
	  Intel GPU seems to be crashing if the case happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-21 22:38:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>

2024-04-21 22:07:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>

2024-04-16 09:50:52 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Disable smart program update
	  The goal of this code was, for programs which were updates (i.e. adding/removing
	  streams but not completely changing) to allow dynamic addition/removal of
	  streams without completely removing everything.
	  But this wasn't 100% tested and there are a bunch of issues which make it fail
	  in plenty of ways.
	  For now disable that feature and force the legacy "add all pads again and then
	  remove old ones" behaviour to make it switch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6651>

2024-04-20 21:37:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11device: Add device-removed-reason property
	  In addition to device removed status monitoring in gst_d3d11_result()
	  method, if ID3D11Device4 interface is available,
	  an event handle will be used for device removed status update.
	  And "device-removed" signal is removed since applications can monitor
	  the device removed status via gobject notify
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-20 23:13:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	  d3d12utils: Fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-20 20:03:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* tests/check/libs/d3d12device.cpp:
	* tests/check/meson.build:
	  d3d12device: Add device-removed-reason property
	  Adding new property in order to notify users of device removed status.
	  Once device removed status is detected, application should release
	  all ID3D12Device objects corresponding to the adapter, including
	  GstD3D12Device object. Otherwise D3D12CreateDevice() call for the
	  adapter will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-21 19:17:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfsourceobject.cpp:
	  mediafoundation: Fix infinite loop in device provider
	  Initialize source state with GST_MF_DEVICE_NOT_FOUND to terminate
	  loop immediately if no available capture device is available
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3492
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6704>

2024-04-18 10:18:05 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  d3d11device: protect device_lock vs device_new
	  It seems that when D3D11CreateDevice collides in time
	  with other D3D11 calls, in particular the proccess of
	  creating a shader, it can corrupt the memory in the driver.
	  D3D11 spec doesn't seem to require any thread safety from
	  D3D11CreateDevice. Following MSDN, it is supposed to be called
	  in the beginning of the proccess, while GStreamer calls it with each
	  new pipeline.
	  Such crashes in the driver were frequently reproducing on the
	  Intel UHD 630 machine.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6686>

2024-04-16 23:08:51 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  tests/d3d11: add concurrency test for gstd3d11device
	  We suspect that it's not thread safe to just create and
	  destroy the device from any thread, particularly because
	  of D3D11CreateDevice, that is not documented as thread-safe.
	  While D3D11CreateDevice is usually protected from outside
	  by the gst_d3d11_ensure_element_data, it still can cross
	  with the Release() method of another device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6686>

2024-04-19 17:17:08 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query duration again if previous query failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6668>

2024-04-19 22:40:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12testsrc: Use shared 11on12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 22:26:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Use shared 11on12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 22:16:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12device: Hold d3d11on12 device to be shared
	  d3d11on12 device seems to be occupying a bit of GPU memory
	  Hold the instance in GstD3D12Device so that it can be shared
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 21:13:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle mouse double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6693>

2024-04-19 20:44:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window's signal on dispose
	  Same as the commit of 7b69d1758f77331c2801746cd91b1b6b0db9ecfb
	  but for d3d12videosink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6692>

2024-04-19 21:17:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle external HWND's mouse/keyboard events
	  OS will not propagate the event to child HWND if it's handled by
	  the parent. Thus, navigation event should be handled by parent HWND's
	  event handler.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6692>

2024-04-18 09:20:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Preserve PTS and other frame metadata
	  See also https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4150
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6680>

2024-03-31 00:23:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	  webview2: Handle double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491>

2024-03-30 23:57:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Handle double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491>

2024-04-17 10:58:00 +0900  Hou Qi <qi.hou@nxp.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: config buffer pool with query size when propose_allocation
	  If propose_allocation comes before set_caps, self->video_info
	  has not been extracted from caps and self->video_info.size is 0.
	  It causes buffer pool fail to set config . So need to use info
	  size got from query instead when propose_allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6666>

2021-03-19 18:33:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	  rsvgdec: Remove unused GObject::finalize implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2024-04-11 19:54:45 -0300  L. E. Segovia <amy@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  rsvgdec: Fix uses of librsvg functions deprecated since 2.52
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2021-03-11 20:18:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  rsvgdec: Negotiate resolution with downstream and scale accordingly
	  Prefer the resolution given by the input but if downstream request a
	  specific resolution then scale to this without regards to the aspect
	  ratio.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1538
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2024-04-17 16:55:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Don't unref allocation query caps
	  The caps obtained from parsing the allocation query is borrowed and
	  should not be unreffed. This fixes criticals assertion introduced in
	  1.24.1.
	  (gst-launch-1.0:242): GStreamer-CRITICAL **: 19:48:02.667:
	  gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
	  Fixes: 5189e8b95630 ("v4l2codecs: decoders: Add DMA_DRM caps support")
	  Closes #3462
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6679>

2024-04-09 17:10:20 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	  msdk: Add main-422-12 profile to hevc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6591>

2024-04-16 22:29:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc.c:
	  dvbsubenc: fixed some memory leaks and a crash
	  Fix leaks of internal GstBuffers, and a crash if subtitle segments end
	  up empty.
	  Based on a patch by Jurijs Satcs <jurijs.satcs@veset.tv>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6661>

2024-04-16 23:29:26 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: fix documentation for converter_new ()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6665>

2024-04-10 20:57:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfcapturedshow.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfcapturewinrt.h:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourceobject.h:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmfsourcereader.h:
	  mediafoundation: Fix device enumeration
	  Do not stop device enumerate even if a device could not be opened.
	  Otherwise the other devices listed after the failed device will not be
	  reported by device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3460
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6598>

2024-04-15 10:51:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: fix possible libscpp build failure in gst-plugins-bad
	  ../subprojects/gst-plugins-bad/tests/check/libs/gstlibscpp.cc:41:
	  fatal error: gst/mpegts/gstmpegts-enumtypes.h: No such file or directory
	  Could only pass the needed deps to the libscpp test, but gets
	  messier to maintain, so let's at it for consistency.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6643>

2024-04-12 09:32:13 +0100  Philippe Normand <philn@igalia.com>

	* tests/check/elements/webrtcbin.c:
	  tests: webrtcbin: Fix repaired-stream-id handling in simulcast test
	  The test was attempting to add the same stream-id extension twice, probably some
	  unfinished copy/paste.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6615>

2024-04-10 01:26:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	* sys/dwrite/gstdwriteoverlayobject.h:
	* sys/dwrite/gstdwriterender.cpp:
	* sys/dwrite/gstdwriterender.h:
	* sys/dwrite/gstdwriterender_bitmap.cpp:
	* sys/dwrite/gstdwriterender_bitmap.h:
	* sys/dwrite/gstdwriterender_d3d11.cpp:
	* sys/dwrite/gstdwriterender_d3d11.h:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/dwrite/gstdwriterender_d3d12.h:
	* sys/dwrite/meson.build:
	  dwrite: D3D12 integration
	  Adding d3d12 backend text renderer/blender by using d3d11on12 interop.
	  And subclassing renderer object per backend (i.e., d3d11, d3d12, and bitmap)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-10 00:57:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12overlaycompositor: Add support for d3d12 memory
	  Don't allocate d3d12 texture if overlay is d3d12 memory already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 22:47:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	  d3d12: Move gst_d3d12_buffer_copy_into method to library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 22:28:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Port to GstD3D12Frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 21:46:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add GstD3D12Frame struct and helper method
	  Adding GstD3D12Frame struct with map, unmap, and copy methods.
	  This new struct is equivalent to GstVideoFrame but gst_d3d12_frame_map()
	  method will extract D3D12 specific resource handles from memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-12 18:18:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Implement copy method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 23:53:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Fix buffer pool leak
	  Add missing buffer pool release
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6628>

2024-04-10 22:01:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Fix rendering on keyed mutex enabled handle
	  As of the commit 69b2e1565c5d0e8b2313d52042d73c721fed7edb,
	  keyed mutex will be handled by the memory object.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3468
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6600>

2024-04-11 18:10:40 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/fdkaac/meson.build:
	  fdkaac: Mark the dependency include_type as 'system'
	  When using v2.0.2 of the subproject, it triggers werror for
	  unused functions that come from the fdkaac headers.
	  This avoids errors like the following when werror is set.
	  ```
	  subprojects/fdk-aac-2.0.2/fdk-aac/FDK_audio.h:757:29: error: ‘FDKlibInfo_lookup’
	  defined but not used [-Werror=unused-function]
	  757 | static FDK_AUDIO_INLINE INT FDKlibInfo_lookup(const LIB_INFO* info,
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6611>

2024-04-09 18:36:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: fix g-ir-scanner warnings
	  Fix
	  gstanalyticsmeta.c:134: Warning: GstAnalytics: "@instance"
	  parameter unexpected at this location
	  warning (caused by the extraneous empty line in the doc chunk)
	  and align function arguments with documentation and header file
	  (handle -> instance).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6585>

2024-04-06 00:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: Fix caps leak and remove unnecessary code
	  The removed code does the exactly same thing as the below code
	  except for leaking caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6548>

2024-04-09 23:35:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Release too old frames
	  Release too old frames manually.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6583>

2024-04-07 19:34:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	  d3d12converter: Simplify root signature build
	  D3DX12SerializeVersionedRootSignature() helper method will translate
	  RS 1.1 into 1.0 version if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6557>

2024-04-05 21:58:51 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	  h264parser: maintain API changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:36 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/elements/h264parse.c:
	  Revert "h264parse: test - AU align with SEI between frame slices"
	  This reverts commit 533f814fd9a0eff341bb8f400fff82e5f0c4c313.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:16 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: Improved AU boundary detection"
	  This reverts commit 49f200cb549d43067e7c6eee332cdf757a38d82a.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove dead code"
	  This reverts commit 141cd3871592292a8a6c81c1e018610a82ecaa88.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:08 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Fix AU collection"
	  This reverts commit 495390f63a710559b149e476d3289dc2f37be7f8.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:37:47 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove un-needed check on SPS state"
	  This reverts commit 73dedf9a51e70868f6aa029b968f8c7ef6af530e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:37:40 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: use AUD to detect first VCL NAL"
	  This reverts commit 90a3b63eed22d2737dbe8e33ee931e897ccfd128.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:36:02 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: correct NAL mode backlog processing"
	  This reverts commit b2098849dc21c3615cb15b1e26bbbe77feb76476.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-03-29 15:37:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Demote CC warning message
	  Another warning message which isn't fatal and therefore should just be a DEBUG
	  line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6550>

2024-04-06 01:14:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix typo in object name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6549>

2024-03-18 19:32:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: always post details about detected format
	  .. instead of only when there is a mismatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6438>

2024-03-30 15:57:36 +0100  Robert Mader <robert.mader@posteo.de>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: turn some bus warnings into object ones
	  For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
	  While this is likely a driver or firmware bug that should be addressed
	  accordingly, it's not fatal and likely does not deserve a bus message on
	  every frame, flooding journals.
	  Turn down the volume of the warnings by turning them into object
	  warnings. If we conclude that in some cases we'd still want bus
	  warnings, they can be done more fine-grained in the
	  `gst_jpeg_parse_appX()` functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6490>

2024-03-18 20:50:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: add missing VPS parameter
	  and fix coded size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-18 20:00:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: implement close() vmethod
	  Since a validation layer error is signaled at EOS because it's required to wait
	  for the last frame to be processed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-04-03 16:44:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: remove unused variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-18 19:42:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: fix resource info structure when layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-27 19:45:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support target percentage change in QVBR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:43:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: ignore bitrate change with ICQ too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:41:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoders: don't assert at target percentage when QVBR
	  Instead of asserting, just get the max value between the current value and 10,
	  which is the minimum required by QVBR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:37:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: add vp9, av1 and low power tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-04-02 16:23:31 +0100  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkbufferpool.c:
	* gst-libs/gst/vulkan/gstvkbufferpool.h:
	  vkbufferpool: correct usage flags type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6514>

2024-04-02 18:18:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: sink context reference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 18:02:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtk: sink reference of internal wayland pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 18:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/wayland/gstwaylandsink.c:
	  wayland: sink reference to internal pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 14:46:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/dash/gstmpdadaptationsetnode.c:
	* ext/dash/gstmpdbaseurlnode.c:
	* ext/dash/gstmpdclient.c:
	* ext/dash/gstmpdcontentcomponentnode.c:
	* ext/dash/gstmpddescriptortypenode.c:
	* ext/dash/gstmpdlocationnode.c:
	* ext/dash/gstmpdmetricsnode.c:
	* ext/dash/gstmpdmetricsrangenode.c:
	* ext/dash/gstmpdperiodnode.c:
	* ext/dash/gstmpdprograminformationnode.c:
	* ext/dash/gstmpdreportingnode.c:
	* ext/dash/gstmpdrepresentationnode.c:
	* ext/dash/gstmpdrootnode.c:
	* ext/dash/gstmpdsegmentbasenode.c:
	* ext/dash/gstmpdsegmentlistnode.c:
	* ext/dash/gstmpdsegmenttemplatenode.c:
	* ext/dash/gstmpdsegmenttimelinenode.c:
	* ext/dash/gstmpdsegmenturlnode.c:
	* ext/dash/gstmpdsnode.c:
	* ext/dash/gstmpdsubrepresentationnode.c:
	* ext/dash/gstmpdsubsetnode.c:
	* ext/dash/gstmpdurltypenode.c:
	* ext/dash/gstmpdutctimingnode.c:
	  dash: sink references of all MDP objects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-03-15 19:03:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	  va: sink reference at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2023-12-05 12:24:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  vulkan: sink references at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 19:00:35 +0200  eri <eri@inventati.org>

	* gst-libs/gst/play/gstplay.c:
	  play: Update `video_snapshot` to support playbin3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6516>

2024-04-02 22:56:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Handle d3d12 context
	  GstD3D12Device objetct's internal resources are singletons per adapter
	  already though, the object itself is not a singleton.
	  Due to the singleton design (unlike other APIs such as d3d11),
	  d3d12 device context sharing is not a strict requirement
	  for zero-copy, but handles context ones to make things less noisy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513>

2024-04-02 22:09:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Always output sharable texture
	  Because shared heap's additional costs is not significant,
	  use D3D12_HEAP_FLAG_SHARED for resource can be shared over process
	  boundary. And enables render target for d3d11 interop in the process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513>

2024-04-02 15:57:58 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* tests/examples/webrtc/webrtcswap.c:
	  examples: set perfect-timestamp=true on opusenc
	  Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6512>

2024-03-28 21:54:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

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

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-27 19:50:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va{vp9,av1}enc: reconfigure when properties change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:35:07 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:27:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: set the reconf flag when cpb_size updated
	  This feature can be changed dynamically in playing state, so we
	  need to set reconf flag to trigger reconfig.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 00:00:42 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-27 23:09:08 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: set the reconf flag when cpb_size updated
	  This feature can be changed dynamically in playing state, so we
	  need to set reconf flag to trigger reconfig.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-04-02 18:20:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriteoverlayobject.cpp:
	  dwrite: Fix crash on device update
	  Selected blend mode should not be cleared on device update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6508>

2024-03-22 01:03:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Add support for RGB formats
	  Adding RGBA, RGBx, BGRA, BGRx, VUYA and RGB10A2_LE format support for performance.
	  However, these formats are not still recommended if upstream can support
	  native YUV formats (e.g., NV12, P010) since NVENC does not expose
	  conversion related optiones. Note that VUYA format is 4:4:4 YUV format
	  already but NVENC runtime will convert it to 4:2:0 format internally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417>

2024-03-22 01:19:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaformat.h:
	  cuda: Add support for VUYA format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417>

2024-04-02 01:36:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvallocator_d3d11.h:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvav1enc.h:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvencoder.h:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh264enc.h:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvh265enc.h:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvjpegenc.h:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/qsv/gstqsvvp9enc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add support for d3d12 interop in encoder
	  Since QSV API does not support D3D12, try to import d3d12 resource
	  into d3d11 texture. Note that resource sharing requires
	  D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 for NV12 texure sharing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6501>

2024-03-25 23:33:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: 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, format, 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/6441>

2024-03-25 19:02:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: 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, format, 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/6441>

2024-03-14 23:17:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Improve the LAST reference assignment
	  The last frame which has the smallest diff should be consider as
	  the first choice rather than the golden frame. Especially when only
	  one reference available, this way can improve the BD rate about 5
	  percentage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379>

2024-03-15 15:48:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Fix the reference number setting bug
	  The current way will let the total reference number surplus the
	  reference number set by the "ref-frames" property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379>

2024-04-01 01:00:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Add support for MinGW DirectXMath package
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495>

2024-04-01 22:19:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/meson.build:
	  webview2: Add support for d3d12 interop
	  Enable shared copy to D3D12 resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-04-02 00:43:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12graphicscapture.cpp:
	  d3d12screencapturesrc: Use gst_d3d12_memory_get_d3d11_texture()
	  ... and use fence to wait for GPU sync
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-04-02 00:36:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12memory: Add support for d3d11 texture caching
	  Would be useful for various D3D11 interop use cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-03-29 19:30:10 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: Fix the unit of bitrate in debug log message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-29 18:26:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Adjust the coded buffer size to avoid failure
	  Some extreme case such as "videotestsrc pattern=1" can generate pure
	  white noise videoes, for which encoder may generate too big output
	  for current coded buffer size. We now consider the qindex and bitrate
	  to avoid that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-29 18:08:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Fix the frame size not enough issue for super frame
	  The current code forgets to add the current last frame size into
	  the total super frame size.
	  Fixes: #3427
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-27 14:34:31 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkenc.c:
	  msdk: Fix mjpeg BGRx encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6401>

2024-03-31 21:55:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/d3d12-prelude.h:
	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12compat.h:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.h:
	* gst-libs/gst/d3d12/gstd3d12format-private.h:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.h:
	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* gst-libs/gst/d3d12/meson.build:
	* gst-libs/gst/meson.build:
	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	* sys/d3d12/gstd3d12compositor.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12dpbstorage.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoder.h:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12h264enc.h:
	* sys/d3d12/gstd3d12ipc.h:
	* sys/d3d12/gstd3d12ipcsink.h:
	* sys/d3d12/gstd3d12ipcsrc.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.h:
	* sys/d3d12/gstd3d12screencapturesrc.h:
	* sys/d3d12/gstd3d12testsrc.h:
	* sys/d3d12/gstd3d12videosink.h:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Move core part to gst-libs
	  Move buffer pool, converter, and device abstraction layer to
	  public library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 20:28:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	  d3d12memory: Define new D3D12 map flags
	  Define GST_MAP_READ_D3D12 and GST_MAP_READ_D3D12 flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 20:13:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Make resource getter methods consistent
	  Returns COM pointer directly everywhere
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 19:21:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d11on12.cpp:
	* sys/d3d12/gstd3d11on12.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Remove device11on12 wrapping layer
	  It was added to avoid symbol conflict between DirectX-header project
	  and Windows SDK, but symbol conflict does not happen
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 19:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Use d3dx12.h format table
	  The format table in SDK header defines all required information
	  already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 18:42:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Add a helper method for device equality check
	  GstD3D12Device object itself is not singltons anymore but
	  underlying private struct is singltons.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-06 11:24:12 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpputil.c:
	  msdkvpp: Set colorimetry for src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316>

2024-03-06 11:04:37 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Set VideoFullRange according to input colorimetry range
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316>

2024-04-01 00:52:16 +0300  Mart Raudsepp <leio@gentoo.org>

	* ext/voaacenc/meson.build:
	  meson: Don't confuse voaacenc plugin with bz2 one in meson variable names
	  No actual issue was observed from the previous naming duplicating bz2 one, so
	  just a correctness tweak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6496>

2024-03-31 01:21:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	  webview2: Add support for javascript injection
	  Allow javascript injection for various custom use cases.
	  For example, scrollbars and scrolling can be disabled via
	  gst-launch-1.0 webview2src location=https://gstreamer.freedesktop.org \
	  javascript="document.querySelector('body').style.overflow='hidden'" ! ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487>

2024-03-29 18:36:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/meson.build:
	  webview2: Use IContainerVisual for offscreen rendering
	  Capturing from hidden HWND fails sometimes for some reason.
	  Instead of rendering to hidden HWND, render webpage to container
	  visual and create WGC item from the container visual object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487>

2024-03-28 21:59:02 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: disconnect signals before releasing the window
	  It might happen that the key event arrives when the d3d11videosink
	  is stopping. In case of GstD3D11WindowWin32 it can raise a
	  navigation event even when the sink is already freed, because the
	  window object's refcount may reach 0 in the window thread. In
	  other words sometimes the GstD3D11WindowWin32 lives few ms more
	  then the GstD3D11VideoSink, because it's freed asynchronously.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6476>

2024-03-29 19:34:32 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/wpe/gstwpe.cpp:
	  wpe: avoid crash with G_DEBUG=fatal_criticals and static build
	  No plugin filenames if static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6484>

2024-03-01 16:12:27 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Fix session close failure
	  In the case of multi-channels transcoding, a context with child
	  sesseion can be parent for others, so we need to check if the
	  msdkcontext has any child session in the list to avoid session
	  leaks. Otherwise, we will see the failure of closing a parent
	  session because one of its child's child session not released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6259>

2024-03-28 20:02:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Disable library build if DirectXMath header was not found
	  DirectXMath header library is a hard dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6468>

2023-05-15 04:56:47 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/meson.build:
	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/gstwebview2src.h:
	* sys/webview2/meson.build:
	* sys/webview2/plugin.cpp:
	  webview2: Add Microsoft WebView2 based web browser source
	  Adding webview2src element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4631>

2024-03-28 16:29:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va: {av1, vp9}enc: Use g_free() to free frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6466>

2024-03-27 13:53:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	  v4l2codecs: alphadecoder: Explicitly pass 64 bit integers as such through varargs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6452>

2024-03-27 16:17:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/codecalpha/gstalphadecodebin.c:
	  alphadecodebin: Explicitly pass 64 bit integers as such through varargs
	  Maybe fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3422
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6452>

2024-03-22 16:14:24 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix caps criticals during negotiation
	  Calling gst_pad_peer_query_caps() without a filter can give us EMPTY caps, whereas all the code below
	  assumes that's not the case. Replacing query+intersect with a filtered query ensures we always get a subset
	  of the template caps back.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6429>

2024-03-25 17:45:24 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Correct the flags for registering properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 16:05:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Correct the flags for registering properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:40:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va: {vp9, av1}enc: Do not use g_slice_new() to create frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:37:04 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/vp9bitwriter.c:
	  test: Fix several code style issues in vp9bitwriter test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:20:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.h:
	  vp9bitwriter: Fix several hotdoc related format issues
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-23 19:14:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: update the bitrate change correctly
	  We should update and notify the bitrate change at a common place,
	  no matter whether the bitrate is calculated or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 16:05:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 13:28:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 01:05:40 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

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

	* sys/va/gstvah264enc.c:
	  va: h264enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-22 23:59:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Enable ICQ and QVBR mode in rate control map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-22 23:35:55 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Set the quality_factor parameter in rate control
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-26 15:32:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: avi1 tag can be progressive
	  AVI1 tag in APP0 is trivalue: 0 not interleaved, 1 odd, 2 even.
	  So if avi1 is zero then the frame is progressive.
	  Also, this patch adds a couple log messages.
	  Fixes: #3414
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6445>

2024-03-26 12:46:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/meson.build:
	  tests: add check to make sure -bad lib headers are C++ compiler clean
	  Only non-internal libs without external deps for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440>

2024-03-22 16:35:54 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: fix cdp->cea608-raw field 1 60fps conversion
	  There was a potential busy loop occuring because when we were taking
	  data from the internal ccbuffer, we were not resetting which field had
	  written data.  This would mean that the next time data was retrieved
	  from ccbuffer, it was always from field 0 and never from field 1.
	  This only affects usage of cc_buffer_take_separated() which is only used
	  by cdp->raw cea608.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6423>

2024-03-25 00:01:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12.h:
	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12compat.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12fencedatapool.h:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Add support for cross-compile
	  ... and fix bunch of GCC reported warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435>

2024-03-24 22:39:20 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Allow building without WGC support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435>

2024-03-24 21:11:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/hlsl/PSMain_checker.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d12/hlsl/PSMain_color.hlsl:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/PSMain_snow.hlsl:
	* sys/d3d12/hlsl/VSMain_color.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/VSMain_coord.hlsl:
	* sys/d3d12/hlsl/VSMain_pos.hlsl:
	* sys/d3d12/hlsl/collect_hlsl_header.py:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Port to d3dshader library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-24 19:14:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11compile.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.h:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/collect_hlsl_header.py:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/hlsl/PSMain_checker.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d11/hlsl/PSMain_color.hlsl:
	* sys/d3d11/hlsl/PSMain_sample.hlsl:
	* sys/d3d11/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d11/hlsl/PSMain_snow.hlsl:
	* sys/d3d11/hlsl/VSMain_color.hlsl:
	* sys/d3d11/hlsl/VSMain_coord.hlsl:
	* sys/d3d11/hlsl/VSMain_pos.hlsl:
	* sys/d3d11/hlsl/gstd3d11plugin-hlsl.h:
	* sys/d3d11/hlsl/meson.build:
	* sys/d3d11/meson.build:
	  d3d11: Port to d3dshader library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-24 01:41:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/collect_hlsl_headers.py:
	* gst-libs/gst/d3dshader/converter-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/converter-hlsl/meson.build:
	* gst-libs/gst/d3dshader/d3dshader-prelude.h:
	* gst-libs/gst/d3dshader/gstd3dcompile.cpp:
	* gst-libs/gst/d3dshader/gstd3dcompile.h:
	* gst-libs/gst/d3dshader/gstd3dshader.h:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/meson.build:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_luma.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_rgb.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_vuya.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_color.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_premul.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_snow.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_color.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_coord.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_pos.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/collect_hlsl_headers.py:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* gst-libs/gst/meson.build:
	* meson_options.txt:
	  d3dshader: Add HLSL shader library
	  Adding a new library for HLSL compile and compiled bytecode caching.
	  This library will be used by d3d11 and d3d12 library/plugin, in order to
	  reuse single HLSL code and compiled HLSL bytecode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-23 20:25:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	  d3d11: Update shader to be d3d12 compatible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-23 19:47:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Update shader to be Shader Model 5.0 compatible
	  And use fxc HLSL compiler
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-22 12:57:33 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/rist/gstristsrc.c:
	  ristsrc: Clean caps instead of unref
	  Fix issue unrefering null caps. Better solution than
	  ```
	  if (src->caps)
	  gst_caps_unref (src->caps);
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6432>

2024-03-22 19:48:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipc.cpp:
	* sys/d3d12/gstd3d12ipc.h:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12ipcclient.h:
	* sys/d3d12/gstd3d12ipcserver.cpp:
	* sys/d3d12/gstd3d12ipcserver.h:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12ipcsink.h:
	* sys/d3d12/gstd3d12ipcsrc.cpp:
	* sys/d3d12/gstd3d12ipcsrc.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add IPC elements
	  Adding d3d12ipcsink and d3d12ipcsrc elements, equivalent to D3D11 ones.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 22:51:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	  d3d12: Add buffer copy helper method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 20:45:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Always invoke notify asynchronously
	  Otherwise the callback thread is unpredictable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 19:05:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12memory: Update for API interop
	  Add support for destroy notify in case of wrapped memory, and
	  allow setting external fence for interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 18:57:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Make primary fence sharable
	  Create primary fence with D3D12_FENCE_FLAG_SHARED flag so that
	  the fence can be shared with other APIs or processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-18 18:46:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Ignore output loop errors in drain() if we're flushing
	  In an early non-linked scenario, this was causing a ton of criticals about the queue array,
	  because the output callback would still fire for leftover frames that were still being processed by VT
	  at the time the output loop stopped. This makes sure they're flushed correctly as well.
	  Also renames gst_vtdec_loop to gst_vtdec_output_loop for consistency with related functions.
	  wip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397>

2024-03-18 18:38:41 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix a deadlock during ProRes playback
	  Sometimes a call to negotiate (and thus drain) can happen from the output loop
	  (via finish_frame()), which will tell VT to output all internal frames, but that won't succeed
	  if we happen to decide to wait for the queue to empty (because the loop is waiting for draining to finish and
	  will not make space in the queue!). This commit adds an override for the queue size limit if we're draining/flushing.
	  This bug could happen for any formats, but was especially obvious for ProRes, which has dpb_size of 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397>

2024-03-19 23:37:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiodeviceprovider.cpp:
	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasioringbuffer.cpp:
	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	* sys/asio/gstasioutils.cpp:
	* sys/asio/meson.build:
	  asio: Add support for MinGW build
	  Drop MSVC specific bits and remove unused dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404>

2024-03-19 23:12:04 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/asio/asio.h:
	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasioutils.h:
	* sys/asio/meson.build:
	  asio: Drop external SDK header dependency
	  Build ASIO plugin using our tiny SDK header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404>

2024-01-30 18:18:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	* sys/va/gstvavp9enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vavp9enc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-03-11 23:06:44 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/vp9bitwriter.c:
	* tests/check/meson.build:
	  test: add vp9 bitwriter test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-01-30 18:10:12 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  vp9bitwriter: Add the VP9 bit writer helper functions
	  In this first version, we only implement the "show existing frame"
	  and super frame writting. Other frame header types writting can
	  be added when needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-03-19 19:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Set debugging friendly object name
	  Build object name with DXGI adapter index
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 22:37:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Suppress expected leak reports
	  Such leaks are expected and intended ones
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 20:40:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12device: Keep device object permanently
	  Because ID3D12Device objects are singletons per adapter,
	  GstD3D12Device was following the API design, that is, keep track
	  of global GstD3D12Device objects and reuses it.
	  That means ID3D12Device object can be released at the time
	  when GstD3D12Device is destroyed.
	  But exetrnal APIs such as NVENC does not seem to be happy
	  with the released ID3D12Device, that could be a driver bug though.
	  Let's hold already opened ID3D12Device permanently without releasing
	  it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 21:00:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	  d3d12commandqueue: Add drain method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 20:04:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Use native device handle if possible
	  Various abstraction objects such as command queue/list/allocator
	  can be constructed without GstD3D12Device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 02:00:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Allow empty command list
	  Just increase fence value and signal the queue in that case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-07 22:54:29 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11decoder-appsink2.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: d3d11: Add inter-device synchronization example
	  Adding an example to demonstrate resource sharing between
	  D3D11 device and GPU synchronization
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6303>

2024-03-06 15:39:33 -0500  Ruijing Dong <ruijing.dong@amd.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah265enc.c:
	  va: enc : checking surface alignment attribute
	  Apply surface alignment attribute when availalbe,
	  also fix frame cropping issue for va h265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6282>

2024-03-14 19:51:08 +0000  L. E. Segovia <amy@centricular.com>

	* ext/soundtouch/meson.build:
	  soundtouch: Fix build failure with Apple Clang caused by missing cpp_std
	  Apple Clang sets C++98 by default. I'm applying C++14 to account for Meson's
	  lack of support/fallback for `cpp_std=c++11`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6374>

2024-03-16 19:32:19 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: avoid null dereference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6386>

2024-03-17 11:18:37 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix a critical warning in error callback
	  `on_error()` can be called with a NULL details structure, so in that situation
	  the `gst_structure_copy()` would raise a critical warning. Create an empty
	  structure instead of attempting to copy a NULL one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6385>

2024-03-16 21:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Fix SDK debug layer activation
	  Debug layer must be enabled before creating device. Otherwise
	  already opened devices before the activation will be removed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6382>

2024-01-06 13:07:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Add DMA_DRM caps support
	  In order to simplify caps negotiations for clients and, notably, be more
	  compatible with va* decoders.
	  Crucially this allows clients to know ahead of time whether buffers will
	  actually be DMABufs.
	  Similar to GstVaBaseDec we only announce system memory caps if the peer
	  has ANY caps. Further more, and again like va decoders, we fail in
	  `decide_allocation()` if DMA_DRM caps are used without VideoMeta.
	  Apart from buggy peers this can happen e.g. when a peer with ANY caps
	  is used in combination with caps filters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 06:01:41 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Introduce and use set_output_state helper class
	  Allowing us to avoid some code duplication. This will become more
	  important with upcoming changes to caps generation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 05:43:23 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoder: Clean up select_src_format()
	  Most importantly rely on video info helpers instead of manual parsing
	  of caps, which will allow us to use additional helpers in the future.
	  While on it, tighen the check for supported formats - failing that
	  indicates a bug in caps negotiation - and make some style changes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 04:20:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Generalize size enumeration caps
	  By reducing the generated caps to the minimal number of fields and
	  using intersections instead of merges. This will allow us to reuse the
	  result in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-16 22:48:17 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Use src template for negotiation filter
	  This ensures we don't create filter caps that are not supported by the
	  individual codec implementations, as well as that the resulting caps
	  have the required fields so they can be turned into a GstVideoFormat.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-03-14 20:25:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asio: Fix {input,output}-channels property handling
	  Fixing regression introduced by the commit 06dc931b52fbd858640506616f5a1a928792b27c
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6370>

2024-03-14 00:49:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Fix adapter LUID comparison in wrapped device mode
	  Fix integer type mismatching
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3382
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6358>

2024-02-23 00:24:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11device: raise 'device-removed' signal on DXGI_ERROR_DEVICE_REMOVED
	  When this error gets caught the GstD3D11Device object raises the new
	  "device-removed" signal. This allows to handle the error from outside:
	  stop the playback, re-create the player, replace the catched GstContext by
	  the new one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6193>

2023-11-29 14:44:37 +0100  Michiel Westerbeek <happylinks@gmail.com>

	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/va/gstvavpp.c:
	  gstcudaconvertscale, gstvavpp, videoconvertscale: downgrade 'Can't keep DAR' to debug
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5730>

2024-03-13 17:19:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/av1bitwriter.c:
	* tests/check/libs/h264bitwriter.c:
	* tests/check/libs/h265bitwriter.c:
	  test: Correct the API return type of {h264,h265,av1}bitwriter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6354>

2024-03-13 00:42:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix IDXGIFactory2 leak
	  factory passed to gst_d3d12_device_find_adapter() method is valid
	  handle already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6340>

2024-03-12 13:50:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Don't verbosely warn about CEA_708_PROCESS_EM_DATA_FLAG not being set
	  And the same for CEA_708_PROCESS_CC_DATA_FLAG. This is not really a
	  problem and was polluting logs with warnings for every single frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6336>

2024-03-10 12:04:55 -0300  L. E. Segovia <amy@centricular.com>

	* sys/tinyalsa/meson.build:
	  meson: Require tinyalsa >= 1.1.0 when building its plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6311>

2024-03-09 15:19:20 +0000  L. E. Segovia <amy@centricular.com>

	* sys/tinyalsa/tinyalsasink.c:
	  tinyalsasink: Fix missing const and deprecations with tinyalsa v2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6311>

2024-03-12 00:45:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	  cuda,d3d11,d3d12bufferpool: Disable preallocation
	  Do not chain up to parent's GstBufferPool::start() which will do
	  preallocation. We don't want it to be preallocated
	  since there are various cases where negotiated downstream buffer pool is
	  not used at all (e.g., zero-copy decoding, IPC elements).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6326>

2024-03-11 12:42:48 +0100  Antonio Larrosa <alarrosa@suse.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va{h264,h265,av1}enc: fix potential crash on devices without rate control
	  This fixes a crash in `gst_va_h264_enc_class_init` and `gst_va_h265_enc_class_init`
	  (and probably also in gst_va_av1_enc_class_init) when calling
	  `g_object_class_install_properties (object_class, n_props, properties);`
	  When rate_control_type is 0, the following code is executed in :
	  ```
	  } else {
	  n_props--;
	  properties[PROP_RATE_CONTROL] = NULL;
	  }
	  ```
	  n_props has initially a value of N_PROPERTIES but PROP_RATE_CONTROL
	  is not the last element in the array, so it's making
	  g_object_class_install_properties fail to iterate over the
	  properties array.
	  This applies the same fix to gstvah264enc.c, gstvah265enc.c and
	  gstvaav1enc.c.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6319>

2024-03-07 12:28:58 +0100  Jurijs Satcs <jurijs.satcs@veset.tv>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: allow to disable SCTE NULL by setting interval to 0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6284>

2024-02-26 14:57:32 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/atdec.c:
	* sys/applemedia/atdec.h:
	* sys/applemedia/meson.build:
	* sys/applemedia/plugin.m:
	  macos: Move atdec from applemedia (-bad) to osxaudio (-good)
	  osxaudio has a few helper methods potentially useful in atdec (or future atenc), like GStreamer -> CoreAudio
	  channel mapping. Doesn't make sense to duplicate them in applemedia, and atdec is the only audio-oriented
	  element there anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6223>

2024-03-08 18:22:53 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstcea608mux.c:
	* tests/check/elements/cccombiner.c:
	  closedcaption: produce valid cea608 padding by default
	  Cea608 (valid) padding removal is available on the input side of ccconverter
	  or configurable on cccombiner.  cccombiner can now configure whether
	  valid or invalid cea608 padding is used and for valid padding, how long
	  after valid non-padding to keep sending valid padding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6300>

2024-03-09 20:16:22 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Init the output_frame_num when resetting gf group
	  Fixes: #3359
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6308>

2024-03-06 12:15:37 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vkmemory: invalidate non-coherent memory when mapping for read
	  Mapping non-coherent memory does not implicitly invalidate the host caches.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6310>

2024-02-22 12:26:33 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: use timeline semaphore fallback if sync2 not supported
	  gst_vulkan_operation_add_dependency_frame does not fall back to the
	  timeline semaphore implementation if VK_KHR_synchronization2 is compiled
	  in, but not supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6309>

2024-02-22 12:22:34 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: add missing unlock
	  gst_vulkan_operation_add_dependency_frame does not release its lock if
	  support for VK_KHR_timeline_semaphore/VK_KHR_synchronization2 is compiled
	  in, but not supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6309>

2024-03-08 18:18:08 +0200  Jordan Petridis <jordan@centricular.com>

	* ext/rsvg/meson.build:
	  rsvg: Add direct dependency on cairo
	  We include cairo.h in the element so we should also
	  declare it in meson.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6306>

2024-03-07 17:36:33 +0100  François Laignel <francois@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/transportstream.c:
	  webrtc: add all SSRC attributes getting CAPS for a PT
	  The transport stream only returned the CAPS for the first matching PT entry
	  from the `ptmap`. Other SSRC with the same PT where not included. For a stream
	  which bundled multiple audio streams for instance, only the first SSRC was
	  knowed to the SSRC demux and downstream elements.
	  This commit adds all the `ssrc-` attributes from the matching PT entries.
	  The RTP jitter buffer can now find the CNAME corresponding its SSRC even if it
	  was not the first to be registered for a particular PT.
	  The RTP PT demux removes `ssrc-*` attributes cooresponding to other SSRCs
	  before pushing SSRC specific CAPS to downstream elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6119>

2024-02-23 11:00:20 +0100  François Laignel <francois@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: RFC5576 - early CNAME support
	  See RFC5576: have CNAME available to the rtpjitterbuffer before the the first
	  RTCP SR is received, for rapid synchronization. Similar to what was done for
	  RTSP (last 2 commits) of [MR 2132].
	  [RFC5576]: https://www.rfc-editor.org/rfc/rfc5576
	  [MR 2132]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6119>

2024-03-02 02:13:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12dxgicapture.h:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.h:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12screencapturesrc: Add support for WGC API
	  Adding support for window and monitor capturing by using
	  Windows Graphics Capture API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6256>

2024-03-05 22:49:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12utils.h:
	  d3d12memory: Implement NT handle caching and custom user data support
	  Same as the d3d11 memory implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6256>

2024-02-16 18:08:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	* gst/onvif/gstrtponviftimestamp.h:
	  rtponviftimestamp: make sure to set E and T bits on last buffer of lists
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5173>

2024-02-28 09:30:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: Use gst_segment_to_stream_time_full()
	  In the situation where playback starts from a keyframe before
	  the target playback segment, then the first buffers will be
	  outside the configured segment and gst_segment_to_stream_time()
	  will return GST_CLOCK_TIME_NONE unconditionally.
	  If drop-out-of-segment is false, the RTP buffers will not be
	  dropped, but will be sent witout ONVIF extension timestamps
	  and given GST_CLOCK_TIME_NONE timestamps on the receiver.
	  Instead, use gst_segment_to_stream_time_full() to extrapolate
	  stream time outside the segment so that such buffers still
	  get assigned their correct timestamps on the receiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6248>

2024-03-01 21:00:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc-util.c:
	  dvbsubenc: Fix bottom field size calculation
	  Don't accidentally include the stuffing byte (if present)
	  into the bottom field size. It should only be included in the
	  total segment length.
	  Fixes problems with FFmpeg not rendering the subtitles
	  with a stuffing byte, giving a "Invalid object location!" error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6250>

2024-02-28 15:51:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasink.cpp:
	  ajasink: Make logging between ajasrc and ajasink more consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:41:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	  ajasrc: Improve clock handling
	  Provide a clock from the source that is a monotonic system clock with
	  the rate corrected based on the measured and ideal capture rate of the
	  frames.
	  If this clock is selected as pipeline clock, then provide perfect
	  timestamps to downstream.
	  Otherwise, if the pipeline clock is the monotonic system clock, use the
	  internal clock for converting back to the monotonic system clock.
	  Otherwise, use the monotonic system clock time calculated in the above
	  case and convert that to the pipeline clock.
	  In all cases this will give a smoother time than the previous code,
	  which simply took the difference between the driver provided capture
	  time and the current real-time clock time, and applied that to the
	  current pipeline clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:21:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Move frame drop detection after the frame transfer
	  Otherwise there's a small window between querying the state and doing
	  the transfer in which a frame could be dropped, and we would then output
	  the frame right after the dropped one as if it was the dropped frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:21:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Improve debug output related to frame transfers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-26 22:19:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  MSDK: Set the job type when create context from external handle
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6221>

2024-03-01 00:08:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set backward_num to 1 in low delay mode
	  In low delay B mode, the P frame is converted as B frame with forward
	  references. For example, One P frame may refers to P-1, P-2 and P-3 in
	  list0 and refers to P-3, P-2 and P-1 in list1.
	  So the num in list0 and list1 does not reflect the forward_num and
	  backward_num. The vaapi does not provide ref num for forward or backward
	  so far. In this case, we just consider the backward_num to be 1 conservatively.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-01-26 23:50:08 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Improve B pyramid mode in HEVC
	  If the reference frame number is bigger than 2, we can enable the
	  pyramid B mode. We do not need to assign a reference frame to each
	  pyramid level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-01-28 23:27:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Expand log2_max_pic_order_cnt if needed
	  In b_pyramid mode, B frames can be ref and prevPicOrderCntLsb can
	  be the B frame POC which is smaller than the P frame. This can cause
	  POC diff bigger than MaxPicOrderCntLsb/2 and generate wrong POC value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-03-05 12:58:57 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.0 ===

2024-03-04 23:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.24.0

2024-03-04 18:01:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analytics: whitespace matters for gtk-doc syntax
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-03-03 18:35:09 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/analytics/index.md:
	* docs/libs/analytics/sitemap.txt:
	* docs/meson.build:
	* gst-libs/gst/analytics/analytics-meta-prelude.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Add documentation to hotdoc build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-03-03 18:34:41 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analytics: Add missing documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-03-03 18:33:48 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analytics: Fix various typos in the documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-02-29 02:41:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	  d3d11memory, d3d12memory: Fix outstanding memory count tracing
	  Gets being released memory back to queue even if allocator is flushing
	  in order to count the number of outstanding memory objects.
	  Also, clear queue if there's no outstanding memory object and
	  allocator is flushing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

2024-02-29 02:30:38 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/libs/d3d11memory.c:
	  tests: d3d11: Add buffer pool test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

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

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix outstanding memory count tracing
	  Gets being released memory back to queue even if allocator is flushing
	  in order to count the number of outstanding memory objects.
	  And fixing double count increment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

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

	* tests/check/libs/cudamemory.c:
	  tests: cuda: Add buffer pool test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

2024-02-15 16:41:54 -0500  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	* gst-libs/gst/wayland/gstwlwindow.c:
	* gst-libs/gst/wayland/gstwlwindow.h:
	  waylandsink: Move buffer commits to the display thread
	  Syncrhonizing buffer commits to the streaming thread can lead to
	  dropped frames when frame callbacks are not processed before the
	  next frame is ready for rendering.  Depending on the drift between
	  the wayland compositor and buffer source timings, this can lead to
	  periods of significant frame drop, especially when the media frame
	  rate is close to the display frame rate.
	  Cache buffers in the streaming thread and peform commits on the
	  display thread to eliminate the buffer commit racing.
	  The implementation is the same for both waylandsink and gtkwaylandsink,
	  so move it to the common wayland library under gst-lib.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6133>

2024-02-15 16:41:52 -0500  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* gst-libs/gst/wayland/gstwlbuffer.c:
	* gst-libs/gst/wayland/gstwlbuffer.h:
	  wayland: Add API to ref/unref current GstBuffer inside a GstWlBuffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6133>

2024-02-15 16:42:13 -0500  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: Add synchronized requests to WlDisplay
	  Add synchonized versions of wl_display_sync() and wl_callback_destroy()
	  that will ensure that to callbacks can be managed in a thread safe way
	  on the display queue even when they are dispatched from a separate
	  thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6133>

2024-02-26 09:27:40 +0100  Edward Hervey <edward@centricular.com>

	* README.md:
	* RELEASE:
	* ext/dtls/README:
	  docs: Use Discourse and Matrix as prefered communication channels
	  Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220

2024-02-22 15:41:16 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11window_win32: fix crash on RC unprepare() vs window_proc()
	  Unprepare method posts WM_GST_D3D11_DESTROY_INTERNAL_WINDOW
	  command to the window queue, and from that moment considers
	  internal_hwnd to be released, and so it sets it to null.
	  The problem is that it's possible that right at that moment
	  the window thread might be already processing some other
	  command, or just another command might be already in the queue.
	  On practice we met a crash when WM_PAINT got processed in between
	  (unprepare already finished and WM_GST_D3D11_DESTROY_INTERNAL_WINDOW
	  was not handled yet)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6187>

=== release 1.23.90 ===

2024-02-23 18:20:11 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-23 21:54:17 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Fix a possible NULL pointer dereference
	  The format in _get_preferred_format_and_caps_features() may be NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6206>

2024-02-22 22:11:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: disable derived images for i965 driver
	  Since it has a very poor performance at reading derived images, which is the
	  most common use case for decoders.
	  Partially fixes: #3325
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6202>

2024-02-21 18:14:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vapostproc: optimization for va memory to system memory only
	  When the conversion is only caps feature from memory:VAMemory to system memory,
	  it's possible to optimize by doing a pseudo pass-through since the va-backed
	  buffers are the same for system memory buffers.
	  This change will also mitigates #2940
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6174>

2024-02-20 20:38:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asiosink: Fix channel selection
	  Fixing copy paste mistake
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3321
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6170>

2024-02-20 17:28:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  vabase: fail decide allocation if dmabuf without videometa
	  If the allocation query received from downstream doesn't handle GstVideoMeta but
	  it requests memory:DMABuf caps feature, it's incomplete, so we rather reject the
	  negotiation.
	  Both in base decoder, base transform and compositor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6155>

2024-02-22 09:41:00 +0200  naglis <341855-naglis@users.noreply.gitlab.freedesktop.org>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Fix typos in documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6177>

2024-02-21 01:13:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Add plugin status message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6167>

2024-02-21 00:57:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/plugin.cpp:
	  amfcodec: Add plugin status message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6167>

2024-02-19 22:17:42 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: refactor format and capsfeature selection
	  This is a simplification of the venerable
	  gst_va_base_dec_get_preferred_format_and_caps_features() function, which
	  predates since gstreamer-vaapi. It's used to select the format and the
	  capsfeature to use when setting the output state. It was complex and hard to
	  follow. This refactor simplifies a lot the algorithm.
	  The first thing to remove _downstream_has_video_meta() since, most of the time
	  it will be called before the caps negotiation, and allocation queries make sense
	  only after caps negotiation. It might work during renegotiation but, in that
	  case, caps feature change is uncommon. Better a simple and common approach.
	  Also, for performance, instead of dealing with caps features as strings, GQuarks
	  are used.
	  The refactor works like this:
	  1. If peer pad returns any caps, the returned caps feature is system memory and
	  looks for a proper format in the allowed caps.
	  2. The allowed caps are traversed at most 3 times: one per each valid caps
	  feature. First VAMemory, later DMABuf, and last system memory. The first to
	  match in allowed caps is picked, and the first format matching with the
	  chroma is picked too.
	  Notice that, right now, using playbin videoconvert never return any.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6154>

2024-02-20 16:00:07 +0100  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/ttml/gstttmlparse.c:
	  subparsers: Give proper category to subtitle "decoders"
	  Some subtitle "decoders" had a wrong category of "Parser", which `parsebin`
	  relies on to identify elements which do not *decode* streams but *parse* them.
	  This would cause such subtitle decoders to be plugged in within parsebin,
	  preventing the original stream to be properly used by (more efficient)
	  downstream decoders or subtitle renderers.
	  Fixes #1757
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153>

2024-02-19 12:50:53 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkvpp.c:
	  msdk: Fix possible memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6161>

2024-02-21 21:50:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi/gstwasapiutil.c:
	  wasapi: Fix alloc/free function mismatch
	  ... and fix leak in wasapi device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3326
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169>

2024-02-21 21:46:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix task memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169>

2024-02-01 14:49:21 +0900  ekwange <ekwange@gmail.com>

	* gst-libs/gst/mse/gstmediasourcesamplemap.c:
	  mse: Add logging init for mediasource sample map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6033>

2024-02-17 13:19:15 -0800  Kamal Mostafa <kamal@whence.com>

	* tests/check/elements/cudafilter.c:
	  tests: cudafilter: actually check for cudascale
	  Actually check for availability of 'cudascale' instead of accidentally
	  checking for 'cudadownload' twice.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3327
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6158>

2024-02-19 14:24:51 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  test: vkimagebufferpool: fix queue leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6143>

2023-01-28 02:15:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* sys/qsv/plugin.cpp:
	  qsv: use new plugin status message API
	  Minimal example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832>

2024-02-19 20:57:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Respect ringbuffer buffer/latency time
	  Decide buffer size based on configured buffer/latency time
	  if low-latency is disabled, so that ringbuffer can buffer more
	  than minimum required size.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6141>

2024-02-20 08:47:21 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.h:
	  mpegst: Fix ownership of return value
	  This inherits from the same rule as gst_buffer_add_meta
	  ```
	  gst-mpegtspesmetadatameta.h:98: Warning: GstMpegts:
	  gst_buffer_add_mpegts_pes_metadata_meta: return value: Invalid non-constant
	  return of bare structure or union; register as boxed type or (skip)
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6146>

2024-02-16 17:06:52 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* docs/plugins/gst_plugins_cache.json:
	  docs: initialize values when GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS is set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5491>

2024-02-17 00:11:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix choppy rendering
	  This reverts questionable commit 009bc15f3397252e9e3954ae4af15ffcdbdeac69
	  which looks completely wrong.
	  The GstWasapi2RingBuffer:buffer_size variable is used to
	  calculate available buffer size we can write
	  (i.e., available size = buffer_size - padding_size).
	  But the commit makes the size to be exactly same as buffer period.
	  Then, it can confuse this element as if the endpoint buffer is full on
	  I/O event callback (if padding size is equal to buffer period)
	  but it's not true.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6132>

2024-02-14 22:11:51 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Fix a memory leak on renegotiation
	  We only use this anchor when streaming, in which case output_state is
	  set and needs to get unreffed.
	  This is in line with how it is handled for all other codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6127>

2024-02-15 16:38:53 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.23.2 ===

2024-02-15 15:37:17 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-15 15:37:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  Revert "audiobuffersplit: Update out_segment even without discont"
	  This reverts commit c0dc65d40a0dd2b3c0f75ff17bdb5b2664923c1c.

2023-10-11 12:30:31 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparseutils: Don't double-attach AFD, Bar or unregistered data
	  We already did this for captions. We also need to do it for the other
	  meta types to ensure our parsers are idempotent and don't attach
	  duplicates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:45:06 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparseutils: Store multiple user data unregistered messages
	  A frame can have multiple unregistered messages attached. We need to
	  store them all.
	  For: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3008
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:41:12 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparsers: Clear user_data_unregistered explicitly in _reset_frame
	  This fits better with the model used by the parser elements. It also
	  properly resets the data when the parser is reset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:34:29 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparsers: Clear user data explicitly in _reset_frame
	  This fits better with the model used by the parser elements. It also
	  properly resets the data when the parser is reset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:29:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparseutils: Minor improvements to _parse_afd
	  - Add the missing field parameter and put the output parameter at the
	  end.
	  - Use a switch to verify valid values instead of hard-to-follow range
	  checks.
	  - Don't consider bad values a programming error, just a regular failure.
	  - Set all data fields at the end so we can pass a pointer to an
	  uninitialized structure without GCC complaining.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:27:23 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparseutils: Minor improvements to _parse_bar
	  Use the enum type for the argument and loudly complain when not passing
	  a place to output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2024-01-30 15:05:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Update out_segment even without discont
	  We need to forward the segments we get even if we don't see a discont
	  buffer, or discont was suppressed by gapless mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2024-02-14 11:44:22 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajacommon.h:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasrc.cpp:
	  aja: Replace global semaphore with per-device flock()
	  The global semaphore was never closed/unlinked, causing permission
	  denied issue if the device is later used by another user. Properly
	  removing the semaphore when stopping the pipeline would still leave it
	  open in case of a crash.
	  With a GStreamer specific name, it was also not preventing other apps to access
	  the device concurrently.
	  Finally, if the system has multiple cards, the lock should be per card
	  and not global (to be confirmed).
	  Fixes: #3283.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6117>

2024-02-15 08:52:33 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  libgstplay: Use playbin3 by default
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6120>

2024-02-12 23:51:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix DPB size calculation
	  MaxDpbSize specified in A.4.2 tells upper bound of decoded picture
	  buffer size but does not tell actual required size.
	  Use max_dec_pic_buffering value as a dpb size. Some backends
	  such as DXVA and NVDEC might require pre-allocated DPB buffer
	  and unnecessary large DPB size will result in waste of GPU memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6101>

2024-02-13 18:57:05 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin, rtpbin: check before setting properties on jitterbuffer
	  In rtpbin we already systematically check for all property names
	  except latency, correct that.
	  In webrtcbin we need to check before trying to use the do-retransmission
	  property.
	  This is useful for the case where an element like identity gets passed
	  to rtpbin's request-jitterbuffer property, when the application wants
	  to use webrtcbin in an SFU situation, with no reordering and no added
	  latency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6112>

2024-02-14 00:38:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/lv.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6113>

2024-02-11 22:08:12 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: correct NAL mode backlog processing
	  - Only process what is left in backlog when AU was completed, draining or next
	  nal is AUD.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6093>

2024-02-12 22:16:23 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Enable zero-copy only if explicitly enabled
	  Keep pre-1.24 behavior unless user specifies the number of
	  output surface size. We are calculating output surface size
	  conservatively, and it can result in over allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102>

2024-02-12 22:01:45 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265dec.cpp:
	  nvh265dec: Don't convert unknown video format to string
	  gst_video_format_to_string() method does not allow unknown format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102>

2024-02-03 11:54:01 +0000  Philippe Normand <philn@igalia.com>

	* ext/dash/gstdashdemux.c:
	  dashdemux: Basic support for container-specific-track-id tag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>

2024-02-11 20:35:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix choppy display
	  According to recommendation from MS, IDXGIOutputDuplication::ReleaseFrame()
	  needs to be called just before IDXGIOutputDuplication::AcquireNextFrame()
	  for performance reasons, so that driver can accumulate dirty rects
	  and update texture at once. But it seems to cause choppy output.
	  Do release acquired frame immediately once processing done,
	  like d3d11 implementation does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6092>

2024-02-07 19:07:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkh265dec.h:
	  vulkanh265dec: add H.265 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-08 11:32:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: add H.265 decoding test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 20:11:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: choose the queue's codec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 20:06:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: h264 prefix to global variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-09 10:22:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: refactor functions for later reuse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-09 11:30:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: don't remove graphics queue if it's the same as decoder
	  Since graphics queue is used for the context transference. So lets' keep it with
	  its own reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 19:06:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: small cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-05 15:14:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder.c:
	  vulkan/decoder: fix documentation generation
	  GstVulkanDecoderParameters is an union, not a struct, and that isn't handled by
	  hotdoc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 19:03:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder.c:
	  vulkan/decoder: don't initialize function table once
	  Since it has to be associated with the device and it gets destroyed when the
	  decoder is freed.
	  Now it's created when the decoder starts and it's flagged.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-10 19:23:25 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12vp8dec.cpp:
	* sys/d3d12/gstd3d12vp8dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add VP8 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088>

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

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix bitstream buffer usage
	  Resource state of a buffer in upload heap should stay in
	  generic-read although it's effectively in common state. Some drivers
	  complains about the wrong state.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088>

2024-02-10 20:01:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/dxva/gstdxvavp8decoder.cpp:
	  dxvavp8decoder: Fix reference frame setting
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088>

2024-02-09 20:24:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* sys/aja/meson.build:
	  aja: suppress compiler warnings for aja ntv2 subproject
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6087>

2024-02-10 01:45:44 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Update plugin cache
	  Adding AV1 encoder documentation (added in 1.22) with various
	  new properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6084>

2024-02-09 13:38:53 +0100  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* ext/srt/meson.build:
	  meson: srt: make sure srt_dep is defined
	  Without this we will get errors when we try to build with srt disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6082>

2023-12-18 15:39:07 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/examples/nvcodec/cudaipc.c:
	  structure: Allow STRICT flag only in _serialize_full()
	  The STRICT flag makes _serialize() nullable which is an API break for
	  bindings. Forbid it and add _serialize_full() that accepts it and is
	  properly annotated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829>

2024-02-09 10:50:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: Add SDP message (aka session) attributes to the caps too
	  They apply to all medias, and if overridden by the specific media then
	  they would also be overridden just below in the created caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6079>

2024-02-09 20:27:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/winks/ksvideohelpers.c:
	  ksdeviceprovider: Fix crash while probing device caps
	  Ignore unexpected media type reported by driver, instead of abort
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6081>

2024-02-08 15:50:43 +0100  Edward Hervey <edward@centricular.com>

	* ext/musepack/gstmusepackdec.c:
	  musepack: Prefer using FFmpeg musepack decoder/demuxer
	  * Bump the rank of the musepack v7/v8 FFmpeg demuxers to SECONDARY
	  * Bump the rank of the musepack v7/v8 FFmpeg audio decoders to SECONDARY
	  * Demote the rank of the musepackdec element to MARGINAL
	  This is for two reasons:
	  * The musepack library is no longer maintained, whereas the FFmpeg
	  implementation can/will receive fixes
	  * The `musepackdec` implementation was a all-in-one "parsing and decoding" blob
	  which doesn't play nicely with decodebin3 and others
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3033
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6074>

2024-02-08 23:03:29 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: Send gap event if generated output is empty
	  Sends a gap event if nothing to output for a given input buffer.
	  For example, an input buffer might not contain any caption data
	  for downstream requested field, then we need to inform downstream
	  of the case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6073>

2022-02-09 15:45:16 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* sys/bluez/gstavdtpsink.c:
	  avdtpsink: post error message when failing to start
	  Subclasses are supposed to report errors messages if their start
	  implementation failed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1678>

2024-01-19 14:35:05 +0100  Marvin Schmidt <marv@exherbo.org>

	* ext/wpe/gstwpesrcbin.cpp:
	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	* ext/wpe/gstwpevideosrc.cpp:
	* ext/wpe/meson.build:
	  wpe: Rename WPEView to GstWPEThreadedView
	  WebKit commit b12e7ed2ad3a ("[WPE] Upstream the new WPE platform API
	  https://bugs.webkit.org/show_bug.cgi?id=265286")[1] added a `WPEView` typedef
	  which clashes with our `WPEView` class.
	  Rename the `WPEView` class to `GstWPEThreadedView` to avoid the collision.
	  Also prefix the `WPEContextThread` class with `Gst` and rename the
	  source files to reflect the new class name and use lowercase while at it
	  for consistency
	  [1] https://github.com/WebKit/WebKit/commit/b12e7ed2ad3a47ab322507ebac214225f2298acc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6065>

2023-05-14 16:36:13 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	  switchbin: Rework gst_switch_bin_get_allowed_caps() to limit path lock
	  Previously, the path lock was held even while issuing caps queries to
	  other elements. This can lead to deadlocks in more complex pipelines.
	  Avoid this by reworking gst_switch_bin_get_allowed_caps() to acquire
	  references to switchbin paths and then releasing the path lock.
	  Subsequent operations in that function then act on the acquired
	  references, thus eliminating the need for holding the path lock for
	  the entirety of that function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2023-05-10 12:38:11 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	  switchbin: Always respond to caps query with all allowed caps
	  The caps query specifies _all_ caps that the element can handle, not just
	  caps from the current path element. If for example a switchbin has two
	  paths, with one having an element that handles video/x-h264, and another
	  path whose element handles video/x-raw, and the second path is the
	  current path, then the existing code would report only video/x-raw as
	  supported. Fix this by report all allowed caps, even if there is a
	  current path defined.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2023-05-09 15:44:02 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	  switchbin: Update and improve documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2023-05-09 16:31:44 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	  switchbin: Forward filter caps to internal caps queries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2023-05-04 21:20:18 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	  switchbin: Rework allowed-caps computation to allow for passthrough paths
	  The rationale is that a passthrough path (= one with no element) behaves
	  as if the switchbin's sink- and srcpad were one. In particular, internal
	  caps queries (needed for computing the allowed caps) then go to the peers
	  instead to path elements. Rework gst_switch_bin_get_allowed_caps () for
	  a clear handling of NULL path elements and for proper dataflow passthrough
	  and caps & accept-caps query handling.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2023-05-04 21:18:28 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	  switchbin: Improve filter caps application
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2023-05-03 09:55:27 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst/switchbin/gstswitchbin.c:
	* gst/switchbin/gstswitchbin.h:
	  switchbin: Remove leftover drop probe code bits
	  The drop probe was present in early switchbin versions to implement paths
	  that drop dataflow. However, this feature turned out to be too problematic
	  and thus was removed. Some bits remained though. This commit removes those
	  bits and clarifies that in the current switchbin version, a NULL path
	  element instead means passthrough.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4632>

2024-01-16 16:50:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasink.h:
	  ajasink: Add HANC/VANC ancillary data from GstAncillaryMeta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5488>

2024-01-16 15:19:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	  ajasrc: Add GstAncillaryMeta for any HANC/VANC ancillary data that is captured
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5488>

2024-02-05 23:35:31 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/analyticsoverlay/gstobjectdetectionoverlay.c:
	  analyticsoverlay: fix gst-launch exemple
	  - Adapt example to new onnx elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6062>

2024-02-07 21:55:01 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstcudaipcclient.cpp:
	* sys/nvcodec/gstcudaipcserver.cpp:
	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/gstnvjpegenc.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvcodec: Update plugin cache
	  Updating plugin cache for IPC elements, JPEG encoder, and newly added
	  properties. Also removing Gst*SLDec which does not exist anymore
	  but renamed to Gst*Dec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6070>

2024-02-07 12:13:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analytics: Allow getting a related meta with ANY type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6068>

2024-01-31 05:16:39 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Detect reaching the end of configured segment
	  If the current segment has a configured stop point, detect
	  when when pad timestamps proceed past that point and mark
	  them as EOS. Otherwise, tsdemux continues streaming
	  the whole input downstream (unless something downstream detects
	  and returns EOS for us)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6023>

2024-01-25 03:02:59 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Support segment seeking
	  Add support for segment seeks and posting segment-done for
	  seamless non-flushing looping
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6023>

2024-02-05 23:04:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/openjpeg/meson.build:
	  meson: Fix several warnings in the build
	  Deprecations, incorrect options, etc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6058>

2024-02-06 18:09:02 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.23.1 ===

2024-02-06 16:37:19 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-04 12:20:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecparsers/gstav1bitwriter.h:
	  codecparsers: av1bitwriter: fix Since marker
	  ... and add them to the symbol index to make hotdoc happy

2024-02-04 10:20:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	  codecparsers: document new GstH265Level and GstH264Level enums
	  ... and add them to the symbol index to make hotdoc happy.

2024-02-03 17:43:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/va/gstvapool.c:
	  va: fix g-i annotation
	  This parameter annotation is unknown :[allow-null-none] None

2024-01-26 04:57:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/y4m/gsty4mdec.c:
	  y4mdec: Fix some debug log categories
	  Fatal errors should be logged as ERROR, extremely spammy messages
	  should be logged with TRACE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5997>

2024-01-26 04:26:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/y4m/gsty4mdec.c:
	  y4mdec: Parse extended headers written out by FFmpeg
	  References:
	  https://wiki.multimedia.cx/index.php/YUV4MPEG2
	  https://github.com/FFmpeg/FFmpeg/blob/eee3b7e2/libavformat/yuv4mpegenc.c#L74-L166
	  The primary purpose is to add high bit-depth y4m support, which is
	  commonly used for testing codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5997>

2024-01-26 03:44:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/y4m/gsty4mdec.c:
	  y4mdec: Simplify header parsing
	  Use string parsing instead of pointer arithmetic, which makes the code
	  easier to understand and less error-prone. This has no functional
	  changes, and is preparation for the next commit, which extends the
	  header parsing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5997>

2024-01-17 13:35:48 +0700  sergey radionov <rsatom@gmail.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  nice: resolve result should go to nice helper thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5921>

2024-02-05 22:27:59 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/gstonnxclient.cpp:
	  onnx: fix, update tensor producer and consumers
	  - Propagate GstTensor.type becoming to GstTensor.data_type to tensor producer
	  (onnx) and consumer (TensorDecoder)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6061>

2024-02-05 14:59:06 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/analyticsoverlay/meson.build:
	  analyticsoverlay: Don't error out on lack on dependency in auto mode
	  If the option is set to auto, it shouldn't fail if the dependency is missing.
	  Fixes #3266
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6060>

2024-02-05 17:14:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasink.cpp:
	  ajasink: Remove workaround for NTV SDK bug that is fixed since a while
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6056>

2024-02-05 14:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/meson.build:
	* ext/vulkan/vkh264dec.h:
	  vkh264dec: GST_USE_UNSTABLE_API for plugin compilation
	  The code to include H264 decoder base class header wrongly disabled the unstable
	  API  message. This patch fixes it by setting it as a compilation define of the
	  plugin.¡
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6055>

2024-01-22 16:48:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vkupload: remove unused parameter fetching
	  It's not required to create a vulkan buffer to fetch its size since all this
	  handled by internally by the allocator and it was never needed, so it looks like
	  dead code. Let's delete it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6028>

2024-02-04 22:06:09 +0700  sergey radionov <rsatom@gmail.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: it's better to have thread default main context
	  on thread bound to that main context.
	  fixes #3271
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6053>

2024-02-04 23:25:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12: Fix potential self thread join
	  Fence data could hold GstD3D12Device directly or indirectly.
	  Then if it's holding last refcount, the device object will
	  be released from the device object's internal thread,
	  and will try join self thread.
	  Delegates it to other global background thread to avoid
	  self thread joining.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6042>

2024-02-02 01:17:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12memory: Remove unused method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6042>

2024-01-25 00:02:30 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstobjectdetectorutils.cpp:
	* ext/onnx/decoders/gstobjectdetectorutils.h:
	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/decoders/gstssdobjectdetector.h:
	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/meson.build:
	* ext/onnx/tensor/gsttensormeta.h:
	  onnx: Port SSD detector to C
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6001>

2024-01-24 22:31:21 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstobjectdetectorutils.cpp:
	* ext/onnx/decoders/gstobjectdetectorutils.h:
	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	* ext/onnx/decoders/gstssdobjectdetector.h:
	* ext/onnx/meson.build:
	  onnx: Only read labels file one and use GIO
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6001>

2024-01-24 21:31:44 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* ext/onnx/tensor/gsttensormeta.h:
	  onnx: Add more tensor data types
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6001>

2024-01-24 21:22:47 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	* ext/onnx/tensor/gsttensormeta.c:
	* ext/onnx/tensor/gsttensormeta.h:
	  onnx: Remove unecessary gst_tensor_meta_get_all_from_buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6001>

2024-01-24 21:14:39 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/tensor/gsttensor.h:
	* ext/onnx/tensor/gsttensormeta.c:
	* ext/onnx/tensor/gsttensormeta.h:
	  onnx: Merge tensor into tensor meta file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6001>

2024-01-25 20:09:19 +0100  Loïc Le Page <llepage@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webp/gstwebpenc.c:
	* ext/webp/gstwebpenc.h:
	  webpenc: add animation properties
	  - animation background color
	  - number of animation loops
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5994>

2024-01-25 20:06:46 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/webp/gstwebpenc.c:
	  webpenc: don't allow changing resolution in animation mode
	  - fails on image resolution changes in animation mode
	  - fails with a log message on invalid color spaces
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5994>

2024-01-25 19:51:53 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/webp/gstwebpenc.c:
	  webpenc: fix naming and libwebp API calls
	  - uniformize parameters naming
	  - call symetric init and clear functions systematically from libwebp API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5994>

2020-10-23 00:15:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webp/gstwebpenc.c:
	* ext/webp/gstwebpenc.h:
	* ext/webp/meson.build:
	  webpenc: add support for animated WebP
	  The libwebp API doesn't match very well with the GstVideoEncoder
	  API, as it only delivers an unframed bitstream once all pictures
	  have been processed, which means we can only push a single buffer
	  manually on our srcpad on finish().
	  Supporting animated webp is still valuable, and the feature is
	  behind an opt-in property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5994>

2024-02-01 18:03:58 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analytics: Always return a string from mtd_type_get_name()
	  It makes it easier to use in printf() style strings without worrying
	  about getting a NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6035>

2023-10-05 16:01:40 +0200  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* tests/check/elements/srt.c:
	* tests/check/meson.build:
	  srt: Add basic check test of srt[src|sink]
	  Add some basic tests for the srtsrc and the srtsink and set us up for
	  more advanced tests down the road.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5440>

2023-09-13 10:42:45 +0200  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* ext/srt/gstsrtobject.c:
	  srt: Add more fields to application/x-srt-statistics
	  In order to see how many packets where retransmitted and how many was
	  dropped we add some new fields.
	  Please see https://github.com/Haivision/srt/blob/master/docs/API/statistics.md
	  For details about the new fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5322>

2024-02-02 00:18:56 +0100  Heiko Becker <mail@heiko-becker.de>

	* ext/neon/meson.build:
	  neon: Allow building against neon 0.33.x
	  From its NEWS file:
	  "API and ABI backwards-compatible with 0.27.x and later"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6036>

2024-01-31 15:22:37 +0000  Philippe Normand <philn@igalia.com>

	* ext/srtp/gstsrtpenc.c:
	  srtpenc: Fix potential leak
	  When attempting to process a buffer after the rtcp session was closed the output
	  buffer memory would remain referenced.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6029>

2023-12-05 21:11:31 -0500  Daniel Morin <daniel.morin@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/analyticsoverlay/gstanalyticsoverlay.c:
	* ext/analyticsoverlay/gstobjectdetectionoverlay.c:
	* ext/analyticsoverlay/gstobjectdetectionoverlay.h:
	* ext/analyticsoverlay/meson.build:
	* ext/meson.build:
	* meson_options.txt:
	  analyticsoverlay: add object-detection overlay
	  - Overlay analytics-meta-od attached to video buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5768>

2024-01-29 22:26:09 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	  analytics: Change indexes type from i32 -> gsize
	  - gst_analytics_cls_mtd_get_length() return a gsize, this type dicated index
	  type for gst_analytics_cls_mtd_get_quark() and
	  gst_analytics_cls_mtd_get_level().
	  - Minor cleanup/improvement on index validation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6018>

2024-01-29 22:13:36 -0500  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/libs/analyticsmeta.c:
	  analytics: add test for OD confidence level retrieval
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017>

2024-01-29 22:11:17 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	  analytics: add api on OD to retrieve bbox confidence
	  - Add a specific api to retrieve bbox confidence level without having to
	  retrieve it's location.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017>

2024-01-30 02:58:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvjpegenc.cpp:
	* sys/nvcodec/gstnvjpegenc.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add JPEG encoder
	  Adding nvJPEG library based JPEG encoder element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021>

2024-01-30 23:17:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudafilter.c:
	* sys/nvcodec/gstcudafilter.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Move runtime compiler check to plugin init function
	  Required information for other elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021>

2024-01-12 08:00:31 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/autoconvert/gstautodeinterlace.c:
	* gst/autoconvert/plugin.c:
	  bad: Update plugins cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-05-19 18:37:14 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	* gst/autoconvert/gstbaseautoconvert.h:
	  auto: Reuse subbins instead of recreating them over and over
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-10-10 16:05:34 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautovideoconvert.c:
	  autoconvert: Force raw memory when using videoconvertscale
	  videoconvertscale advertises `ANY` feature, but it supports it only
	  in passthrough. Our goal with autoconvert is to ensure that  conversion
	  is possible with the elements that are being plugged so we avoid
	  plugging `videoconvertscale` if the memory type is not system memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-04-29 00:33:26 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautovideoconvert.c:
	  autovideoconvert: Use cudaconvert for formats not allowed by glcolorconverts
	  There are some pixel formats supported by `cudaconvert` but not `glcolorconvert`
	  so prefer using `cudaconvert` for those cases rather than using
	  `videoconvertscale` and system memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-04-24 15:54:47 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautovideoflip.c:
	* gst/autoconvert/gstautovideoflip.h:
	* gst/autoconvert/meson.build:
	* gst/autoconvert/plugin.c:
	  auto: Add an 'autovideoflip' element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-04-18 18:13:54 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autoconvert: Accept new caps when they are exactly equal to previous ones
	  That basically was overlooked as the code was clearly intending to do that
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-03-31 17:14:19 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautodeinterlace.c:
	* gst/autoconvert/gstautodeinterlace.h:
	* gst/autoconvert/gstautovideo.c:
	* gst/autoconvert/gstautovideo.h:
	* gst/autoconvert/gstautovideoconvert.c:
	* gst/autoconvert/gstautovideoconvert.h:
	* gst/autoconvert/meson.build:
	* gst/autoconvert/plugin.c:
	  auto: Add a gstautodeinterlace element
	  Which can do colorspace conversion if necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-03-31 13:28:09 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	* gst/autoconvert/gstautovideoconvert.c:
	* gst/autoconvert/gstautovideoconvert.h:
	* gst/autoconvert/gstbaseautoconvert.c:
	* gst/autoconvert/gstbaseautoconvert.h:
	* tests/validate/autovideoconvert/renegotiate.validatetest:
	* tests/validate/autovideoconvert/renegotiate/flow-expectations/log-^convert-src569JNRXZghikmsexpected:
	  autovideoconvert: Handle passing bin description instead of factories
	  This way we can build our own well know bins for conversion keeping the
	  code simple.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2023-03-30 17:04:58 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	* gst/autoconvert/gstautoconvert.h:
	* gst/autoconvert/gstbaseautoconvert.c:
	* gst/autoconvert/gstbaseautoconvert.h:
	* gst/autoconvert/meson.build:
	  autoconvert: Factor out a new GstBaseAutoConvert class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2022-03-28 19:09:56 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautovideoconvert.c:
	  auto: Expose colorspace and scaler elements for well know elements
	  And require Scaler in the class of elements to be plugged by
	  autovideoconvert
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-25 20:44:46 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	* tests/validate/autovideoconvert/renegotiate.validatetest:
	* tests/validate/autovideoconvert/renegotiate/flow-expectations/log-convert-src-expected:
	* tests/validate/meson.build:
	  autoconvert: Handle reconfiguring on the srcpad
	  Only upstream renegotiation was properly handled, we needed to answer
	  that when downstream forces a renegotiation we take into account the
	  new downstream restrictions.
	  And add tests for it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-24 16:07:41 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	  autoconvert: Remove unused elements from the bin
	  Instead of letting all the elements that were added into the bin,
	  add them only when strictly needed and removed them when we stop using
	  them.
	  With previous refactoring we are keeping them in our own hashmap in
	  amy case so we can keep reusing the same elements as before.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-21 23:06:34 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautovideoconvert.c:
	  autovideoconvert: Ignore elements with rank == NONE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-21 22:25:15 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	  autoconvert: Fix the way we compare element types
	  We used to conside elements that were subclassses of another
	  element type as being the same (for example with videoconvertscale,
	  bother videoconvert and videoscale are subclasses of videoconvertscale
	  and that code was lost)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-20 23:46:15 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	* gst/autoconvert/gstautoconvert.h:
	  autoconvert: Stop using qdata and unsafe weak refs
	  We are still using internal pads that are not added to the bin
	  but we now have a subclass and avoid qdata and weak refs as
	  they are not MT safe.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-20 18:50:46 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	* gst/autoconvert/gstautoconvert.h:
	* gst/autoconvert/gstautovideoconvert.c:
	* gst/autoconvert/gstautovideoconvert.h:
	  autovideoconvert: Make it a subclass of GstAutoConvert
	  Instead of a wrapper, making it much simpler.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-20 18:13:27 -0400  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/autoconvert/gstautoconvert.c:
	* gst/autoconvert/meson.build:
	  autoconvert: Add a 'factory-names' property
	  Making the element more gst-launch friendly.
	  This also stop trying to handle usage of ->factories atomic and instead
	  use the object lock to handle them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-20 17:37:47 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautoconvert.c:
	  autoconvert: Remove not thread safe use of ->current_subelement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2021-05-20 17:22:32 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstautovideoconvert.c:
	  autoconvert: Stop using generic element name
	  It makes it harder to debug for no real benefice in the case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899>

2024-01-24 17:11:34 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Use gst_video_info_dma_drm_to_video_info to extract video info
	  Note that we need mappings for all drm_fourcc, otherwise we will get
	  GST_VIDEO_FORMAT_UNKNOWN for some formats...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5991>

2024-01-30 22:18:06 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Fix the wrong parameter order to call va_map_buffer()
	  The current gst_va_base_enc_copy_output_data() uses wrong parameter
	  order to call va_map_buffer().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6020>

2024-01-29 23:25:35 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/stub/cuda.h:
	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/plugin.c:
	  cuda: Report device open error
	  Call gst_cuda_result() with CUDA_ERROR_NO_DEVICE error code if
	  we could not open device, so that application can catch the error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006>

2024-01-29 23:20:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Use cuStreamDestroy_v2 API
	  Sync up with CUDA 11.x/12.0 header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006>

2024-01-29 21:37:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipc.cpp:
	* sys/nvcodec/gstcudaipc.h:
	* sys/nvcodec/gstcudaipcclient.cpp:
	* sys/nvcodec/gstcudaipcclient.h:
	* sys/nvcodec/gstcudaipcclient_unix.cpp:
	* sys/nvcodec/gstcudaipcclient_win32.cpp:
	* sys/nvcodec/gstcudaipcserver.cpp:
	* sys/nvcodec/gstcudaipcserver.h:
	* sys/nvcodec/gstcudaipcsink.cpp:
	* tests/examples/nvcodec/cudaipc.c:
	* tests/examples/nvcodec/meson.build:
	  cudaipc: Add support for custom meta forwarding
	  Forward custom meta to peer ipcsrc elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006>

2024-01-24 19:12:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: fetch correctly feature flags2
	  Feature flags2 are fetch through VkFormatProperties3KHR and needs more guards
	  checking.
	  Moved out all the feature flags fetching to another function for clarity.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6014>

2023-09-13 11:10:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: use VK_KHR_get_physical_device_properties2 to guard
	  and VK_KHR_format_feature_flags2 rather than a meaningless version handling.
	  Also the patch brings back the usage of features2 for video extensions, use KHR
	  version to support the guarded symbols.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6014>

2024-01-18 18:35:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	  vulkan: early return if gst_buffer_pool_set_config() fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6013>

2022-09-12 14:48:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvaav1enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vaav1enc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

2023-06-11 20:17:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va: baseenc: Extend the create_output_buffer() to accept prefix data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

2022-11-10 20:36:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: encoder: Add copy_output_data() helper function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

2022-11-10 17:00:28 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va: encoder: extend prepare_output() virtual function
	  The output of VP9 and AV1 encoder is a little different from the H264
	  and H265 encoder, it may contain repeat frames and so the output frame
	  number may be more than the input. We need to call finish_subframe()
	  when some frame will be repeated later. So we need to extend the
	  current prepare_output() virtual function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

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

	* tests/check/libs/av1bitwriter.c:
	* tests/check/meson.build:
	  tests: Add the av1 bit code writer test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

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

	* gst-libs/gst/codecparsers/gstav1bitwriter.c:
	* gst-libs/gst/codecparsers/gstav1bitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Implement the AV1 bit code writer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

2022-09-12 11:17:25 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	  codecparsers: av1: add ref_global_motion_params in frame header
	  In order to ease the AV1 bit writer to write the global_motion_params
	  when primary_ref_frame is enabled, we need to add this field to set
	  the global_motion_params of the reference frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

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

	* gst-libs/gst/codecparsers/gstav1parser.h:
	  codecparsers: av1: add expected_frame_id in frame header
	  We need it to ease the bit code writing of AV1 frame header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015>

2024-01-28 20:52:40 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Remove un-needed check on SPS state
	  Fixes #3254
	  - Having SEI before SPS is not an issue anymore with AU boundary detection
	  based on backlog.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6004>

2024-01-23 15:34:15 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: Allow non-linear modifiers for dummy mem_maps
	  A client may map dmabufs without the intention to either read or write
	  to the memory. One example is clients wanting to use the
	  `gst_video_frame_map()` helper function.
	  Thus, in order to make buffers from `GstVaDmabufAllocator` conveniently
	  usable, ignore the modifier check if the client specified neither
	  `GST_MAP_READ` nor `GST_MAP_WRITE`.
	  Also skip the `va_sync_surface()` call in that case, as it's likely only
	  needed for CPU reads/writes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5965>

2024-01-25 16:16:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	  vulkan: Fix clang compiler warning
	  clang does not like the array index assignment without the `=` sign in
	  it. This is a gnu extension I believe, and adding the sign is proper.
	  This fixes the following two warnings:
	  ```
	  ../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideo-private.c:32:40:
	  warning: use of GNU 'missing =' extension in designator [-Wgnu-designator]
	  [GST_VK_VIDEO_EXTENSION_DECODE_H264] {
	  ^
	  =
	  ../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideo-private.c:36:40:
	  warning: use of GNU 'missing =' extension in designator [-Wgnu-designator]
	  [GST_VK_VIDEO_EXTENSION_DECODE_H265] {
	  ^
	  =
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5996>

2023-12-19 19:00:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	  qsvh264enc: Always specify field order
	  qsv runtime will report error when encoding interlaced stream
	  if session was initialized with unknown field order
	  but tff/bff is specified in per frame encoding parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5835>

2024-01-25 22:25:19 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/utils.c:
	* ext/webrtc/utils.h:
	  webrtcbin: Improve SDP intersection for Opus
	  Remove optional sprop-stereo and sprop-maxcapture fields from Opus
	  remote offer caps before intersecting with local codec preferences.
	  According to https://datatracker.ietf.org/doc/html/rfc7587#section-7.1
	  those fields are sender-only informative, and don't affect
	  interoperability.
	  Fixes cases where the webrtc media will end up receive-only if the
	  local side wants to send stereo but the remote is sending mono, or
	  vice versa.
	  There may be other fields in other codecs, so the implementation
	  anticipates needing to add further fields and codecs in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5993>

2024-01-25 02:17:36 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/dxva/gstdxvampeg2decoder.cpp:
	* gst-libs/gst/dxva/gstdxvampeg2decoder.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12mpeg2dec.cpp:
	* sys/d3d12/gstd3d12mpeg2dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add MPEG-2 decoder
	  Most of code additions are just gluing already implemented
	  GstDxva and GstD3D12Decoder interfaces
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5979>

2024-01-18 21:56:35 +1100  Jan Schmidt <jan@centricular.com>

	* gst/timecode/gsttimecodestamper.c:
	  timecodestamper: Improve error handling and don't crash
	  Post a bus message explaining that input buffers must
	  have timestamps and return GST_FLOW_ERROR, instead of
	  a confusing NOT-NEGOTIATED
	  Also remove an errant buffer unref in the error handling
	  that would lead to crashes after.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5935>

2024-01-16 02:52:49 +1100  Jan Schmidt <jan@centricular.com>

	* gst/timecode/gsttimecodestamper.c:
	  timecodestamper: Don't do finalizing in dispose
	  Add a finalize method and release locks and things in there, instead
	  of in the dispose method. Dispose may be called multiple times,
	  at any time, and should just safely release references to other
	  memory that might reference it back.
	  In this case, timecodestamper would later crash in the element
	  dispose method trying to take the freed mutex from
	  gst_timecodestamper_release_pad().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5935>

2024-01-24 17:58:29 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* sys/va/meson.build:
	  SA: Remove extra check since libva min version is 1.12
	  The libva version was updated to 1.12 in PR 4781 [1]
	  [1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4781
	  NOTE: I also sort va_sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5978>

2024-01-24 12:36:48 +0000  Philippe Normand <philn@igalia.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Fix critical warning during caps negotiation
	  `gst_pad_get_allowed_caps()` returns a non-writable caps, so we need to make it
	  writable, otherwise the `gst_caps_remove_structure()` call below might trigger a
	  critical warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5975>

2024-01-23 23:58:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	  d3d12av1dec: Fix object type name on multi-gpu system
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5964>

2023-10-23 17:10:54 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vulkan video: add GST_VK_VIDEO_EXTENSIONS enum
	  To avoid using mysterious value, use an enum to
	  show the valid value in _vk_codec_extensions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5922>

2023-10-30 16:16:34 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan/format: also get features in the fallback case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5576>

2023-10-30 15:53:44 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan/format: don't assign an uneeded boolean
	  We don't actually need the basics_primary/secondary boolean.  The
	  returned format is decided by the requested usage with fallbacks as
	  necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5576>

2023-10-30 15:52:44 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan/format: there is no current need to use the 64-bit feature flags
	  All of our feature flags are currently covered by the first
	  VkFormatFeatureFlag enum so far.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5576>

2023-10-30 14:59:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan/format: correct fallback features in from_video_info_2
	  The features were not actually used and were written into a boolean
	  value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5576>

2024-01-10 03:33:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Fix potential stack overflow during tile list parsing
	  The tile_count_minus_1 must be less than or equal to 511 as specified
	  in spec "6.11.1 General tile list OBU semantics"
	  Fixes #3214 / CVE-2024-0444 / ZDI-CAN-22873
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5970>

2024-01-23 11:47:31 +0000  Daniel Stone <daniels@collabora.com>

	* gst-libs/gst/wayland/meson.build:
	  wayland: Actually use wayland-protocols version dep
	  Closes: #3242
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5962>

2022-06-26 17:44:33 +0100  Daniel Stone <daniels@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	* gst-libs/gst/wayland/gstwlwindow.c:
	* gst-libs/gst/wayland/meson.build:
	  gstwayland: Support wp_single_pixel_buffer_v1
	  This protocol does what it says on the box, avoiding the need for a 1x1
	  wl_shm buffer.
	  A wayland-projects wrap has been added for users who do not have v1.26
	  available.
	  This commit was partly authored by Robert Mader.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2662>

2024-01-21 19:43:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12h264enc.cpp:
	  d3d12h264enc: Fix profile support check
	  Add missing CheckFeatureSupport() call, and remove unused field
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5952>

2024-01-22 18:58:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12: Pass target rectangle to ClearRenderTargetView()
	  Some drivers seem to be crashing if ClearRenderTargetView() is called
	  for P010/P016 texture's second subresource (UV plane) without
	  specified target rectangle.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5952>

2024-01-06 21:26:46 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dpbstorage.cpp:
	* sys/d3d12/gstd3d12dpbstorage.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoder.h:
	* sys/d3d12/gstd3d12encoderbufferpool.cpp:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12h264enc.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	* tests/examples/d3d12/d3d12enc-dynamic-reconfigure.c:
	* tests/examples/d3d12/meson.build:
	* tests/examples/meson.build:
	  d3d12: Add H.264 video encoder
	  Adding video encoder element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5808>

2024-01-15 16:05:07 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Fix leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5930>

2024-01-17 20:35:26 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix PAUSED->READY deadlock when output loop is running
	  Explicitly calls gst_vtenc_pause_output_loop when going PAUSED->READY to make sure GST_PAD_STREAM_LOCK is not taken.
	  Before this change, a deadlock would occur if pipeline got stopped right after one output buffer was generated by vtenc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5933>

2023-12-06 21:25:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Handle malformed avc/avc3 packets
	  Packetized stream format should not contain start-code prefix
	  in bitstream and each [nal-length-byte, nal-byte] unit should consist of
	  single nal unit. But there are malformed streams in the world.
	  Use newly added gst_h264_parser_identify_and_split_nalu_avc()
	  method to identify each nal unit.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3219
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5772>

2023-12-06 21:23:08 +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 gst_h264_parser_identify_and_split_nalu_avc() method
	  Equivalent to _split_nalu_hevc() method in h265parser. This method
	  will scan start-code prefix and split into individual NAL units
	  if start-code prefix is detected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5772>

2024-01-10 15:11:33 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Let msdk base decoder maintain the output_state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5929>

2024-01-12 14:42:29 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	* gst-libs/gst/vulkan/gstvkmemory.h:
	  vkmemory: don't map memory more than once
	  vkMapMemory may not be called on a memory object that is already
	  host-mapped. If the gstreamer memory object is mapped more than once then
	  reuse the existing Vulkan mapping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5917>

2023-12-20 13:25:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	  msdkvpp: Fix dma caps negotiation
	  Modify the fix_output_format in vpp to directly generate caps with
	  negotiated src caps, and we have the correct dma caps negotiation in
	  fix_output_format function. And thus, we can remove the redundant
	  negotiation of using function pad_accept_memory in vpp.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5845>

2024-01-11 22:20:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Fix AU collection
	  If remaining NALUs are expected to be drained in the current
	  process_frame() loop, do not adjust offsets. Otherwise NALU data
	  will point to random byte position and it would be broken data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5911>

2024-01-14 21:22:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Don't use persistent staging buffer map
	  Persistent map is not recommended in case of readback
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5919>

2024-01-14 19:32:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12memory-private.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12decoder: Use D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag
	  Since the first access to a texture is always write, zero initialization
	  is unnecessary
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5919>

2024-01-04 15:23:54 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  onnxinference: Return caps based on model preference when possible
	  This should enable zero-copy when the model has the right type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5885>

2024-01-04 15:07:10 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  onnx: Use the element pointer for debug message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5885>

2024-01-04 14:56:41 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  onnx: Extract data type from the model itself
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5885>

2023-11-28 14:07:32 +0000  Chris Spencer <spencercw@gmail.com>

	* ext/vulkan/vkh264dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkimagememory.h:
	* sys/applemedia/iosurfacevulkanmemory.c:
	* tests/check/libs/vkimagebufferpool.c:
	* tests/check/libs/vkvideodecode.c:
	  vkimagebufferpool: allow specifying initial image layout
	  The pool currently defaults to performing a layout transition to
	  VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, with some special exceptions for
	  video usages. This may not be a legal transition depending on the usage.
	  Provide an API to explicitly control the initial image layout.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5881>

2023-08-30 10:56:19 -0600  Scott Moreau <oreaus@gmail.com>

	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
	* gst-libs/gst/wayland/gstwlwindow.c:
	  gst-launch: accept option to set program name
	  The option --prog-name="PROGRAM-NAME" can be passed to set the program name.
	  The program name is used by gtk and gstreamer to set the class or app-id.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5263>

2023-02-16 15:48:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: bump to primary rank
	  Also updates medias modules for CI.
	  Fixes: #1775
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3983>

2023-11-12 02:37:58 +0700  Ratchanan Srirattanamet <peathot@hotmail.com>

	* sys/androidmedia/jni/gstamc-jni.c:
	* sys/androidmedia/meson.build:
	* sys/androidmedia/ndk/gstamc-codec-ndk.c:
	* sys/androidmedia/ndk/gstamc-format-ndk.c:
	* sys/androidmedia/ndk/gstamc-internal-ndk.h:
	* sys/androidmedia/ndk/gstamc-ndk.h:
	  androidmedia: add NDK implementation of Android MediaCodec
	  This reduces the amount of Java <-> native calls, which should reduce
	  overhead a bit. It also paves a way to share the code between Android
	  and a libhybris-based backend (where GNU/Linux system uses Android
	  driver) in the future.
	  Bug: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1242
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4115>

2023-11-12 02:32:21 +0700  Ratchanan Srirattanamet <peathot@hotmail.com>

	* sys/androidmedia/gstamc-codec.c:
	* sys/androidmedia/gstamc-codec.h:
	* sys/androidmedia/gstamc-format.c:
	* sys/androidmedia/gstamc-format.h:
	* sys/androidmedia/jni/gstamc-codec-jni.c:
	* sys/androidmedia/jni/gstamc-format-jni.c:
	* sys/androidmedia/jni/gstamc-jni.c:
	* sys/androidmedia/jni/gstamc-jni.h:
	* sys/androidmedia/magicleap/gstamc-codec-ml.c:
	* sys/androidmedia/magicleap/gstamc-format-ml.c:
	* sys/androidmedia/magicleap/gstamc-internal-ml.h:
	* sys/androidmedia/magicleap/gstamc-ml.c:
	* sys/androidmedia/meson.build:
	  androidmedia: allow multiple implementations of codec and format
	  When implementing NDK media support, it would be useful to also have JNI
	  implementation in the same binary as NDK media compatibility is lower.
	  As such, implement a rudimentary vtable system for gstamc-codec and
	  gstamc-format, and allow choosing the implementation at static_init()
	  time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4115>

2023-11-12 02:27:22 +0700  Ratchanan Srirattanamet <peathot@hotmail.com>

	* sys/androidmedia/gstamc-codec.h:
	* sys/androidmedia/gstamc-codeclist.h:
	* sys/androidmedia/gstamc-format.h:
	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamc.h:
	* sys/androidmedia/gstamcsurfacetexture.h:
	* sys/androidmedia/jni/gstamc-codec-jni.c:
	* sys/androidmedia/jni/gstamc-codeclist-jni.c:
	* sys/androidmedia/jni/gstamc-format-jni.c:
	* sys/androidmedia/jni/gstamc-jni.c:
	* sys/androidmedia/jni/gstamc-jni.h:
	* sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
	* sys/androidmedia/magicleap/gstamc-codec-ml.c:
	* sys/androidmedia/magicleap/gstamc-codeclist-ml.c:
	* sys/androidmedia/magicleap/gstamc-format-ml.c:
	* sys/androidmedia/magicleap/gstamc-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.c:
	* sys/androidmedia/meson.build:
	  androidmedia: call all static_init() functions from single entry point
	  This allows the implementations to do custom logic behind the hood. For
	  example, when NDK implementation is added, the entrypoint can chooses to
	  statically initialize the NDK implementations or the JNI one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4115>

2023-12-21 11:49:12 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	  codecparsers: add slice type name for h265
	  Add a method to convert the slice type to a descriptive
	  name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5908>

2023-12-20 17:03:34 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth264parser.h:
	  codecparsers: add helper methods for h264
	  Add two helper methods to convert profile
	  and slice types
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5908>

2023-12-04 16:34:42 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  msdk: Fix memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5819>

2024-01-05 13:54:21 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Implement scale meta transform for Object detection meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863>

2024-01-04 19:27:22 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h:
	* tests/check/libs/analyticsmeta.c:
	  analytics: Replace type quark with opaque struct pointer
	  This way, we can add function pointers in there for things like
	  transformations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863>

2023-12-22 19:45:35 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analyticsmeta: Make the GstAnalyticsRelatableMtdData struct private
	  Only ask the subclass about how much space they need, this way we can keep
	  the allocation details more private.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863>

2023-10-30 16:40:47 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: decoder: create union for profile usage
	  As a profile can include a VkVideoDecodeUsageInfoKHR
	  or VkVideoEncodeUsageInfoKHR, use union to separate the both.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5701>

2024-01-10 12:40:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  va: basedec: fix return type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5903>

2024-01-08 11:09:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Modify the caps order when register plugins
	  With this patch, the caps is registered in the order of memory features
	  as: VAMemory, DMABuf then raw caps in linux path, and D3D11Memory then
	  raw caps in windows path. It helps to prioritize the video memory for all
	  msdk elements when doing negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5898>

2024-01-09 10:30:00 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	* sys/msdk/gstmsdkvc1dec.c:
	* sys/msdk/gstmsdkvp8dec.c:
	  msdk: Remove useless function for vp8dec and vc1dec in windows path
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5898>

2024-01-07 16:43:19 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Always chain up to parent decide_allocation function for all codecs
	  Apply the changes to the codecs previously left out, fixing playback
	  issues seen with VP9.
	  See: 70ff80a873 ("v4l2codecs: Always chain up to parent decide_allocation function")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5896>

2024-01-08 23:45:58 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs/av1decoder: Allow output caps to be updated
	  To bring AV1 in line - needed for the next commit.
	  See: d3c5fc815e ("v4l2codecs: Allow output caps to be updated")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5896>

2024-01-05 14:32:00 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/nalutils.c:
	* gst-libs/gst/codecparsers/nalutils.h:
	  gstutils: add gst_util_ceil_log2
	  Move ceil_log2 from nalutils.* to gstutils.*
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5888>

2024-01-09 22:40:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Release decoder and heap on stop
	  Sometimes driver crash happens if ID3D12VideoDevice got closed first,
	  and then ID3D12VideoDecoderHeap/ID3D12VideoDecoder are released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5895>

2024-01-09 20:44:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Fix crash on set_buffer()
	  set_buffer() can be called with null buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5895>

2024-01-09 20:27:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Fix warnings reported by debug layer
	  Fixing below debug layer report
	  ID3D12Device::CreateCommittedResource: Ignoring InitialState D3D12_RESOURCE_STATE_COPY_DEST.
	  Buffers are effectively created in state D3D12_RESOURCE_STATE_COMMON.
	  Buffer resource will be automatically promoted to D3D12_RESOURCE_STATE_COPY_DEST
	  at the very first COPY operation time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5895>

2024-01-09 20:18:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12fencedatapool.cpp:
	* sys/d3d12/gstd3d12fencedatapool.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Simplify fence data setup
	  Adding COM and GstMiniObject specific methods to skip passing
	  free function pointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5895>

2024-01-09 19:45:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Print live objects on finalize()
	  The report from debug layer can help tracing resource leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5895>

2024-01-06 21:15:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Set buffer flag on output buffer
	  ... and remove unnecessary condition check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5891>

2024-01-06 19:31:01 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add gamma, primaries and sampling filter properties
	  Add properties to control conversion methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5891>

2024-01-06 19:05:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for 3D transformation
	  Add x, y, and z axis rotation with scaling support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5891>

2024-01-05 20:40:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for MSAA
	  Adding "msaa" property to support MSAA rendering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5891>

2024-01-05 21:22:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for fullscreen mode
	  Adding "fullscreen-on-alt-enter" and "fullscreen" properties so that
	  use can control fullscreen mode switch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5891>

2024-01-05 21:25:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	  d3d11screencapturesrc: Hide symbols
	  Fix potential linking error in case of static build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5883>

2024-01-02 01:05:23 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12dxgicapture.h:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	* sys/d3d12/gstd3d12screencapturedevice.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add screen capture element
	  Since DXGI desktop duplication API does not work with Direct3D12 device,
	  this element will use Direct3D11 device to acquire frame.
	  Then other rendering operations (e.g., texture copy, render pipeline) will
	  happen using Direct3D12 API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5883>

2024-01-04 14:07:05 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnxinference: Fix leak of the output tensors
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5884>

2024-01-04 14:06:44 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	  onnx: Fix leak in ssdobjectdetector decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5884>

2024-01-03 13:20:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Remove passthrough condition in propose_allocation
	  According to basetransform func: gst_base_transform_do_bufferpool,
	  it is the upstream to decide if it needs a bufferpool from vpp, so
	  we don't need passthrough condition in subclass propose_allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5879>

2023-12-22 15:58:20 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: use AUD to detect first VCL NAL
	  - Fix skipsize on _update_backlog failure.
	  - Add robustness to AU completion detection by using AUD when present. If we've
	  received a AUD we overwrite the first VCL NAL detection when the result was
	  negative. VCL following AUD is the first VCL of next AU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5862>

2023-12-29 10:23:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/codec2json/gsth2652json.c:
	  h2652json: Fix mix-up of different enum types
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5873>

2024-01-03 02:03:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Try zero-copy in case of reverse playback too
	  In case of tier 1 decoder, always use reference-only picture to avoid
	  fixed-size pool limitation and output decoded picture without
	  copy even for negative rate. Also do not use copy queue for GPU to GPU
	  copy. Copy queue is specialized for upload/download and may occupy
	  PCIE bandwidth. Use direct queue as recommended by vendors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5877>

2024-01-03 00:36:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix crash on flush
	  On flush event, baseclass will discard all pictures from DPB
	  but there can be still in-flight commands not finished yet.
	  Use our command queue, allocator and fence data helper objects
	  to keep resource available during command execution.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5877>

2024-01-03 01:15:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	  d3d12: Add {set,get}_user_data() methods to command allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5877>

2024-01-02 23:36:48 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix barrier usage
	  Common state promotion and decay does not seem to be applied to
	  decoder commands. Use barriers explicitly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5877>

2023-12-18 16:52:13 +0100  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/dvdspu/gstdvdspu.c:
	  dvdspu: Support all video caps for "ANY" feature
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5827>

2013-08-30 22:08:01 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst/dvdspu/gstspu-vobsub.c:
	* gst/dvdspu/gstspu-vobsub.h:
	  dvdspu: handle frame size event from upstream
	  An IDX file or codec_data normally contains the original frame size of
	  the video. Allow upstream to provide this information by sending a
	  custom event, which will allow scaling the overlay correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5827>

2013-09-02 17:48:50 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstdvdspu.h:
	  dvdspu: cache overlay composition
	  This avoids rendering the overlay buffer for each video frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5827>

2013-01-23 17:59:01 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstdvdspu.h:
	  dvdspu: negotiate overlay composition meta with downstream
	  This allows attaching the overlay composition as a meta on the video
	  buffer instead of blending with the video.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5827>

2015-04-07 14:38:08 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstspu-common.h:
	* gst/dvdspu/gstspu-pgs.c:
	* gst/dvdspu/gstspu-vobsub-render.c:
	  dvdspu: render to ARGB overlay instead of AYUV
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5827>

2013-01-23 17:59:01 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst/dvdspu/gstdvdspu-render.c:
	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstdvdspu.h:
	* gst/dvdspu/gstspu-common.h:
	* gst/dvdspu/gstspu-pgs.c:
	* gst/dvdspu/gstspu-pgs.h:
	* gst/dvdspu/gstspu-vobsub-render.c:
	* gst/dvdspu/gstspu-vobsub.c:
	* gst/dvdspu/gstspu-vobsub.h:
	* gst/dvdspu/meson.build:
	  dvdspu: render to AYUV overlay
	  Instead of only supporting writing SPU data directly to YUV frames,
	  render the SPU data to an intermediate AYUV overlay buffer. The overlay
	  data is then blended to the video frame.
	  For the PGS format, the overlay buffer size is set to the size of the
	  Composition Window, and its position in the overlay composition is set
	  to the window position. The objects to render are now cropped when the
	  cropping flag is set.
	  For the Vobsub format, the overlay buffer size is set to the size of the
	  Display Area.
	  Once rendered, the overlay composition rectangle is now moved and scaled
	  to fit the video output size, to avoid clipping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5827>

2024-01-02 21:03:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Fix buffer leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2024-01-02 20:32:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Store adapter index
	  ... and remove unused fence object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2024-01-01 17:19:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12: Reduce shader visible descriptor size
	  Shader visible descriptors occupy GPU resource and there are hardware
	  limits. Thus, in order to minimize the amount of shader visible heaps,
	  only non shader visible descriptor heap (staging) will be held by d3d12memory.
	  Then converter will copy the staging descriptor to shader visible
	  descriptor heap per draw.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2024-01-01 01:18:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Use CREATE_NOT_ZEROED heap flag if possible
	  Zero initialization would have overhead and it's not required
	  most cases except for textures. Use CREATE_NOT_ZEROED flag
	  in case of buffer resource or if a texture will be rendered without any
	  prior read operation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2023-12-31 00:29:10 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12compositor.h:
	* sys/d3d12/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d12/hlsl/VSMain_pos.hlsl:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add compositor element
	  Adding d3d12compositor element. d3d12compositor will build GPU commands
	  asynchronously and each command is serialized at final render stage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2023-12-31 20:20:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12converter: Don't map output buffer with write flag
	  Conversion will happen when constructed command list is executed,
	  not by converter element. Thus this object should not map output buffer
	  with write flag which will result in error if multiple threads
	  are building commands for the same output target frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2023-12-31 20:03:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Add support for texture upload
	  If buffer is not a d3d12 memory or allocated by other device,
	  upload to internal d3d12 memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2023-12-30 23:40:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12converter: Add support for blending
	  Create new PSO if blend state update is required
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2023-12-30 00:08:27 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d11on12.cpp:
	* sys/d3d12/gstd3d11on12.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12testsrc.h:
	* sys/d3d12/hlsl/PSMain_checker.hlsl:
	* sys/d3d12/hlsl/PSMain_color.hlsl:
	* sys/d3d12/hlsl/PSMain_snow.hlsl:
	* sys/d3d12/hlsl/VSMain_color.hlsl:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add testsrc element
	  Adding testsrc element with d2d interop support via d3d11on12
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5875>

2023-11-11 00:37:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	* gst-libs/gst/cuda/gstcudanvrtc.h:
	* sys/nvcodec/gstcudaconverter.c:
	  cuda: Prefer CUBIN over PTX
	  System installed NVRTC library might be newer version than
	  driver, then generate PTX can be incompatible with the driver.
	  Instead of the intermediate code PTX, use actual assembly code
	  directly.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3108
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5639>

2023-12-29 21:55:36 +0900  Seungha Yang <seungha@centricular.com>

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

2023-12-26 17:12:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12videosink.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/VSMain_coord.hlsl:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add video sink element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-29 21:22:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12.h:
	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/gstd3d12converter-builder.h:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12format.cpp:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/collect_hlsl_header.py:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add convert element
	  Implement converter object with convert element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-28 21:34:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12.h:
	* sys/d3d12/gstd3d12fencedatapool.cpp:
	* sys/d3d12/gstd3d12fencedatapool.h:
	* sys/d3d12/meson.build:
	  d3d12: Add helper object for fence operation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-27 00:04:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/plugin.cpp:
	  d3d12: Enable plugin only for Windows8 or newer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-29 21:26:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12download.cpp:
	* sys/d3d12/gstd3d12format.cpp:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12upload.cpp:
	  d3d12: Define more formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-26 17:26:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12.h:
	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12download.cpp:
	* sys/d3d12/gstd3d12format.cpp:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12upload.cpp:
	* sys/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add header containing core features
	  ... and include the single header instead of listing many ones
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-24 21:33:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12utils.h:
	  d3d12: Remove unused methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

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

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12bufferpool: Don't pre-allocate memory for size calculation
	  Unlike d3d11, we can know CPU accessible memory layout without
	  allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

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

	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12memory: Add alloc_wrapped() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

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

	* sys/d3d12/gstd3d12upload.cpp:
	* sys/d3d12/gstd3d12upload.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add upload element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-21 20:49:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12bufferpool: Wait fence before reusing buffer
	  Buffer can be released without waiting fence for previous commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-26 20:41:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Remove ID3D12Device4 interface requirement
	  Old OS may not support the interface. And allow 11_0 feature level
	  hardware.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-24 16:36:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Reduce the number of resource barriers
	  Single barrier per texture is sufficient in case of array-of-textures.
	  Avoid unnecessary decay barriers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-24 21:05:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Use flexible task queue
	  Instead of using fixed size command allocator array, make it
	  resizable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-25 16:14:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12fence.cpp:
	* sys/d3d12/gstd3d12fence.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Rework command scheduling
	  * Use single fence object per queue and remove GstD3D12Fence
	  implementation
	  * Add a helper method for texture copy
	  * Run background thread and release unused resource from the thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-24 15:49:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Add resource pool objects
	  Adding pool objects for command list, command allocator, and descriptor
	  heap
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-16 21:07:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12memory: Add more SRV/RTV getter methods
	  Adding a method so that memory object can create SRV/RTV
	  on external descriptor heap. And remove unused methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-16 19:22:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12av1dec.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h264dec.h:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12h265dec.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Remove d3d11 dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5870>

2023-12-22 14:41:31 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/README.md:
	* ext/onnx/gstonnxinference.cpp:
	  onnx: Update build instructions to use onnx-runtime 0.16.3
	  This synchronizes it with the meson.build file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5861>

2023-12-19 13:40:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: only support progressive mjpeg streams
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-20 21:41:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/gstjpegparse.h:
	* tests/check/elements/jpegparse.c:
	  jpegparse: always forward pixel-aspect-ratio
	  And by default it's 1/1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-20 21:34:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: fix endianness
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-20 20:58:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: on app0 use fourcc rather than strings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-20 20:35:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: dump whole failed app marker
	  Instead of just log the parsed string. It's better for debugging.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-19 13:16:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: don't trigger message for failed com marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-19 13:16:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/gstjpegparse.h:
	  jpegparse: refactor renegotation
	  Instead of comparing caps, just signal when renegotation is needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-19 13:13:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/gstjpegparse.h:
	  jpegparse: pass colorimetry in caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-19 10:39:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/gstjpegparse.h:
	* tests/check/elements/jpegparse.c:
	  jpegparse: add support interlaced mjpeg
	  Interlaced MJPEG is a big hack. Most of the streams we've found are from old
	  AVID tools. There are two methods to detect interlaced stream: the container
	  offers a height bigger (or double) than the image's height in SOF. The other
	  is from a APP0 marker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838>

2023-12-15 15:21:50 -0500  Aaron Boxer <boxerab@protonmail.com>

	* ext/onnx/README.md:
	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	* ext/onnx/gstonnxinference.cpp:
	  onnx: add README outlining install and test instructions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5816>

2023-12-10 14:28:42 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Switch gst_codec_picture_ts_ns() to gst_util_uint64_scale_int()
	  Instead of plain multiplication, use gst_util_uint64_scale_int()
	  to achieve the same effect with additional checks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-10 14:22:00 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Deduplicate picture frame number to timestamp in ns
	  Add macro which converts picture frame number to suitable timestamp in
	  nanoseconds for use in V4L2 VB2 buffer lookup. Since multiple codecs do
	  the same operation and almost all got it wrong, do it in one place so it
	  can be fixed in one place again, if needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-10 14:23:42 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  vp9decoder: Simplify gst_v4l2_codecs_vp9_dec_fill_refs()
	  In case reference_frames is NULL, return outright. Remove the
	  duplicate check from subsequent conditionals. No functional change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-09 16:29:03 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  h265decoder: Align wraparound fix
	  Instead of casting GST_CODEC_PICTURE_FRAME_NUMBER (ref_pic) to u64,
	  use 1000ULL which is also u64 . This only aligns the behavior here
	  with '*decoder: Fix multiplication wraparound' commits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-09 16:27:49 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  h264decoder: Align wraparound fix
	  Instead of casting GST_CODEC_PICTURE_FRAME_NUMBER (ref_pic) to u64,
	  use 1000ULL which is also u64 . This only aligns the behavior here
	  with '*decoder: Fix multiplication wraparound' commits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-09 16:26:22 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	  mpeg2decoder: Fix multiplication wraparound
	  The GstMpeg2Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecMpeg2Dec *_ref_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during MPEG2 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-09 16:24:22 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  av1decoder: Fix multiplication wraparound
	  The GstAV1Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecAV1Dec v4l2_av1_frame.*_frame_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during AV1 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-09 16:08:31 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  vp9decoder: Fix multiplication wraparound
	  The GstVp9Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecVp9Dec v4l2_vp9_frame.*_frame_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during VP9 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-09 16:08:31 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  vp8decoder: Fix multiplication wraparound
	  The GstVp8Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecVp8Dec v4l2_vp8_frame.*_frame_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during VP8 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5791>

2023-12-19 16:41:30 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Remove dead code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5833>

2023-12-19 13:57:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video-format: Fix format order once again
	  RGBA should be before RBGA. Both the Python script and the gstreamer-rs
	  tests agree on that, but somehow this is not caught by the CI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5837>

2023-12-18 16:33:07 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  meta: Add API to register metas in two steps
	  And also remove the specific registration APIs for
	  serializable meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830>

2023-12-18 13:40:53 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  meta: Move the clear operation to its own vfunc
	  Some transforms always assumed that the transformation was some kind
	  of copy. So adding a "clear" operation didn't work out in practice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830>

2023-12-18 17:02:22 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Include pipeline dump in error details structure
	  This can be useful for debugging purposes. It can't be done on application side
	  because the on_error callback tears down the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5828>

2023-12-18 17:01:36 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix error details parsing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5828>

2023-11-18 18:51:04 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/camerabin2/gstcamerabin2.c:
	  camerabin: Correctly relink viewfinderbin_queue
	  This reverts a part of de92a6c7f2. Unlike `image_filter` and
	  `video_filter`, `viewfinder_filter` does not get linked to `src` but
	  `viewfinderbin_queue`. Thus the fix in the mentioned commit does not
	  apply for it and should be reverted.
	  This was not spotted earlier as only the other filters are used in
	  the project that uncovered the issue.
	  Fixes: de92a6c7f2 ("camerabin: Fix source updates with user filters")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5689>

2023-11-23 20:24:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	* gst/videoparsers/gstav1parse.c:
	  av1parser: Fix array sizes in scalability structure
	  Since the AV1 specification is not explicitly mentioning about
	  the array size bounds, array sizes in scalability structure
	  should be defined as possible maximum sizes that can have.
	  Also, this commit removes GST_AV1_MAX_SPATIAL_LAYERS define from
	  public header which is API break but the define is misleading
	  and this patch is introducing ABI break already
	  ZDI-CAN-22300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5823>

2023-01-04 11:29:27 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/check/elements/h264parse.c:
	  h264parse: test - AU align with SEI between frame slices
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5741>

2023-01-11 11:08:58 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: Improved AU boundary detection
	  - AU boundary detection reviewed to follow more closely H.264 spec. and more
	  specifically clauses 7.4.1.2.3 and 7.4.1.2.4.
	  - The gist of the changes is a look-a-head in then next AU required identify the
	  last vcl-nal of current AU and firt vcl-nal of next AU (according to
	  7.4.1.2.4) followed by the identification of the first nal of next AU
	  (according to 7.4.1.2.3).
	  - A backlog of all nals of current AU and next AU up to the point where current
	  AU can identified completed is kept.
	  - In NAL alignement mode vcl-nal are sent immediatly but the history is kept to
	  allow AU boundary detection. Non-vcl-nal can be delayed up to the reception of
	  the next vcl-nal to allow a correct AUD insertion.
	  - Based on this improved AU boudary detection we can avoid erronous AUD
	  insertion, like the one highlighted by test
	  test_parse_sliced_with_prefix_and_sei_nal_au.
	  - Add support for MVC AU boundary detection. (H.7.4.1.2.4)
	  - Explicitly report SVC not supported. We don't have the SVC NAL parsing
	  required to identify boundary. (missing dependency_id and quality_id fields
	  from SVC, see G.7.4.1.2.4)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5741>

2023-09-22 14:32:27 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfd.c:
	* gst/unixfd/gstunixfd.h:
	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Serialize buffer metas
	  Serialize every GstMeta that supports serialization into the NEW_BUFFER
	  payload. This is especially important for GstVideoMeta in the case of
	  multiplanar buffers, or if stride!=width.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>

2023-09-01 15:38:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: consider the DMA kind input for sink pad
	  Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5160>

2023-08-08 15:45:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Override the update_caps() of video aggregator class
	  The input of the vacompositor may be DMA buffers. And in this case, the input
	  caps has the format=DMA_DRM, which can not be recognized by base video
	  aggregator class' find_best_format() function. So we need to override the
	  update_caps() virtual function.
	  Also we consider the DMA kind caps in negotiated_src_caps() for output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5160>

2023-08-08 15:42:26 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: add helper function to get formats from caps
	  Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5160>

2023-08-08 15:34:46 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: add helper function to choose format
	  The function is based on the most supported formats by Intel/Mesa VA drivers.
	  Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5160>

2023-08-08 15:11:29 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: record the input caps for each input pad
	  The caps of each input sink pad wil decide the final output format and
	  caps of the src pad.
	  Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5160>

2023-12-15 18:56:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12decoder: Implement threaded decoding
	  To achieve maximum throughput, waiting on command commit thread
	  is not ideal. And render-delay will introduce unwanted latency.
	  Best is to split thread and wait finished decoding job in a dedicated
	  output thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>

2023-12-15 19:55:28 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Disable d3d11 interop
	  It does not seem to work with some AMD iGPU
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>

2023-12-15 19:18:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12fence.cpp:
	  d3d12fence: Reset fence after waiting done
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>

2023-12-15 19:45:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Enable debug layer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>

2023-12-14 21:07:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/plugin.cpp:
	  d3d12: Requires ID3D12Device4 interface
	  ID3D12Device4::CreateCommandList1() method is required
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>

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

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12memory-private.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12: Update allocation params signalling
	  Sync up with d3d11 implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>

2023-12-13 12:55:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: clean up decide_allocation() vmethod
	  When creating a new VA pool set config size to zero because it's not used.
	  Also, given the potential different sizes from software buffer pools and VA
	  buffer pools, this patch handle that potential different values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5805>

2023-12-13 11:34:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasetransform.c:
	  vabasetransform: clean up decide_allocation() vmethod
	  When creating a new VA pool set config size to zero because it's not used.
	  Also, given the potential different sizes from software buffer pools and VA
	  buffer pools, this patch handle that potential different values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5805>

2023-12-13 11:06:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: clean up decide_allocation() vmethod
	  When creating a new VA pool set config size to zero because it's not used.
	  Also, given the potential different sizes from software buffer pools and VA
	  buffer pools, this patch handle that potential different values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5805>

2023-12-13 11:31:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvapluginutils.c:
	* sys/va/gstvapluginutils.h:
	  vapluginsutils: add helper gst_va_create_other_pool()
	  This helper function creates a software-based buffer pool, where if size is
	  zero, its value is retrieved from the canonical size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5805>

2023-12-13 10:20:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvapool.h:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvaencoder.c:
	  va: no need to provide a buffer size for VA pool
	  VA drivers allocate surfaces given their properties, so there's no need to
	  provide a buffer size to the VA pool.
	  Though, the buffer size is provided by the driver, or the canonical size
	  is used for single planed surfaces.
	  This patch removes the need to provide a size for the function
	  gst_va_pool_new_with_config() and adds a helper method to retrieve the surface
	  size, gst_va_pool_get_buffer_size(). Also change the callers accordingly.
	  Changes for custom VA pool creation will be addressed in the following commits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5805>

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

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12format.cpp:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12utils.h:
	* sys/d3d12/meson.build:
	  d3d12: Use d3dx12.h helper library
	  ... and remove manually implemented helper methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5807>

2023-12-14 00:21:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/meson.build:
	  d3d12: Use DirectX-Headers and drop MinGW build support
	  There are some conflicts between MinGW toolchan and DirectX-Headers.
	  And due to ABI differences, more fixes are required.
	  We will support only MSVC build for now
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5807>

2023-12-12 15:30:39 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Remove dead code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5796>

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

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: use gst_va_display_check_version()
	  Instead of the local method to parse the vendor string.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5800>

2023-12-11 20:34:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay.c:
	* gst-libs/gst/va/gstvadisplay.h:
	  vadisplay: add gst_va_display_check_version()
	  This function compares the driver version with the user provided one to check if
	  driver's is equal or bigger.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5800>

2023-12-11 17:28:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	  vaallocator: clean up use derived feature
	  Remove allocator member variable for use derived feature which doesn't need to be kept,
	  it's just for configuration purposes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5799>

2023-12-12 17:14:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265dec.c:
	  va: h265dec: Add support for more -still and -intra profiles
	  They are actually compitable with the main and main-10 profiles.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5797>

2023-12-12 17:09:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaprofile.c:
	  va: Add decoder compatible caps string field into profiles' map
	  Some profiles such as main or main-10 in HEVC can support more
	  compatible profiles such as main-still-picture or main-10-intra.
	  We should add them into decoder's sink caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5797>

2023-12-12 20:41:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacaps.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvaprofile.c:
	* sys/va/gstvaprofile.h:
	  va: Add the entrypoint parameter to gst_va_profile_caps()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5797>

2023-06-26 18:29:01 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpputil.c:
	  msdkvpp: Add fix_format for src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-06-02 17:30:31 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Add a help func to fix the map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-06-01 17:45:36 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	  msdk: Remove func to export dmabuf to va surface
	  Since we use va allocator and va dma allocator to create surface, the
	  surface is already exported in the case of dma allocator. So remove
	  redundant export function in msdk allocator.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-05-30 18:12:38 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkenc: Add modifier support
	  Co-authored-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-05-30 18:01:49 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	* sys/msdk/gstmsdkvpputil.c:
	  msdkvpp: Add modifier support
	  Co-authored-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-05-30 17:25:45 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Add modifier support
	  Co-authored-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-08-22 14:15:39 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	  msdk: Config pool with max/min number of buffers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-05-30 16:24:46 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	  msdk: Add help functions to handle drm caps
	  Co-authored-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-05-18 15:00:37 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Add modifier when creating dynamic caps
	  Add modifier in gst-inspect for dma features.
	  Co-authored-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-05-18 14:36:23 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkallocator_libva.h:
	  msdk: Add a helper function to get supported modifiers
	  The modifiers will be used when creating caps for dma feature.
	  co-authored-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5208>

2023-12-10 04:26:59 +0100  Stefan Brüns <stefan.bruens@rwth-aachen.de>

	* ext/ladspa/meson.build:
	* meson_options.txt:
	  ladspa: Make RDF parsing truely optional
	  If the ladspa plugin is enabled explicitly or via auto-features, the
	  liblrdf dependency can not be disabled.
	  As the RDF parsing currently provides hardly any features, the possibility
	  to disable it fairly useful.
	  Fixes: #3168
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5794>

2023-12-06 14:58:38 +0100  Kalev Lember <klember@redhat.com>

	* ext/openh264/gstopenh264dec.cpp:
	* ext/openh264/gstopenh264element.c:
	* ext/openh264/gstopenh264elements.h:
	* ext/openh264/gstopenh264enc.cpp:
	* ext/openh264/meson.build:
	  openh264: Drop runtime version checks
	  With the way the runtime checks are currently set up, every single
	  openh264 release, no matter how minor, is considered an ABI break and
	  requires gst-plugins-bad recompilation. This is unnecessarily strict
	  because it doesn't allow downstream distributions to ship any openh264
	  bug fix version updates without breaking gstreamer's openh264 support.
	  Years ago, at the time when gstreamer's openh264 support was merged,
	  openh264 releases were done without a versioned soname (the library was
	  just libopenh264.so, unversioned). Since then, starting with version
	  1.3.0, openh264 has started using versioned sonames and the intent has
	  been to bump the soname every time there's a new release with an ABI
	  change.
	  This patch drops the strict version check. meson.build already has a
	  minimum requirement on openh264 version 1.3.0 where soname versioning
	  was added, which should be good enough to ensure that the library is
	  using soname versioning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5780>

2023-12-09 20:05:31 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth265picture.c:
	  codecs: correct the print log for h265 picture getting by poc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5789>

2023-12-06 15:32:40 +0200  Jordan Petridis <jordan@centricular.com>

	* gst-libs/gst/mse/meson.build:
	  build/mse: Add the enum sources to the test gstmse_private_test_dep
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5763>

2023-12-06 12:01:36 +0100  Alessandro Bono <alessandro.bono369@gmail.com>

	* ext/dtls/gstdtlscertificate.c:
	  gstdtlscertificate: Define _WINSOCKAPI_ before including windows.h
	  This avoid a build failure when compiling against OpenSSL 3.2.0. The
	  problem is when windows.h is included before WinSock2.h. Because
	  windows.h includes winsock.h[1]. Defining _WINSOCKAPI_ stops windows.h
	  including winsock.h.
	  Error:
	  ```
	  [748/1041] Compiling C object ext/dtls/gstdtls.dll.p/gstdtlscertificate.c.obj
	  FAILED: ext/dtls/gstdtls.dll.p/gstdtlscertificate.c.obj
	  [...]
	  Windows Kits\10\include\10.0.17763.0\shared\ws2def.h(235): error C2011: 'sockaddr': 'struct' type redefinition
	  Windows Kits\10\include\10.0.17763.0\um\winsock.h(482): note: see declaration of 'sockaddr'
	  ```
	  [1] https://stackoverflow.com/a/1372836
	  Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3167
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5770>

2023-12-07 15:36:26 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/meson.build:
	  d3d11: fix building with address sanitizer
	  When building with address sanitizer it gives next error:
	  "gstd3d11window_corewindow.cpp : fatal error C1128: number of sections
	  exceeded object file format limit: compile with /bigobj"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5779>

2023-12-04 20:05:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: force non-derived for old mesa drivers
	  Mesa <23.3 can't map derived images for P010 format. This patch forces
	  non-derived if this is the case.
	  See: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24381
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5760>

2023-11-30 16:52:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: check surface status before get derive image
	  According with documentation the surface has to be in ready state before getting
	  it derived image. This patch adds that check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5760>

2023-11-30 14:47:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: remove runtime mapping selection
	  The original idea was to select the type of mapping (either using derive images
	  or downloading the image) in runtime, under the assumption that both methods
	  shared the same memory layout (offsets and strides), because a single
	  GstVideoMeta is assigned by the buffer pool at allocation time. Nonetheless, in
	  recent hardware this assumption is invalid, raising memory access errors.
	  This patch removes completely the mapping type selection at runtime, using the
	  method selected when the allocator is configured, synced with the bufferpool
	  allocation.
	  This problem was fixed originally for iHD driver only. But now it makes sense to
	  remove all of it.
	  Original-patch-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5760>

2023-11-30 12:00:27 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: don't fail if drm fourcc are different
	  When exporting a DMABuf from a VASurface the user might tell that the surface
	  was allocated with certain fourcc, but the returned VADRMPRIMESurfaceDescriptor
	  migth tell a different fourcc, as in the case or radeonsi driver, for duplicated
	  fourcc, such as YUY2 and YUYV.
	  Originally it was supposed to be a failed exportation. This patch relax this
	  validation by allowing different fourcc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5760>

2023-11-15 16:35:38 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: Let deviceID config the mfx implementation
	  In multi-card scenario, user can set GST_MSDK_DRM_DEVICE env variable to
	  choose the device. This patch can align vpl's queried results with the
	  users' choice by passing deviceID when creating mfx implementation.
	  Co-authored-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5697>

2023-12-05 12:21:37 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	* ext/onnx/meson.build:
	  onnx: replace video-region-of-interest with analytics-meta
	  - Use analytics-meta/OD to transport object detection results
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5767>

2023-12-05 20:12:36 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analytics: fix analytics-meta re-use
	  - Fix alignment error when source and destination analytics-meta have the same
	  relation order.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5767>

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

	* sys/nvcodec/gstcudaipcserver.cpp:
	* sys/nvcodec/gstcudaipcserver.h:
	* sys/nvcodec/gstcudaipcserver_unix.cpp:
	* sys/nvcodec/gstcudaipcserver_win32.cpp:
	  cudaipcsink: Fix deadlock on stop
	  Manually close connection if client does not hold any shared memory
	  on stop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5747>

2023-12-01 21:15:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11ipcserver.cpp:
	  d3d11ipcsink: Fix deadlock on stop
	  Manually close connection if client does not hold any shared memory
	  on stop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5747>

2023-12-05 19:52:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdec.c:
	  nvdec: Fix division by zero when calculating buffer duration
	  Don't try to calculate buffer duration from variable framerate
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5764>

2023-11-28 03:25:00 +0000  renjun wang <renjunw@outlook.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs: av1: Fix typo in debug log message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5722>

2023-12-04 20:47:31 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxinference.cpp:
	  onnx: avoid leak on failure and cleanup
	  - Unmap buffer on Ort exception
	  - Avoid retrieving unused videometa
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761>

2023-12-04 19:57:39 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  onnx: add offset and scale properties
	  - Offset each datapoint by the value set on offset property.
	  - Scale each datapoint by the value set on scale property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761>

2023-12-04 19:11:23 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: fix tensor id loading
	  - Fix quark genaration. String loaded from the model/file are not static.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761>

2023-08-02 20:43:48 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  onnx: Add support for float datatype
	  This is a bit of a hack solution has I think the correct solution is to
	  expose model caps on sinkpad (eventually sinkpads). Till then I think
	  this is reasonable.
	  - Add a property to onnxinference to set datatype.
	  - Fix internal buffer allocation size based on datatype.
	  - Extract method to remove alphe channel and convert to planar image
	  when requested. Also template the method to support writing to buffers
	  of different datatype.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761>

2023-12-05 09:28:25 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* meson.build:
	  meson: update PACKAGE_BUGREPORT
	  Some were still using pre-monorepo links.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762>

2023-11-29 20:58:51 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/gaudieffects/gstgaussblur.c:
	  gstgaussblur: delete unused code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5737>

2023-12-02 22:17:34 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h:
	* tests/check/libs/analyticsmeta.c:
	  analytics: replace id type from gint to guint
	  - Replace all id type from gint to guint
	  - Fix annotation for GstAnalyticsODMtdData
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5758>

2023-06-15 22:14:02 -0400  Aaron Boxer <boxerab@protonmail.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.h:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: allow attaching PCR to non-PES streams
	  There is an existing PMT mapping between PCR_%s and an mpegtsmux sink
	  pad name, where %s equals the program number that the PCR corresponds
	  to. We re-purpose this functionality to also support a mapping between
	  PCR_%s and an arbitrary PID. If this mapping is set, then the header PCR
	  PID is set to this value, and PCR is attached to the stream with this
	  PID.
	  Note: the current implementation also attaches PCR to the video stream,
	  so this may be inefficient.
	  Co-authored-by: Jordan Yelloz <jordan.yelloz@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5726>

2023-11-30 21:55:24 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsv: Update plugin doc cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706>

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

	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator.h:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvutils.cpp:
	* sys/qsv/gstqsvutils.h:
	  qsvh265dec: Add support for GBR decoding
	  Use GBR equivalent output formats if RGB colorspace is detected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706>

2023-11-21 21:58:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh265dec.cpp:
	  qsvh265dec: Add support for HEVC RExt profiles
	  Adding 4:2:0 high bitdepth and 4:2:2/4:4:4 decoding support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706>

2023-11-21 20:56:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator.h:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegdec.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvutils.cpp:
	* sys/qsv/gstqsvutils.h:
	* sys/qsv/gstqsvvp9dec.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Add util methods for video format mapping
	  Remove duplicated format mapping code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706>

2023-11-28 23:27:49 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	  d3d11: Add RBGA format support
	  Allocates DXGI_FORMAT_AYUV texture for RBGA so that it can be used
	  by video decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703>

2023-11-22 00:07:57 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add RBGA format
	  This new format is intended to be used by hardware decoders
	  where VUYA is only supported 4:4:4 decoding surface but
	  stream is encoded with GBR color space, HEVC and VP9 GBR streams
	  for example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703>

2023-11-21 14:26:54 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  codecparsers: av1: Clip max tile rows and cols values
	  Clip tile rows and cols to 64 as describe in AV1 specification
	  to avoid writing outside array range but preserve sb_cols
	  and sb_rows value which are used to futher computation.
	  Fixes ZDI-CAN-22226 / CVE-2023-44429
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5702>

2023-11-21 14:04:49 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  Revert "codecparsers: av1: Clip max tile rows and cols values"
	  This reverts commit b76a801f57353b893c344025cac56413140fca6d.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5702>

2023-11-29 13:04:36 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkupload.c:
	  vkupload: unref vkimagebufferpool
	  Since the vkupload pool refacto, the pool
	  was not properly unrefed leading to a leak.
	  Fix for fd5c344fb6
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5729>

2023-11-21 01:41:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Fix GstVideoCodecFrame leak
	  If current buffer has no slice data, frame should be released.
	  Otherwise frames will stay in decoder baseclass forever.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5693>

2023-09-12 16:11:42 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkupload.c:
	  vkupload: browse over the input buffer mems
	  To upload/convert the GstBuffer to vkImage, need to
	  browse over the input mems to fill the out gst buffer vkImage.
	  This patch is fixing a missing plane/mem with encoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5651>

2023-07-11 15:51:20 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkupload.c:
	  vkupload: implement decide_allocation vmethod
	  in the case of an upstream element proposing a buffer pool,
	  use it to allocate the buffer image with the given parameters
	  set by the upstream element.
	  Besides the buffer pool handling is sync'd with GstBaseTransform
	  base class.
	  See the case of vulkanupload ! vulkanh264enc
	  Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5651>

2023-11-28 21:02:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	  d3d11: Fix string version shader code
	  RGBA to BGRA conversion code should have written in compute
	  shader.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5723>

2023-11-28 19:17:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/msdk/gstmsdkdec.c:
	  msdk: Fix build error after d3d11 API change
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3158
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5723>

2023-11-25 19:34:12 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11: Add support for more packed formats using compute shader
	  Adding below listed formats support, and reorders supported format
	  list based on preference
	  <YUV 4:2:2>
	  UYVY, VYUY, YVYU, v210, v216
	  <YUV 4:4:4>
	  v308, IYU2
	  <RGB 16bits per pixel>
	  RGB16, RGB15, BGR16, BGR15
	  <RGB 8bits per channel>
	  ARGB, xRGB, ABGR, xBGR, RGB, BGR
	  <RGB 10bits per channel>
	  r210, BGR10A2
	  <RGB 16bits per channel>
	  BGRA64
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717>

2023-11-27 01:11:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Allow MSAA only for native DXGI formats
	  Enable MSAA only if converter can render directly on texture
	  without post-processing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717>

2023-11-24 21:18:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* gst-libs/gst/d3d11/gstd3d11memory-private.h:
	* 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/gstd3d11overlay.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* tests/check/libs/d3d11memory.c:
	  d3d11: Rework memory allocation params signalling
	  Hide GstD3D11AllocationParams detail from public header and
	  set setter methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717>

2023-11-25 01:52:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.cpp:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* sys/d3d11/hlsl/meson.build:
	  d3d11: Use shader model 4
	  Since shader model 4 is sufficient for the current pixel shader
	  implementations, prebuild HLSL with shader model 4 as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5709>

2023-11-25 01:26:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	  d3d11converter: Do not use R32_UINT UAV
	  It does not work well with YUY2 texture on some GPUs. Always use
	  the same DXGI formats for each SRV and UAV
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5709>

2023-11-24 00:17:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Remove outdated comment
	  We do support 4:2:2 YUV formats using compute shader now
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5709>

2023-11-23 23:32:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* sys/d3d11/plugin.cpp:
	  d3d11: Drop legacy device support
	  Direct3D feature level 10 supported GPUs were released
	  more than 15 years ago, around the time when Windows
	  Vista / 7 were released. Also our d3d11 plugin/library
	  does not support feature level 9.x very well already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5709>

2023-11-13 12:01:03 +0000  Link Mauve <freedesktop@linkmauve.fr>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Query the right buffer before expbuf
	  We were previously always querying index 0, and while the number of planes per
	  buffer will never change, it seems more proper to query the right buffer rather
	  than always the first one.
	  This was found while reading strace logs, and wondering why the
	  V4L2_BUF_FLAG_MAPPED flag was present on all ¬0 indices even though that
	  happened before VIDIOC_EXPBUF.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5647>

2023-11-21 12:47:38 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkbufferpool.c:
	  vkbufferpool: add support for video encoded buffers
	  Add support for non video raw  buffers to allocate memory
	  such as in encoded content scenario.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5645>

2023-11-03 16:52:19 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkbufferpool.c:
	* gst-libs/gst/vulkan/gstvkbufferpool.h:
	  vkbufferpool: allow to set allocation params
	  Add the possibility to change the vulkan usage and mem properties from
	  external source.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5645>

2023-07-03 16:44:22 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/analytics-meta-prelude.h:
	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h:
	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/meson.build:
	* tests/check/libs/analyticsmeta.c:
	* tests/check/meson.build:
	  analytics: base class for analytics meta
	  - GstAnalyticRelationMeta is a base class for analytics
	  meta. It's able to store analytics results (GstAnalyticRelatableMtd)
	  and describe the relation between each analysis results.
	  - GstAnalysisRelationMeta also contain an algorithm able to explore
	  analysis results relation using a bfs.
	  - Relation(edge) between analysis results (vertice) are stored in an adjacency-matrix
	  that allow to quickly identify if two analysis results are related and by
	  which relation they related. It also work for indirect relation
	  and can provide the path of analysis results by which two
	  analysis results are related.
	  - One allocation per buffer to store analysis results. Here we rely on
	  the application to guess how much space will be required to store all
	  analysis results. This is something that could be improved
	  significantly but it's a starting point.
	  - Define common analysis results, classification, object-detection,
	  tracking that are subclass of GstAnalyticRelatableMtd. The also
	  provide exemple of how to extend GstAnalyticRelatableMtd to have them
	  benefit for the mechanim to express relation with other analysis
	  results.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4962>

2023-06-30 18:00:38 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* tests/check/libs/vkimagebufferpool.c:
	  vulkan: use gst_vulkan_device_select_queue
	  Use gst_vulkan_device_select_queue api to retrieve a valid queue
	  in vkupload, vkdownload, vkimagebufferpool, and vkvideofilter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5656>

2023-06-28 18:15:59 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdevice.h:
	* gst-libs/gst/vulkan/gstvkutils.h:
	  vkdevice: select queue with expected flags
	  Allow to select a queue with the given flags
	  such as compute bit etc from a given device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5656>

2023-11-21 21:14:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsvdecoder: Fix stream format detection
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5700>

2023-11-20 08:22:41 +0000  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  directxmath.wrap: Fix cpuid mismatch on MinGW
	  This fixes a build failure with meson 1.3.0, which was caused by
	  a bugfix in Meson that made the cc.compile() check succeed on MSYS2
	  MinGW and enable DirectXMath SIMD, which in turn triggered the broken
	  `__cpuid()` issue mentioned in the meson.build file.
	  Upstream fix: https://github.com/microsoft/DirectXMath/pull/172
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5690>

2023-11-20 08:12:48 +0000  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* meson_options.txt:
	  meson: Rework d3d11 checks, add new d3d11-math option
	  This allows us to ensure that directxmath SIMD is enabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5690>

2023-11-21 00:00:27 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	  d3d11: Add Y412 format support
	  It's mapped to DXGI_FORMAT_Y416 and major format for 12bits 4:4:4
	  video decoding. Since DXGI_FORMAT_Y416 format cannot be a render target,
	  adding corresponding compute shader code too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5692>

2023-07-03 13:22:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh264dec.h:
	  vulkanh264dec: add Vulkan H.264 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-06-15 12:09:01 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  test: look for proper queue among multiple physical device
	  There might be multiple GPUs in a system and only one might provided vulkan
	  video extensions. Now, in order to run the tests, the proper GPU is looked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-05-24 08:49:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	* tests/check/meson.build:
	  test: add vkvideodecode test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-05-23 22:05:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	  vkqueue: add decoder factory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-05-11 16:47:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder.c:
	* gst-libs/gst/vulkan/gstvkdecoder.h:
	* gst-libs/gst/vulkan/gstvkhandle.h:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkdecoder: add gstvkdecoder helper object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-05-25 19:03:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkhandle.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/meson.build:
	  vkvideo-private: video structures and session handle
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-07-10 14:44:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkimagebufferpool.c:
	  vkvideoutils: add GstVulkanVideoOperation enum
	  To differentiate a video/x-h264 caps use with a decoder or an encoder
	  and get the correct video profile, the API expects an enum
	  GstVulkanVideoOperation to handle this difference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-06-29 18:46:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkimagebufferpool.c:
	  vkvideoutils: add dec postfix to profiles
	  So it the future don't collide with encoding profiles.
	  Original-patch-by: Stéphane Cerveau <scerveau@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-06-23 17:50:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkvideoutils: add video capabilities structure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-07-03 17:43:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vkvideoutils: add gst_vulkan_video_profile_is_equal()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-05-24 10:03:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vkvideoutils: add gst_vulkan_video_profile_is_valid()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-08-09 11:28:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vkvideoutils: add VkVideoDecodeUsageInfoKHR in profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-06-19 13:26:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	  vkvideoutils: if unknown codec nullify pNext
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-11-13 19:50:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vkvideoutils: mark as private members of profile structure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-08-10 13:10:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: set image's number of layers
	  Handle the image's number of layers as configuration so it can be set by the
	  user, still isn't exposed as function since it's very niche.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-06-16 16:31:36 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vkmemory: avoid the property flag check
	  During the video session memory allocation, the property flags can
	  be different from the expected ones, so do not expect all the
	  property flags and test it with G_MAXUINT32
	  It's failing with driver 525.47.26 and NVidia HW NVIDIA GeForce
	  RTX 3050 and 2060
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850>

2023-11-20 20:41:07 +0900  Seungha Yang <seungha@centricular.com>

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

2023-11-20 00:26:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	  d3d11: Add support for Y210 and Y212 formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5691>

2023-11-18 23:31:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Bind UAV if needed
	  YUV packed formats require UAV
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5691>

2023-11-18 22:51:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add support for YUY2 and Y410 output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5691>

2023-11-18 20:45:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Port to converter helper
	  ... add support YUY2 and Y410 output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5691>

2023-11-17 20:51:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.h:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.h:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/collect_hlsl_header.py:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	  d3d11: Implement helper object for converter
	  This object will upload system memory to GPU and preprocess
	  texture using compute shader or software converter if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5691>

2023-08-03 17:05:17 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* docs/libs/mse/index.md:
	* docs/libs/mse/sitemap.txt:
	* docs/meson.build:
	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/meson.build:
	* gst-libs/gst/mse/gstappendpipeline-private.h:
	* gst-libs/gst/mse/gstappendpipeline.c:
	* gst-libs/gst/mse/gstmediasource-private.h:
	* gst-libs/gst/mse/gstmediasource.c:
	* gst-libs/gst/mse/gstmediasource.h:
	* gst-libs/gst/mse/gstmediasourcesamplemap-private.h:
	* gst-libs/gst/mse/gstmediasourcesamplemap.c:
	* gst-libs/gst/mse/gstmediasourcetrack-private.h:
	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	* gst-libs/gst/mse/gstmseeventqueue-private.h:
	* gst-libs/gst/mse/gstmseeventqueue.c:
	* gst-libs/gst/mse/gstmselogging-private.h:
	* gst-libs/gst/mse/gstmselogging.c:
	* gst-libs/gst/mse/gstmsemediatype-private.h:
	* gst-libs/gst/mse/gstmsemediatype.c:
	* gst-libs/gst/mse/gstmsesrc-private.h:
	* gst-libs/gst/mse/gstmsesrc.c:
	* gst-libs/gst/mse/gstmsesrc.h:
	* gst-libs/gst/mse/gstsourcebuffer-private.h:
	* gst-libs/gst/mse/gstsourcebuffer.c:
	* gst-libs/gst/mse/gstsourcebuffer.h:
	* gst-libs/gst/mse/gstsourcebufferlist-private.h:
	* gst-libs/gst/mse/gstsourcebufferlist.c:
	* gst-libs/gst/mse/gstsourcebufferlist.h:
	* gst-libs/gst/mse/meson.build:
	* gst-libs/gst/mse/mse-prelude.h:
	* gst-libs/gst/mse/mse.h:
	* gst/meson.build:
	* gst/mse/gstmse.c:
	* gst/mse/gstmse.h:
	* gst/mse/meson.build:
	* meson_options.txt:
	* tests/check/libs/mse.c:
	* tests/check/meson.build:
	* tests/files/mse.mp4:
	* tests/files/mse.webm:
	  bad: Added W3C Media Source Extensions library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2992>

2023-11-16 20:09:21 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/insertbin/gstinsertbin.c:
	* gst-libs/gst/insertbin/gstinsertbin.h:
	* gst/insertbin/plugin.c:
	  insertbin/doc: add "Since" markers to pass CI
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5514>

2023-10-20 00:55:00 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/insertbin/gstinsertbin.c:
	* gst/insertbin/meson.build:
	* gst/insertbin/plugin.c:
	* gst/meson.build:
	* meson_options.txt:
	  insertbin: make it available in the registry
	  so it could also be used from the gst-parse-launch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5514>

2023-10-22 11:06:27 +0200  Robert Mader <robert.mader@collabora.com>

	* gst/camerabin2/gstcamerabin2.c:
	  camerabin: Fix source updates with user filters
	  Take the case into account when user filters have been set before the
	  source gets updated.
	  Note that the further linking of the filters, if present, happens below
	  in the `gst_camera_bin_check_and_replace_filter()` calls.
	  The audio filter is still affected by the same issue but left out for
	  now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5527>

2023-11-15 22:41:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturedevice.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	  d3d11screencapturesrc: Fix wrong color with HDR enabled
	  Even if IDXGIOutput6 says current display colorspace is HDR,
	  captured texture via IDXGIOutputDuplication::AcquireNextFrame()
	  is converted frame by OS unless we use IDXGIOutput5::DuplicateOutput1()
	  with DXGI_FORMAT_R16G16B16A16_FLOAT format, in order for captured
	  frame to be scRGB color space. Then application should perform
	  tonemap operation based on reported display white level, color primaries, etc.
	  Since we don't have any tonemapping implementation, ignores colorimetry
	  reported by IDXGIOutput6.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3128
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5671>

2023-11-15 19:13:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  player: Without dispatcher emit signals directly instead of via the default main context
	  This is how it was documented and how it worked before the port to GstPlay.
	  Without this, applications expecting signals to be emitted directly
	  without anything running the main context will simply not receive any
	  signals.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5672>

2023-11-15 00:38:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11: Avoid ID3D11DeviceContext::Map if possible
	  Allocate resource with initial date instead of calling Map/Unmap
	  after allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5660>

2023-11-15 01:11:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriteoverlayobject.cpp:
	  dwrite: Protect entire draw operation with D3D11 lock
	  d2d runtime seems to execute pending GPU command list
	  when DXGI ID2D1RenderTarget is being released, and it will invoke
	  d3d11 immediate context APIs. Should protect all rendering operations
	  and DXGI resources with lock.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5659>

2023-11-07 16:20:10 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdk.c:
	  msdk: Add device env in plugin dependencies
	  Add env vars GST_MSDK_DRM_DEVICE in plugin_add_dependencies to register
	  msdk plugins according to user's choice in a multi-gpu platform.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5615>

2023-02-28 23:59:45 +0100  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	  codecparsers: h264bitwriter: Fix trace typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5661>

2023-11-13 22:16:06 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: Fix buffer leak
	  Release buffer after use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5648>

2022-08-08 14:46:16 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/webrtcsdp.c:
	  webrtcsdp: Don't require fingerprint in inactive media
	  Inactive m-lines don't need a fingerprint as they may not
	  have a connection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1118>

2021-10-12 11:29:21 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/webrtcsdp.c:
	  webrtcsdp: Remove comparison between media and session fingerprint
	  The code seems to validate that the media-level fingerprint matches
	  the fingerprint of the previous media or of the whole session. There
	  is no such requirement in any RFC I found. The session-session one
	  is just meant to act as a fallback when there is no media-level
	  fingerprint.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1118>

2023-10-19 21:21:51 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth265parser.h:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst/videoparsers/gsth265parse.c:
	  codecparsers: introduce h265 level enum
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5644>

2023-02-06 15:47:41 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/codec2json/gsth2652json.c:
	* ext/codec2json/gsth2652json.h:
	* ext/codec2json/meson.build:
	* ext/codec2json/plugin.c:
	  codec2json: Add h2652json element
	  This element convert H.265 frame parameters into human readable json data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3865>

2023-02-01 16:44:39 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/codec2json/gsth2642json.c:
	* ext/codec2json/gsth2642json.h:
	* ext/codec2json/meson.build:
	* ext/codec2json/plugin.c:
	  codec2json: Add h2642json element
	  This element convert H.264 frame header into human readable
	  json data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3865>

2023-11-12 11:07:37 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Improve documentation header
	  If the application relies on GstPlaySignalAdapter, no special clean-up is
	  required.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5643>

2023-11-08 09:53:17 +0000  HuQian <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwlvideoformat.c:
	  waylandsink: fix incorrect RGB and BGR mapping about GST DRM and WL_SHM
	  This commit corrects the mapping relationship between RGB and BGR in GST and DRM.
	  The previous mapping was incorrect, causing potential color mismatches in the output.
	  The changes are as follows:
	  {WL_SHM_FORMAT_RGB888, DRM_FORMAT_RGB888, GST_VIDEO_FORMAT_BGR},
	  {WL_SHM_FORMAT_BGR888, DRM_FORMAT_BGR888, GST_VIDEO_FORMAT_RGB},
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5620>

2023-11-11 14:10:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay-signal-adapter.c:
	  play: Automatically flush the bus when disposing the signal adapter
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3107
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5642>

2023-11-09 17:57:22 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Add a minimal documentation header
	  Also mentioning the need to set the bus to flushing state before disposing the
	  player in order to avoid reference cycles.
	  Fixes #3107
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5631>

2023-11-10 14:49:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: wait for pending objects at reset
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591>

2023-11-09 19:47:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: get query only if a operation is submitted
	  To avoid a validation error if get query is performed before.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591>

2023-11-02 12:18:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: remove stored fences at the end
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591>

2023-10-31 19:39:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: don't fail if extension isn't available
	  gst_vulkan_operation_add_dependency_frame() is a noop if the required extensions
	  aren't available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591>

2023-10-20 00:09:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfdemux.h:
	  mxfdemux: Store GstMXFDemuxEssenceTrack in their own fixed allocation
	  Previously they were stored inline inside a GArray, but as references to
	  the tracks were stored in various other places although the array could
	  still be updated (and reallocated!), this could lead to dangling
	  references in various places.
	  Instead now store them in a GPtrArray in their own allocation so each
	  track's memory position stays fixed.
	  Fixes ZDI-CAN-22299
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3055
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5635>

2023-10-04 11:14:38 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  codecparsers: av1: Clip max tile rows and cols values
	  Clip tile rows and cols to 64 as describe in AV1 specification.
	  Fixes ZDI-CAN-22226 / CVE-2023-44429
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3015
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5634>

2023-11-09 14:22:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/timecode/gsttimecodestamper.c:
	  timecodestamper: set drop-frame property default to TRUE
	  After talking with Vivia on IRC, she does not remember why the default
	  was FALSE and it is in my opinion preferable to stick to whatever
	  representation best represents time for a given framerate as a default
	  behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5628>

2023-11-08 13:59:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabase.c:
	* sys/va/gstvabase.h:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvabasetransform.h:
	  va: use GstVideoInfoDmaDrm when importing buffers
	  In the case of encoders and filters when importing a DMABuf, use
	  GstVideoInfoDmaDrm to get the drm fourcc and modifier.
	  In both cases, instead of keeping the original GstVideoInfoDmaDrm from caps, the
	  GstVideoInfo part of the structure is converted as canonical one, given the
	  format from the fourcc. It's kept in the way to handle V4L2 linear DMABufs and
	  to avoid too many changes in the current code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264>

2023-08-30 21:49:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* sys/va/gstvabase.c:
	  vaallocator: use GstVideoInfoDmaDrm for dmabuf setup
	  Instead of guessing the DRM format and modifier, pass a DRM video info to
	  gst_va_dmabuf_memories_setup().
	  Still, it checks for the DRM parameters in DRM info, if they are not available,
	  as in the case of V4L2 buffers, the part of the video info is used.
	  This is an API breakage, but since the plugin is still in stage, it's still
	  allowed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264>

2023-08-30 21:34:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	  vaallocator: use VADRMPRIMESurfaceDescriptor to create surfaces
	  To import DMAbufs we used VASurfaceAttribExternalBuffers which works, but it's
	  not specific for DRM PRIME 2, since it lacks of many metadata. This patch
	  replaces VASurfaceAttribExternalBuffers with VADRMPRIMESurfaceDescriptor in
	  va_create_surfaces().
	  Still, this patch assumes linear modifier only.
	  The hack for RGB surfaces in I965 driver was pushed down into
	  va_create_surfaces() to avoid handling both structures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264>

2023-08-30 21:25:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* sys/va/gstvabase.c:
	  vallocator: remove n_planes argument in dmabuf_memories_setup()
	  Instead of passing the number of planes to process, take that number from the
	  passed GstVideoInfo.
	  This is an API breakage, but since the plugin is still in stage, it's still
	  allowed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264>

2023-08-30 13:01:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: fix assumption object size equal fd size
	  Remove the comment and warning message that object size should be equal to the
	  file descriptor size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264>

2023-11-08 17:23:17 +0100  Tobias Rapp <t.rapp@noa-archive.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: Fix typo in element documentation
	  DechLink -> DeckLink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5625>

2023-11-08 16:59:48 +0100  Tobias Rapp <t.rapp@noa-archive.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: Increase section level of video sink/source element documentation
	  Should fix auto-generated follow-up sections like "Hierarchy" or
	  "Factory details" to be listed under the element name in the
	  table-of-contents of the document, instead of a stand-alone
	  "Duplex-Mode" section.
	  Also cleanup some spurious colon suffix after section names.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5625>

2023-11-07 11:56:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay.c:
	* sys/va/plugin.c:
	  vadisplay: only register elements of allowed drivers
	  Now that nvidia-vaapi-driver appeared and isn't yet supported by GstVA, we've to
	  add an allowed list of supported drivers.
	  This patch implements it adding a environment variable to disable this driver
	  check: GST_VA_ALL_DRIVERS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5616>

2023-10-02 15:34:42 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstcea608mux.c:
	* tests/check/elements/cccombiner.c:
	  ccutils: Add padding also for ccp data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5423>

2023-11-03 06:53:35 -0700  Slava Andrejev <vyac.andrejev@gmail.com>

	* gst-libs/gst/wayland/meson.build:
	  meson: change Wayland scanner command from "code" to "private-code"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5593>

2023-11-03 06:47:44 -0700  Slava Andrejev <vyac.andrejev@gmail.com>

	* gst-libs/gst/wayland/meson.build:
	  meson: add processing of "staging" Wayland protocols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5593>

2023-11-02 18:41:15 -0700  Slava Andrejev <vyac.andrejev@gmail.com>

	* gst-libs/gst/wayland/meson.build:
	  meson: prevent sandbox violation if GStreamer and wayland-protocols are subprojects
	  Suppose you have a project where GStreamer and wayland-protocols are
	  pulled in as dependencies via .wrap files. In that case, Meson's setup
	  step will fail for gst-plugins-bad with the message "Sandbox violation:
	  Tried to grab file viewporter.xml outside current (sub)project." To
	  avoid this exception, one should use Meson's `files` and `join_paths`
	  functions. The suggested solution is identical to how GTK 4 processes
	  Wayland files.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5593>

2023-05-26 17:38:13 +0000  Balló György <ballogyor@gmail.com>

	* gst-libs/gst/wayland/meson.build:
	  gstwayland: Don't depend on wayland-protocols
	  wayland-protocols are needed to build gstwayland, but not for dependent projects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4724>

2023-11-06 20:44:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window.cpp:
	  d3d11window: Fix scale factor setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5602>

2023-11-04 21:23:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/meson.build:
	  d3d11: Enable DirectXMath SIMD
	  * Enable SIMD except for x86 target
	  * Use aligned matrix struct
	  * Remove unnecessary matrix copy operations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5602>

2023-10-18 15:12:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* ext/closedcaption/ccutils.c:
	* tests/check/elements/ccconverter.c:
	  ccutils: Keep upstream padding payload
	  A payload of 0x80 0x80 means that it's padding. It's not a good idea to
	  throw this away though, because of the cc_valid field.
	  According to CEA 10-B section 25.2.1, if cc_valid is zero, the run-in
	  clock and start bit should not be generated. In practice, this means
	  that any closed captions will be erased and the end-user TV will show
	  that captions are not available for this stream. This might have
	  undesired consequences, e.g. we were just showing a long line of
	  captions and we disable it before the user has had time to read it, or
	  you can't enable closed captions during silence/music intervals.
	  We cannot reliably detect whether there's a currently-silent closed
	  caption stream or just nothing, but we have this information coming from
	  upstream, so we can at least not discard it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5508>

2023-11-04 19:36:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2client.h:
	* sys/wasapi2/gstwasapi2device.c:
	  wasapi2device: Ignore activation failed device
	  Enumerates all devices even if activation error is detected
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3090
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5599>

2023-11-04 03:16:47 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Avoid QBUF/DQBUF struct timeval .tv_usec wrap-around at frame 1000000
	  When decoding stream using hardware V4L2 decoder element, in any of the
	  currently supported formats, the decoding will fail once frame number
	  1000000 is reached. The reported error clearly indicates a wrap-around
	  occured, instead of receiving decoded frame 1000000, frame 0 is received
	  from the hardware V4L2 decoder driver.
	  The problem is actually not in the driver itself, but rather in gstreamer,
	  which uses `struct v4l2_buffer` member `.timestamp` in a special way. The
	  timestamp of buffers with encoded data added to the SINK (input) queue of
	  the driver is copied by the driver into matching buffers with decoded data
	  added to the SOURCE (output) queue of the driver. In fact, the timestamp
	  is not a timestamp at all, but rather in this special case, only part of
	  it is used as an incrementing frame counter.
	  The `.timestamp` is of type `struct timeval`, which is defined in
	  `sys/time.h` [1]. Only the `tv_usec` member of this structure is used
	  for the incrementing frame counter. However, suseconds_t tv_usec [2]
	  may be limited to range [-1, 1000000]:
	  "
	  [XSI] The type suseconds_t shall be a signed integer type capable of
	  storing values at least in the range [-1, 1000000].
	  "
	  Therefore, once frame 1000000 is reached, a rollover occurs and decoding
	  fails.
	  Fix this by using both `struct timeval` members, `.tv_sec` and `.tv_usec`
	  with matching modular arithmetic, this way the failure would occur again
	  just short of 2^84 frames, which should be plenty.
	  [1] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_time.h.html
	  [2] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
	  A test case using stateless hardware h264 decoder, the WARN/ERROR output
	  in gstreamer log indicates a failure occurred. With this change, that
	  error no longer occurs and the WARN/ERROR are not present:
	  ```
	  pc$ gst-launch-1.0 videotestsrc num-buffers=1001001 pattern=6 ! \
	  video/x-raw,width=16,height=16,format=I420 ! \
	  x264enc ! filesink location=/tmp/test.h264
	  dut$ GST_DEBUG="*:3" gst-launch-1.0 filesrc location=/tmp/test.h264 ! \
	  h264parse ! v4l2slh264dec ! fakesink
	  ...
	  0:03:51.393677606 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000000, but driver returned frame 0.
	  0:03:51.394140597 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000001, but driver returned frame 1.
	  0:03:51.394425216 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000002, but driver returned frame 2.
	  0:03:51.394665211 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000003, but driver returned frame 3.
	  0:03:51.394785833 12111     0x370df400 WARN      \
	  v4l2codecs-h264dec gstv4l2codech264dec.c:1059:gst_v4l2_codec_h264_dec_output_picture:<v4l2slh264dec0> \
	  error: Failed to decode frame 1000000
	  ERROR: from element /GstPipeline:pipeline0/v4l2slh264dec:v4l2slh264dec0: Failed to decode frame 1000000
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5598>

2023-10-23 15:11:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfd.c:
	* gst/unixfd/gstunixfd.h:
	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Add support for abstract socket
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>

2023-09-28 13:34:32 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfd.h:
	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Use DMABuf allocator when needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>

2023-09-18 14:38:27 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  unixfd: Update gst_plugins_cache.json
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>

2023-09-18 14:38:26 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/meson.build:
	* gst/unixfd/gstunixfd.c:
	* gst/unixfd/gstunixfd.h:
	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	* gst/unixfd/meson.build:
	* meson_options.txt:
	* tests/check/elements/unixfd.c:
	* tests/check/meson.build:
	  unixfd: New plugin with unixfdsink and unixfdsrc elements
	  This pair of elements, inspired from shmsink/shmsrc, send unix file
	  descriptors (e.g. memfd, dmabuf) from one sink to multiple source
	  elements in other processes.
	  The unixfdsink proposes a memfd/shm allocator, which causes for example
	  videotestsrc to write directly into memories that can be transfered to
	  other processes without copying.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>

2023-09-18 14:38:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlshmallocator.c:
	* gst-libs/gst/wayland/gstwlshmallocator.h:
	* gst-libs/gst/wayland/gstwlwindow.c:
	  GstShmAllocator: New shared memory allocator
	  This makes Wayland's allocator public. It is generally useful to have a
	  shared memory allocator that can create memfd on Linux.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>

2023-11-02 00:33:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2util.h:
	  wasapi2: Fix build with GST_DISABLE_GST_DEBUG
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-11-02 00:30:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfutils.h:
	  mediafoundation: Fix build with GST_DISABLE_GST_DEBUG
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-11-02 00:24:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12utils.h:
	* sys/d3d12/meson.build:
	  d3d12: Fix build with GST_DISABLE_GST_DEBUG
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-11-02 00:21:17 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.h:
	* gst-libs/gst/d3d11/meson.build:
	  d3d11: Fix build with GST_DISABLE_GST_DEBUG
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-11-02 00:03:28 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  meson: Fix MSVC build with GST_DISABLE_GST_DEBUG
	  MSVC does not understand Wno-unused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-10-28 22:55:04 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/libde265/libde265-dec.c:
	  libde265dec: Only decode the main profile
	  The src caps of the libde265 is now fixed to I420, and so if the
	  stream is other format, such as 4:4:4 or 10 bits format, the pipeline
	  will crash because the dowstream element accesses the video buffer as
	  I420 format.
	  We now restrain the input caps to "main" profile, which only contains
	  4:2:0 8 bits stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5573>

2023-10-31 17:59:32 +0100  Kalev Lember <klember@redhat.com>

	* ext/openh264/gstopenh264dec.cpp:
	* ext/openh264/gstopenh264enc.cpp:
	  openh264: Fail gracefully if openh264 encoder/decoder creation fails
	  This can happen with the dummy "noopenh264" library that the freedesktop
	  flatpak runtime ships, and Fedora is planning on shipping as well. In
	  both cases the dummy implementation gets replaced with the actual
	  openh264 library that's downloaded directly from Cisco, but just to be
	  on safe side, this patch makes it careful to check the return values to
	  avoid crashing if the underlying library hasn't been swapped out yet.
	  The patch is taken from freedesktop-sdk and was originally written by
	  Valentin David <valentin.david@codethink.co.uk>.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5581>

2023-11-01 01:58:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	  d3d11: Set MaxAnisotropy value for the best quality
	  ... and use anisotropic filter without comparison, which is actually
	  intended one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5580>

2023-11-01 01:32:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Simplify private struct ctor
	  Initialize transform matrix using memcpy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5580>

2023-11-01 01:20:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Store device formats in hash map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5580>

2023-11-01 00:38:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: Avoid heap allocation per upload
	  Don't allocate list per upload
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5580>

2023-09-29 20:11:52 +0000  robert <robert.ayrapetyan@gmail.com>

	* ext/dtls/gstdtlsenc.c:
	  gstdtlsenc: fix stream_id and missing group_id
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5425>

2023-10-29 23:43:56 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	  d3d11videosink: Add redraw-on-update property
	  If users update geometry related properties very frequently
	  for a stream to be animated, redrawing on every update
	  can make rendering choppy or can be a performance bottleneck.
	  To address the issue, adding a property to control the behavior
	  of redrawing scene when geometry related properties are updated.
	  Also, do not resize swapchain on such property update, since
	  re-allocating backbuffer and multi-sampled render target is
	  unnecessary in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5575>

2023-10-30 00:00:30 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Don't update vertex buffer on transform matrix change
	  Transform matrix change requires only constant buffer update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5575>

2023-10-29 22:42:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix window switching in case of fullscreen mode
	  Other Windows applications allow window switching even when
	  an application window is in fullscreen mode. Also fixing
	  regression introduced in 15248d8b84db9e79e6d4587b212b12ca82fc4a6b
	  which makes restored window is always located at topmost
	  since we do not call SetWindowPos() anymore when restoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5574>

2023-10-29 00:36:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fallback to linear sampler if filter is not supported
	  Use linear sampler if requested filter is not supported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-28 23:12:30 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Add sampling-method property
	  Identical to "method" property in d3d11convert element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-28 22:38:02 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	  d3d11convert: Add support for sampling with anisotropic filter
	  Anisotropic filtering might produce better quality than linear filtering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-28 22:08:31 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add support for transform
	  Adding 3D rotation and scale transform support to d3d11convert element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-28 20:15:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11window.cpp:
	  d3d11: Move transform matrix related method to utils
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-28 19:34:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: Set rasterizer state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-27 23:43:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	  d3d11screencapturesrc: Set rasterizer state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-27 23:30:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Set rasterizer state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-27 23:24:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Set rasterizer state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-27 22:51:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11converter: Reuse rasterizer state object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-27 22:23:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	  d3d11screencapturesrc: Use DirectXMath struct and C++ mutex
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5572>

2023-10-22 01:10:54 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/meson.build:
	  d3d11videosink: Add support for transform and MSAA
	  Adding properties for 3D rotation with arbitrary angle
	  and scaling. And adding Multi Sampling Anti-Aliasing rendering
	  support to smooth borders if arbitrary angle is applied
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5532>

2023-10-22 01:09:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window.cpp:
	  d3d11videosink: Fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5532>

2023-10-19 22:27:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11converter: Add support for MSAA render target
	  Create multi-sample render target view if sample count > 1
	  and MSAA enabled rasterizer for multi-sample render target
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5532>

2023-10-19 21:52:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	  d3d11converter: Add support for custom transform matrix
	  Adding gst_d3d11_converter_set_transform_matrix() method so that
	  user specified transform matrix can be applied when "video-direction=custom"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5532>

2023-10-17 20:05:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/hlsl/VSMain_converter.hlsl:
	  d3d11converter: Use transform matrix for rotation/flip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5532>

2023-10-25 21:37:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Don't use global volume control object
	  ISimpleAudioVolume controls volume of corresponding audio session
	  and there would be only single input/output audio session
	  in case of share-mode, which means that it controls audio volume of the
	  process. Instead, use IAudioStreamVolume interface which controls
	  volume of the stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5549>

2023-10-28 01:23:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Fix mouse cursor blending
	  Ignore alpha component of source (mouse cursor texture)
	  when blending alpha channel, otherwise the background area of source
	  (which has zeros) will be written to render target. Then it will result
	  in black rectangle if output texture is converted to premultiplied alpha
	  texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5566>

2023-10-26 16:37:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/.clang-format:
	  aja: Move clang-format configuration from the top-level to the plugin subdirectory
	  This shouldn't have been left at the top-level but was forgotten to be
	  moved when merging the repository histories.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5558>

2023-10-26 10:48:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/debugutils/fpsdisplaysink.c:
	* gst/debugutils/fpsdisplaysink.h:
	  fpsdisplaysink: fix copy'n'paste-o in license header
	  It's LGPL licensed, remove confusing GPL reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5557>

2023-09-12 12:36:55 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: also use the correct srgb vs unorm when using older
	  gst_video_info_from_video_info()
	  Fixes sRGB colorspace chosen by GstVulkanSwapper and therefore used for
	  display.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5316>

2023-09-27 17:47:25 +0200  Tim-Philipp Müller <tim@centricular.com>

	* REQUIREMENTS:
	* docs/plugins/gst_plugins_cache.json:
	* ext/kate/README:
	* ext/kate/gstkate.c:
	* ext/kate/gstkatedec.c:
	* ext/kate/gstkatedec.h:
	* ext/kate/gstkateelement.c:
	* ext/kate/gstkateelements.h:
	* ext/kate/gstkateenc.c:
	* ext/kate/gstkateenc.h:
	* ext/kate/gstkateparse.c:
	* ext/kate/gstkateparse.h:
	* ext/kate/gstkatespu.c:
	* ext/kate/gstkatespu.h:
	* ext/kate/gstkatetag.c:
	* ext/kate/gstkatetag.h:
	* ext/kate/gstkatetiger.c:
	* ext/kate/gstkatetiger.h:
	* ext/kate/gstkateutil.c:
	* ext/kate/gstkateutil.h:
	* ext/kate/meson.build:
	* ext/meson.build:
	* gst/inter/gstintersubsrc.c:
	* meson_options.txt:
	* tests/check/elements/kate.c:
	* tests/check/meson.build:
	  kate: remove plugin
	  Bitrotten and not really used in the wild.
	  The actual render library (libtiger) is not just unmaintained
	  but the upstream location has disappeared, and it's also not
	  even packaged by e.g. debian/ubuntu.
	  Closes #3071
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5408>

2023-10-23 17:24:40 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpesrcbin.cpp:
	  wpesrcbin: Fix audio metadata
	  The meta expects the number of samples in the buffer, not the total size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5531>

2023-10-26 16:32:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/opencv/meson.build:
	  build: opencv: disable opencv deps if it's not installed
	  When hotdoc documentation is enabled and opencv plugin is set as
	  auto-detected, but the library isn't installed, meson configuration fails
	  with this message:
	  ../subprojects/gst-plugins-bad/docs/meson.build:139:21: ERROR: Unknown variable "gstopencv_dep".
	  This patch fixes this case defined gstopencv_dep as disabler() when
	  dependencies aren't found.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5560>

2023-10-16 15:28:21 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: Do not try derive image for d3d backend
	  Current codes try derive image in _update_image_info first, if
	  derive returns no error, the va_allocator->info is the one from derived
	  image, but in va_map_unlocked, we disable derive manner for d3d backend
	  because it doesn't seem to work, this will cause issue for d3d path,
	  i.e. possibly using derived info in va_get_image to do mapping...
	  This patch disables derive image for d3d backend in _update_image_info,
	  to ensure we only use info from va_create_image for d3d path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5495>

2023-07-20 18:23:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkdownload.c:
	  vulkandownload: use GstVulkanOperation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-06-29 14:11:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: use GstVulkanOperation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-06-29 08:24:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: use GstVulkanOperation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-05-15 17:14:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/vulkan.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkoperation: synchronization helper object
	  An operation is an arbitrary amount of work to be executed on the host, a
	  device, or an external entity such as a presentation engine.
	  The purpose of this object is to help on the operation's synchronization
	  through declaring explicit execution dependencies, and memory dependencies
	  between two sets of operations defined by the command’s two synchronization
	  scopes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-06-29 12:30:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkbarrier.h:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	  vulkan: add a timeline semaphore per image
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-07-31 18:41:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkbarrier.h:
	  vkbarrier: Use guint64 for VkFlags and VkFlags2
	  While VkPipelineStageFlags is an enum (arguably backed as uint32 in 32bit
	  platforms), VkPipelineStageFlags2 is a redefinition of guint64; likewise for
	  VkAccessFlags and VkAccessFlags2.
	  This patch types both members in GstVulkanBarrierMemoryInfo as guint64 for
	  compatibility, so it could be used with or without synchronization2 vulkan
	  extension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-06-28 19:38:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.c:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	  vkmemory: unref queue in barriers
	  Queue might be assigned for queue transfers, so we need to unref it if the
	  memory has been assigned to a specific queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-06-27 16:35:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: use macro VK_KHR_synchronization2 as guard
	  Instead of (defined(VK_VERSION_1_3) || (defined(VK_VERSION_1_2) && VK_HEADER_VERSION >= 170))
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079>

2023-10-23 11:03:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/aja/README.md:
	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/plugin.cpp:
	  aja: Add basic documentation
	  Also remove the `gst-inspect-1.0` output from the README.md. This is
	  listed in the actual documentation and more up to date there.

2023-10-21 10:26:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* meson_options.txt:
	* sys/aja/meson.build:
	* sys/aja/meson_options.txt:
	* sys/meson.build:
	  aja: Integrate AJA plugin into the build system
	  Co-Authored-By: Nirbheek Chauhan <nirbheek@centricular.com>

2023-10-21 10:22:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/README.md:
	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajacommon.h:
	* sys/aja/gstajadeviceprovider.cpp:
	* sys/aja/gstajadeviceprovider.h:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasink.h:
	* sys/aja/gstajasinkcombiner.cpp:
	* sys/aja/gstajasinkcombiner.h:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	* sys/aja/gstajasrcdemux.cpp:
	* sys/aja/gstajasrcdemux.h:
	* sys/aja/meson.build:
	* sys/aja/meson_options.txt:
	* sys/aja/plugin.cpp:
	  Prepare for merging into GStreamer

2020-07-15 07:04:47 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/opencv/meson.build:
	* gst-libs/gst/opencv/meson.build:
	  opencv: move the dependency check to a single place
	  Previously we were checking for opencv dep in 2 different places,
	  and the checks would vary in terms of how complex and exhaustive
	  they were.
	  Move the check into the libs module and reuse the result later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3016>

2023-10-25 23:19:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Fix typo in template caps
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3058
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5554>

2023-10-25 16:07:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vulkan/physical-device: don't assume that queue_family_ops is filled
	  On old enough vulkan (< 1.2), we will never retrieve the family operations and
	  will perform a NULL pointer dereference when dumping the queue family op
	  properties.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5547>

2023-10-24 16:32:36 +0200  Adrien De Coninck <deconinck.adrien@gmail.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	* sys/d3d11/gstd3d11window_win32.h:
	  d3d11videosink: post "have-window-handle" element message on the bus
	  * when window_id is not user-provided and window_type==GST_D3D11_WINDOW_NATIVE_TYPE_HWND
	  * allows user to retrieve internally created window handle
	  * for custom positionning
	  * for custom icons
	  * ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5544>

2023-10-12 10:39:39 +0200  David Rosca <nowrep@gmail.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	* sys/va/gstvabaseenc.c:
	  va: Use vaMapBuffer2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5467>

2023-10-03 17:33:42 +0300  Jordan Petridis <jordan@centricular.com>

	* gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
	  vkwindow_xcb: Make the visible private field a guint
	  This field is used to store gbooleans (which are ints) but if it's
	  a :1 bit depth assigning ints to it changes it's value as the only
	  valid values are -1 and 0.
	  Make it a guint instead so the cast would be correct.
	  ```
	  ../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:151:25: error:
	  implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1
	  [-Werror,-Wsingle-bit-bitfield-constant-conversion]
	  window_xcb->visible = TRUE;
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5432>

2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: Bump GLib requirement to >= 2.64
	  This includes fixes to make GstBus watches non-racy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2126>

2020-07-10 12:16:35 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  ci: switch the Fedora base image to f34
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>

2023-09-29 16:55:15 +0200  Jordan Petridis <jordan@centricular.com>

	* ext/svthevcenc/gstsvthevcenc.c:
	  svthevcenc: Fix potential use of unitialized variable
	  In gst_svthevc_enc_propose_allocation if we don't get info from
	  the caps, we'd goto done, which could potentially try to unref
	  and unitialized pool variable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5476>

2023-10-20 13:50:16 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix deadlock when attempting to negotiate
	  This was wrongly calling the base class method, which unnecessairly took the stream lock, already taken by
	  handle_frame(). The drain() call in negotiate() would then wait for the output loop to pause, while that loop
	  is stuck waiting to take the stream lock, thus causing a deadlock.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5521>

2023-10-20 12:54:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Don't segfault on not-negotiated
	  Don't drain on finish if we didn't configure the encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5517>

2023-10-19 19:33:49 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxenums.h:
	* ext/onnx/gstonnxinference.cpp:
	* ext/onnx/gstonnxinference.h:
	  onnx: Remove enums file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4916>

2023-10-19 19:26:51 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstobjectdetectorutils.cpp:
	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/meson.build:
	* ext/onnx/tensor/gsttensorid.cpp:
	* ext/onnx/tensor/gsttensorid.h:
	  onnx: Remove unnecessary tensorid class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4916>

2023-10-19 16:16:21 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/meson.build:
	  onnx: Update to build against 1.16.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4916>

2023-06-26 10:55:53 -0400  Aaron Boxer <boxerab@protonmail.com>

	* ext/onnx/decoders/gstobjectdetectorutils.cpp:
	* ext/onnx/decoders/gstobjectdetectorutils.h:
	* ext/onnx/decoders/gstssdobjectdetector.cpp:
	* ext/onnx/decoders/gstssdobjectdetector.h:
	* ext/onnx/gstml.h:
	* ext/onnx/gstonnx.c:
	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxelement.c:
	* ext/onnx/gstonnxenums.h:
	* ext/onnx/gstonnxinference.cpp:
	* ext/onnx/gstonnxinference.h:
	* ext/onnx/gstonnxobjectdetector.cpp:
	* ext/onnx/gstonnxobjectdetector.h:
	* ext/onnx/meson.build:
	* ext/onnx/tensor/gsttensor.h:
	* ext/onnx/tensor/gsttensorid.cpp:
	* ext/onnx/tensor/gsttensorid.h:
	* ext/onnx/tensor/gsttensormeta.c:
	* ext/onnx/tensor/gsttensormeta.h:
	  onnx: add gstonnxinference element
	  This element refactors functionality from gstonnxinference element,
	  namely separating out the ONNX inference from the subsequent analysis.
	  The new element runs an ONNX model on each video frame, and then
	  attaches a TensorMeta meta with the output tensor data. This tensor data
	  will then be consumed by downstream elements such as gstobjectdetector.
	  At the moment, a provisional TensorMeta is used just in the ONNX
	  plugin, but in future this will upgraded to a GStreamer API for other
	  plugins to consume.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4916>

2023-10-10 10:39:55 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  tsmux: Fix default get_es_descrs_func
	  `tsmux_stream_default_get_es_descrs` is missing the `user_data`
	  parameter and shouldn't be cast to `TsMuxStreamGetESDescriptorsFunc`.
	  Prefer not casting at all to make sure we don't miss such an issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-10 10:22:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.h:
	  tsmux: Fix default new_stream_func
	  `tsmux_stream_new` is missing the `user_data` parameter and shouldn't be
	  cast to `TsMuxNewStreamFunc`.
	  Prefer not casting at all to make sure we don't miss such an issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-10 10:12:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  tsmux: Add missing include
	  We need `GstMpegtsPMTStream` here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-17 00:57:56 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Simplify tsmux_section_write_packet
	  - Don't try to make the parameters match `GHFunc`. Use a dedicated
	  callback for `g_hash_table_foreach`.
	  - Don't try to be clever with buffer memories. We're allocating a full
	  packet anyway, might as well memcpy and save on a lot of complexity.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-17 00:54:38 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: tsmux_packet_out should always consume its buffer
	  Consuming the buffer only when successful is an antipattern and easily
	  leads to leaks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-16 23:54:20 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Don't memset in pad_stream when writing a PCR packet
	  tsmux_write_ts_header will write a stuffing adaptation field, so we
	  don't need to prefill the buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-16 23:52:48 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Move out parameters of tsmux_write_ts_header
	  Move them to the end of the parameter list and also allow passing NULLs
	  to ignore the payload information, but assert that the payload length is
	  zero in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-16 23:50:16 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Fix two more uses of gst_buffer_map
	  The buffers should be used for writing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5496>

2023-10-18 14:19:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/dtls/meson.build:
	* ext/sctp/meson.build:
	* ext/srtp/meson.build:
	* meson.build:
	* meson_options.txt:
	  meson: Add a top-level option to enable webrtc
	  There are a bunch of plugins that you need for webrtc support, and
	  it's not obvious at all to users which those are.
	  With this commit, srtp, sctp and dtls options will be auto-enabled if
	  the webrtc option is enabled.
	  Requires meson 1.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5505>

2023-10-17 14:56:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265: Fix entry_point_offsets array leak
	  This array was being leaked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5499>

2023-10-17 12:42:59 -0400  Detlev Casanova <detlev.casanova@collabora.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  codecs: h265: Do not free slice header before using it
	  The v4l2codecs H.265 decoder uses the
	  GstH265SliceHdr::entry_point_offset_minus1 array so make sure that it is not
	  freed before decoding the frame.
	  Before this patch, some H.265 input would segfault in
	  gst_v4l2_codec_h265_dec_fill_slice_params() when executing the line:
	  guint32 entry_point_offset = slice_hdr->entry_point_offset_minus1[i] + 1;
	  Make sure that the array is not freed before using it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5499>

2023-10-17 21:07:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix deadlock on taking property mutex
	  SRWLOCK should be zero initialized, but since we changed the private
	  struct to C++, use C++ mutex instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5498>

2023-10-17 00:53:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Create ID3D11Buffer with initial data
	  ... and remove unnecessary device lock
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5492>

2023-10-17 00:12:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Don't set unnecessary constant buffer
	  Skip PSSetConstantBuffers() if it's not used by pixel shader
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5492>

2023-10-16 22:58:24 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegtsdemux: Fix comment about the jitter description
	  According to the information provided below, the Jitter (J) is
	  defined by a network delay (D) + a noise(i)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5494>

2023-10-16 15:41:48 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Fix error handling in pad_stream
	  Don't leak the map or the buffer if we encounter an error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5490>

2023-10-16 15:31:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Fill padding packets with stuffing bytes
	  Instead of leaving it uncleared, emitting probably old packet data but
	  potentially also random or sensitive application data.
	  Also fix the mapping mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5490>

2023-10-16 00:59:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11winrtcapture.cpp:
	  d3d11screencapturesrc: Fix HWND capture mode
	  Use per-monitor-aware context to cover different DPI settings per
	  monitor
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2425
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5485>

2023-10-15 18:58:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	  d3d11converter: Update shader code to make 4_0_level_9_1 compatible
	  4_0_level_9_1 target requires float4 SV_TARGET
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5483>

2023-10-15 01:47:29 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	  d3d11converter: Fix 10/12bits planar output
	  Simple division can result in 10/12bits overflow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5483>

2023-10-15 00:27:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Print calculated matrix for debugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5483>

2023-10-14 20:46:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Calculate gamma LUT only once
	  Reuse calculated gamma lookup table and use immutable 1D texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5482>

2023-10-14 20:22:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Remove unused variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5482>

2023-10-14 01:04:35 +0900  Seungha Yang <seungha@centricular.com>

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

2023-10-14 00:42:34 +0900  Seungha Yang <seungha@centricular.com>

	* docs/libs/dxva/index.md:
	* docs/libs/dxva/sitemap.txt:
	* docs/meson.build:
	* gst-libs/gst/dxva/gstdxvaav1.h:
	* gst-libs/gst/dxva/gstdxvaav1decoder.cpp:
	* gst-libs/gst/dxva/gstdxvaav1decoder.h:
	* gst-libs/gst/dxva/gstdxvah264decoder.cpp:
	* gst-libs/gst/dxva/gstdxvah264decoder.h:
	* gst-libs/gst/dxva/gstdxvah265decoder.cpp:
	* gst-libs/gst/dxva/gstdxvah265decoder.h:
	* gst-libs/gst/dxva/gstdxvampeg2decoder.cpp:
	* gst-libs/gst/dxva/gstdxvampeg2decoder.h:
	* gst-libs/gst/dxva/gstdxvatypedef.h:
	* gst-libs/gst/dxva/gstdxvavp8decoder.cpp:
	* gst-libs/gst/dxva/gstdxvavp8decoder.h:
	* gst-libs/gst/dxva/gstdxvavp9decoder.cpp:
	* gst-libs/gst/dxva/gstdxvavp9decoder.h:
	* gst-libs/gst/dxva/meson.build:
	  dxva: Build gir and remove SDK header dependency
	  Build gir for documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5481>

2023-10-13 21:40:45 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Hide non-default device from docs
	  ... and add since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5481>

2023-10-13 21:36:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix typo in property description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5481>

2023-10-02 21:57:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Add support for new preset/tune/multi-pass options
	  Adding new P1 ~ P7 presets and deprecate old preset values.
	  Also adding tune and multi-pass properties.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5428>

2023-10-13 09:28:41 +0300  Mart Raudsepp <leio@gentoo.org>

	* docs/plugins/gst_plugins_cache.json:
	* ext/bs2b/gstbs2b.c:
	  bs2b: Add missing space in plugin description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5477>

2023-10-13 10:04:39 +0300  Mart Raudsepp <leio@gentoo.org>

	* ext/colormanagement/gstlcms.c:
	  colormanagement: Fix typo in pipeline example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5478>

2023-10-12 16:25:59 +0530  Rahul T R <r-ravikumar@ti.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add TIDSS auto-detection
	  Add Texas Instruments TIDSS display controller into list of
	  auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5469>

2023-10-12 18:56:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/va/gstvadisplay_win32.cpp:
	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12fence.cpp:
	* sys/d3d12/meson.build:
	* sys/dwrite/gstdwrite-renderer.cpp:
	  d3d12, dwrite, va: Fix various msys2 build error/warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5454>

2023-10-10 09:52:48 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp: Use filter flag to handle passthrough for tone mapping
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5449>

2023-10-12 02:47:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Don't use DXGI_ALPHA_MODE_PREMULTIPLIED for HWND swapchain
	  It's allowed only for a swapchain type which does composition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5464>

2023-10-12 02:26:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix rendering with initial fullscreen state
	  Change fullscreen mode once the swapchain is fully configured
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5462>

2023-10-11 23:29:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix toggling between fullscreen and maximized
	  Use GetWindowPlacement() and SetWindowPlacement() APIs
	  to remember and restore window status, such as maximized, position,
	  restore position, etc.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3016
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5462>

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

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converterbuilder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converterbuilder.h:
	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.h:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/collect_hlsl_header.py:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	  d3d11converter: Add support for HLSL precompile and bytecode caching
	  Precompile pixel shaders for simple conversion path
	  (without gamma/primaries conversion) in case of MSVC build.
	  Even if runtime compile is required (cross-compiled or complex conversion
	  path), do it only once and reuse the compiled bytecode.
	  This precompile/caching can save about 95% of time taken by
	  gst_d3d11_converter_new() call.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3004
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5457>

2023-10-10 20:01:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11: Reuse sampler object
	  The linear sampler object can be reused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5457>

2023-10-10 19:35:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.h:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	  d3d11: Pass HLSL source size to compile function
	  The string size is known at build time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5457>

2023-10-09 01:05:34 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	  d3d11converter: Set alpha-mode using config
	  ... and disallow runtime alpha-mode update for now
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5457>

2023-10-06 20:46:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/hlsl/PSMain_checker.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d11/hlsl/PSMain_color.hlsl:
	* sys/d3d11/hlsl/PSMain_sample.hlsl:
	* sys/d3d11/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d11/hlsl/PSMain_snow.hlsl:
	* sys/d3d11/hlsl/VSMain_color.hlsl:
	* sys/d3d11/hlsl/VSMain_coord.hlsl:
	* sys/d3d11/hlsl/VSMain_pos.hlsl:
	* sys/d3d11/hlsl/gstd3d11plugin-hlsl.h:
	* sys/d3d11/hlsl/meson.build:
	  d3d11: Simplify HLSL build
	  Unify source/header/entrypoint names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5457>

2023-10-10 15:43:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: Fix tiled formats stride conversion
	  While adding arbitrary tile support, a round up operation was badly
	  converter. This caused the Y component of the stride to be 0. This
	  eventually lead to a crash in glupoad preceded by the following
	  assertion.
	  gst_gl_buffer_allocation_params_new: assertion 'alloc_size > 0' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5458>

2023-10-09 19:09:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Fix broken COM string conversion
	  WideCharToMultiByte return is the string length without null terminate
	  character if passed "cchWideChar" does not include the null terminate
	  character size. Instead of passing the exact string length, pass -1 so that
	  the API can understand the input string is null terminated already and
	  returned value from the API includes the character.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3023
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5444>

2023-08-10 16:40:41 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: use the pad's current caps to update caps_changed
	  The caps that were sent by the caps event can be retrieved from the sinkpad
	  using gst_pad_get_current_caps(). This is more reliable than using cur_caps as
	  we know exactly which caps upstream selected when the UVC host didn't select a
	  format, yet.
	  This further allows to simplify the check, if the uvcsink has to wait for the
	  caps event before switching to the internal v4l2sink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-18 15:40:02 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: use event function instead of probe
	  The probe passes all events except the EVENT_CAPS. Installing and removing the
	  probe doesn't provide any additional value.
	  Install an event function and always handle EVENT_CAPS. Use the caps_changed
	  field, to decide, if the element has to do anything special on a EVENT_CAPS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-19 11:22:03 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: refactor gst_uvc_sink_update_streaming
	  Move the sanity checks to the beginning of the function. Make the actual effect
	  of the function more obvious and reset the flags in the end.
	  This should make it easier to understand what this function is doing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-18 17:54:49 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: extract helper function for updating the stream state
	  The uvcsink may switch to the v4l2sink after a STREAMON either on a caps event
	  or on a caps query.
	  Extract the code that handles the STREAMON into a helper function, as this is
	  the same code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-19 10:24:04 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: extract common code to reset caps_changed
	  The caps_changed flag must be reset for streamon and streamoff. Extract it to a
	  common path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-18 15:52:40 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: remove separate function for buffer probe installation
	  The probe that installs the buffer probe is already on the correct pad. There is
	  no need for a separate function to install the probe.
	  While at it, change the signature of the probe functions to GstPadProbeCallback
	  to avoid the cast when installing the probes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-19 10:38:40 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: extract common code in idle_probe
	  The RECONFIGURE event has to be sent in streamon and streamoff. Extract the
	  common code to a separate branch to make it easier to understand.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-07-18 14:28:40 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: return caps when reading the host configured caps
	  The uvcsink calculates the caps for the format that the UVC host selected. The
	  gst_uvc_sink_parse_cur_caps() sets these caps as cur_caps as a side effect. This
	  behavior is surprising as cur_caps is later updated to reflect the actually used
	  caps.
	  Just return the configured caps to avoid side effects. This makes the function
	  easier to understand. Update the function name to reflect the new behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-06-12 23:31:24 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: fix event peer probe
	  The only job of the event peer probe is to catch the upcoming caps event
	  and be able to react with the sink change. All other events that are
	  passing the pad shall be passed and ignored.
	  Since the probe is a blocking probe, there is no use in returning
	  with GST_PAD_PROBE_OK on other events. Otherwise the event would just
	  be blocked.
	  Since we are handling the probe removal of the probe already in the
	  event switch, we can remove the second explicit probe removal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-06-16 01:05:22 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: drop useless debug messages in peer event probe
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4994>

2023-10-06 13:49:15 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: disable max-silence-time if set to 0
	  According to the property documentation max-silence-time is supposed to be
	  disabled when set to 0 but it was not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5442>

2023-10-05 13:34:14 +0800  James Oliver <james.oliver@icetana.com.au>

	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvh265encoder: fix bounds for auto-select GPU enumeration
	  Fixes the bounds-check for encoder auto-select GPU enumeration to be
	  between 0-7 instead of 0-6. This should allow 8-GPU machines to work
	  with nvautogpuh265enc for the last enumerated GPU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5438>

2023-10-05 13:29:49 +0800  James Oliver <james.oliver@icetana.com.au>

	* sys/nvcodec/gstnvh264encoder.cpp:
	  nvh264encoder: fix bounds for auto-select GPU enumeration
	  Fixes the bounds-check for encoder auto-select GPU enumeration to be
	  between 0-7 instead of 0-6. This should allow 8-GPU machines to work
	  with nvautogpuh264enc for the last enumerated GPU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5438>

2023-09-27 12:42:40 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/dash/gstdashsink.c:
	  dashsink: add dashmp4mux support
	  As mp4mux is not correctly suppporting the fragment generation,
	  see
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1722,
	  we deprecate and advertize the current status of usage.
	  Added the possibility to use the rust dashmp4mux element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5403>

2022-02-15 13:12:32 +0100  Stéphane Cerveau <scerveau@collabora.com>

	* ext/dash/gstdashsink.c:
	  dashsink: Do not reset muxer only for TS
	  The MP4 needs to be reset to continue to produce segments.
	  Closes #1015
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5403>

2023-10-03 15:05:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Update plugin cache for added DMA_DRM format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5386>

2023-09-27 13:55:33 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/assrender/gstassrender.c:
	* ext/qroverlay/gstbaseqroverlay.c:
	* ext/ttml/gstttmlrender.c:
	* gst/debugutils/gstfakevideosink.c:
	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
	  video-filters: Fix passthrough with ANY caps feature
	  With the support for DRM modifiers, passthrough caps must now include DMA_DRM
	  format, otherwise pipeline using thhese filters unconditionally may fail
	  to negotiate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5386>

2023-10-02 17:13:17 +0200  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: rist: Update cache for new properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5422>

2023-09-29 06:39:22 +0200  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* gst/rist/gstristsrc.c:
	  ristsrc: Add support for dynamic payload
	  This commit ports functionality from the `rtpsrc` to make the `ristsrc`
	  work with dynamic payload types.
	  It adds two properties:
	  - `caps`
	  - `encoding-name`
	  These can be used to make the `ristsrc` receive other payload types than
	  the MPEG TS one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5422>

2023-09-30 22:21:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.cpp:
	* gst-libs/gst/d3d11/gstd3d11shadercache.h:
	* gst-libs/gst/d3d11/meson.build:
	* meson_options.txt:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/hlsl/gstd3d11-hlsl.h:
	* sys/d3d11/hlsl/meson.build:
	* sys/d3d11/hlsl/ps-checker-luma.hlsl:
	* sys/d3d11/hlsl/ps-checker-rgb.hlsl:
	* sys/d3d11/hlsl/ps-checker-vuya.hlsl:
	* sys/d3d11/hlsl/ps-checker.hlsl:
	* sys/d3d11/hlsl/ps-color.hlsl:
	* sys/d3d11/hlsl/ps-sample-premul.hlsl:
	* sys/d3d11/hlsl/ps-sample.hlsl:
	* sys/d3d11/hlsl/ps-snow.hlsl:
	* sys/d3d11/hlsl/vs-color.hlsl:
	* sys/d3d11/hlsl/vs-coord.hlsl:
	* sys/d3d11/hlsl/vs-pos.hlsl:
	* sys/d3d11/meson.build:
	  d3d11: Add support for HLSL precompile and shader caching
	  Compile HLSL at build time in case of MSVC, and use it if device
	  supports shader model 5. Also cache/reuse pixel shader and vertex
	  shader objects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5426>

2023-09-30 20:30:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Use const buffer in shader
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5426>

2023-09-29 15:47:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Update plugins caches
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5412>

2023-09-27 20:44:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  video-format: Fix up video formats ordering by quality
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5412>

2023-09-29 15:07:42 +0200  Jordan Petridis <jordan@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/gstsvtav1enc.h:
	  svtav1enc: Avoid svtav1 defining TRUE/FALSE
	  Make sure we include the svt headers first and then undefine TRUE
	  and FALSE so we will only ever be using glib's defines for those.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5424>

2023-09-28 21:32:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Handle output surface alignment in decoder helper object
	  Output resolution might not be an even number. Set output resolution
	  without round up but consider the alignment inside of decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409>

2023-09-28 00:03:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvav1dec.h:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh264dec.h:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvh265dec.h:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp8dec.h:
	* sys/nvcodec/gstnvvp9dec.cpp:
	* sys/nvcodec/gstnvvp9dec.h:
	* sys/nvcodec/plugin.c:
	  nvdecoder: Add support for D3D11 output
	  Since DXVA does not support some profiles such as HEVC RExt,
	  vendor specific decoding API is still required.
	  When decoder is negotiated with d3d11 caps, decoder will convert
	  semi-planar frame to planar since semi-planar format (e.g.,
	  DXGI_FORMAT_NV12) is not supported by CUDA/D3D11 interop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409>

2023-09-27 23:02:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Handle GstContext in helper object
	  ... and move common code to helper object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409>

2023-09-27 20:50:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.cpp:
	  cuda: Use d3d11 token data for interop data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409>

2023-09-28 00:11:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaformat.h:
	  cuda: Add support for I420_12LE format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409>

2023-09-27 15:24:05 +0200  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Add a simple example for headless rendering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5405>

2023-09-20 09:53:41 +0200  David Svensson Fors <davidsf@axis.com>

	* ext/dash/gstdashsink.c:
	* ext/dash/gstmpdhelper.c:
	* ext/dash/gstmpdhelper.h:
	  dashsink: Use gst_codec_utils_caps_get_mime_codec()
	  Use gst_codec_utils_caps_get_mime_codec() in pbutils for codec
	  strings. That function gives more elaborate RFC 6381 compatible
	  strings than the helper functions in gstmdphelper.c, such as
	  "avc1.F4000D".
	  Remove the helper functions, as they were only used from dashsink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5404>

2023-09-27 12:33:39 +0200  Philippe Normand <philn@igalia.com>

	* gst/inter/gstinteraudiosink.c:
	  interaudiosink: Ensure adapters don't store buffers with audio meta
	  The interaudiosrc might take buffers of different sizes from the audio adapter,
	  so keeping metas consistency would be an issue. So the sink now strips the audio
	  metas away and the src adds them back (for non-interleaved layouts only) when
	  taking buffers from the adapter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5324>

2023-09-13 15:11:32 +0100  Philippe Normand <philn@igalia.com>

	* gst/inter/gstinteraudiosrc.c:
	  interaudiosrc: Add audio meta to buffers containing non-interleaved samples
	  Without this a downstream audioconverter wouldn't be able to map the
	  GstAudioBuffer prior to conversion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5324>

2023-09-27 08:46:35 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/qroverlay/gstqroverlay.c:
	  GstCustomMeta: Use simplified API where possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5385>

2023-08-09 00:20:46 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtdec.h:
	  vtdec: Handle output in separate thread
	  Moves outputting frames to a task on the source pad, bringing vtdec in line with vtenc.
	  This brings possible performance improvements thanks to decoupling queueing new frames from outputting processed ones.
	  The queue length is limited to `2*DBP` to prevent decoding too far ahead compared to what we're pushing downstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5163>

2023-09-27 01:12:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix crash on negotiate() when decoder is not configured
	  The negotiate() can be called by GstVideoDecoder baseclass on GAP event,
	  and decoder helper object might not be configured at the time
	  when negotiate() is called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5394>

2023-09-21 22:18:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecobject.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Add support for HEVC GBR output
	  ... and use P012 format for 12bits instead of P016
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2991
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5375>

2023-09-21 18:35:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvh265encoder: Add support for RGB encoding
	  Adding GBR format support to nv{autogpu,cuda,d3d11}h265enc.
	  Note that the only difference between GBR and Y444 encoding
	  is matrix_coeffs value written in VUI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5375>

2023-09-21 19:21:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaformat.h:
	  cuda: Add support for P012_LE and Y444/GBR high bitdepth formats
	  Adding P012, Y444_10, Y444_12, GBR_10, GBR_12 and GBR_16 formats support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5375>

2023-09-21 20:20:35 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11: Add support for GBR_16LE format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5375>

2023-09-21 19:50:31 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add GBR 16bits formats
	  Adding 16bits planar RGB formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5375>

2023-09-21 20:34:02 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp: fix an issue which causes dangling pointer
	  Put all the external buffer structures into thiz to avoid being freed
	  early.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5377>

2023-09-20 22:54:06 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Set discont state after new_picture()
	  Subclass might negotiate with downstream inside of the new_picture().
	  Set discont state after the new_picture() call
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5368>

2023-08-10 15:47:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfd10.c:
	  mxfdemux: Check number of channels for AES3 audio
	  Only up to 8 channels are allowed and using a higher number would cause
	  integer overflows when copying the data, and lead to out of bound
	  writes.
	  Also check that each buffer is at least 4 bytes long to avoid another
	  overflow.
	  Fixes ZDI-CAN-21661, CVE-2023-40475
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2897
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5362>

2023-08-10 15:45:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfup.c:
	  mxfdemux: Fix integer overflow causing out of bounds writes when handling invalid uncompressed video
	  Check ahead of time when parsing the track information whether
	  width, height and bpp are valid and usable without overflows.
	  Fixes ZDI-CAN-21660, CVE-2023-40474
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2896
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5362>

2023-08-09 12:49:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix possible overflow using max_sub_layers_minus1
	  This fixes a possible overflow that can be triggered by an invalid value of
	  max_sub_layers_minus1 being set in the bitstream. The bitstream uses 3 bits,
	  but the allowed range is 0 to 6 only.
	  Fixes ZDI-CAN-21768, CVE-2023-40476
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2895
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5364>

2023-09-08 00:26:51 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix deadlock after GST_FLOW_ERROR is received on frame push
	  This was easy to trigger when testing with e.g. vtenc ! vtdec ! glimagesink and closing the sink via window button,
	  causing GST_FLOW_ERROR to be received by the output loop, stopping it with the queue still full. This made the
	  enqueue_buffer() callback to lock waiting for space in our queue, while handle_frame() was waiting for the internal
	  VideoToolbox queue to free up, so that VTCompressionSessionEncodeFrame could finish. As the output loop was not
	  running, both functions waited forever.
	  Fixed by 1) immediately emptying our queue when GST_FLOW_ERROR is received (like we already did with _FLUSHING)
	  and 2) unconditionally setting the flushing flag in finish_encoding() when it sees the output loop stopped because
	  of GST_FLOW_ERROR, so that enqueue_buffer() will immediately discard any new frames coming out of VideoToolbox.
	  Both of those make sure we never run into the both-queues-full scenario.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5303>

2023-09-20 01:37:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12av1dec.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h264dec.h:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12h265dec.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Add support for D3D11 interop
	  As a short-term solution before full d3d12 rendering feature,
	  copy decoded d3d12 texture to shared d3d11 texture in order to use
	  existing various d3d11 implementations such as conversion, resizing,
	  and videosink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5356>

2023-09-20 01:13:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Allow CreateSharedHandle() without keyed mutex
	  For d3d11 resource to be shared with d3d12, keyed mutex shouldn't
	  be enabled since d3d12 resource does not expose the keyed mutex
	  interface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5356>

2023-09-20 00:09:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12decoder: Move common part to helper object
	  Store device at helper object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5356>

2023-09-19 18:57:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12fence.cpp:
	  d3d12fence: Check completed value before waiting
	  If currently completed fence value is larger than target value,
	  skip waiting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5356>

2023-09-11 18:12:28 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Fix cropping for video with non-square aspect ratio
	  Padding of unaligned content is still visible at right with some aspect-ratio.
	  Fix this by giving the original content resolution to wp_viewport_set_source()
	  instead of pixel aspect ratio scaled one.
	  Fixes !5259
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5346>

2023-06-14 11:24:49 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: do not use drm dumb pool when importing DMAbuf buffers
	  There is no need to use DRM dumb pool if buffer to
	  render is already a DMABuf, just import it and render it.
	  This fixes a DMAbuf memory leakage when waylandsink downstream
	  element exports DMABuf while waylandsink is configured to be
	  DMABuf exporter (drm-device=/drv/dri/card0):
	  gst-launch-1.0 v4l2src io-mode=4 ! gtkwaylandsink drm-device=/dev/dri/card0
	  leakage identfied with command:
	  watch "cat /sys/kernel/debug/dma_buf/bufinfo | grep attached "
	  Fixes #2729
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5350>

2023-06-14 16:19:49 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: do not use drm dumb pool when importing DMAbuf buffers
	  There is no need to use DRM dumb pool if buffer to
	  render is already a DMABuf, just import it and render it.
	  This fixes a DMAbuf memory leakage when waylandsink downstream
	  element exports DMABuf while waylandsink is configured to be
	  DMABuf exporter (drm-device=/drv/dri/card0):
	  gst-launch-1.0 v4l2src io-mode=4 ! waylandsink drm-device=/dev/dri/card0
	  leakage identfied with command:
	  watch "cat /sys/kernel/debug/dma_buf/bufinfo | grep attached "
	  Fixes #2729
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5350>

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

	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11vp9dec: Fix critical warning
	  Don't query GPU vendor using null device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5353>

2023-09-18 23:38:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12decoder: Add support for d3d12 output
	  ... and enable zero-copy decoding if downstream supports d3d12 memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 21:00:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Use GstD3D12BufferPool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 20:27:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Use global copy queue and fence value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 22:56:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/plugin.cpp:
	  d3d12: Remove unused debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 18:54:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	* sys/d3d12/gstd3d12download.cpp:
	* sys/d3d12/gstd3d12download.h:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12download element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 01:31:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12bufferpool.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/meson.build:
	  d3d12: Add GstD3D12BufferPool
	  Adding d3d12 specific bufferpool impl.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 00:44:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12utils.h:
	  d3d12memory: Add GstD3D12AllocationParams struct
	  Will be used for buffer pool configuration. And update C++ helper
	  to reduce the number of required arguments
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-17 23:53:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	  d3d12memory: Make d3d12memory CPU accessible
	  Add support for gst_memory_{map,unmap} without GST_MAP_D3D12 flag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-18 21:27:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Fix d3d12sdklayer setup and d3d12device debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5345>

2023-09-09 15:12:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: don't update size in info for single plane images
	  Don't update info's size with the VA image reported data size for single plane
	  images, since drivers might allocate bigger space than the strictly required to
	  store the image, but when we dump the buffer as is (using filesink, for example)
	  the produced stream is corrupted. For multi-plane images video meta is required
	  to read/write them.
	  We updated info's size because gstreamer-vaapi did it too, but the reason to
	  update it there was for uploading and rendering surfaces (commit c698a015).
	  Furthermore, this patch adds an error message if the allocated data size for the
	  image by the driver is lesser than the expected because it would be a buggy
	  driver.
	  Fixes: #2959
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5308>

2023-09-14 20:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/meson.build:
	  msdk: meson: don't warn deprecated symbols
	  Since it's impossible to not to use any because any possible version mismatch
	  between the header and the runtime, such in the case of the denoise structure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5283>

2023-09-14 20:14:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: fix method declaration signature
	  Thus silencing a compilation warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5283>

2023-09-15 23:55:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12av1dec.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add AV1 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4161>

2023-09-15 23:53:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add VP9 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4161>

2023-09-15 23:52:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12h265dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add H.265 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4161>

2023-09-10 23:34:26 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12fence.cpp:
	* sys/d3d12/gstd3d12fence.h:
	* sys/d3d12/gstd3d12format.cpp:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h264dec.h:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12utils.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	* sys/meson.build:
	  d3d12: Add H.264 decoder
	  Adding Direct3D12 h264 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4161>

2023-09-16 23:57:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11av1dec.h:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11decoder.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h264dec.h:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11h265dec.h:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.h:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.h:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.h:
	* sys/d3d11/meson.build:
	  d3d11decoder: Port to GstDxva
	  Use new DXVA baseclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4161>

2021-11-28 19:29:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/dxva/dxva-prelude.h:
	* gst-libs/gst/dxva/gstdxva.h:
	* gst-libs/gst/dxva/gstdxvaav1.h:
	* gst-libs/gst/dxva/gstdxvaav1decoder.cpp:
	* gst-libs/gst/dxva/gstdxvaav1decoder.h:
	* gst-libs/gst/dxva/gstdxvah264decoder.cpp:
	* gst-libs/gst/dxva/gstdxvah264decoder.h:
	* gst-libs/gst/dxva/gstdxvah265decoder.cpp:
	* gst-libs/gst/dxva/gstdxvah265decoder.h:
	* gst-libs/gst/dxva/gstdxvampeg2decoder.cpp:
	* gst-libs/gst/dxva/gstdxvampeg2decoder.h:
	* gst-libs/gst/dxva/gstdxvatypes.h:
	* gst-libs/gst/dxva/gstdxvautils.cpp:
	* gst-libs/gst/dxva/gstdxvautils.h:
	* gst-libs/gst/dxva/gstdxvavp8decoder.cpp:
	* gst-libs/gst/dxva/gstdxvavp8decoder.h:
	* gst-libs/gst/dxva/gstdxvavp9decoder.cpp:
	* gst-libs/gst/dxva/gstdxvavp9decoder.h:
	* gst-libs/gst/dxva/meson.build:
	* gst-libs/gst/meson.build:
	  dxva: Add DXVA decoder baseclass implementation
	  Extract Direct3D version independent common DXVA logic from d3d11
	  decoder so that it can be used by the other APIs (D3D9 and D3D12)
	  as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4161>

2023-09-14 01:18:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	  h264decoder: Update latency dynamically
	  The actual number of reorder frames is unknown
	  unless frame reordering is disabled
	  (e.g., POC type 2 or constrained-* profiles).
	  Also derived maximum DPB size or max_num_reorder_frames in VUI
	  is not the upper bound of output delay.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2702
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5326>

2023-09-16 23:26:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecobject.cpp:
	* sys/nvcodec/gstnvdecobject.h:
	* sys/nvcodec/gstnvdecoder.cpp:
	  nvdecoder: Copy output frame if needed
	  Even if decoder is negotiated with CUDA memory feature, if downstream
	  proposed no buffer pool, assume that the pool size is unknown.
	  And disable zero-copy if there's no more free output surface.
	  Or, in case of reverse playback, always copy frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5338>

2023-09-16 22:59:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265dec.cpp:
	  nvh265dec: Reconfigure decoder on max-dpb-size change
	  Decoder should create new picture pool for larger DPB size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5338>

2023-09-16 22:49:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11h265dec.cpp:
	  d3d11h265dec: Reconfigure decoder on max-dpb-size change
	  Decoder should create new picture pool for larger DPB size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5338>

2023-09-16 03:13:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Fix segmentation params update
	  Even if the segmentation feature value is not updated,
	  the parsed "segmentation_update_map" and "segmentation_temporal_update"
	  values should not be cleared as it's referenced during lower
	  level bitstream parsing. Also, don't use assert() in parser
	  unless it's clearly impossible condition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5334>

2023-09-15 19:54:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix DPB overflow
	  If DPB is full already, GstH265Decoder::new_picture() might fail if
	  subclass uses fixed size picture pool and its size is equal to the DPB
	  size. Call the new_picture() after DPB is cleared in gst_h265_decoder_dpb_init()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5333>

2023-09-15 11:06:52 +1000  Matthew Waters <matthew@centricular.com>

	* sys/androidmedia/gstamcvideoenc.c:
	  androidmedia/enc: handle codec-data before popping GstVideoCodecFrames
	  Issue is that when amc was producing a codec-data buffer, a
	  GstVideoCodecFrame was being popped off the internal queue.  This meant
	  that the codec-data was being associated with the first input frame and
	  the second (first encoded buffer) output buffer with the second input
	  frame.  At the end (assuming one input produces one output which seems
	  to hold in my testing and how the encoder is currently implemented)
	  there would be an input frame missing and would be pushed without any
	  timing information.  This would lead to e.g. muxers rejecting the buffer
	  without PTS and failing to mux.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5330>

2023-09-15 11:06:07 +1000  Matthew Waters <matthew@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamcvideoenc.c:
	  androidmedia/enc: add fixme log about partial frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5330>

2023-07-20 15:46:32 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/msdk-enums.c:
	  msdkvpp: Add compute scaling mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5128>

2023-08-11 15:20:30 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp: Enable HDR-to-SDR tone mapping
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5277>

2023-08-11 11:52:19 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	* sys/msdk/msdk.h:
	  msdkvpp: Set color properties for input and output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5277>

2023-09-12 13:05:43 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/vkcolorconvert.c:
	  vulkancolorconvert: actually support passthrough correctly
	  e.g. passthrough of YUV (or RGB) formats should not modify any buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5317>

2023-07-18 10:00:19 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkh265enc.h:
	  msdkh265enc: Use vpl APIs to handle HDR SEIs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5135>

2023-09-05 14:15:04 +0200  Thomas Schneider <thomas.schneider@voliro.ch>

	* sys/androidmedia/gstamc.c:
	  androidmedia: fix hevc codec profile registration
	  Fix the codec registration logic such that all supported
	  profiles are available instead of just the first in the
	  list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5282>

2023-09-06 17:01:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/gstrtmp2locationhandler.c:
	  rtmp2: Set default flash version to NULL
	  This is consistent with the librtmp-based old rtmp plugin and ffmpeg.
	  While some servers require a valid flash-version, others are failing
	  with a too long or any flash-version at all.
	  By changing to the same default as in the old plugin and in ffmpeg,
	  GStreamer will at least behave the same and will work and fail with the
	  same servers without setting a flash-version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5293>

2023-09-10 19:13:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Update cache after template pixel formats changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5304>

2023-09-08 15:03:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Use generated formats list
	  Update the order according to what the generator produces.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5304>

2023-09-08 17:54:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkbufferimagepool: short circuit usage for decoding
	  NVIDIA & RADV drivers don't report decoding features for color format. Setting
	  requested usage to zero to short circuit validation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288>

2023-09-06 13:13:27 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: assume that unknown rgb transfer is sRGB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288>

2023-09-06 12:46:32 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* tests/check/libs/vkformat.c:
	  vkformat: also check configured usage flags
	  This does also mean that if the primary format fails this check, we need
	  to try the secondary format before returning an error
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2957
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288>

2023-09-06 12:41:29 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* tests/check/libs/vkformat.c:
	  vkformat: invert srgb and multiplane && planes > 1 checks
	  The primary format for RGB includes sRGB transfer but was not actually
	  being used.
	  The !(no_multiplane && planes > 1) check for YUV resulted in those
	  formats never being used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288>

2023-09-06 12:29:05 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: FORMAT_FEATURE_COLOR_ATTACHMENT also includes INPUT_ATTACHMENT
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288>

2023-09-06 12:23:57 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: reorder RGBA formats before RGBx formats
	  Fixes gst_vulkan_format_to_video_format to use the RGBA formats instead
	  of RGBx formats.
	  Fixes vulkansink exposing a RGBx/BGRx format instead of the more
	  relevant RGBA/BGRA formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288>

2023-09-05 23:36:47 +0200  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h264/h265parser: clarify some gtk-doc annotations
	  Needed for the documentation since the transfer
	  is not obvious.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5287>

2023-09-07 20:06:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Fix potential integer overflow
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2961
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5295>

2023-09-06 01:00:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Move common logic to decoder helper object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 23:06:19 +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: Move common logic to decoder helper object
	  We can remove duplicated code by using the GstCodecPicture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 22:21:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1decoder.h:
	* gst-libs/gst/codecs/gstav1picture.c:
	* gst-libs/gst/codecs/gstav1picture.h:
	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/va/gstvaav1dec.c:
	  av1decoder: Port to GstCodecPicture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 22:14:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.h:
	* gst-libs/gst/codecs/gstvp9picture.c:
	* gst-libs/gst/codecs/gstvp9picture.h:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/va/gstvavp9dec.c:
	  vp9decoder: Port to GstCodecPicture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 22:01:21 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.h:
	* gst-libs/gst/codecs/gstvp8picture.c:
	* gst-libs/gst/codecs/gstvp8picture.h:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/va/gstvavp8dec.c:
	  vp8decoder: Port to GstCodecPicture struct
	  ... and remove unused "pts" variable from GstVp8Picture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 21:50:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.h:
	* gst-libs/gst/codecs/gstmpeg2picture.c:
	* gst-libs/gst/codecs/gstmpeg2picture.h:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/va/gstvampeg2dec.c:
	  mpeg2decoder: Port to GstCodecPicture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 21:37:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.h:
	* gst-libs/gst/codecs/gsth265picture.c:
	* gst-libs/gst/codecs/gsth265picture.h:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/va/gstvah265dec.c:
	  h265decoder: Port to GstCodecPicture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-05 21:27:30 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264decoder.h:
	* gst-libs/gst/codecs/gsth264picture.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/va/gstvah264dec.c:
	  h264decoder: Port to GstCodecPicture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-03 01:46:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstcodecpicture-private.h:
	* gst-libs/gst/codecs/gstcodecpicture.c:
	* gst-libs/gst/codecs/gstcodecpicture.h:
	* gst-libs/gst/codecs/meson.build:
	  codecs: Define common codec picture struct
	  Adding parent class of codec picture struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285>

2023-09-04 20:39:36 +0200  Robert Mader <robert.mader@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	* gst-libs/gst/wayland/meson.build:
	  wlvideoformat: Add P010
	  It is similar to NV12 but has 10bits per channel instead of 8.
	  As it is supported by many modern GPUs, VA-API and an increasing
	  number of Wayland compositors, let's support it as well.
	  Also bump the required libdrm version accordingly and add a temporary
	  define for the WL_SHM format.
	  Tested with Weston, Mutter and Sway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5275>

2023-09-06 15:26:48 +0200  Robert Mader <robert.mader@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  waylandsink: Move format caps list to shared library
	  So it can be shared and more easily updated. While on it, order the
	  formats according to the documentation for GstVideo.VIDEO_FORMATS_ALL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5275>

2023-09-03 13:21:30 +0000  Akihiro Sagawa <sagawa.aki@gmail.com>

	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
	  codecparsers: Fix MPEG-1 aspect ratio table
	  The values defined in ISO/IEC 11172-2 are different from those used so far.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5272>

2023-09-06 15:40:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: use in_info rather than input_state->info
	  The in_info is correct video info which already considers the
	  DMA kind caps case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5289>

2023-09-01 17:26:51 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: Add modifier paramters check for va_create_surfaces()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5267>

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

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Fix timecode parsing
	  The scaling factor for nFrame part should be "(1 + nuit_field_based_flag) / 2"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5254>

2023-08-29 12:36:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: retry if surface creation fails
	  Old versions of mesa doesn't support VASurfaceAttribDRMFormatModifiers. To
	  solve it, by just ignoring the modifiers assuming that linear is accepted and
	  produced, the creation of frames will be tried again without that attribute.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5256>

2023-08-29 20:33:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabase.c:
	* sys/va/gstvabase.h:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	  va: refactor caps convertion to va caps
	  To avoid code duplication in code related with buffer importation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5257>

2023-08-29 12:21:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabase.c:
	* sys/va/gstvabase.h:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: refactor buffer import
	  This patch removes the code duplication of input buffer importation, in all the
	  va elements that import video frames. It defines a synthetic object whose
	  members are required to create a new input buffer and do the importation of the
	  upstream buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5257>

2023-08-29 14:55:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Crop surfaces to their display width height
	  Setting the surface source rectangle has been omitted so far. As a side effect
	  surface created with padded width/height are being scaled down. Fix this using
	  the viewporter source rectangle configuration. This can later be enhanced
	  to support crop meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5259>

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

	* docs/plugins/gst_plugins_cache.json:
	* ext/qt6d3d11/plugin.cpp:
	  qt6d3d11: Add plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258>

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

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update Windows plugin docs
	  Updating wasapi, wasapi2, mediafoundation, and winks plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258>

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

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

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

	* docs/plugins/gst_plugins_cache.json:
	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwrite: Add plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258>

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

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11ipcclient.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11: Update plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258>

2023-08-15 21:31:40 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Add the DMA buffer input support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5189>

2023-08-15 21:25:41 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va: encoder: Add in_info field to base encoder
	  When we consider the DMA kind caps as input, the input_state->info
	  only contains the video format of GST_VIDEO_FORMAT_DMA_DRM, which
	  is not enough for va plugins. The new info in base encoder contains
	  the correct video info after the DMA caps parsing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5189>

2023-08-28 20:58:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Passthrough allocation query on same caps
	  Since d3d11convert and its variant elements does not enable basetransform's
	  passthrough, passthrough allocation query needs to be handled
	  manually in order to respect downstream element's min/max buffer
	  requirement.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5255>

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

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Use premultiplied-alpha swapchain
	  Don't ignore alpha component if it's present
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5242>

2023-08-25 22:27:10 +0900  Seungha Yang <seungha@centricular.com>

	* ext/codec2json/meson.build:
	  codec2json: Fix plugin loading on Windows
	  * Library versioning should not be used for plugins since it will add
	  -{version}.dll suffix (and versioned libraries on Linux with symlink).
	  Then the library file name and plugin init function name mismatch
	  will result in blacklisted plugin.
	  * Don't define BUILDING_GST_CODECS, makes no sense
	  * Don't define G_LOG_DOMAIN, which should be used only for libraries,
	  not plugins
	  * Depends on gstcodecparsers libary, not gstcodecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5249>

2023-08-24 21:29:29 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* tests/validate/testsrcbin/caps_spec/flow-expectations/log-testsrcbin0-video_src_0-expected:
	  video: Fix ordering of video formats in GST_VIDEO_FORMATS_ALL_STR
	  This now follows the algorithm again that is described in the
	  documentation and implemented in gstreamer-rs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5243>

2023-08-23 19:17:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcclient.cpp:
	* sys/nvcodec/gstcudaipcsrc.cpp:
	  cudaipcclient: Protect IPC handle import/close with global lock
	  Protect import/close with signle lock to avoid importing a IPC handle
	  while it's being closed by another cudaipcsrc from other thread.
	  Also fixing cuda context leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5230>

2023-08-24 17:40:42 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2: Allow NULL flash version, omitting the field
	  rtmpsink omits it by default. Allow us to do the same.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5241>

2023-08-24 12:12:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvadisplay_priv.c:
	  va: Fix in error logs functions mismatches
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5236>

2023-08-24 13:32:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Remove assertion for resolution change in input state
	  This is reported from https://bugs.webkit.org/show_bug.cgi?id=259032
	  Though I couldn't reproduce the issue, it looks to me unneeded to assert for
	  resolution changes in old frames, since renegotiation is carried out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5237>

2023-08-23 19:27:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix negotiation error when interlace-mode is unspecified
	  Use GST_PAD_SET_ACCEPT_INTERSECT() to accept caps without interlace-mode
	  field
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5229>

2023-08-21 17:17:43 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  va: compositor: Use va_get_surface_usage_hint() to get the usage hint
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210>

2023-08-21 16:54:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvaencoder.c:
	  va: baseenc: Use va_get_surface_usage_hint() to get the usage hint
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210>

2023-08-21 16:50:39 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacaps.c:
	  va: Use va_get_surface_usage_hint() to detect the modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210>

2023-08-21 16:33:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	  va: basedec: Use va_get_surface_usage_hint() to get the usage hint
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210>

2023-08-21 15:59:33 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: basetransform: Use va_get_surface_usage_hint() to get the usage hint
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210>

2023-08-21 15:03:56 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	  va: Add helper function va_get_surface_usage_hint()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210>

2023-08-24 11:32:51 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: add support for A420/A422/A444 16-bit formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5233>

2023-08-23 16:33:16 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: add support for 12-bit A420/A422/A444
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5226>

2023-08-22 14:54:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Restore support for render-rectangle
	  Fixes #2519
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5221>

2023-08-15 19:55:34 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* tests/check/elements/h265parse.c:
	  h265parser: Allow partially broken hvcC data
	  Ignores parsing error on the last nalu of the array if the nalu type
	  is not VPS/SPS/PPS
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2905
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5188>

2023-08-23 18:07:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/win32ipc/protocol/win32ipcpipeserver.cpp:
	  win32ipc: Fix pipe handle leak
	  Named pipe handle must be closed if it's no longer needed
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2923
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5228>

2023-08-21 21:02:01 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: add support for 8-bit A422/A444
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5213>

2023-07-17 16:21:47 +0000  Rabindra Harlalka <13387-rabindra-harlalka@users.noreply.gitlab.freedesktop.org>

	* ext/aes/gstaesenc.c:
	  aesenc: Fix IV length addition to output buffer length
	  Add length of IV to output buffer length only for the first buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5093>

2023-08-18 18:21:18 +1000  Jan Schmidt <jan@centricular.com>

	* ext/mdns/gstmicrodnsdevice.c:
	  mdns: Fix a crash on context error
	  Make sure not to free the microdns provider context until the
	  device provider asks it to stop. Fixes a crash if there is
	  an error (such as MDNS port being busy) that makes the
	  mdns listener exit early.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5198>

2023-08-18 09:27:36 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: fix crash if message conversion failed
	  The message pointer is not set so we can't display it in logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5197>

2020-09-25 17:18:10 +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/nice/nice.c:
	  webrtcice: Add webrtc ALPN header for HTTP proxy
	  Section 3.4 in RFC8835 states that if a WebRTC endpoint uses an HTTP
	  proxy to access the Internet it MUST include the "ALPN" header. This
	  commit adds this header.
	  By default the ALPN used when connecting to the TURN/TCP server via a
	  proxy is set to "webrtc". It can be changed by adding an alpn url
	  option for the http-proxy. For example:
	  http://user:pass@my.http.proxy.com:8080?alpn=c-webrtc
	  This will add the header "ALPN: c-webrtc" to the HTTP proxy CONNECT
	  request.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4212>

2023-08-16 13:43:56 +0000  L. E. Segovia <amy@amyspark.me>

	* sys/applemedia/avsamplevideosink.m:
	* sys/applemedia/helpers.c:
	  applemedia: Also fix inconsistent pixel format definition for NV12
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5191>

2023-08-15 21:45:56 +0000  L. E. Segovia <amy@amyspark.me>

	* sys/applemedia/coremediabuffer.c:
	* sys/applemedia/corevideobuffer.c:
	* sys/applemedia/helpers.c:
	  applemedia: Fix pixel format for I420
	  In Intel Macs, using full range 8-bit 4:2:0 YCbCr results in a failure on
	  initialization. I've validated this to be the correct pixel format with FFmpeg:
	  https://github.com/FFmpeg/FFmpeg/blob/8653dcaf7d665b15b40ea9a560c8171b0914a882/libavutil/hwcontext_videotoolbox.c#L45
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5191>

2023-08-14 21:58:29 -0300  L. E. Segovia <amy@centricular.com>

	* sys/d3d11/gstd3d11ipcclient.cpp:
	* sys/nvcodec/gstcudaipcclient.cpp:
	  windows: Fix mutexes leaking into the exports table
	  Translation unit-local variables must be marked static on Windows,
	  otherwise they're made available to the whole binary.
	  See:
	  https://learn.microsoft.com/en-us/cpp/cpp/program-and-linkage-cpp?view=msvc-170#external-vs-internal-linkage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5185>

2023-08-12 21:16:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Use C++ atomic instead of GLib
	  Release-Acquire ordering could be faster than MemoryBarrier()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5176>

2023-08-12 00:58:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2ringbuffer: Don't use GLib's weak pointer implementation
	  GWeakRef takes global mutex. Use C++ weak_ptr which will perform
	  atomic operation internally.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5176>

2023-08-13 00:31:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Add workaround for gir build
	  ERROR:../girepository/girparser.c:343:state_switch:
	  assertion failed: (ctx->state != newstate)
	  Bail out! ERROR:../girepository/girparser.c:343:state_switch:
	  assertion failed: (ctx->state != newstate)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-04-19 01:56:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipc.cpp:
	* sys/nvcodec/gstcudaipc.h:
	* sys/nvcodec/gstcudaipcclient.cpp:
	* sys/nvcodec/gstcudaipcclient.h:
	* sys/nvcodec/gstcudaipcclient_unix.cpp:
	* sys/nvcodec/gstcudaipcclient_unix.h:
	* sys/nvcodec/gstcudaipcclient_win32.cpp:
	* sys/nvcodec/gstcudaipcclient_win32.h:
	* sys/nvcodec/gstcudaipcserver.cpp:
	* sys/nvcodec/gstcudaipcserver.h:
	* sys/nvcodec/gstcudaipcserver_unix.cpp:
	* sys/nvcodec/gstcudaipcserver_unix.h:
	* sys/nvcodec/gstcudaipcserver_win32.cpp:
	* sys/nvcodec/gstcudaipcserver_win32.h:
	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudaipcsink.h:
	* sys/nvcodec/gstcudaipcsrc.cpp:
	* sys/nvcodec/gstcudaipcsrc.h:
	* sys/nvcodec/gstnvcodecutils.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add support for CUDA IPC
	  Adding cudaipc{src,sink} element for CUDA IPC support.
	  Implementation note:
	  * For the communication between end points, Win32 named-pipe
	  and unix domain socket will be used on Windows and Linux respectively.
	  * cudaipcsink behaves as a server, and all GPU resources will be owned by
	  the server process and exported for other processes, then cudaipcsrc
	  (client) will import each exported handle.
	  * User can select IPC mode via "ipc-mode" property of cudaipcsink.
	  There are two IPC mode, one is "legacy" which uses legacy CUDA IPC
	  method and the other is "mmap" which uses CUDA virtual memory API
	  with OS's resource handle sharing method such as DuplicateHandle()
	  on Windows. The "mmap" mode might be better than "legacy" in terms
	  of stability since it relies on OS's resource management but
	  it would consume more GPU memory than "legacy" mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-06-04 00:53:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	  cudabufferpool: Add support for virtual memory
	  Configure malloc or mmap allocator depending on config option
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-06-03 23:58:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cudacontext: Add memory allocation related properties
	  Adding "virtual-memory" and "os-handle" properties. New properties
	  will be used to query device's capability
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-08-10 01:37:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	  cudamemory: Add support for virtual memory in pool allocator
	  Adding new memory pool allocator for virtual memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-06-10 17:48:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cudamemory: Add support for virtual memory management
	  Adding new CUDA memory allocation methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-08-10 01:58:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load virtual memory management and IPC API symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510>

2023-08-13 22:02:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritetimeoverlay.cpp:
	  dwritetimeoverlay: Fix debug category name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5179>

2023-08-13 21:58:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwrite-renderer.cpp:
	  dwrite: Re-add background geometry combine
	  If glyphrun unit is changed in a single line, there could be
	  overlapped background area which result in drawing background
	  twice. Adding geometry combine so that background geometry objects
	  with the same color can be merged and rendered at once
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5179>

2023-08-11 12:03:59 +0000  Marcin Kolny <marcin.kolny@gmail.com>

	* ext/qroverlay/gstqroverlay.c:
	  qroverlay: fix updating "data" property in qroverlay element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5175>

2023-08-10 23:39:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/plugin.c:
	  va: Update decoder ranks
	  Most software decoders are ranked as primary, so use primary + 1 for
	  all codecs except for jpeg.
	  But ranks should be demoted on Windows since it's still experimental
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5169>

2023-06-13 03:36:45 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Add max-display-delay property
	  The same as in old nvdec implementation so that user can control
	  the number of delayed output frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4841>

2023-06-13 03:05:48 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	  nvdecoder: Reduce DPB size
	  Decoder will copy decoded picture to downstream buffer or output CUDA
	  memory even in case of zero-copy mode. Additional margin should be unnecessary
	  unless baseclass passed wrong max DPB size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4841>

2023-08-08 14:42:40 +0100  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/wasapi/gstwasapiutil.c:
	* sys/wasapi/meson.build:
	  wasapi: Don't redefine GUIDs when building under newer MinGW
	  Latest MSYS2 MinGW provides these now, so we don't need to define them
	  if they're already present in the header.
	  The AudioClient3 GUID requires the Windows 10 SDK, so it's only
	  available in the latest MinGW, and the MinGW in Cerbero is too old.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155>

2023-08-08 16:00:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/wasapi/gstwasapiutil.c:
	  wasapi: Remove obsolete ifdefs for older MinGW
	  We no longer ship that ancient MinGW toolchain, and it's causing build
	  errors with MSYS2 now:
	  https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/46866129
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155>

2022-04-27 17:03:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/plugin.c:
	  va/vaapi: promote va ranks and demote vaapi ones
	  VA decoders implementation has been verified from 1.18 through 1.22
	  development cycles and also via the Fluster test framework. Similar
	  to other cases, we can prefer hardware over software in most cases.
	  At the same time, GStreamer-VAAPI decoders are demoted to NONE to
	  avoid collisions. The first step to their deprecation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2312>

2023-08-09 00:36:35 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix cosmetic issues
	  Removes accidental GST_VIDEO_DECODER macro usage.
	  Also sets the initial size of the output queue to avoid having to expand when first buffers come through.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5164>

2023-08-06 09:23:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/lc3/meson.build:
	  lc3: fix pkg-config file lookup
	  There's a mismatch between the pkg-config file ('lc3')
	  and the subproject/wrap which meant an installed liblc3
	  wasn't picked up.
	  Fixes #2883
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5151>

2022-11-21 11:33:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: Enable Mediatek 10bit 4:2:0 support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444>

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

	* docs/plugins/gst_plugins_cache.json:
	  video: Add Mediatek 10bit formats
	  These 10bit formats are identical to NV12_16L32S, but 64bytes of data is being
	  prefixed with 16bytes data with four pixels of lower 2bits per byte. For
	  MT2110T, the lower two bits set so each bytes contains a column of 4 pixels,
	  also describe as tiled lower 2 bits. MT2110T has been chosen as a name to match
	  the vendor chosen name. This format is unlikely to exist for other vendors.
	  For MT2110R, the 2 low bits are in raster order.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444>

2023-08-07 14:59:25 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Set SRTO_IPV6ONLY to 0 by default
	  Since SRT 1.5.2 this option must be explicitly set to `0` or `1` before
	  binding to `::`, or binding will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5157>

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

	* ext/hls/gsthlssink2.c:
	  hlssink2: Always use forward slash separator
	  g_build_filename() will insert back slash on Windows, and resulting
	  playlist will contain media segment path with back slash if
	  "playlist-root" property is specified
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5158>

2023-07-19 09:51:00 +0200  Fabian Orccon <forccon@fluendo.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* tests/check/libs/h264parser.c:
	  h264parser: Write Unregistered User Data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5071>

2023-08-07 13:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: simply fixup src caps for iHD
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-06-16 20:12:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegdec.c:
	  va: jpegdec: Do not change the DMA template src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-06-03 21:56:09 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: Delete the usage hint hack when we support DRM modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-02-22 19:36:06 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	* sys/va/gstvavpp.c:
	  va: Apply the new DMA format:modifier pair negotiation in vpp
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-02-22 19:23:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	* sys/va/gstvajpegdec.c:
	  va: Apply the new DMA format:modifier pair negotiation in decoder
	  We will consider the DMA modifier for negotiation, setting caps and
	  memory pool allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-07-17 21:46:35 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: update the gst_va_dma_drm_info_to_video_info() to use DMA_DRM format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-02-22 18:53:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacaps.c:
	* sys/va/gstvacaps.h:
	* sys/va/gstvafilter.c:
	  va: Improve the template caps for DMA, use new drm-format kind caps
	  We should add the modifier information for each surface format when
	  we report the template caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-02-22 18:39:22 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvapool.c:
	  va: Use new dma drm caps in va pool when we setup DMA pools
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-06-14 16:32:52 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  va: Use GstVideoInfoDmaDrm in DMA allocator's get/set_format() API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-08-04 20:47:38 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvavideoformat.h:
	  va: Include drm fourcc header file in gstvavideoformat.h
	  And add some definition to pass the Windows compiling.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044>

2023-08-05 01:39:29 +1000  Jan Schmidt <jan@centricular.com>

	* gst/audiolatency/gstaudiolatency.c:
	  audiolatency: Fix event refcounting bug handling latency events
	  Fix a refcounting bug introduced in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5146
	  If upstream returns FALSE when processing a latency event, it will
	  be unreffed an extra time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5150>

2023-08-04 17:25:26 +1000  Jan Schmidt <jan@centricular.com>

	* gst/audiolatency/gstaudiolatency.c:
	  audiolatency: Forward latency query and event upstream
	  Make sure the pipeline still configures the latency that it would configure
	  if audiolatency was not in the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5146>

2023-07-27 17:14:23 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/gstrtmp2src.c:
	  rtmp2src: add 'no-eof-is-error' property
	  There is currently no way for applications to know if the stream has
	  been properly terminated by the server or if the network connection
	  was disconnected as EOS is sent in both cases.
	  Adding a property so connection errors can be reported as errors
	  allowing applications to distinguish between both scenarios.
	  Fix #2828
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5115>

2023-07-19 18:08:32 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gstjniutils.c:
	  androidmedia: Add more null checks (of env) to JNI utilities
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5138>

2023-07-22 10:42:39 +0100  Philippe Normand <philn@igalia.com>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Fixes for upstream selectable support
	  The upstream selectable query was not performed in all situations where we
	  handle the stream-start event. This could potentially lead to unlinked pads
	  between decodebin3 and encodebin later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5089>

2023-07-19 18:08:32 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gstjniutils.c:
	  androidmedia: Add more null checks to JNI utilities
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130>

2023-07-28 14:02:22 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gstamcvideodec.c:
	  androidmedia: Fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130>

2023-07-19 18:08:16 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gst-android-hardware-camera.c:
	  androidmedia: Clear err if we don't have an optional camera field/constant
	  Fixes startup on devices where those fields/constants are not found.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130>

2023-07-26 16:45:18 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: Fix docs for create-data-channel action signal
	  Initial line of the doc comment was incorrect, so the nicely written
	  docs were not being extracted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5131>

2023-07-28 15:56:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.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:
	  waylandsink: Improve DMA DRM integration
	  Pass GstVideoInfoDmaDrm or GstVideoInfo whenever possible, avoiding passing
	  strange combination of GstVieoFormat + modifier. Even though we don't have any
	  at the moment, this also allow supporting GstVideoFormat that are not supported
	  in our DRM integration.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5120>

2023-08-02 00:54:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwrite-effect.cpp:
	* sys/dwrite/gstdwrite-effect.h:
	* sys/dwrite/gstdwrite-renderer.cpp:
	* sys/dwrite/gstdwrite-renderer.h:
	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	* sys/dwrite/gstdwriteoverlayobject.h:
	  dwrite: Move background-color and color-emoji options to effect object
	  ... and simplify background rendering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121>

2023-08-01 22:56:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	* sys/dwrite/gstdwriteoverlayobject.h:
	* sys/dwrite/meson.build:
	  dwrite: Add helper object for blending operation
	  For easy integration with a new text rendering baseclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121>

2023-08-01 22:50:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwritebaseoverlay: Handle only d3d11 allocation query
	  ... and passthrough allocation queries of the other types
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121>

2023-07-29 02:38:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritetextoverlay.cpp:
	  dwritetextoverlay: Remove leading CRLF sequence from CC
	  The CRLF sequence is unnecessary
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121>

2023-07-25 19:57:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwrite-effect.h:
	* sys/dwrite/gstdwrite-renderer.cpp:
	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwrite: Remove some properties
	  Remove outline color and auto resize related properties
	  to be consistent with textoverlay elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121>

2023-07-28 00:39:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: Fix drop-out-of-segment=false mode
	  Fixing unexpected buffer dropping and flow error in case that:
	  * use-reference-timestamps=false
	  * drop-out-of-segment=false
	  * Calculated utc offset is not valid because buffer is out-of-segment
	  The above case should be considered as a valid data flow without returning
	  errors.
	  Fixing regression introduced by
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5116>

2023-07-27 15:53:55 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Add gst_buffer_pool_config_set_params() to a pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5103>

2023-07-25 11:37:02 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.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/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  waylandsink: Add DRM modifiers support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5103>

2023-07-19 13:19:06 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Correct the value of cu_qp_delta flag and depth
	  According to libva API description, cu_qp_delta in VAConfigAttribValEncHEVCFeatures
	  is supposed to be used as a flag not the value of depth. And if flag enabled,
	  diff_cu_qp_delta_depth should be decided by log2_diff_max_min_luma_coding_block_size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5068>

2023-07-26 14:58:57 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va:allocator: Rework the func va_map_unlocked
	  Rework the va_map_unlocked() after we keep mapping behavior (whether to
	  use derive) consistent with allocator_try stage. Also remove the flag
	  for iHD case because pitch/stride difference between vaCreateImage and
	  vaDeriveImage only possibly happen on iHD by now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5046>

2023-07-13 16:56:56 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va:allocator: Let pool alloc_info be consitent with the test order in gst_va_allocator_try
	  In gst_va_allocator_try, the first try is to use derive_image, if it
	  succeeds, we should use info from derived image to create bufferpool.
	  If derive fails, then try create_image and give created image info
	  to the pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5046>

2023-07-27 19:08:59 +1000  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.m:
	* sys/applemedia/iosassetsrc.h:
	* sys/applemedia/iosassetsrc.m:
	* sys/applemedia/videotexturecache-gl.m:
	  applemedia: silence some deprecation warnings from ios 12.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5111>

2023-07-26 16:27:43 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  codecs: AV1: Ensure current picture and frame to NULL before return
	  The current code fails to clear the current picture and frame pointer if
	  some flow error such as EOS happens. This causes the double free issue in
	  gst_av1_decoder_reset().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5104>

2023-07-14 13:41:34 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkh264enc.c:
	  msdkh264enc: Set profile as unknown when not specified by downstream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5039>

2023-07-25 22:00:27 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstfakevideosink.c:
	  fakevideosink: Add DMA_DRM format into sink template caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5094>

2023-07-19 09:51:12 +0200  Fabian Orccon <forccon@fluendo.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* tests/check/libs/h265parser.c:
	  h265parser: Write Unregistered User Data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5070>

2023-07-18 10:08:54 +0200  Fabian Orccon <forccon@fluendo.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gsth265parse.h:
	* tests/check/elements/h265parse.c:
	  h265parse: Parse SEI unregistered user data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5070>

2023-07-04 17:39:58 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Move output loop to a separate thread
	  vtenc has an async output queue, which we only iterate over after another frame is enqueued.
	  At the very least it means we're always a frame behind the fastest possible output.
	  In edge cases it's also bug-prone - for example if we only have 1 frame, the downstream caps negotiation
	  will never happen.
	  This commit adds a separate task running on the source pad, which only iterates over the output queue
	  and pushes frames out as soon as they're put there. The queue length is limited to ensure we don't encode
	  too far ahead compared to what downstream can consume. Any failures that occur when pushing data downstream
	  will be signalled in self->downstream_ret so that other parts of code can act accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4967>

2023-07-17 14:48:39 +0800  Jakub Adam <jakub.adam@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: calculate framerate from AV1 timing info
	  When framerate info isn't provided by upstream elements, try to extract
	  it from AV1 timing info, if present.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5041>

2023-07-19 13:08:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix support for glib older than 2.74
	  G_CONNECT_DEFAULT was added in 2.74, and passing `0` in older versions
	  gets the same behaviour.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2023-07-17 16:41:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/examples/webrtc/webrtcrenego.c:
	  webrtcrenego: Use payload type correctly for the dynamic stream
	  All streams were using pt=96 which is incorrect. In some cases that
	  can cause EOS to be sent to both branches of the receiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2023-07-17 16:40:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/examples/webrtc/webrtcrenego.c:
	  webrtcrenego: Fix incorrect release of non-request pad
	  GStreamer-CRITICAL **: 16:39:23.230: gst_element_release_request_pad:
	  assertion 'GST_PAD_PAD_TEMPLATE (pad) == NULL ||
	  GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
	  GST_PAD_REQUEST' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2023-07-17 15:56:37 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/examples/webrtc/webrtcrenego.c:
	  webrtcrenego: Port to updated mechanism for doing renegotiation
	  Sending an EOS event is actually really bad because rtpbin doesn't
	  handle that very well. It was only being used as a way to notify
	  webrtcbin to check if re-negotiation is needed.
	  We don't need that anymore, since changing the direction is enough to
	  notify webrtcbin to check for re-negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2023-07-17 15:39:59 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: don't hold the webrtc lock over on-new-transceiver emission
	  Could potentially produce a deadlock if the direction is changed in the
	  callback.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2022-11-09 14:25:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: don't disallow transceiver direction changes
	  Initial testing seems to suggest that we support them reasonably well
	  (at least for BUNDLEd streams).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2023-07-17 14:55:30 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: add check for negotiation on transceiver direction changes
	  As required by the webrtc specification.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045>

2023-07-05 18:46:25 -0600  Olivier Crête <olivier.crete@collabora.com>

	* scripts/gen-changelog.py:
	  gst-omx: Retire the whole package
	  The OpenMAX standard is long dead and even the Raspberry Pi OS
	  no longer supports it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976>

2023-07-13 20:38:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/meson.build:
	  qsv: Remove x86_64 constraint on Linux
	  Updated oneVPL SDK supports 32bit and ARM build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5032>

2023-07-13 20:34:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
	  qsv: Re-apply MinGW build workaround
	  Apply the changes of the commits
	  c80132e4a3fb1fda6d196effe0e6d12dfcc75f25 and
	  23261bccbba84abb1334ffc4dea0514f74a5f2af
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5032>

2023-07-13 20:31:40 +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/mfxcamera.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/mfxencodestats.h:
	* sys/qsv/libmfx/api/vpl/mfxjpeg.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/dispatcher/linux/device_ids.h:
	* sys/qsv/libmfx/dispatcher/linux/mfxloader.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_msdk.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
	  qsv: Update oneVPL SDK version to v2023.3.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5032>

2023-07-13 01:26:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	  codecs: Use release_frame() instead of drop_frame()
	  drop_frame() will post QoS message which is not intended here
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5024>

2023-07-12 00:34:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	  codecs: Propagate downstream flow ERROR
	  Don't translate downstream flow ERROR to OK
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5024>

2023-07-12 12:46:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/examples/d3d11/d3d11overlay.cpp:
	  d3d11: Fix build on MSYS2 GCC
	  ```
	  ../subprojects/gst-plugins-bad/tests/examples/d3d11/d3d11overlay.cpp:145:37: error:
	  invalid conversion from 'unsigned int' to 'D2D1_DRAW_TEXT_OPTIONS' [-fpermissive]
	  145 |         D2D1_DRAW_TEXT_OPTIONS_CLIP | D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT);
	  |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  |                                     |
	  |                                     unsigned int
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>

2023-07-12 09:27:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	* tests/examples/camerabin2/meson.build:
	  meson: Always use forward slashes in defines with paths
	  Fixes the following build failure on MSYS2:
	  ```
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c: In function 'test_seeking':
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: error: incomplete universal character name \U
	  107 |   g_object_set (G_OBJECT (src), "location", TESTFILE, NULL);
	  |                                                     ^
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\A'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\s'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\c'
	  ```
	  Due to: `-DTESTFILE=\"C:\\Users\\Administrator\[...]`
	  https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/45317733
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>

2023-07-11 21:41:46 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* meson.build:
	  gl: Take into account viv-fb vs. viv_fb naming in meson scripts
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5020>

2023-05-16 21:24:44 +1000  Matthew Waters <matthew@centricular.com>

	* meson.build:
	  gl: provide a pkg-config/gir file for the viv-fb backend
	  Required to be able to generate coherent bindings for window system
	  specific APIs due to limitations in gobject-introspection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5020>

2023-07-10 22:56:30 +0900  Seungha Yang <seungha@centricular.com>

	* ext/qt6d3d11/gstqt6d3d11videoitem.cpp:
	  qt6d3d11: Set sampler filtering method
	  QQuickItem::smooth property doesn't seem to be propagated to
	  newly created QSGSimpleTextureNode automatically.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2793
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5004>

2023-07-10 12:03:25 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Prevent critical warning when creating an additional data channel
	  The max_channels value wasn't clamped to 65534 in all situations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5001>

2023-06-28 03:41:26 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/d3d11/meson.build:
	  meson: d3d11: Add d3d11-wgc option for Windows Graphics Capture feature
	  Make the feature requirement explicitly controllable via build option
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>

2023-07-05 19:55:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Move NV12_10LE40_4L4 before the BE variant on LE platforms
	  This keeps the sorting rules for the format list intact.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4974>

2023-05-30 11:31:22 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* docs/plugins/gst_plugins_cache.json:
	* ext/lc3/gstlc3dec.c:
	* ext/lc3/gstlc3dec.h:
	* ext/lc3/gstlc3enc.c:
	* ext/lc3/lc3-plugin.c:
	* tests/check/elements/lc3.c:
	* tests/check/meson.build:
	  lc3: add unit test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4376>

2022-08-26 13:35:21 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* ext/lc3/gstlc3common.h:
	* ext/lc3/gstlc3dec.c:
	* ext/lc3/gstlc3dec.h:
	* ext/lc3/gstlc3enc.c:
	* ext/lc3/gstlc3enc.h:
	* ext/lc3/lc3-plugin.c:
	* ext/lc3/meson.build:
	* ext/meson.build:
	* meson_options.txt:
	  lc3: plugin for LC3 audio codec
	  lc3enc:
	  - encodes raw audio into lc3 format
	  - uses the default bitrate property and frame duration
	  from the caps to determine the byte count of
	  the encoded frames if it is not specified in
	  the downstream caps after negotiation
	  - uses the same byte count value for all the channels
	  - all the common session configuration parameters
	  are passed in the src caps
	  lc3dec:
	  - decodes an lc3 encoded audio
	  - sink caps should contain all the common session configuration
	  params
	  - uses frame_duration and frame_bytes (byte count) in the sink
	  caps as parameters along with sample rate and channel count
	  - byte count is same for all the channels
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4376>

2023-06-30 18:30:46 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcstats: Properly report IceCandidate type
	  strcmp returns a positive value if s1 is greater than s2, while we actually
	  needed to check equality here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4952>

2023-06-30 15:14:59 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Always format reject reason code
	  `srt_rejectreason_str` doesn't give us a unique string for every
	  possible reason. Peers can define their own reasons and SRT just gives
	  us the string `"Application-defined rejection reason"` for all of them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4948>

2023-06-30 23:21:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritesubtitlemux.cpp:
	* sys/dwrite/gstdwritesubtitlemux.h:
	  dwritesubtitlemux: Update object name
	  Add missing prefix `DWrite` so that this element can coexist with
	  subtitlemux proposed in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4938
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4949>

2023-06-29 22:13:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwrite-utils.h:
	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwritesubtitleoverlay.cpp:
	  dwrite: Add support for non-d3d11/system memory
	  Attach meta if downstream supports it whatever the negotiated memory type is,
	  or just silently passthrough when meta is not supported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4945>

2023-06-27 23:40:20 +0900  Seungha Yang <seungha@centricular.com>

	  dwrite: Add dwritesubtitleoverlay element
	  Adding new subtitle overlay element. It's a bin which is wrapping
	  two internal elements dwritesubtitlemux and dwritetextoverlay.
	  * dwritesubtitlemux: A new internal element to aggregate subtitle
	  buffers and to attach the aggregated subtitle buffers on
	  video buffer as meta.
	  * dwritetextoverlay: Extracts/renders the subtitle meta and
	  discard the meta after rendering.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934>

2023-06-27 23:39:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwritebaseoverlay: Fix color-font property get/set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934>

2023-06-27 21:31:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritesubtitlemux.cpp:
	* sys/dwrite/gstdwritesubtitlemux.h:
	* sys/dwrite/meson.build:
	* sys/dwrite/plugin.cpp:
	  dwrite: Add dwritesubtitlemux element
	  dwrite plugin internal use and will be removed once it's added to -base
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934>

2023-06-27 22:29:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwrite-utils.cpp:
	* sys/dwrite/gstdwrite-utils.h:
	  dwrite: Add GstDWriteSubtitleMeta
	  dwrite plugin internal use and will be removed once it's added to -base
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934>

2023-06-16 21:53:11 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/sdp/gstsdpdemux.c:
	* gst/sdp/gstsdpdemux.h:
	  rtpsession: expose timeout-inactive-sources property
	  In some situations it is not desirable to time out when no data is
	  received any longer, users can opt in to this behavior via a new
	  property.
	  The property is also exposed on rtpbin and sdpdemux
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4880>

2023-06-27 05:09:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* tests/check/libs/d3d11memory.c:
	* tests/check/meson.build:
	  d3d11bufferpool: Fix heavy CPU usage in case of fixed-size pool
	  There's no reason to release GstMemory manually at all.
	  If we do release GstMemory, corresponding GstBuffer will be
	  discarded by GstBufferPool baseclass because the size is changed
	  to zero.
	  Actual cause of heavy CPU usage in case of fixed-size pool
	  (i.e., decoder output buffer pool) and if we remove GstMemory from
	  GstBuffer is that GstBufferPool baseclass is doing busy wait in acquire_buffer()
	  for some reason. That needs to be investigated though, discarding
	  and re-alloc every GstBuffer is not ideal already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4935>

2023-06-27 04:26:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11poolallocator: Initialize flush flag with TRUE
	  If it's not active state, it should return flushing from acquire
	  method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4935>

2023-06-27 22:15:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwritebaseoverlay: Forward downstream wanted min buffer size
	  Upstream element might want to know the min buffer size,
	  d3d11 decoders for example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929>

2023-06-27 22:07:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwrite-utils.h:
	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwrite: Remove unused values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929>

2023-06-24 00:00:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwritebaseoverlay.h:
	* sys/dwrite/gstdwritetextoverlay.cpp:
	* sys/dwrite/libcaption/meson.build:
	* sys/dwrite/meson.build:
	  dwrite: Add support for closed caption overlay
	  Adding closed caption rendering feature to dwritetextoverlay
	  element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929>

2023-06-23 23:44:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/libcaption/LICENSE.txt:
	* sys/dwrite/libcaption/caption.c:
	* sys/dwrite/libcaption/caption.h:
	* sys/dwrite/libcaption/eia608.c:
	* sys/dwrite/libcaption/eia608.h:
	* sys/dwrite/libcaption/eia608_charmap.c:
	* sys/dwrite/libcaption/eia608_charmap.h:
	* sys/dwrite/libcaption/eia608_from_utf8.c:
	* sys/dwrite/libcaption/utf8.c:
	* sys/dwrite/libcaption/utf8.h:
	* sys/dwrite/libcaption/version.txt:
	* sys/dwrite/libcaption/xds.c:
	* sys/dwrite/libcaption/xds.h:
	  dwrite: Import libcaption source code
	  Import the code from gst-plugins-rs
	  (origin is https://github.com/szatmary/libcaption)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929>

2023-06-24 01:43:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.h:
	* sys/dwrite/gstdwritetimeoverlay.cpp:
	  dwritetimeoverlay: Fix member variable initialization
	  Use GstBaseTransform::start() instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929>

2023-06-18 14:30:14 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	* gst-libs/gst/va/gstvavideoformat.h:
	* sys/va/gstvacaps.c:
	  va: Only change video format in gst_va_video_info_from_dma_info()
	  The current way of using gst_video_info_set_format() will change all
	  fields of the GstVideoInfo. We only need to change its format, stride
	  and offset fields.
	  In order to keep the consistency with th common drm API, we rename the
	  gst_va_video_info_from_dma_info() into gst_va_dma_drm_info_to_video_info().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4883>

2023-05-30 09:38:57 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* sys/va/gstvah264enc.c:
	  va: use GstH264Level enum in _va_h264_level_limits
	  The 1B value has been changed to 9 instead of 11 in the list
	  of level limits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4737>

2023-05-31 14:51:34 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst/codectimestamper/gsth264timestamper.c:
	* gst/videoparsers/gsth264parse.c:
	  codecparsers: keep naming consistency in GST_H264_LEVEL
	  GST_H264_LEVEL_2 should be used instead of GST_H264_LEVEL_2_0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4737>

2023-05-22 16:07:08 +0800  Haihua Hu <jared.hu@nxp.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/dash/gstdashsink.c:
	* ext/dash/gstmpdrootnode.c:
	  dashsink: add property to set suggested presentation delay of MPD
	  add property suggested-presentation-delay to configure MPD info
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4687>

2023-06-23 20:01:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.c:
	  va: basedec: Select the best format of the whole caps
	  The current way only selects the best video format from the first
	  structure of the caps. The caps like:
	  video/x-raw(memory:VAMemory),drm-format=(string)NV12;  \
	  video/x-raw(memory:VAMemory),format=(string){ NV12, Y210 }
	  Will just choose NV12 as the result, even the bitstream is 10 bits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4928>

2023-05-19 13:06:37 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	  msdkenc: Apply update functions when setting property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4865>

2023-04-23 17:20:05 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkenc: Add help functions to check and update property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4865>

2023-06-21 13:44:40 +0200  Edward Hervey <edward@centricular.com>

	* tests/validate/testsrcbin/caps_spec/flow-expectations/log-testsrcbin0-video_src_0-expected:
	  streamcollection: Use upstream-id as name
	  It is more coherent, in the same vein as  08dc5d29
	  Fixes #2640
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4911>

2023-06-19 14:25:09 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	  vkvideoutils: fix memory leak in structure's string
	  Retrieve a const char* from structure for "chromat-format" and
	  avoid extra mem copy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4904>

2023-06-19 14:27:24 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  tests: fix mem leak in vkimagebufferpool
	  caps should be freed after usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4904>

2023-06-16 14:37:42 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: fix beta extensions symbol
	  Missing 's' to VK_ENABLE_BETA_EXTENSIONS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4904>

2023-06-19 12:57:23 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: fix leak with queue_family_query_props
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4904>

2023-06-20 14:33:48 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan: fix C2099 error with VS2019
	  As VK_FORMAT_FEATURE_2_xxx are defined as static const variable, the
	  vscoce C compiler prevents the initialization of the  vk_usage_map
	  structure with error "C2099: initializer is not a constant".
	  Init the structure separately.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4904>

2023-06-20 23:42:35 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: basetransform: Copy the interested meta data for importing
	  The current way of using parent's copy_metadata() virtual function will
	  selectively filter out some meta such as crop meta. That virtual function
	  should be used when copying input buffer's meta data into output buffer,
	  not suitable when importing the input buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4887>

2023-06-20 21:45:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: basetransform: Check the crop meta when importing
	  When the input buffer has crop meta, and we need to do copy, we
	  should consider the uncropped video size and copy the full size
	  of video memory.
	  The video meta in this case should contain the full uncropped
	  resolution info. We can use it to create full size va buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4887>

2023-06-20 20:20:24 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: basetransform: Only need va pool for internal usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4887>

2022-12-09 02:10:13 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/qt6d3d11/gstqml6d3d11sink.cpp:
	* ext/qt6d3d11/gstqml6d3d11sink.h:
	* ext/qt6d3d11/gstqsg6d3d11node.cpp:
	* ext/qt6d3d11/gstqsg6d3d11node.h:
	* ext/qt6d3d11/gstqt6d3d11videoitem.cpp:
	* ext/qt6d3d11/gstqt6d3d11videoitem.h:
	* ext/qt6d3d11/meson.build:
	* ext/qt6d3d11/plugin.cpp:
	* meson_options.txt:
	* tests/examples/meson.build:
	* tests/examples/qt6d3d11/meson.build:
	* tests/examples/qt6d3d11/qml6d3d11sink-dyn-add/meson.build:
	* tests/examples/qt6d3d11/qml6d3d11sink-dyn-add/qml6d3d11sink-dyn-add.cpp:
	* tests/examples/qt6d3d11/qml6d3d11sink-dyn-add/qml6d3d11sink-dyn-add.qml:
	* tests/examples/qt6d3d11/qml6d3d11sink-dyn-add/qml6d3d11sink-dyn-add.qrc:
	* tests/examples/qt6d3d11/qml6d3d11sink/meson.build:
	* tests/examples/qt6d3d11/qml6d3d11sink/qml6d3d11sink.cpp:
	* tests/examples/qt6d3d11/qml6d3d11sink/qml6d3d11sink.qml:
	* tests/examples/qt6d3d11/qml6d3d11sink/qml6d3d11sink.qrc:
	  qt6d3d11: Add Direct3D11 Qt6 QML sink
	  Adding Direct3D11 backend Qt6 QML videosink element, qml6d3d11sink.
	  Implementation details are similar to the qt6 plugin in -good
	  but there are a few notable differences.
	  * qml6d3d11sink accepts all GstD3D11 supported video formats (e.g., NV12).
	  * Scene graph (owned by qml6d3d11sink) will hold dedicated and sharable
	  RGBA texture which belongs to Qt6's Direct3D11 device, instead of sharing
	  GStreamer's own texture with Qt6.
	  * All rendering operations will be done by using GStreamer's Direct3D11 device.
	  Specifically, upstream texture will be copied (in case of RGBA)
	  or converted to the above mentioned Qt6's sharable texture.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3707>

2023-06-13 11:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vapostproc: evaluate op_flags validations as boolean
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4910>

2023-06-13 14:25:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: Avoid integer overflow when checking if enough data is available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4896>

2023-06-13 14:23:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: Make sure enough data is allocated for the available data
	  If the size read from the stream is smaller than the currently available
	  data then the size is bogus and the data should simply be discarded.
	  Fixes ZDI-CAN-20994
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2660
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4896>

2023-04-18 09:59:36 +0200  Andoni Morales Alastruey <amorales@fluendo.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: remove duplicated framerate and size variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4282>

2023-03-30 15:38:22 +0200  Andoni Morales Alastruey <amorales@fluendo.com>

	* sys/applemedia/meson.build:
	* sys/applemedia/vtdec.h:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	* tests/validate/meson.build:
	* tests/validate/vtenc/vtenc_h264.validatetest:
	* tests/validate/vtenc/vtenc_h264/flow-expectations/log-enc-src-expected:
	* tests/validate/vtenc/vtenc_h264_b_frames.validatetest:
	* tests/validate/vtenc/vtenc_h264_b_frames/flow-expectations/log-enc-src-expected:
	* tests/validate/vtenc/vtenc_h265.validatetest:
	* tests/validate/vtenc/vtenc_h265/flow-expectations/log-enc-src-expected:
	* tests/validate/vtenc/vtenc_h265_b_frames.validatetest:
	* tests/validate/vtenc/vtenc_h265_b_frames/flow-expectations/log-enc-src-expected:
	  vtenc: apply DTS offset to ensure DTS <= PTS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4282>

2023-06-19 00:06:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	  dwrite: Protect ID2D1Factory API with lock
	  ID2D1Factory::CreateDxgiSurfaceRenderTarget is not thread-safe
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4886>

2023-06-16 19:22:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Reduce DPB size
	  Now all codec baseclasses can inform subclasses of correct max DPB size,
	  and exception handling (e.g., emergency bumping in h.264) has been
	  improved as well. Smaller number of additional DPB frame allocation
	  seems to be safe.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4878>

2023-05-29 21:53:52 +0900  Seungha Yang <seungha@centricular.com>

	* docs/libs/cuda/index.md:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	  cuda: Introduce GST_CUDA_CRITICAL_ERRORS env to abort on critical error
	  Adding GST_CUDA_CRITICAL_ERRORS env variable so that program can be
	  terminated on unrecoverable error.
	  Example)
	  GST_CUDA_CRITICAL_ERRORS=2,700 gst-launch-1.0 ...
	  In this example, CUDA_ERROR_OUT_OF_MEMORY(2) and
	  CUDA_ERROR_ILLEGAL_ADDRESS(700) are registered as critical error
	  and program will be aborted on those errors
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4729>

2023-05-29 21:27:17 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/gstcudautils.h:
	  cuda: Move cuda debug helper function to .cpp
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4729>

2023-06-18 23:58:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: Fix resource leak
	  Fixing regression since 94eadc9810bb1797e291fc36fb48801e3b10d3f2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4885>

2023-04-09 00:36:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	  amfav1enc: Workaround driver bug with bt601 color matrix
	  If bt601 is specified, driver generates sequence header with identity
	  color matrix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4370>

2022-03-18 12:37:46 -0400  Daniel Almeida <daniel.almeida@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/meson.build:
	* sys/v4l2codecs/plugin.c:
	  v4l2codecs: Add AV1 decoder
	  This patch adds AV1 stateless v4l2 decode support using the
	  new v4l2 request API to communicate with hardware accelerators.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1011>

2022-12-05 14:21:42 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  codecparser: AV1: fix reference frame ordering
	  In AV1 specifications earliest_order_hint is initialized at
	  beginning of the process and not before each frame ordering.
	  FFMPEG parser does the same.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1011>

2023-05-11 15:28:35 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: ensure that only one srcpad is created per stream
	  If two senders use the same multicast IP and port then new_session_pad()
	  may try to add a srcpad to the same stream twice.
	  stream->srcpad is updated but gst_element_add_pad() fails the second
	  time. As a result stream->srcpad points to a deleted object and
	  access in gst_sdp_demux_stream_free() fails with a segfault.
	  Just ignore the second pad. Nothing useful can be done with it anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4603>

2023-06-15 01:47:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: Fix Windows build
	  DRM_FORMAT_MOD_LINEAR and DRM_FORMAT_MOD_INVALID are not defined
	  on Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4864>

2023-05-14 13:23:17 +0100  James Cowgill <james.cowgill@blaize.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  v4l2codecs: Always chain up to parent decide_allocation function
	  The `gst_video_decoder_negotiate_pool` function expects the
	  `decide_allocation` function to always provide a pool and will fail to
	  negotiate if the pool is missing. If we return immediately (even if we
	  don't need to do anything special) negotiation will fail if the
	  downstream element does not propose a pool.
	  Fix by chaining up to the default `decide_allocation` function which
	  adds a fallback pool if one was not already proposed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4630>

2023-06-15 10:41:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

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

2022-11-21 11:33:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Enable Verisilicon 10bit 4:2:0 support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447>

2023-06-14 17:18:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/linux/media.h:
	* sys/v4l2codecs/linux/v4l2-common.h:
	* sys/v4l2codecs/linux/v4l2-controls.h:
	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2: Sync headers to current media_stage
	  commit d78b9d6671decdaedb539635b1d0a34f8f5934f8
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447>

2023-05-28 01:59:23 +0900  Seungha Yang <seungha@centricular.com>

	  dwrite: Add DirectWrite text rendering plugin
	  Adding DirectWrite text rendering elements
	  * dwriteclockoverlay: Equivalent to clockoverlay
	  * dwritetimeoverlay: Equivalent to timeoverlay
	  * dwritetextoverlay: Similar to textoverlay but subtitle is not
	  supported
	  Newly added elements support system memory and d3d11 memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4826>

2023-06-15 18:40:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: Add support for d3d11 memory
	  If overlay buffer is d3d11 memory, use it directly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4826>

2023-06-09 14:05:58 -0400  Aaron Boxer <boxerab@protonmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmux.h:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.h:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: add stream-number property on GstBaseTsMuxPad
	  This new property allows setting of PES stream number for AAC audio
	  and AVC video streams.
	  The stream number is subject to the following constraints:
	  1. it must be between 0 and 15 for video
	  2. it must be between 0 and 31 for audio
	  Currently the PES stream number is hard-coded to zero for these
	  stream types.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4822>

2023-05-20 19:33:27 +0200  Marek Vasut <marex@denx.de>

	* docs/plugins/gst_plugins_cache.json:
	* gst/bayer/gstbayer2rgb.c:
	* gst/bayer/gstbayerorc-dist.c:
	* gst/bayer/gstbayerorc-dist.h:
	* gst/bayer/gstbayerorc.orc:
	  bayer2rgb: Support video/x-bayer 10/12/14/16 bit depths
	  Add support for 10/12/14/16 bit depths . This consists of multiple parts.
	  First is the parsing of caps, which pulls out the bitness and endianness
	  from the video/x-bayer format.
	  Second, gst_bayer2rgb_split_and_upsample_horiz() is split into two similar
	  functions, one for 8bit bayer handling and another for 16bit bayer handling.
	  The content is basically identical, except one uses 8bpp and the other 16bpp
	  inputs and outputs, and they each use different ORC code to match. The 16bpp
	  variant also handles endian swapping. There is now a wrapper called
	  gst_bayer2rgb_split_and_upsample_horiz() which selects the correct function
	  based on bpp from the parser.
	  Third, gst_bayer2rgb_process() is extended to handle both 8bit and 16bit
	  bayer data. Yet again there are matching ORC functions to handle the 16bit
	  data. This time however the 16bit handling of data is slightly special. The
	  ORC is not able to emit opcodes for 'x2 mergelq', so the trick here is to
	  store the BG and GR longs into separate 'dtmp' temporary buffer, and then
	  do one more ORC post-processing step, compensate for the less-than-16bpp
	  bitness using left shift, and reorder them into the destination frame
	  using 'mergelq' .
	  Example usage:
	  ```
	  $ gst-launch-1.0 videotestsrc ! \
	  video/x-bayer,width=512,height=512,format=bggr16le ! \
	  bayer2rgb ! \
	  video/x-raw,format=RGBA64_LE ! \
	  videoconvert ! \
	  autovideosink
	  ```
	  Example usage:
	  ```
	  $ gst-launch-1.0 videotestsrc ! \
	  video/x-raw,width=512,height=512,format=ARGB ! \
	  rgb2bayer ! \
	  video/x-bayer,format=bggr12le ! \
	  bayer2rgb ! \
	  video/x-raw,format=RGBA64_LE ! \
	  videoconvert ! \
	  autovideosink
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-20 23:33:14 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Add comments explaining gst_bayer2rgb_process()
	  Add comments regarding which LINE()s point to which data in the
	  temporary buffer and a large comment explaining how the buffer
	  is processed. This will hopefully be useful to someone, as the
	  code is not obvious. No functional change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-20 16:55:48 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Add comment on bayer_orc_horiz_upsample
	  Explain how the bayer_orc_horiz_upsample function works and
	  what it does with the pixels, as this may not be obvious.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-20 23:34:15 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Pass filter pointer into gst_bayer2rgb_split_and_upsample_horiz()
	  Instead of passing a single element of GstBayer2RGB structure into the
	  gst_bayer2rgb_split_and_upsample_horiz(), pass the entire pointer and
	  let the funciton pick out whatever it needs out of the structure. This
	  is a preparatory patch. No functional change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-20 16:03:10 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Pass all parameters to LINE() macro
	  Pass all three parameters used by the LINE() macro to the LINE() macro
	  and unroll the code for readability. Add more comments regarding which
	  of these LINE()s point to which data in the temporary buffer to make
	  the code less confusing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-20 21:43:13 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Fold src_stride into gst_bayer2rgb_process()
	  The source stride parameter can be easily obtained from GstBayer2RGB
	  structure, do it within gst_bayer2rgb_process() and drop the parameter.
	  No functional change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-20 16:01:13 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Inline the j=0 value
	  The j variable is used as an iterator further down in this code, but
	  here it can be just inlined in the macro parameters to make the code
	  easier to read. This is done in preparation for further changes. No
	  functional change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-06-07 23:33:05 +0200  Marek Vasut <marex@denx.de>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Disable in-place transform
	  The bayer2rgb process implemented doesn't support in-place tranform.
	  This element doesn't implement a "transform_ip" vmethod of
	  GstBaseTransform it will revert to using the "tranform" vmethod.
	  It's misleading to set it to TRUE, here. Change this to FALSE.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-05-21 00:02:55 +0200  Marek Vasut <marex@denx.de>

	* docs/plugins/gst_plugins_cache.json:
	* gst/bayer/gstrgb2bayer.c:
	* gst/bayer/gstrgb2bayer.h:
	  rgb2bayer: Support video/x-bayer 10/12/14/16 bit depths
	  Add support for conversion to 10/12/14/16 bit bayer pattern.
	  The implementation is rather simplistic, just take the ARGB
	  input, generate 16-bit data out of it instead of 8-bit, shift
	  them as required by the output bitness, and apply endian swap.
	  Example usage:
	  ```
	  $ gst-launch-1.0 videotestsrc num-buffers=1 ! \
	  video/x-raw,width=512,height=512,format=ARGB ! \
	  rgb2bayer ! \
	  video/x-bayer,format=bggr12le ! \
	  filesink location=/tmp/bayer12.raw
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686>

2023-06-15 01:36:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3dvideosink/d3dvideosink.c:
	  d3dvideosink: Fix navigation event leak
	  Fixing regression introduced in 6c2f6c3bd4dd525eb02c6d7000e84b76663d3daf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4863>

2023-06-15 00:47:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Fixing unexpected overlay composition meta drops
	  A buffer can hold multiple GstVideoOverlayCompositionMeta objects.
	  Should scan all metas on a buffer and render all overlay rectangles
	  if any.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4862>

2023-06-11 22:22:36 +0200  Marek Vasut <marex@denx.de>

	* sys/kms/gstkmssink.c:
	  kmssink: Add ST STM32 LTDC auto-detection
	  Add STM32 LTDC controller into list of auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4858>

2023-06-11 22:22:25 +0200  Marek Vasut <marex@denx.de>

	* sys/kms/gstkmssink.c:
	  kmssink: Add NXP i.MX8M Plus LCDIFv3 auto-detection
	  Add i.MX8M Plus LCDIFv3 controller into list of auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4858>

2023-06-13 11:41:43 -0400  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	* ext/webrtcdsp/gstwebrtcechoprobe.cpp:
	* ext/webrtcdsp/gstwebrtcechoprobe.h:
	  webrtcdsp: Deal with echo probe info not being available
	  Even if we don't yet know what the echo probe format is, we want to be able to
	  provide silence for the reverse path, so that when the probe becomes available,
	  there is no ambiguity around what time period the new set of samples are for.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4849>

2023-06-06 16:34:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	  webrtcdsp: Map probe buffers with probe info, not dsp info
	  The probe's info may not precisely match the dsp's info. For instance,
	  the number of channels or their layout might be different.
	  ```
	  GStreamer-Audio-CRITICAL **: 16:21:32.899: the GstAudioInfo argument is not equal to the GstAudioMeta's attached info
	  ```
	  This broke in d5755744c3e2b70e9f04704ae9d18b928d9fa456.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4849>

2023-06-13 19:19:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  av1decoder: Fix DPB size signalling
	  Take current frame into account for the DPB size signalling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4845>

2023-06-13 19:18:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	  mpeg2decoder: Fix DPB size signalling
	  Take current frame into account for the DPB size signalling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4845>

2023-06-13 19:12:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  vp9decoder: Fix DPB size signalling
	  Take current frame into account for the DPB size signalling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4845>

2023-06-13 19:08:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	  vp8decoder: Fix DPB size signalling
	  Take current frame into account for the DPB size signalling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4845>

2023-06-14 10:08:51 +0200  François Laignel <francois@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix Got data flow before segment event
	  A race condition can occur in `srtpdec` during the READY -> NULL transition:
	  an RTCP buffer can make its way to `gst_srtp_dec_chain` while the element is
	  partially stopped, resulting in the following critical warning:
	  > Got data flow before segment event
	  The problematic sequence is the following:
	  1. An RTCP buffer is being handled by the chain function for the
	  `rtcp_sinkpad`. Since, this is the first buffer, we try pushing the sticky
	  events to `rtcp_srcpad`.
	  2. At the same moment, the element is being transitioned from PAUSED to READY.
	  3. While checking and pushing the sticky events for `rtcp_srcpad`, we reach the
	  Segment event. For this, we try to get it from the "otherpad", in this case
	  `rtp_srcpad`. In the problematic case, `rtp_srcpad` has already been
	  deactivated so its sticky events have been cleared. We won't be pushing any
	  Segment event to `rtcp_srcpad`.
	  4. We return to the chain function for `rtcp_sinkpad` and try pushing the
	  buffer to `rtcp_srcpad` for which deactivation hasn't started yet, hence the
	  "Got data flow before segment event".
	  This commit:
	  - Adds a boolean return value to `gst_srtp_dec_push_early_events`: in case the
	  Segment event can't be retrieved, `gst_srtp_dec_chain` can return  an error
	  instead of calling `gst_pad_push`.
	  - Replaces the obsolete `gst_pad_set_caps` with `gst_pad_push_event`. The
	  additional preconditions checked by previous function are guaranteed here
	  since we push a fixed Caps which was built in the same function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4844>

2023-06-12 11:05:34 +0200  François Laignel <francois@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix assertion 'parent->numsinkpads <= 1' failed
	  A race condition can occur in `srtpdec` during the READY -> NULL transition:
	  an RTCP buffer can make its way to `gst_srtp_dec_chain` while the element is
	  partially stopped, resulting in the following critical warning:
	  > assertion 'parent->numsinkpads <= 1' failed
	  This can occur when the first RTCP buffer is received during the READY -> NULL
	  transition. If deactivation of the `rtp_srcpad` has already reached
	  `post_activate`, the sticky events are removed from this Pad. In this case,
	  `gst_srtp_dec_push_early_events` branches to the generation of a stream id
	  using `gst_pad_create_stream_id`. This function ensures that the element
	  doesn't own more than 1 sink pad. Since `srtpdec` owns two of them, the
	  assertion fails.
	  This commit uses `gst_element_decorate_stream_id` which doesn't perform this
	  check. The preconditions is not necessary in this particular context since the
	  stream id for the RTP / RTCP pads are derived from the same id.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4844>

2023-03-14 20:56:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11: Log device removed reason
	  ... and live objects. It could be useful hint for GPU debugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4170>

2023-06-13 01:29:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfmux/gstasfobjects.c:
	  asfmux: fix potentially unaligned write on 32-bit ARM
	  Fixes #2665
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4842>

2023-06-13 11:48:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: dmabuf allocator to use GstVideoInfoDmaDrm
	  Change the internal GstVideoInfo structure in the GstVaDmabufAllocator to
	  GstVideoInfoDmaDrm in order to keep track of the exported DRM format by the
	  driver, and thus removing the DRMModifier quark attached as qdata in the
	  GstMemory. Though, the exposed API isn't updated yet; that has to go in a
	  second iteration.
	  Also this patch clean up some code (remove an unused buffer size assignation)
	  and fix some typos in documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-02-22 19:00:45 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacaps.c:
	* sys/va/gstvacaps.h:
	  va: Add helper functions to convert GstVideoInfoDmaDrm into va video info
	  The VA has its internal video format mapping(because different drivers may
	  have different interpretation for the same format), so we should convert the
	  info in GstVideoInfoDmaDrm into the according video info based on that mapping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-02-22 19:04:07 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacaps.h:
	  va: Replace the tabs into spaces in gstvacaps.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-02-22 16:25:32 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	  va: Add a helper function to detect the surface modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-06-09 22:19:47 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: Lower the message level for va_export_surface_to_dmabuf()
	  Some surface formats such as GST_VIDEO_FORMAT_Y42B and GST_VIDEO_FORMAT_RGB
	  can be created but can not be exported as DMA buffer. You can not say that
	  this is a driver bug because the driver may never want to share this kind of
	  surface out of libva.
	  And this function will be used to detect modifiers later, so the error message
	  will be annoying.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-02-22 16:25:32 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	  va: Extend the va_create_surfaces() function to accept modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-06-08 21:53:28 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	* gst-libs/gst/va/gstvavideoformat.h:
	  va: Add a helper function to convert video drm info to video info
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-06-04 00:10:36 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	* gst-libs/gst/va/gstvavideoformat.h:
	  va: Map drm fourcc into va fourcc in video format
	  The fourcc defined in va.h and drm_fourcc.h sometimes is not identical.
	  For example, the I420 format is defined as "I420" in va.h but defined
	  as "YU12" in drm_fourcc.h.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821>

2023-06-02 15:02:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/debugutils/gstfakeaudiosink.c:
	* gst/debugutils/gstfakevideosink.c:
	  fakesinks: Fix recursive notify loop
	  The proxy callback for the notify::last-message was emiting the signal
	  again on the child, which caused an infinit loop. We could swap the child
	  and the user data to signal to the bin instead, but it was found that proxying
	  this signal was not very useful. Typical use case it to set silent=0 and use
	  deep-notify feature. Proxying that signal just duplicate that output which
	  isn't very useful.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4766>

2023-04-13 16:03:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265: Set num_delta_pocs_of_ref_rps_idx
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4413>

2023-04-13 15:31:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/linux/v4l2-controls.h:
	  v4l2codecs: Extend the API with num_delta_pocs_of_ref_rps_idx
	  This value is an alternative to short_term_ref_pic_set_size and can be used
	  to parse the RPS portion of a slice header, instead of skipping over it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4413>

2023-06-13 01:51:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Calculate DPB size based on level
	  As specified in "A.4 Tiers and levels", calculate DPB size based
	  on level in order to avoid over preallocated DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4840>

2023-06-07 14:05:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use terminological ISO 639-2 language codes
	  These are preferred in most circumstances.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2649
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4795>

2023-06-10 17:35:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add support for premultiplied alpha conversion
	  Adding "src-alpha-mode" and "dest-alpha-mode" properties
	  to support alpha mode conversion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825>

2023-06-10 03:55:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Add "alpha" and "alpha-mode" properties
	  Adding global alpha and alpha mode options
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825>

2023-06-10 03:19:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: Handle premultiplied alpha in pixel shader
	  Do premultiplied -> straight alpha conversion using GPU
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825>

2023-06-10 02:52:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	  d3d11converter: Add support for premultiplied alpha
	  Adding "src-alpha-mode" and "dest-alpha-mode" properties
	  and performs premultiplied alpha conversion if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825>

2023-06-08 21:29:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvdecobject.cpp:
	  cudadownload: Always download CUDA memory if it's bound to decoder
	  Decoder bounded CUDA memory is allocated by driver and the pool size
	  is fixed. Since we don't know how many buffers would be held by
	  downstream non-CUDA element, we should download such CUDA memory
	  and release it back to decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4810>

2023-06-07 12:53:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/meson.build:
	  doc: use gir file if dependency is not available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4781>

2023-06-06 13:27:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/msdk_libva.c:
	  msdk: remove libva check before 1.12
	  Since gstmsdk depends on gstva library it also bumps the required version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4781>

2023-06-06 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvasurfacecopy.c:
	* gst-libs/gst/va/meson.build:
	* gst-libs/gst/va/vasurfaceimage.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvaprofile.c:
	* sys/va/plugin.c:
	  va: bump libva version to 1.12
	  Remove all checks in gstva for all version lower than 1.12
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4781>

2023-06-07 20:36:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/win32ipc/gstwin32ipcvideosink.cpp:
	* sys/win32ipc/gstwin32ipcvideosrc.cpp:
	  win32ipc: Use gst_util_get_timestamp()
	  Instead of duplicating the same code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4794>

2023-06-07 20:32:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11ipc.cpp:
	* sys/d3d11/gstd3d11ipc.h:
	* sys/d3d11/gstd3d11ipcclient.cpp:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	* sys/d3d11/gstd3d11ipcsrc.cpp:
	  d3d11: Use gst_util_get_timestamp()
	  instead of duplicating the same code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4794>

2023-06-06 20:18:53 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/gstbasetsmux.c:
	  basetsmux: Fix language crash when ts_pad->stream is NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4785>

2023-05-25 13:02:09 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Detect language from ac3 descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4709>

2023-06-05 23:44:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11ipcclient.cpp:
	* sys/d3d11/gstd3d11ipcclient.h:
	* sys/d3d11/plugin.cpp:
	  d3d11ipcsrc: Stop asynchronously in case of io-mode=import
	  In case of import mode, d3d11ipcsrc does not know when outputted
	  memories will be released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774>

2023-06-05 22:34:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11ipc.cpp:
	* sys/d3d11/gstd3d11ipc.h:
	* sys/d3d11/gstd3d11ipcclient.cpp:
	* sys/d3d11/gstd3d11ipcserver.cpp:
	* sys/d3d11/gstd3d11ipcserver.h:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	  d3d11ipc: Use unnamed shareable handle
	  Exchanging HANDLE would have smaller overhead than string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774>

2023-06-05 21:16:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	  d3d11memory: Add support for resource sharing via NT handle
	  Adding gst_d3d11_memory_get_nt_handle() method so that GstD3D11Memory
	  can hold shareable NT handle and for easy reuse of it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774>

2023-06-05 20:50:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11ipcsink.cpp:
	  d3d11ipcsink: Don't clear prepared sample on render
	  render() can be called multiple times for the same prepared sample
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774>

2023-06-01 15:16:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Implement Windows string conversion with common API between MinGW and MSVC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>

2023-06-01 15:17:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Add some newlines in long defines
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>

2023-05-31 23:44:42 +0300  Maksym Khomenko <maksym.khomenko@skelia.partners>

	* sys/decklink/gstdecklink.h:
	  decklink: Calculate string size before malloc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>

2023-05-30 15:27:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Use the macOS version of the SDK on macOS and not the Linux one
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>

2023-05-30 13:23:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Free SDK strings after usage on Linux
	  While they're const char* they still need to be freed like on Windows
	  and macOS and would be leaked otherwise.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>

2023-05-30 13:22:44 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Correctly handle SDK strings on macOS
	  They're CFStringRef* and not plain NUL-terminated char* C strings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>

2023-06-02 13:21:06 -0400  Aaron Boxer <boxerab@protonmail.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxobjectdetector.cpp:
	  onnxobjectdetector: gracefully handle Ort exceptions rather than dumping core
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4765>

2023-06-04 18:51:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: remove unused parameters in internal function
	  gst_va_buffer_surface_new() don't use neither format, width nor height.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4768>

2023-05-30 15:31:47 +1000  Matthew Waters <matthew@centricular.com>

	* ext/soundtouch/meson.build:
	* ext/webrtcdsp/meson.build:
	* meson.build:
	  build/android: remove all references to gnustl
	  Not needed anymore with NDK R25.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4747>

2023-06-01 02:13:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11basefilter.cpp:
	  d3d11basefilter: Forward video related metas if needed
	  The same as in GstVideoFilter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4751>

2023-03-21 09:24:18 +0100  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	* sys/uvcgadget/gstuvcsink.h:
	  uvcsink: add probe handling for live pipelines
	  Currently the uvcsink is only capable to run in an application
	  that is handling the state transitions of the pipeline properly
	  by checking on streaming event from the uvcsink.
	  This code is improving the element by adding an fakesink to
	  consume possible videostream flow in case the pipeline state
	  is not changing on hosts streamoff.
	  This is helpfull when using local gst-launch pipelines where
	  the streaming event is not monitored to change the pipelines
	  state.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-04-17 23:53:58 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* docs/plugins/gst_plugins_cache.json:
	* meson_options.txt:
	* sys/meson.build:
	* sys/uvcgadget/gstuvcsink.c:
	* sys/uvcgadget/gstuvcsink.h:
	* sys/uvcgadget/meson.build:
	* sys/uvcgadget/uvc.c:
	* sys/v4l2codecs/linux/usb/g_uvc.h:
	* sys/v4l2codecs/linux/usb/video.h:
	  uvcsink: add new bin element around v4l2sink
	  This patch adds an element to stream video data to an uvc video gadget.
	  The element handles the uvc events STREAMON, STREAMOFF, SETUP and DATA.
	  to start, stop and configure the video buffer flow by the use of pad
	  probes. It works with linux kernels of versions higher than v6.1.
	  The element makes use of the v4l2sink proxy property v4l2sink::device
	  to locate the corresponding device to parse the configfs for additional
	  data.
	  The code in uvc.c is basically derived from /lib/uvc.c in
	  https://git.ideasonboard.org/uvc-gadget.git.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-09 00:50:41 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	* sys/uvcgadget/configfs.h:
	  uvcsink: configfs.{c,h}: add helper function to parse by videodev
	  - add helper function video_find_config_name
	  - add helper function configfs_parse_uvc_videodev
	  With these helper functions it is possible to parse the
	  configfs entry corresponding to the used videodev.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-09 00:50:41 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	  uvcsink: configfs.c: use G_N_ELEMENTS instead of ARRAY_SIZE
	  We don't have ARRAY_SIZE in glib.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-09 00:50:41 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	  uvcsink: configfs.c: fix globing in uvc_video_device
	  The gadget in the sysfs can be postfixed with an index.
	  Fix the globbing by adding a wildcard after /gadget*/.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-09 00:50:41 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	  uvcsink: configfs.c: refactor location of GUID formats
	  - move GUID handling to beginning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-09 00:50:41 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	* sys/uvcgadget/configfs.h:
	  uvcsink: configfs.{c,h}: add parsing of more fields from format
	  - add parsing of dwMaxVideoFrameBufferSize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-09 00:50:41 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	  uvcsink: configfs.c: fix code for local usage
	  - use local header file and remove unused reference to tools.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-04-17 23:51:52 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/configfs.c:
	* sys/uvcgadget/configfs.h:
	  uvcsink: add configfs.{c,h} from https://git.ideasonboard.org/uvc-gadget.git
	  - imported both files and run gst-indent on them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1304>

2023-05-25 16:39:46 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Resend PMT whenever the language changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4711>

2023-06-01 11:55:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan/format: use basic features (v1) as fallback
	  if vkGetPhysicalDeviceFormatProperties2 isn't available.
	  This approach assumes that, for basic features flags symbols,
	  VkFormatFeatureFlagBits and VkFormatFeatureFlagBits2 are binary equivalent.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4746>

2023-05-30 16:08:54 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan/format: don't rely on vulkan header version for function availability
	  e.g. android will have update vulkan.h headers but old platforms will
	  not contain the function and will result in a link error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4746>

2020-12-02 18:31:44 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	* ext/webrtcdsp/gstwebrtcechoprobe.cpp:
	* ext/webrtcdsp/gstwebrtcechoprobe.h:
	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Update code for webrtc-audio-processing-1
	  Updated API usage appropriately, and now we have a versioned package to
	  track breaking vs. non-breaking updates.
	  Deprecates a number of properties (and we have to plug in our own values
	  for related enums which are now gone):
	  * echo-suprression-level
	  * experimental-agc
	  * extended-filter
	  * delay-agnostic
	  * voice-detection-frame-size-ms
	  * voice-detection-likelihood
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2943>

2023-05-31 17:33:46 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/webrtc/nice/meson.build:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc/nice: put usage of OPTION_CONSENT_FRESHNESS behind check
	  See https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/257
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4750>

2023-05-31 09:39:35 -0400  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstcudabasetransform.c:
	  cudabasetransform: Handle video related meta as appropriate
	  This implements the same logic as GstVideoFilter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4731>

2023-05-29 12:32:08 -0400  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cuda: memory: Enhance debug when CU_GL_DEVICE_LIST_ALL fails
	  Ensuring error from cuda is logged
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4731>

2023-05-26 13:26:42 +0100  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Emit "map" signal boarder surface is ready
	  This allows gtkwaylandsink to queue a draw of its gtk widget at the
	  correct time, avoiding a race.
	  Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4722>

2023-03-14 11:49:57 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* meson_options.txt:
	* tools/meson.build:
	  tools: add bad/ges/omx tools to gst_tools
	  In static mode, these tools must be built
	  after the gstreamer-full library to use
	  the symbol gst_init_static_plugins.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128>

2023-03-07 14:05:54 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/meson.build:
	  gstreamer-full: add full static support
	  Allow a project to use gstreamer-full as a static library
	  and link to create a binary without dependencies.
	  Introduce the option 'gst-full-target-type' to
	  select the build type, dynamic(default) or static.
	  In gstreamer-full/static build configuration gstreamer (gst.c)
	  needs the symbol gst_init_static_plugins which is defined
	  in gstreamer-full.
	  All the tests and examples are linking with gstreamer but the
	  symbol gst_init_static_plugins is only defined in the gstreamer-full
	  library. gstreamer-full can not be built first as it needs to know what plugins
	  will be built.
	  One option would be to build all the examples and tests after
	  gstreamer-full as the tools.
	  Disable tools build in subprojects too as it will be built at the end of
	  build process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128>

2023-05-25 17:02:24 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/fdkaac/gstfdkaacdec.c:
	  fdkaacdec: Support up to 5 rear channels
	  The `switch (n_rear)` supports up to 5 rear channels, but our channel
	  set only had space for 3. Size the set properly to fix this.
	  This didn't actually cause any memory unsafety as `PUSH_CHAN` would stop
	  incrementing `n_rear` if the channel set is already full.
	  Thanks to @alatiera for noticing this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4712>

2023-04-27 13:10:33 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh264enc.h:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkh265enc.h:
	  msdkenc: Add a property to insert pic timing SEI for avc and hevc
	  User can decide whether to insert pic timing sei with pic_struct
	  syntax via oneVPL API mfxExtCodingOption.PicTimingSEI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4673>

2023-05-25 19:30:29 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/openjpeg/gstopenjpegenc.c:
	  openjpegenc: do not set bpp field on opj_image_cmptparm_t
	  It's deprecated in favor of the .prec field which we already set.
	  https://github.com/uclouvain/openjpeg/pull/1383/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4715>

2023-05-25 19:03:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vkvideoutils: fix code-style
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4716>

2023-05-23 11:52:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  tests: check if vulkan h264 decoding is supported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4716>

2023-05-23 12:26:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkphysicaldevice: fetch queue family query result support
	  And merged in a single structure the queue family operations report.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4716>

2023-05-24 20:37:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: chain the correct structure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4716>

2023-05-24 20:36:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	  vkvideoutils: fix bug for chroma string comparison
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4716>

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

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Fix error on pause and play
	  The show_frame() can be called without prepare() call on paused to
	  playing state change. Thus the prepared buffer should not be cleared
	  on show_frame()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4700>

2023-05-22 13:51:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/tsmux/tsmux.h:
	  tsmux.h: Remove TSMUX_MAX_ES_INFO_LENGTH dead code
	  Also TsMux.es_info_buf which was also not used anywhere
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4681>

2023-05-19 16:23:50 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/gstatscmux.h:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  tsmux: Separate DVB and ATSC AC3 descriptors
	  The previous code was ATSC-specific. Separated it into gstatscmux.c and
	  added the DVB-specific one from ETSI EN 300 468 V1.11.1 (2010-04)
	  https://www.etsi.org/deliver/etsi_en/300400_300499/300468/01.11.01_60/en_300468v011101p.pdf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4681>

2023-05-22 14:37:55 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  tsmux: Refactor AC3 descriptor to use GstByteWriter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4681>

2023-05-19 16:21:15 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmux.h:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.h:
	  tsmux: Parse bitrate from tags into the stream
	  Instead of parsing a hardcoded zero and always writing the highest
	  limit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4681>

2023-05-19 16:18:08 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  tsmux: Fix 0x81 descriptor for AC3 streams
	  According to ATSCA/52:2018
	  https://prdatsc.wpenginepowered.com/wp-content/uploads/2021/04/A52-2018.pdf
	  Used wireshark as ground truth for detection/parsing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4681>

2023-05-19 15:50:11 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/dash/gstdashdemux.c:
	* ext/hls/gsthlsdemux.c:
	* ext/mpeg2enc/gstmpeg2enc.cc:
	* ext/mplex/gstmplex.cc:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/removesilence/gstremovesilence.c:
	* sys/dvb/dvbbasebin.c:
	* sys/dvb/gstdvbsrc.c:
	* sys/winks/gstksvideosrc.c:
	  doc: Fix newline char between authors
	  Found running `gst-inspect-1.0 -a |& grep -v ":" | grep @`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4682>

2023-05-20 03:01:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Don't use CS_OWNDC style
	  It's completely unnecessary since we never use
	  the device context (e.g., BeginPaint() or GetDC() never called).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4684>

2023-05-19 15:10:12 +0800  Shengqi Yu <shengqi.yu@mediatek.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: adjust some logs printing level in h264parse
	  adjust log level from GST_ERROR to GST_WARNING when h264 caps have
	  codec_data but no avc format or have no codec data or stream-format.
	  Because theses are not real errors, it is easy to mislead if print error
	  logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4675>

2023-05-18 09:27:29 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/debugutils/gsttestsrcbin.c:
	  testsrcbin: Remove spurious caps unref
	  Caps are cleared at the end of the function
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2575
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4668>

2023-04-18 15:57:45 +0800  Ma, Mingyang <mingyang.ma@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Fix decoding cases with resolution change (VP9)
	  The resolution of VP9 video can be changed without keyframe.
	  The change detected by MSDK/VPL should be negotiated with downstream.
	  Only the situation can be fixed here if the changed resolution is less than or equal to the initial surface resolution.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4450>

2023-05-11 13:18:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: prepare new allocated buffers
	  This means change initial memory undefined layout and access to the ones
	  required for their usage.
	  This is only used if VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME is available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-30 18:35:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkdownload.c:
	  vkdownload: input memories may not match output memories
	  Split the iterations, one for images and another for buffers, while first
	  barrier on images, and later in buffers after copy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-05-09 17:17:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkcolorconvert.c:
	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	* ext/vulkan/vkviewconvert.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan: number of memories in buffer rather than number of planes
	  New vulkan formats don't match the number of planes with the number of memories
	  attached to the buffer. This patch changes the pattern of using planes for
	  traverse the memories with the number of attached memories.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-13 16:02:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	  vkutils: add gst_vulkan_get_or_create_image_view_with_info()
	  It's a generalization of the original gst_vulkan_get_or_create_image_view().
	  The reason for passing the whole VkImageViewCreateInfo structure rather than
	  just the missing fields, is because VkImageSubresourceRange and
	  VkComponentMapping can be different and those are most of VkImageViewCreateInfo.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-21 16:49:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: enable device optional extensions
	  Enable before-hand what the user might use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-04 19:20:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkformat.c:
	* tests/check/libs/vkimagebufferpool.c:
	* tests/check/meson.build:
	  tests: vkimagebufferpool and format mapping
	  This test will create a pool for VkImageMemory for decoding and others usages.
	  And a test for the new Vulkan format mapping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-05-09 18:04:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: add VK_FORMAT_G8_B8R8_2PLANE_420_UNORM
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-05 10:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vkswapper: use gst_vulkan_format_to_video_format()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-05 10:53:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	  vkformat: add gst_vulkan_format_to_video_format()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-05 10:09:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkimagememory.h:
	* sys/applemedia/iosurfacevulkanmemory.c:
	  vulkan: use gst_vulkan_format_get_aspect()
	  In order to use it, without depending in a previous calling of
	  _create_info_from_args(), VkFormat as input parameter to
	  gst_vulkan_image_memory_init() was added.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-04 22:23:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	  vkformat: add gst_vulkan_format_get_aspect()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-05-08 17:07:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: fail if image cannot be allocated
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-03 21:01:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	  vkimagebufferpool: gst_vulkan_image_buffer_pool_config_set_decode_caps()
	  This is going to be used when the pool is used by a video decoder for
	  VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR, since the frame allocation needs the
	  VkVideoProfileInfoKHR, and for that here GstCaps is used to wire it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-03 20:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/vulkan.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkvideoutils: add gst_vulkan_video_profile_{to/from}_caps()
	  Add this new source file with utils for video profile mapping with GstCaps.
	  These method is used to pass this information along GStreamer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-03 20:17:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: use gst_vulkan_image_memory_alloc_with_image_info()
	  As the pool will be only used for images with usage
	  VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR only one layer has to be allocated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-01 11:25:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.c:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkmemory.c:
	* gst-libs/gst/vulkan/gstvkmemory.h:
	  vulkan: find memory type index with requirements
	  The specification says:
	  VUID-vkAllocateMemory-pAllocateInfo-01713
	  must pAllocateInfo->allocationSize be less than or equal to
	  VkPhysicalDeviceMemoryProperties::memoryHeaps[memindex].size where memindex =
	  VkPhysicalDeviceMemoryProperties::memoryTypes[pAllocateInfo->memoryTypeIndex].heapIndex
	  as returned by vkGetPhysicalDeviceMemoryProperties for the VkPhysicalDevice that
	  device was created from.
	  Though this can be catch by the validation layer, the requested frame size
	  depends on the use case so it's better to check this restriction by our code.
	  This patch also makes use of this new function to find memory type index,
	  and removes the unused function to find memory type index, which, as GstVulkan is
	  considered unstable, we can do it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-04-01 08:12:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: use gst_vulkan_format_from_video_info_2()
	  To get the number of images and its Vulkan formats for the GStreamer format.
	  Also it gets the basic image usage by default if it's not defined. It fails if the
	  video format is not supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-31 12:43:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	  vkformat: add gst_vulkan_format_from_video_info_2()
	  The purpose of this function is to get more info about the mapped Vulkan format
	  from the GStreamer format, since they can be multiple Vulkan formats for one
	  GStreamer format.
	  Also a Vulkan format may have certain usage and aspects that must be verified.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-31 12:53:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkimagememory.h:
	  vkformat: move gst_vulkan_format_from_video_info()
	  Moved gst_vulkan_format_from_video_info() from gstvkimagememory to gstvkformat
	  in order to centralize the video format operations in a single source file.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2021-04-23 12:23:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	  vkimagebufferpool: pass usage and memory properties
	  Pass, in config structure, usage and memory properties, assigning proper
	  defaults if they aren't set. This parameters are used in image memory
	  allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-28 15:31:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdevice.h:
	  vkdevice: add gst_vulkan_device_queue_family_indices()
	  This method will return a GArray with all the queue family indices created by
	  the device when it's opened. This array will be used by VkImageCreateInfo to
	  allocate a new Vulkan image.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-28 15:27:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: add programming parameters verification
	  To `gst_vulkan_device_foreach_queue()`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-17 15:07:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.c:
	* gst-libs/gst/vulkan/gstvkbuffermemory.h:
	  vkbuffermemory: add gst_vulkan_buffer_memory_alloc_with_buffer_info()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-04 17:10:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkimagememory.h:
	  vkimagememory: gst_vulkan_image_memory_alloc_with_image_info()
	  This new method instead of passing a bunch of variables which will fill
	  `VkImageCreateInfo`, the method accepts this whole structure, so the caller can
	  customize it as much as they want.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-27 19:19:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagememory.c:
	  vkimagememory: look up for Vulkan format using a static table
	  Replace the switch structure with explicit and extendable static table.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-23 11:09:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: enable multiple queues per device
	  Originally the opened device only created one queue of one family queue, to say
	  graphics one. This approach felt short when other queue family is required not
	  shared with the graphics queue family, for example video decoding.
	  This new approach proposes to create those queues with supported families. For
	  now, only video decoding and encoder are created, if they are available.
	  In order to hold multiple queues opened, an array of VkDeviceQueueCreateInfo is
	  held along the live the device object, because it's used to traverse or get the
	  opened queues.
	  The algorithm to choose which queues create (or open) is to look for the queue
	  with more family bits, which also supports the one we are requesting, thus
	  minimizing the number of global queues of a certain family to create.
	  Nonetheless, the number of queues to open per family is set to be all of them,
	  widening the possibility of parallelism.
	  Also, this commit do a cosmetic refactor the assigning the physical device
	  nearer where it's used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-21 21:25:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: enable features from physical device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-17 12:32:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice-private.h:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: add gst_vulkan_physical_device_get_features()
	  gst_vulkan_physical_device_get_features() is a private function to access to the
	  available features in the device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-03-20 20:44:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	  vkphysicaldevice: fetch queue family video codec operations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-04 13:28:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	  vkdebug: add video queue flags strings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-01-04 13:23:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/meson.build:
	* meson_options.txt:
	  vulkan: detect vulkan video extensions
	  Also adds a meson option to enable them.
	  The symbol GST_VULKAN_HAVE_VIDEO_EXTENSIONS is an alias of
	  defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 238
	  if the option is allowed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>

2023-05-15 14:37:10 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: msdkenc: update supported image formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4000>

2023-03-30 11:05:04 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdkenc: Remove unsupported image formats for MSDK path
	  For unsupported encoding formats, please use msdkvpp plugin
	  to do conversion first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4000>

2023-03-30 09:39:31 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkmjpegenc.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdkenc: Remove internal vpp function
	  The internal vpp function and msdkvpp plugin are duplicated,
	  so remove the internal vpp, please use msdkvpp plugin to do
	  conversion if necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4000>

2023-05-15 15:42:04 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	  bad:docs: Add new properties description for msdkh264enc and msdkh265enc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4589>

2023-04-27 10:19:57 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh264enc.h:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkh265enc.h:
	  msdkenc: Add properties max/min-qp for I/P/B frame separately in avc and hevc
	  max-qp and min-qp will set the same quantizer scale for I/P/B frames,
	  while max-qp-i/p/b and min-qp-i/p/b enable the max/min quantizer for I,P,B
	  frame separately. When max/min-qp and max/min-qp-i/p/b are given
	  simultaneously, the later set one will overide the previous one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4589>

2022-04-07 09:58:48 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: Validate peer connection stats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2127>

2022-04-06 10:14:07 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: Add data-channels-opened/closed to get-stats signal documentation
	  With contributions from: Matthew Waters <matthew@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2127>

2023-04-20 16:41:11 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: fix critical log when enable playbin3
	  when play rtsp stream with playbin3 enabled, there are some critical logs:
	  g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-video'
	  g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-audio'
	  g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-text'
	  self->collection could be NULL when READY->PAUSED if the pipeline
	  is live, then it will fallback to query playbin2's property,
	  we can call gst_play_streams_info_create_from_collection
	  directly, it will check self->collection internal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4460>

2023-05-17 22:58:46 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* README.md:
	  README.md: fix current version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4662>

2023-05-15 11:14:24 +0200  Martin Nordholts <martn@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Track stats for data channels opened and closed
	  Track data channel stats for `dataChannelsOpened` and
	  `dataChannelsClosed` in `RTCPeerConnectionStats` as specified by
	  https://www.w3.org/TR/webrtc-stats/#dictionary-rtcpeerconnectionstats-members
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4638>

2023-05-14 20:05:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Add render-rectangle property
	  ... and resize HWND on GstVideoOverlay::set_render_rectangle even when
	  we are rendering without external HWND
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2563
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4653>

2023-05-11 04:53:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst/codectimestamper/gsth264timestamper.c:
	* gst/videoparsers/gsth264parse.c:
	  h264parser: Define level enum values
	  ... and stop duplicating it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4595>

2023-03-02 18:09:54 +0800  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: avoid getting property of playbin2 if subtitle_sid is null
	  There is a probability of getting "current-text" property
	  when play with playbin3, and this property is available
	  only in playbin2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4106>

2023-05-17 03:54:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2device.c:
	* sys/wasapi2/gstwasapi2sink.c:
	* sys/wasapi2/gstwasapi2src.c:
	  wasapi2: fix "device" property description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4651>

2023-05-16 17:01:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/wasapi/gstwasapisink.c:
	* sys/wasapi/gstwasapisrc.c:
	  wasapi: fix "device" property description
	  Fixes gstreamer/gst-plugins-bad#1620
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4651>

2023-05-15 13:47:16 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* sys/bluez/gstavdtputil.c:
	  avdtputil: Use int instead of int range for fixed bitpool values
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1698
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4650>

2023-05-15 22:05:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	  cudaconvertscale: Add support for flip/rotation
	  Similar to the d3d11convert element, colorspace conversion, resizing and
	  flip/rotation operations can be done in a single kernel function call
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4640>

2023-05-16 22:56:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Fix for runtime property update
	  Every setup happens in set_caps() method but basetransform will not
	  call the set_caps() if in/out caps were not changed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4646>

2023-05-16 15:32:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadevice_linux.c:
	  va: No need to sort the device after registered
	  The va devices are already registered by the drm path order, so
	  there is no need to sort them again after registered.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4643>

2023-05-16 14:38:44 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadevice_linux.c:
	  va: Sort udev path name before register the va plugins
	  The devices list returned by g_udev_client_query_by_subsystem() may
	  contain udev devices in disorder path name. For example, on some
	  platform it may contain renderD129 before renderD128 device. This
	  will cause we register wrong va plugin name. In this case, the
	  renderD129 will be registered as default plugins such as vah265dec,
	  while the renderD128 will be registered as varenderD128h265dec.
	  This conflicts with the non-udev version of gst_va_device_find_devices().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4643>

2023-05-15 17:31:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: fix warning text and debug data
	  They were backwards or missing.
	  Fix: #2567
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4641>

2023-05-10 12:00:15 +0200  Johan Sternerup <johast@axis.com>

	* ext/sctp/gstsctpenc.c:
	  sctpenc: Fix potential shutdown deadlock
	  When transitioning from state PAUSED to READY, the sctpenc element
	  could previously be stuck in an endless loop trying to resend data
	  in case the underlying sctp stream was in the process of
	  resetting. usrsctp_sendv() would repeatedly return EAGAIN with the
	  result that 0 bytes were sent and then sctpenc would retry forever.
	  To bring sctpenc out of the resend loop we just need to inform the
	  sink pad that it is flushing, which is already done for the associated
	  data queue, but we also need to set the bools associated with the
	  sinkpads that are used as the loop criterion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4601>

2023-04-25 16:03:08 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdkmjpegdec: Fix ColorFormat for BGRx format
	  For msdkmjpegdec, the BGRx format is supported in src caps,
	  set the ColorFormat to MFX_JPEG_COLORFORMAT_RGB.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4489>

2023-05-11 12:30:11 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/msdk.c:
	  msdk: Fix initialization of the msdk_session.impl_idx
	  This fixes the issue of msdk_session.impl_idx not being initialized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4448>

2023-05-12 22:18:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11download.cpp:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	* sys/d3d11/gstd3d11ipcsrc.cpp:
	* sys/d3d11/gstd3d11screencapturedevice.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11: Update element meta
	  Make them consistent, update outdated description and fix some typos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4619>

2023-05-12 17:13:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/meson.build:
	* ext/vulkan/shaders/meson.build:
	  vulkan: minor meson clean ups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4621>

2023-03-12 12:59:11 +0000  Philippe Normand <philn@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/meson.build:
	* ext/wpe/wpe-extension/gstwpeextension.c:
	* ext/wpe/wpe-extension/gstwpeextension.h:
	* ext/wpe/wpe-extension/meson.build:
	* meson_options.txt:
	  wpe: Add support for the WPEWebKit 2.0 API version
	  Most notably this disables console messages support when the 2.0 API is used,
	  because there is no replacement for it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4159>

2023-05-11 17:28:52 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtc: advertise end-of-candidate with an empty candidate string
	  Just like what is done in the browsers.  When this is sent to the peer,
	  they will be able to know that no more candidates are coming and can
	  complete ICE.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4598>

2023-05-10 22:35:27 +0200  Piotr Brzeziński <piotr@centricular.com>

	* gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m:
	  macos: Remove old NSApp workaround related code
	  This is no longer needed since the introduction of `gst_macos_main()` in 1.22.
	  Before that existed, we had a patch for GLib in Cerbero, which did work but made it
	  impossible to update GLib at all. The code being removed was a fail-safe in case of
	  running without said patch being applied. It's no longer needed, since for macOS
	  we just wrap our GStreamer with an NSApplication using `gst_macos_main()`.
	  Warnings will be displayed if no NSApp/NSRunLoop is found wherever needed,
	  pointing the user towards using the new API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4366>

2023-05-10 19:14:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkshaderspv.c:
	  vkshaderspv: fix example
	  Use the correct element names.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4594>

2023-05-10 00:51:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Don't clear prepared buffer on unlock_stop()
	  That can be called between prepare() and render() which results in
	  unexpected error flow return
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4583>

2023-05-10 14:34:32 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: fix a not referenced build error
	  Error Type: error C4189: ‘dma_caps’: local variable is initialized but not referenced
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4587>

2023-05-05 15:17:16 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstcea608mux.c:
	* tests/check/elements/cccombiner.c:
	* tests/check/elements/ccconverter.c:
	  closedcaption: write 0x00 padding instead of 0x80 in cc_data/cdp
	  Depending on the exact output format, 0x00 may be a better default for
	  padding than 0x80.  0x00 is the recommended padding value when used in
	  CDP (and cc_data) but is not when used in s334-1a.  See CTA-708-E 4.3.5
	  amd SMPTE 334-1-2007 5.3.2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4578>

2023-05-06 04:14:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Drop nonexisting picture silently without error
	  If end_picture() was not successful, we do drop corresponding
	  GstVideoCodecFrame and therefore gst_video_decoder_get_frame()
	  will return nullptr which is expected behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4561>

2023-04-18 17:08:54 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Remove unreachable statement
	  The execution cannot reach the statement: "gst_caps_unref(dma_caps);",
	  so remove it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4449>

2023-03-12 14:55:22 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcdatachannel.c:
	* ext/webrtc/webrtcdatachannel.h:
	  webrtcdatachannel: Bind to parent webrtcbin using a weak reference
	  The previous approach of using a simple pointer could lead to a use-after-free
	  in case a data-channel was created and its parent webrtcbin was disposed soon
	  after.
	  Fixes #2103
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4160>

2023-05-04 16:30:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc/nice: support consent-freshness RFC7675
	  As is supported by libwebrtc already.  This allows ICE components to
	  transition to failed if consent to send from the peer is revoked or if
	  multiple consent packets are lost.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4542>

2023-04-30 20:42:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11ipc.cpp:
	* sys/d3d11/gstd3d11ipc.h:
	* sys/d3d11/gstd3d11ipcclient.cpp:
	* sys/d3d11/gstd3d11ipcclient.h:
	* sys/d3d11/gstd3d11ipcserver.cpp:
	* sys/d3d11/gstd3d11ipcserver.h:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	* sys/d3d11/gstd3d11ipcsink.h:
	* sys/d3d11/gstd3d11ipcsrc.cpp:
	* sys/d3d11/gstd3d11ipcsrc.h:
	* sys/d3d11/meson.build:
	* sys/d3d11/plugin.cpp:
	  d3d11: Add support for IPC
	  Adding d3d11ipcsrc and d3d11ipcsink elements so that Direct3D11 textures
	  can be shared between processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4514>

2023-05-05 21:53:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Don't clear wrapped texture memory
	  The external texture may hold already rendered scene and therefore
	  it should not be cleared in alloc method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4554>

2023-05-05 13:12:24 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/onnx/gstonnxobjectdetector.cpp:
	  onnx: Fix typo in documented pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4552>

2023-05-03 17:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	  vkdebug: fix type compilation warning
	  Since VkMemoryHeapFlagBits is an enum, while VkMemoryHeapFlags is the expected
	  alias of VkFlags.
	  This issue is spotted by warning of gcc 13.1.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4547>

2023-05-04 04:44:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoenc: Allow only even resolution numbers
	  Some H/W vendors support odd resolution if D3D11 texture is used
	  or via IMF2DBuffer, but not all vendors support it.
	  Also software MFT does not allow odd resolution.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2537
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4540>

2023-05-02 18:14:20 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix potential deadlock when closing before any data was sent
	  A blocking pad probe is added on new sink pads, it's usually removed after the
	  caps have been negotiated or the signaling state switched to stable, but if that
	  never happens and the pad is released we kept the pad probe active, leaving the
	  pad blocked, preventing clean disposal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4529>

2023-05-02 11:34:36 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/srt/gstsrtobject.c:
	  srt: assert instead of segfault when passing no error to ERROR_TO_WARNING
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4524>

2023-05-02 11:41:41 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/srt/gstsrtobject.c:
	  srt: fix segfault if send_headers() failed
	  The error handling code was assuming that 'internal_error' was set,
	  while we were passing the caller GError.
	  The internal error is already propagated to the caller later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4524>

2023-05-01 17:46:25 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/dtlstransport.c:
	  dtlstransport: Keep strong ref of dtls encoder/decoder
	  Otherwise get_property() calls for the client, certificate and/or
	  remote-certificate properties might access moved objects, since the encoder and
	  decoder are added to the transportsendbin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4519>

2023-05-01 10:24:54 +0000  Mihail Ivanchev <contact@ivanchev.net>

	* gst/codectimestamper/meson.build:
	  gstcodectimestamper: remove PC file generation from plugin's own meson.build
	  The file generated here is incomplete; it is generated for all plugins in a loop at an upper level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4518>

2023-04-28 22:25:11 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: map the mbbrc to correct enum value in get_property()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4509>

2023-04-28 22:26:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: map the mbbrc to correct enum value in get_property()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4509>

2023-04-20 18:57:50 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/rtp/gstrtpsrc.c:
	  rtpsrc: Give better names to internal elements
	  Same name was used for all instances of rtpsrc making debugging more complex
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4484>

2023-04-28 04:28:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2util.c:
	  wasapi2: Allows process loopback capture on Windows 10
	  As per MS documentation[1], it requires Windows 10 Build 20348
	  but it seems to be supported by old versions too
	  [1] https://learn.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/
	  ns-audioclientactivationparams-audioclient_process_loopback_params
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2524
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4505>

2023-04-14 16:11:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	* meson_options.txt:
	* sys/va/meson.build:
	  meson: Add feature options for optional va deps libdrm and gudev
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428>

2023-04-14 13:18:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	* sys/kms/meson.build:
	  meson: Fix libdrm and vaapi configure checks
	  We do not need fallback: for libdrm checks because the wrap file
	  already has a [provide] section.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428>

2023-04-27 13:32:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vkswapper: missing image barrier after vkCmdClearColorImage
	  After clear color image command the swapper image needs to add a barrier before
	  copying the buffer to display on it. Otherwise a potential synchronization
	  problem might occur.
	  Fixes #2403
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501>

2023-04-27 11:37:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkcolorconvert.c:
	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkoverlaycompositor.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vulkan: use VK_QUEUE_FAMILY_IGNORED in barriers
	  Instead of using the valid queue family 0 (zero) if there aren't queue transfers
	  there's no need to specify a not validated queue family, but just
	  VK_QUEUE_FAMILY_IGNORED.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501>

2023-04-27 23:49:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix for semi planar YUV memory size decision
	  UV plan of the semi planar format requires only half of Y plane size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4502>

2023-04-18 11:21:05 +0200  Daniel Moberg <daniemob@axis.com>

	* ext/webrtc/webrtcdatachannel.c:
	  webrtc: do not tear down data channel before data is flushed
	  Current implementation can in some cases detect
	  that all data is sent but in reality it is not,
	  leading to a push to an unlinked pad.
	  This is a race between the probe used to track data sent and a
	  call to close.
	  This patch sends an EOS before starting the close procedure
	  and then waits for the EOS event to come through to the
	  src pad before commencing with tear down.
	  This ensures that any queued data before EOS is flushed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4462>

2023-04-11 12:40:54 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* tests/check/elements/ccconverter.c:
	  ccutils: generate valid padding in field 1 when needing to generate field 2
	  Fixes CC in Field 2 but not in Field 1 errors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4490>

2023-04-25 04:59:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix for ignored initial render rectangle
	  Application can set target render rect before internal HWND
	  configuration
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2518
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4480>

2023-04-25 10:14:47 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* tests/check/meson.build:
	  bad: disable dtls test if openssl is not present
	  On MacOS with homebrew, the openssl library is not
	  properly detected with pkg-config.
	  So disable the test compilation if openssl
	  is not properly detected along with libcrypto.
	  libcrypto is detected but it uses the system one
	  which leads to the error:
	  your binary is not an allowed client of /usr/lib/libcrypto.dylib for
	  architecture x86_64
	  See more details from Apple:
	  https://developer.apple.com/forums/thread/124782
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4481>

2023-04-21 13:52:50 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	  msdk: Fix segfault for OneVPL dispatcher + legacy MSDK runtime path
	  From the spec, the OneVPL dispatcher should be able to work with
	  legacy MSDK runtime:
	  https://www.intel.com/content/www/us/en/docs/onevpl/upgrade-from-msdk/2023-1/onevpl-hardware-support-details.html
	  Currently supported capabilities:
	  OneVPL dispatcher + OneVPL runtime: dynamic capability
	  MSDK dispatcher + MSDK runtime: static capability
	  MSDK dispatcher + OneVPL runtime: static capability
	  OneVPL dispatcher + legacy MSDK runtime: static capability
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2506
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466>

2023-04-21 10:38:54 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Add NumFilters check for VPP description
	  When NumFilters is equal to 0, the function should return
	  immediately.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466>

2023-04-21 10:19:32 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	  msdk: Add return when creating caps fails for VPP
	  When creating caps fails, the function should return immediately
	  and should not continue to register the plugin.
	  This patch fixes the issue of "gst_mini_object_ref: assertion
	  'mini_object != NULL' failed" in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2506
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466>

2023-04-06 16:50:23 -0300  Eva Pace <eba.pachi@gmail.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix trace log 'from' value
	  `webrtc->signaling_state` (from) and `new_signaling_state` (to) had the
	  same value when printed in a trace log. This commit adds a
	  `old_signaling_state` variable to hold the previous value, so that the
	  print statement works as intented.
	  Spotted by: Mustafa Asım REYHAN
	  Fixes #1802
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4362>

2023-03-19 15:35:29 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Avoid shelling out to hotdoc to generate plugins config files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479>

2023-04-23 10:05:17 -0400  Thibault Saunier <tsaunier@igalia.com>

	* ext/srt/gstsrtsink.c:
	* gst-libs/gst/basecamerabinsrc/meson.build:
	* gst-libs/gst/va/meson.build:
	  meson: Add CameraBin and Va girs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479>

2023-04-24 15:20:45 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* sys/applemedia/helpers.c:
	  applemedia: fix missing definition
	  Fix missing kCVPixelFormatType_64RGBALE definition
	  on Catalina for example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4478>

2023-04-19 16:59:01 +0200  Martin Nordholts <martn@axis.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: Plug leaks of resolved ICE addresses
	  The addresses we get from `resolve_host_finish()` (via
	  `resolve_host_async()`, `resolve_host_main_cb()`, `on_resolve_host()`,
	  `g_resolver_lookup_by_name_finish()`) must be freed. Otherwise we leak
	  memory.
	  Leak found and confirmed fixed with GCC AddressSanitizer.
	  Change-Id: If32d24452d626234f01b253b77a7d6d16eac1cee
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4469>

2022-08-31 14:15:16 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/basecamerabinsrc/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/mpegts/meson.build:
	* gst-libs/gst/play/meson.build:
	* gst-libs/gst/player/meson.build:
	* gst-libs/gst/transcoder/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/webrtc/meson.build:
	  gir: Checkout all .gir files and check that they are updated on the CI
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010>

2023-04-20 02:18:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlay.cpp:
	  d3d11overlay: Enhance documentation and fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4455>

2023-03-24 00:11:21 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Remove redundant bind flag validation
	  It has been validated outside of each function already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4455>

2023-04-20 06:30:52 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/sctp/usrsctp/usrsctplib/netinet/sctp_pcb.c:
	* ext/sctp/usrsctp/usrsctplib/netinet/sctp_sysctl.c:
	  sctp: Avoid old-style function defintions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4457>

2023-04-18 15:28:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/msdk/meson.build:
	* sys/uvch264/meson.build:
	* sys/v4l2codecs/meson.build:
	* sys/va/meson.build:
	  meson: Add a wrap file for libgudev
	  And allow fallback to it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4447>

2023-04-19 09:55:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/pcapparse/gstpcapparse.c:
	* gst/pcapparse/gstpcapparse.h:
	  pcapparse: Add support for Linux "cooked" capture encapsulation v2
	  See https://www.tcpdump.org/linktypes/LINKTYPE_LINUX_SLL2.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4451>

2023-04-01 09:21:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* sys/d3d11/gstd3d11deinterlace.cpp:
	  d3d11: Fix typo in interlace mode name in enum
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4414>

2023-04-18 14:55:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Set number of channels to 2 for dual mono Opus
	  Instead of leaving it at 0, which will then cause caps creation to fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4445>

2023-04-17 11:36:55 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/dash/gstmpdclient.c:
	  dash: mpdclient: fix divide by 0 if segment has no duration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4436>

2023-04-17 23:06:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Reconfigure resource only when output caps is changed
	  GstD3D11Converter setup is heavy operation since it requires
	  shader compile, GPU resource allocation, some math, mutex, etc.
	  We can avoid it if negotiated caps is not changed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4439>

2023-04-14 02:10:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlay.cpp:
	* sys/d3d11/gstd3d11overlay.h:
	* sys/d3d11/meson.build:
	* sys/d3d11/plugin.cpp:
	* tests/examples/d3d11/d3d11overlay.cpp:
	* tests/examples/d3d11/meson.build:
	  d3d11: Add d3d11overlay element
	  Similar to cairooverlay element but this element emits "draw"
	  signal with Direct3D11 render target view, so that an application
	  can render/overlay/blend on the given render target view
	  without any copy operation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4415>

2023-04-17 21:42:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Add "ignore-inactive-pads" property
	  Same as compositor element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4438>

2023-04-17 21:34:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Skip zero alpha input
	  Blending such input is a waste of resource since nothing will
	  be rendered
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4438>

2023-03-20 20:42:41 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp: Enable dynamic capability support
	  Enable dynamic capability support for msdkvpp. The gstmsdkvpp
	  element can create the sink caps and src caps dynamically for
	  different platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-03-20 20:41:29 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	  msdkvpp: Add function to dynamically create sink caps and src caps
	  We need to create the sink caps and src caps dynamically for different
	  platforms. By default, the vpp init function create static pad template
	  and the compatibility and flexibility of the platform are too poor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-03-10 19:03:47 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	* sys/msdk/gstmsdkav1dec.c:
	* sys/msdk/gstmsdkav1dec.h:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	* sys/msdk/gstmsdkh264dec.c:
	* sys/msdk/gstmsdkh264dec.h:
	* sys/msdk/gstmsdkh265dec.c:
	* sys/msdk/gstmsdkh265dec.h:
	* sys/msdk/gstmsdkmjpegdec.c:
	* sys/msdk/gstmsdkmjpegdec.h:
	* sys/msdk/gstmsdkmpeg2dec.c:
	* sys/msdk/gstmsdkmpeg2dec.h:
	* sys/msdk/gstmsdkvc1dec.c:
	* sys/msdk/gstmsdkvc1dec.h:
	* sys/msdk/gstmsdkvp8dec.c:
	* sys/msdk/gstmsdkvp8dec.h:
	* sys/msdk/gstmsdkvp9dec.c:
	* sys/msdk/gstmsdkvp9dec.h:
	  msdkdec: Enable dynamic capability support
	  Enable dynamic capability support for msdkav1dec, msdkh264dec,
	  msdkh265dec, msdkmjpegdec, msdkmpeg2dec, msdkvc1dec, msdkvp8dec,
	  msdkvp9dec.
	  The gstmsdkdec elements can create the sink caps and src caps
	  dynamically for different platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-03-10 16:32:03 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	  msdkdec: Add function to dynamically create sink caps and src caps
	  We need to create the sink caps and src caps dynamically for different
	  platforms. By default, the dec init function create static pad template
	  and the compatibility and flexibility of the platform are too poor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-03-06 19:45:06 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkmjpegenc.c:
	* sys/msdk/gstmsdkmpeg2enc.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdkenc: Add documented capabilities to expose "stable" caps
	  Although msdkenc supports dynamic caps, it still needs to expose
	  "stable" caps to users.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-22 10:41:40 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdkenc: Support image formats in low power mode for sink caps
	  There are some special image formats in low power mode, these
	  image formats should be supported in sink caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-23 13:20:28 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkmpeg2enc.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdkenc: Remove static templates in format setting
	  The elements have supported dynamic capability query, and it is not
	  necessary to refer the static templates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-22 16:46:23 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh264enc.h:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkh265enc.h:
	* sys/msdk/gstmsdkmjpegenc.c:
	* sys/msdk/gstmsdkmjpegenc.h:
	* sys/msdk/gstmsdkmpeg2enc.c:
	* sys/msdk/gstmsdkmpeg2enc.h:
	* sys/msdk/gstmsdkvp9enc.c:
	* sys/msdk/gstmsdkvp9enc.h:
	  msdkenc: Enable dynamic capability support
	  Enable dynamic capability support for msdkav1enc, msdkh264enc,
	  msdkh265enc, msdkmjpegenc, msdkvp9enc, msdkmpeg2enc.
	  The gstmsdkenc elements can create the sink caps and src caps
	  dynamically for different platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-23 16:33:42 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	  msdk: Add function to specify string array parameters
	  Sometimes it is necessary to manually specify string parameters
	  of multiple options, such as format, interlace-mode, etc.
	  Add function to support this requirment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-22 10:30:57 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	  msdkenc: Add function to dynamically create sink caps and src caps
	  We need to create the sink caps and src caps dynamically for different
	  platforms. By default, the enc init function create static pad template
	  and the compatibility and flexibility of the platform are too poor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2022-11-15 18:08:12 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: add function to get the format list
	  This static format list will be used to check the formats
	  supported by the platform.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-22 10:24:12 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	  msdk: Register elements based on the codecs supported by the platform
	  By default, msdk plugin will register all encoders and decoders
	  on any platform, even unsupported encoders and decoders will be
	  registered. Dynamically register encoders and decoders besed on
	  the supported codecs on different platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-22 10:23:00 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: Add function to get the implementation description
	  Through the implementation description, we can dynamically obtain
	  the codec capabilities supported by the platform.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-04-07 14:26:55 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	  msdk: Add functions to get data members from MsdkSession
	  When getting mfxImplDescription, these data members need to
	  be used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-04-07 14:09:40 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	* sys/msdk/gstmsdkcontextutil.c:
	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: Create msdk context without job_type
	  The job_type is not necessary when creating a normal msdk
	  context. Make the APIs for creating context more flexible.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-02-22 10:26:38 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkcaps.h:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/meson.build:
	  msdk: Move all _gst_caps_has_feature to gstmsdkcaps.c
	  _gst_caps_has_feature is used by all msdk elements, so
	  move it to gstmsdkcaps.c
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177>

2023-04-13 01:10:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/srt/gstsrtsink.c:
	* ext/srt/gstsrtsrc.c:
	  docs: mark GstSRTSink and GstSRTSrc as plugin API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408>

2023-04-13 04:42:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Remove pointless GetDC call
	  We don't use the Win32 device context handle at all.
	  Removing code which was copied from GL code blindly
	  in early d3d11 implementation stage a long time ago
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4407>

2018-07-19 17:21:22 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix "srtp-key" check
	  The original code was:
	  if (!gst_structure_get (s, "srtp-key", GST_TYPE_BUFFER, &buf, NULL) || !buf) {
	  goto error;
	  } else {
	  stream->key = buf;
	  }
	  So use "srtp-key" if it is set so a non NULL buffer. The condition was
	  incorrectly inverted in ad7ffe64a66ab48d81671651031c449149db4973 to:
	  if (gst_structure_get (s, "srtp-key", GST_TYPE_BUFFER, &buf, NULL) || !buf) {
	  stream->key = buf;
	  } ...
	  Fix the condition so it works as originally intended and avoid accessing
	  'buf' uninitialised.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4401>

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

	* gst/sdp/gstsdpdemux.c:
	* gst/sdp/gstsdpdemux.h:
	* tests/check/elements/sdpdemux.c:
	* tests/check/meson.build:
	  sdpdemux: Add support for RFC4570 SDP source filters
	  Parse source-filter attributes and configure udpsrc accordingly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485>

2023-04-04 17:50:39 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	* gst/codectimestamper/gstcodectimestamper.h:
	* tests/validate/codectimestamper/h264_propagate_caps.validatetest:
	* tests/validate/codectimestamper/h264_propagate_caps/flow-expectations/log-sink-sink-expected:
	* tests/validate/meson.build:
	  codectimestamper: Implement QUERY_CAPS support
	  This is required to ensure that downstream restrcitions are also
	  propagated upstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341>

2023-04-04 17:54:51 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: Use accept-intersect and accept-template caps
	  We should behave similarly to video parsers so we can use:
	  - accept-template as we can also accept caps with missing fields.
	  - accept-intersect to do quick check with the pad template caps as it is
	  enough. Users should have figured the appropriate full caps on a
	  previous caps query
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341>

2023-04-12 02:17:14 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: Add support for seeking
	  The "start_time" should be cleared per flush in order to apply
	  new offset time to each output buffer. Also, input running time
	  must be compared with output running time, not output position.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4398>

2023-04-12 02:46:15 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: Implement GstAggregator::clip
	  Drop buffers if it's outside of segment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4398>

2022-12-01 15:25:59 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	  msdkcontext: Remove unused codes in msdkcontext
	  We don't maintain three list (i.e. avail, locked and used) surfaces
	  as the old way did to achieve memory management, so remove the
	  correcponding codes for old memory management.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276>

2022-12-01 15:15:27 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1dec.c:
	* sys/msdk/gstmsdkbufferpool.c:
	* sys/msdk/gstmsdkbufferpool.h:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265dec.c:
	* sys/msdk/gstmsdkmjpegdec.c:
	* sys/msdk/gstmsdksystemmemory.c:
	* sys/msdk/gstmsdksystemmemory.h:
	* sys/msdk/gstmsdkvideomemory.c:
	* sys/msdk/gstmsdkvideomemory.h:
	* sys/msdk/gstmsdkvp9dec.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/meson.build:
	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: Remove unused gstmsdkbufferpool and memory
	  GstMsdkBufferPool, GstMsdkVideoMemory and GstMsdkSystemMemory are no
	  longer used in msdk plugins, instead we use va/d3d11 pool for memory
	  allocation. So, remove the codes of unused stuffs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276>

2022-12-01 14:53:21 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: Remove the func gst_msdk_is_msdk_buffer
	  Since we use va/d3d11 pool to allocate memory, the old msdk bufferpool
	  stuffs are not used anymore, so we don't need to check if an input
	  buffer is msdk buffer using gst_msdk_is_msdk_buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276>

2023-04-10 20:10:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	  h264decoder: Enable low-latency bumping in case of pic_order_cnt_type 2
	  In case of POC type 2, output order is equal to decoding order
	  (no frame reordering)
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2447
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357>

2023-04-06 20:48:17 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	  h264decoder: Fix for latency report
	  The minimum latency answered by an element should be the maximum
	  latency from the element's perspective. Also consider max_reorder_frames
	  update as a sequence change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357>

2023-04-06 20:26:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Ignore invalid max_num_reorder_frames in VUI
	  It's not fatal and can be ignored
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357>

2023-04-06 19:40:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix for latency report when src caps is not configured
	  Depending on subclass, negotiation might not happen on new_sequence()
	  Fixing regression introduced by the commit
	  4a4823b9728fbb944e05d89e0fee681ab5b33e25
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357>

2023-04-06 19:36:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Fix for latency report when src caps is not configured
	  Depending on subclass, negotiation might not happen on new_sequence()
	  Fixing regression introduced by the commit
	  4a4823b9728fbb944e05d89e0fee681ab5b33e25
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357>

2023-04-10 17:31:29 +0800  Wang Chuan <jdyaomo@gmail.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  gstd3d11window: fix memory leak
	  GstStructure may leak when using external HWND
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4373>

2023-04-08 23:03:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfencoder.cpp:
	* sys/amfcodec/gstamfencoder.h:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfencoder: Set output DTS
	  AMF runtime does not provide correct DTS. Although GetPts() seems to
	  be returning DTS, it still needs to be adjusted to meet DTS <= PTS
	  requirement. Do calculate DTS in baseclass instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4092>

2023-02-09 11:12:17 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/gstamfh264enc.cpp:
	  amfcodec: Add options for B-frames for amfh264enc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4092>

2023-04-07 22:13:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/decklink/gstdecklinkaudiosink.cpp:
	  decklinkaudiosink: Fix playback when video caps is configured before audio
	  Scheduled playback starts on videosink's state change or on caps
	  but it's possible that audiosink is configure without caps yet.
	  Try start scheduled playback on audiosink's caps event as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4364>

2023-01-18 14:42:38 +0000  Dario Marino Saccavino <dmsaccav@amazon.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2client.h:
	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	* sys/wasapi2/gstwasapi2ringbuffer.h:
	* sys/wasapi2/gstwasapi2src.c:
	* sys/wasapi2/gstwasapi2util.h:
	  wasapi2: Add option to monitor loopback device's mute state
	  When loopback recording from a render device, the wasapi2src element
	  captures audio even if the device is muted. This change adds the
	  'loopback-silence-on-device-mute' property that, when set to `true`,
	  causes wasapi2src to inject silence in the pipeline when
	  the device is muted.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1306
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4337>

2023-04-04 21:50:01 +1000  Jan Schmidt <jan@centricular.com>

	* gst/mpegdemux/gstmpegdemux.c:
	* gst/mpegdemux/gstmpegdemux.h:
	  mpegpsdemux: Rework gap sending
	  Take the gap logic from mpegtsdemux, and don't
	  send gap events on a stream that's outputting buffers with
	  no timestamps. Time isn't advancing, but the stream has
	  buffers - so it's not sparse.
	  Fixes #2374
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4333>

2023-04-05 20:12:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vulkan: Use new GLib APIs as suggested by comments
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4349>

2023-03-23 20:04:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Don't override upstream framerate
	  The framerate should only be replaced (and corrected for alternating field)
	  when it is parsed from the bitstream. Otherwise, the upstream framerate
	  from caps should be trusted and assumed correct.
	  Related to gst-plugins-bad!2020
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259>

2023-03-23 20:02:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gsth265parse.h:
	  h265parse: Rename parsed_framerate to framerate_from_caps
	  That meaning of parsed_framerate is ambigious, it is set whenever the
	  framerate has been parsed from caps, which can be confused with being
	  parsed from the bitstream. Rename this as framerate_from_caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259>

2023-04-04 16:41:39 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Minor refactoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4336>

2023-04-04 11:51:43 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/mpegts.h:
	* gst/mpegtsdemux/tsdemux.c:
	* tests/examples/mpegts/ts-parser.c:
	  mpegts: Fix include headers
	  <gst/mpegts/mpegts.h> is the unique header to use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4336>

2023-04-04 12:22:31 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: fix 10 bit RGB (r210) format auto detection
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2391
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4332>

2023-03-29 03:16:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	* sys/d3d11/gstd3d11winrtcapture.h:
	* sys/d3d11/meson.build:
	  d3d11screencapturesrc: Add "window-capture-mode" property
	  ... to support capturing only window's client area
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2425
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4324>

2023-04-01 01:57:09 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcea608mux.c:
	* ext/closedcaption/gstcea608mux.h:
	  cea608mux: Fix output buffer timestamping
	  Don't assume that input stream starts from zero running time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4319>

2023-03-27 09:20:27 +0200  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: fix race conditions in win32 window
	  One race condition is the fact that the window object
	  can be destroyed while running some routine in the UI
	  thread (such as resizing). To avoid that situation we make
	  UI thread hold a reference on the window object while it's
	  running.
	  Other probpematic case is when the window handle is reused:
	  if we stop and start the pipeline very fast,
	  so the sink creates a new window object that is going to use
	  the same window handle as the previous one.
	  And finally the case when the pipeline is stopped immediatelly
	  right after starting, this one is also handled in this commit.
	  NOTE: a unit test that reproduces this cases have been added
	  in the previous commit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4260>

2023-03-21 18:17:12 +0100  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* tests/check/elements/d3d11videosink.c:
	* tests/check/meson.build:
	  d3d11videosink: add gstcheck test for win32 window
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4260>

2023-03-31 17:43:16 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland_private.h:
	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.h:
	  vulkan/wayland: use xdg_wm_base when available
	  wl_shell is deprecated and has been removed from some compositors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4316>

2023-03-31 16:45:47 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	  vulkan/wayland: provide a dummy registry global_remove function
	  Even if we don't care about any global objects being removed, wayland
	  will still error if globals are removed without a corresponding listener
	  set up for them.  e.g. wl_output hotplugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4316>

2023-03-31 16:33:58 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
	  vulkan/wayland: rename debug category to mention wayland instead of XCB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4316>

2023-04-02 00:29:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Enhancement for initial window size decision
	  Use AdjustWindowRect() method to calculate window size so that
	  video scene can be rendered on client area without black borders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4323>

2023-03-30 10:11:11 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: reintroduce frame count reset on cycle completion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4308>

2023-03-31 04:40:58 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-transcoder.c:
	  tools: Count argc after parsing GOption on Windows
	  Existing codes rely on modified argc value by g_option_context_parse()
	  but g_option_context_parse_strv() is used in case of Windows.
	  Count arguments after the option parsing manually.
	  Fixing command "gst-inspect-1.0.exe -b"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4313>

2023-03-31 03:57:10 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/mpegtsdemux/tsdemux.c:
	  mpegts: remove stream-type from KLV meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4310>

2023-03-30 20:09:59 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/mpegtsdemux/tsdemux.c:
	  mpegts: add support for KLV metadata in PES packets
	  Co-authored-by: Andoni Morales Alastruey <ylatuya@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1312>

2023-03-30 20:06:33 +1100  Brad Hards <bradh@frogmouth.net>

	* gst-libs/gst/mpegts/gst-metadata-descriptor.c:
	* gst-libs/gst/mpegts/gst-metadata-descriptor.h:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.c:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mpegts/mpegts.h:
	* gst/mpegtsdemux/tsdemux.c:
	* tests/examples/mpegts/ts-parser.c:
	  mpegts: implement metadata in PES packets
	  Co-authored-by: Andoni Morales Alastruey <ylatuya@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1312>

2023-03-29 09:20:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecs/gsth264picture-private.h:
	* gst-libs/gst/codecs/gsth264picture.h:
	  gsth254picture: move internal API to private header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4288>

2023-03-27 13:53:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture-private.h:
	* gst-libs/gst/codecs/gsth264picture.c:
	  h264decoder: use last_output_poc from DPB
	  It seems that `last_output_poc` in `h264decoder` class is a left over of commit
	  5527cc4a2e7.
	  This patch removes it but keeps the log message by fetching the `h264picture`'s
	  `last_output_pic`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4288>

2023-03-29 12:58:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vkmemory: flush whole size
	  Running element_vkcolorconver test with Vulkan validation layer this error is
	  raised:
	  Code 0 : Validation Error: [ VUID-VkMappedMemoryRange-size-01390 ] Object 0:
	  handle = 0x100000000010, type = VK_OBJECT_TYPE_DEVICE_MEMORY;
	  | MessageID = 0xdd4e6d8b
	  | vkFlushMappedMemoryRanges: Size in pMemRanges[0] is 0x4, which is not a
	  multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize (0x40) and offset +
	  size (0x0 + 0x4 = 0x4) not equal to the memory size (0xb). The Vulkan spec
	  states: If size is not equal to VK_WHOLE_SIZE, size must either be a multiple of
	  VkPhysicalDeviceLimits::nonCoherentAtomSize, or offset plus size must equal the
	  size of memory
	  The reason of is that the image size used in the test doesn't comply hardware
	  restrictions. In order to avoid juggling with image size and hardware
	  restrictions, this patch proposes to use VK_WHOLE_SIZE macro.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4296>

2023-03-29 12:44:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkimage.c:
	  tests: vkimage: add VK_IMAGE_USAGE_SAMPLED_BIT usage bit
	  Running tests with Vulkan Validation enabled show an error on vkimage tests:
	  Code 0 : Validation Error: [ VUID-VkImageViewCreateInfo-image-04441 ]
	  Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle
	  = 0x50000000005, type = VK_OBJECT_TYPE_IMAGE;
	  | MessageID = 0xb75da543
	  | Invalid usage flag for VkImage 0x50000000005[] used by vkCreateImageView(). In
	  this case, VkImage should have VK_IMAGE_USAGE_SAMPLED_BIT |
	  VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
	  VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT |
	  VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT |
	  VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
	  VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT |
	  VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR |
	  VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR |
	  VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR |
	  VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR | VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM
	  | VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM set during creation.
	  The Vulkan spec states: image must have been created with a usage value
	  containing at least one of the usages defined in the valid image usage list for
	  image views
	  This patch adds VK_IMAGE_USAGE_SAMPLED_BIT to the usage bits in test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4296>

2023-03-29 11:04:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vkfullscreenquad: set enable_clear as TRUE by default
	  While using the validation layer with this pipeline:
	  gst-launch-1.0 videotestsrc num-buffers=10 ! vulkanupload ! vulkancolorconvert ! vulkansink
	  The validation layer throws this message:
	  Code 0 : Validation Error: [ VUID-VkAttachmentDescription-format-06699 ]
	  Object 0: handle = 0x5555562e9610, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x52b3229e |
	  vkCreateRenderPass: pCreateInfo->pAttachments[0] format is
	  VK_FORMAT_B8G8R8A8_UNORM and loadOp is VK_ATTACHMENT_LOAD_OP_LOAD, but
	  initialLayout is VK_IMAGE_LAYOUT_UNDEFINED.
	  The Vulkan spec states: If format includes a color or depth aspect and loadOp is
	  VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED
	  When creating the render pass the loadOp can be either
	  `VK_ATTACHMENT_LOAD_OP_CLEAR` or `VK_ATTACHMENT_LOAD_OP_LOAD` depending on
	  `enable_clear`. While `enable_clear` is FALSE by default (which means
	  `VK_ATTACHMENT_LOAD_OP_LOAD`). Nonetheless, its value is explicitly changed by
	  `vkoverlaycompositor` to FALSE too!
	  This behavior was introduced in merge request #2470 where
	  `VK_ATTACHMENT_LOAD_OP_CLEAR` was a fixed value for loadOp. Thus, the bug
	  consists in a missing initialization of `enable_clear` to TRUE from that merge
	  request.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4296>

2023-02-23 14:44:34 +0000  Erik Fröbrant <erikto@axis.com>

	* ext/curl/gstcurlbasesink.c:
	  curlbasesink: error codes in transfer error details
	  There is currently no easy way for an application to distinguish between
	  different resource write errors being set in the curlbasesink.
	  Add curl status codes as error details on transfer failure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4062>

2023-02-23 14:26:27 +0000  Erik Fröbrant <erikto@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	  curlhttpsink: HTTP code in transfer error details
	  There is currently no easy way for an application to distinguish between
	  different resource write errors being set in the curlhttpsink.
	  Add HTTP status code as error details on transfer failure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4062>

2023-03-27 16:28:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vulkanswapper: correctly handle force-aspect-ratio=false
	  It was simply ignored so actually handle it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4278>

2023-03-26 16:49:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/qroverlay/gstdebugqroverlay.c:
	  debugqroverlay: fix string leak
	  g_string_free(.., FALSE) gives us ownership of the string
	  already, no need to duplicate that again with g_strdup(),
	  and doing so will leak the string returned by g_string_free()
	  here. Caught by compiler warnings in newer GLib versions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4273>

2023-03-26 16:40:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/teletextdec/gstteletextdec.c:
	* sys/winks/gstksvideodevice.c:
	* sys/winks/kshelpers.c:
	* tools/gst-app-maker:
	  taglist, plugins: fix compiler warnings with GLib >= 2.76
	  Fix compiler warnings about not using the return value when
	  freeing the GString segment with g_string_free(.., FALSE):
	  ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
	  which we get with newer GLib versions. These were all harmless.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4273>

2023-03-19 18:26:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	* ext/aom/meson.build:
	  av1enc: Use correct enum type with libaom >= 3
	  This fixes, among other things, a compiler warning with clang.
	  Also add static assertions that our own enum values match with the ones
	  from libaom.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4223>

2023-02-13 12:05:27 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/openjpeg/gstopenjpegdec.c:
	  openjpegdec: allow multithread decoding only in subframe mode
	  To avoid mis-ordered frames, allow multithread decoding only in
	  subframe mode.
	  Fixes #1786
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3948>

2023-03-24 20:39:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: advance segment->position when outputting
	  It is the responsibility of the subclass to advance segment->position if
	  it wants to rely on gst_aggregator_simple_get_next_time() for timeouts
	  in live mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4266>

2023-03-24 12:46:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	  vaencoder: remove display reference in decode picture
	  Since it's possible to grab the VA display from the GstBuffer and
	  GstMemory, there's no need to keep a reference to it in
	  GstVaEncodePicture.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3066>

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

	* sys/va/gstvadecoder.c:
	* sys/va/gstvadecoder.h:
	  vadecoder: remove display reference in decode picture
	  Since it's possible to grab the VA display from the GstBuffer and
	  GstMemory, there's no need to keep a reference to it in
	  GstVaDecodePicture.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3066>

2023-03-20 17:12:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vkinstance: register GStreamer version as engine version
	  Specification says:
	  """
	  engineVersion is an unsigned integer variable containing the developer-supplied
	  version number of the engine used to create the application.
	  """
	  Assuming the engine is GStreamer, it would be expected to set its version as
	  engine version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4243>

2023-03-24 00:23:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	  d3d11bufferpool: Fix invalid access in debug print loop
	  Add missing condition check in for loop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4255>

2023-03-21 21:04:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vkinstance: enable GPU assisted validation
	  This allows to check for syncronization issues while using the validation layer.
	  https://vulkan.lunarg.com/doc/sdk/1.3.239.0/linux/synchronization_usage.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4245>

2023-03-10 17:37:46 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/vkoverlaycompositor.c:
	  vulkanoverlaycompositor: also support RGBA vulkan images
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4184>

2023-03-16 14:21:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  mpegtsdemux: Fix handling of explicit Opus channel mapping
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180>

2023-03-16 14:05:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Allow writing arbitrary Opus channel mapping families and up to 255 channels
	  And fix writing of dual-mono special cases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180>

2022-12-07 14:30:23 +0000  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
	  vulkan: gl: change symbols to static
	  Change window_proc and subclass_proc to static to avoid symbols
	  duplication.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246>

2022-12-07 12:13:24 +0000  Stéphane Cerveau <scerveau@igalia.com>

	* sys/directshow/gstdshow.cpp:
	* sys/mediafoundation/gstmfcapturedshow.cpp:
	  sys: avoid double definition of symbol MEDIASUBTYPE_I420
	  Namespace the symbol MEDIASUBTYPE_I420 to avoid double definition
	  across dshow and mediafoundation plugins.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246>

2023-03-21 20:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	  nvh264encoder: Fix template caps
	  It should include progressive as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4236>

2023-03-21 14:59:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkfence.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkutils.c:
	  vulkan: silence gobject-instrospection warnings
	  According with gi annotations [1] the "optional" annotation must be only
	  for (out) or (inout) parameters.
	  1. https://gi.readthedocs.io/en/latest/annotations/giannotations.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4244>

2022-11-24 11:12:14 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: delete use_video_memory
	  Since msdkdec uses video pool as the output buffer pool at all time. The
	  use_video_memory variable is not useful anymore. Now delete it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

2022-11-24 11:00:15 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: expand retry times to 1s
	  One-frame sleep time is not enough to wait until there is a surface
	  unlocked from downstream. Now expand it to 1s and add a return when
	  fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

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

	* sys/msdk/gstmsdkallocator_d3d.c:
	  msdkallocator_d3d: add gst_msdk_frame_free callback function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

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

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: acquire buffer from video pool on Windows
	  Video memory is available on Windows. This patch is to make the buffers
	  acquired from d3d11 video pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

2022-11-17 10:29:55 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: add thiz->ds_has_known_allocator for d3d11
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

2022-10-26 10:32:10 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkallocator_d3d.c:
	  msdkallocator_d3d: add alloc callback function for d3d allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

2022-10-19 15:01:44 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: add d3d11 pool during negotiation
	  Enable use_video_memory for Windows and add d3d11 pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

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

	* sys/msdk/gstmsdkav1dec.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkh264dec.c:
	* sys/msdk/gstmsdkh265dec.c:
	* sys/msdk/gstmsdkmjpegdec.c:
	* sys/msdk/gstmsdkvp9dec.c:
	  msdkdec: add d3d11 caps for srcpad
	  Set decoder srcpad with D3D11Memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088>

2023-03-16 22:13:40 +0100  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: add "method" property
	  It allows to select the sampling method, same
	  as "method" property of videoconvert.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4205>

2023-03-17 20:44:30 +0100  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: protect 'add-borders' with mutex
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4205>

2023-03-20 17:44:23 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Fix crash when rendering after the window is closed
	  Continuation of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4232>

2023-03-09 17:18:16 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Pass null formats when create va allocator for RGB565
	  Fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1780
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4136>

2023-03-16 17:50:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay.c:
	* sys/va/gstvapluginutils.c:
	  va: add driver description in element metadata
	  In the same spirit of libva-win32 elements this patch shows the driver of each
	  element in gst-inspect, giving more information to the user. This driver
	  description is parsed from vaQueryVendorString from mesa and intel drivers,
	  while copied as is for others. Also appends the render node for multi gpu
	  systems.
	  Fixes #2349
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4204>

2023-03-20 11:20:30 +0100  Edward Hervey <edward@centricular.com>

	* ext/openjpeg/gstopenjpegdec.c:
	* ext/openjpeg/gstopenjpegdec.h:
	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	  plugins: Fix wrong enum usage
	  gcc 13 now detects conflicting enum usages. Fix the various cases where it was wrong
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4225>

2023-03-19 21:21:31 +0100  Adrien De Coninck <deconinck.adrien@gmail.com>

	* sys/winks/ksdeviceprovider.c:
	  ksdeviceprovider: Fix leak in gst_dshow_device_provider_start
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4224>

2023-03-19 20:57:18 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* sys/directshow/dshowdeviceprovider.cpp:
	  dshowdeviceprovider: Fix leak in gst_dshow_device_provider_start
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4224>

2023-03-18 20:23:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  va: Return default device from device-path property getter
	  Otherwise application would not be able to know matching element
	  for wanted device. Typical use case of the read-only device path
	  (DXGI Adapter LUID, CUDA device index, etc) property is that
	  application enumerates physical devices and then selects matching
	  GStreamer element (in null state) via device path property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4220>

2023-03-17 16:32:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/bs2b/gstbs2b.c:
	* ext/bs2b/gstbs2b.h:
	* ext/openal/gstopenal.c:
	* gst/mxf/mxfmetadata.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  plugins: Fix various trivial clang compiler warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210>

2023-03-17 15:51:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Fix reading of extended Opus channel configuration
	  Argument evaluation order is implementation defined in C, and gcc is
	  evaluating right-to-left (works) while clang is evaluating left-to-right
	  (does not work).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210>

2023-03-17 23:28:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264picture.c:
	  h264decoder: Fix DPB bumping process
	  As per spec C.4.5.3 "Bumping", if bumping is needed but DPB holds
	  no "output needed" picture, then a picture that has the smallest
	  POC should be considered first for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4211>

2023-03-15 15:55:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Stop considering NO_NAL as an error
	  The NO_NAL return value simply means that the buffer did not contain
	  enough data to identity a NAL. This should lead to waiting for more data not
	  considering the stream as invalid.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234>

2022-10-20 15:07:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/libs/h265parser.c:
	  test: h265parser: Test for NAL missing header bytes
	  H.265 NAL always have 2 bytes of headers. Unlike the H.264 parser, this parser
	  will simply return that there is NO_NAL if some of these bytes are missing.
	  This is then properly special cased by parsers and decoders. Add a test to
	  ensure we don't break this in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234>

2022-10-20 11:21:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* tests/check/libs/h264parser.c:
	  h264parser: Fix return value parsing short header
	  The appropriate return value for incomplete NAL header should be
	  GST_H264_PARSER_NO_NAL_END. This tells the parser element to
	  gather more data. Previously, it would assume the NAL is corrupted
	  and would drop the data, potentially causing stream corruption.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234>

2023-03-18 01:33:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix CQP option setting
	  ... and zero initialize LUID and CUDA device list to address
	  coverity issue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4215>

2023-03-16 13:33:46 +0100  Albert Sjölund <alberts@axis.com>

	* gst-libs/gst/webrtc/nice/nicestream.c:
	  webrtc: Fix segfault traversing ice transports
	  Previously, reassigning loop index l in nicestream.c
	  could cause a segfault if l->data was null, as it could
	  reassign l to a null variable, triggering the loop
	  postassignment l->next, which then segfaults due to
	  l now being null. It is instead moved into the loop.
	  _delete_transport already performs the reassignment
	  inline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4192>

2023-03-16 16:02:26 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Destroy GstWlWindow when parent GtkWindow is destroyed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197>

2023-03-15 18:54:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/avtp/gstavtpcrfutil.c:
	* ext/closedcaption/bit_slicer.c:
	* ext/closedcaption/io-sim.c:
	* ext/closedcaption/raw_decoder.c:
	* ext/closedcaption/sampling_par.c:
	* ext/dash/gstdashdemux.c:
	* ext/dtls/gstdtlsconnection.c:
	* ext/hls/gsthlsdemux.c:
	* ext/kate/gstkatespu.c:
	* ext/lv2/gstlv2.c:
	* ext/openal/gstopenalsink.c:
	* ext/resindvd/resindvdsrc.c:
	* ext/vulkan/vkviewconvert.c:
	* ext/x265/gstx265enc.c:
	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	* gst-libs/gst/wayland/gstwlcontext.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlwindow.c:
	* gst/dvbsubenc/libimagequant/libimagequant.c:
	* gst/dvbsubenc/libimagequant/mempool.c:
	* gst/dvbsubenc/libimagequant/pam.c:
	* gst/dvdspu/gstspu-pgs.c:
	* gst/fieldanalysis/gstfieldanalysis.c:
	* gst/id3tag/id3tag.c:
	* gst/interlace/gstinterlace.c:
	* gst/jp2kdecimator/jp2kcodestream.c:
	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mxf/mxfaes-bwf.c:
	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfmetadata.c:
	* gst/mxf/mxfup.c:
	* gst/removesilence/vad_private.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* gst/videoparsers/gstvc1parse.c:
	* sys/androidmedia/gst-android-graphics-imageformat.c:
	* sys/androidmedia/gst-android-hardware-camera.c:
	* sys/androidmedia/gst-android-hardware-sensor.c:
	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamcaudiodec.c:
	* sys/androidmedia/gstamcvideodec.c:
	* sys/androidmedia/gstamcvideoenc.c:
	* sys/applemedia/vtenc.c:
	* sys/d3dvideosink/d3dhelpers.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/wasapi/gstwasapiutil.c:
	* tests/check/elements/avtpcrfsync.c:
	* tests/check/elements/avwait.c:
	* tests/check/elements/kate.c:
	* tests/check/elements/pnm.c:
	* tests/check/libs/play.c:
	* tests/check/pipelines/ipcpipeline.c:
	* tests/examples/d3d11/d3d11videosink.c:
	  gst-plugins-bad: re-indent with GNU indent 2.2.12
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182>

2023-03-16 23:09:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	  wasapi2: Fix potential crash on device activation failure
	  The activation object is live in COM thread already and therefore
	  self refcount hack is pointless.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4194>

2023-03-16 13:25:39 +0100  Albert Sjölund <alberts@axis.com>

	* ext/webrtc/webrtcdatachannel.c:
	  webrtc: patch leak caused by early return
	  In webrtc_data_channel_send functions, both data and string,
	  an early return on a non-open datachannel caused it to leak
	  the buffer used for pushing to appsrc, meaning any buffer
	  sent after leaving the open state was leaked in full.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4191>

2023-03-16 00:53:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix conversion backend selection
	  Intended behavior was selecting video processor only if pixel shader
	  is disabled, since we prefer shader over video processor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4179>

2023-03-15 22:05:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	  d3d11videosink: Fix tearing in case of fullscreen mode
	  DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING and DXGI_PRESENT_ALLOW_TEARING should
	  be used only if required, when user wants Vsync off for example.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2376
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4178>

2022-11-28 09:00:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Add a comment about dmabuf without feature
	  The code does not make it obvious that dmabuf is still supported
	  without the feature. This documents that it is supported, but
	  only for formats that are also support by SHM interface.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3476>

2022-11-28 08:59:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	  waylandsink: Remove unused instance member
	  use_dmabuf is set but never used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3476>

2023-03-14 14:05:36 +0800  Teng, Jin Chung <jin.chung.teng@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkh264enc: Adding BGRx format DMABuf support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4167>

2023-03-14 22:08:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix composition error on release_pad()
	  Composition might be still in progress while it's being released
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4169>

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

	* gst-libs/gst/va/gstvadisplay_win32.cpp:
	  vadisplay_win32: Query profiles and entry points on init
	  Depending on driver, display can be initialized but
	  fails on query calls.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4149>

2023-03-10 00:24:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/plugin.c:
	  va: Don't error out on plugin registration
	  Keep enumerate devices and don't return FALSE on plugin_init()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4149>

2023-03-09 09:14:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/helpers.c:
	* sys/applemedia/helpers.h:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtutil.h:
	  applemedia: Consolidate GstVideoFormat <-> CVPixelFormat conversion
	  In the process we have changed the color value range from video-range
	  to full-range, which is probably what people want in the first place.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4135>

2023-02-17 12:10:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update doc cache for waylandsink changes
	  A new drm-device property has been added.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-16 16:21:33 -0500  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	  wayladnsink: Add DRM Dumb allocator support
	  If the input is not a DMABuf, attempt to copy into a DRM Dumb
	  buffer and import it has a DMABuf. This will offload the
	  compositor from actually doing this copy (needed to handle SHM)
	  and may allow the software decoded stream to be rendered to
	  an HW layer, or even reach through some better accelerated
	  GL import path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-16 15:40:21 -0500  Colin Kinloch <colin.kinloch@collabora.com>

	* gst-libs/gst/wayland/gstwlvideobufferpool.c:
	* gst-libs/gst/wayland/gstwlvideobufferpool.h:
	  wlvideobufferpool: Add DRM Dumb buffer support
	  This allow the wayland buffer pool to use a GstDRMDumbAllocator
	  if it has been configured to do so.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-17 09:42:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wlvideoformat: Fix sign issue for DRM fourcc
	  DRM fourcc ared defined as 32bit unsigned in, but the format helper was passing
	  an int, while using a unsigned int internally. This is a API/ABI break, but
	  the API is still unstable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-16 21:12:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	  wllinuxdmabuf: Handle video meta inside the importer
	  This allow simplifying the GstVideoInfo handling in the sinks. Instead
	  of having to update a video info for the import, the sink can simply pass the
	  video info associated with the caps and rely on the VideoMeta in the GstBuffer
	  to obtain the appropriate offset and stride.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-16 14:31:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Fix display/wl_window/pool leaks
	  These were leaked in the GTK implementation of the sink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-16 13:54:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	  waylandsink: Refactor internal pool handling
	  This is to make it easier to support more then one allocators
	  including falling back from one to another.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-15 13:11:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Let the baseclass know when frames are dropped
	  This is using the new GST_BASE_SINK_FLOW_DROPPED return value.
	  With this change, fpsdisplaysink will properly report the
	  render and dropped rate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-15 12:34:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Force a redraw on resolution change
	  As we don't render into the widget directly, there is no "initial" draw
	  happening. As a side effect, the internal aspect ratio adapted display
	  width/height is never initialize leading to assertions when handling navigation
	  events.
	  gst_video_center_rect: assertion 'src->h != 0' failed
	  Simply queue a redraw after setting the widget format in order to fix the issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-15 12:13:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Stop modifying the display GstVideoInfo
	  The video_info is supposed to match the display dimentions, but as soon as we
	  get a padded video buffer, we modify it. This has side effect later on and
	  maybe cause bad frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-15 11:49:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Remove redefine of GST_CAPS_FEATURE_MEMORY_DMABUF
	  Instead just include the appropriate header file. There is no meson deps
	  modification as gstallocators_dep is already part of gstwayland_dep.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-02-10 15:05:17 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/kms/gstkmsallocator.c:
	* sys/kms/gstkmsallocator.h:
	  kmsallocator: Port to the new DRM Dumb Allocator
	  This ports the KMS allocator to use the DRM Dumb allocator from the allocators
	  library.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>

2023-03-11 14:59:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamcvideodec.c:
	* sys/androidmedia/gstamcvideoenc.c:
	  androidmedia: Add support for AV1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4156>

2023-03-10 22:21:42 +0100  Alicia Boya García <ntrrgc@gmail.com>

	* gst-libs/gst/cuda/gstcudaloader.cpp:
	  cudaloader: Initialize logging category
	  gstcudaloader.cpp defines GST_DEBUG_CATEGORY (gst_cudaloader_debug);
	  but it wasn't initializing it anywhere.
	  This caused the following error to be logged by gst-plugin-scanner when
	  libcuda.so.1/nvcuda.dll couldn't be loaded, e.g. in systems without
	  CUDA:
	  (gst-plugin-scanner:39618): GStreamer-CRITICAL **: 14:40:22.346:
	  gst_debug_log_full_valist: assertion 'category != NULL' failed
	  This patch fixes the bug by initializing the category in
	  gst_cuda_load_library_once_func() before any logging occurs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4154>

2023-03-09 05:55:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: GL texture cache also supports YUY2 on macOS
	  BGRA gives black frames, and everything else fails to negotiate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4134>

2023-03-08 01:06:10 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	* sys/applemedia/helpers.c:
	* sys/applemedia/helpers.h:
	* sys/applemedia/meson.build:
	  avfvideosrc: Use frame duration instead of frame rate
	  These days you're can use minFrameDuration and maxFrameDuration which
	  are CMTime with fractional values. That way we don't need to convert
	  between double and fractions in a really weird way.
	  This fixes really odd fractional values exposed in caps, like:
	  2000000/76923, 1000000/37037, 5000000/178571, 10000000/344827, 10000000/333333
	  Which are actually just 26/1, 27/1, 28/1, 29/1, 30/1
	  We can also delete a lot of outdated code for iOS versions older than
	  7.0 by using newer APIs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4134>

2023-03-08 22:54:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvapluginutils.h:
	  va: Update "device-path" property description for Windows
	  DRM does not make sense on Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114>

2023-03-08 22:44:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.h:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvadeinterlace.c:
	* 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/gstvapluginutils.c:
	* sys/va/gstvapluginutils.h:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	* sys/va/gstvavpp.c:
	* sys/va/meson.build:
	  va: Add Windows specific element type/feature naming support
	  Adapter LUID will be changed per boot. Use different naming rule on Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114>

2023-03-04 04:37:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvadeinterlace.c:
	* sys/va/gstvadevice_linux.c:
	* sys/va/gstvadevice_win32.cpp:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvapluginutils.h:
	* sys/va/gstvavpp.c:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Add support for Win32 backend
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114>

2023-03-04 04:12:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvadisplay.h:
	* gst-libs/gst/va/gstvadisplay_drm.c:
	* gst-libs/gst/va/gstvadisplay_win32.cpp:
	* gst-libs/gst/va/gstvadisplay_win32.h:
	* gst-libs/gst/va/gstvautils.c:
	* gst-libs/gst/va/meson.build:
	  va: Add Win32 backend GstVaDisplay implementation
	  ... and disable derived image on Windows which does not seem to
	  work
	  Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1750
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114>

2023-03-07 01:16:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va: Drop all GSlice bits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114>

2023-03-10 12:46:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/ice.c:
	  webrtc: fix g-i annotations for allow-none
	  'allow none' doesn't exist, and 'allow-none' is now deprecated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4146>

2023-01-07 16:18:03 +0100  Antonio Rojas <arojas@archlinux.org>

	* ext/zxing/gstzxing.cpp:
	  zxing: add support for zxing-c++ 2.0
	  format is a C++ string in 2.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3693>

2023-03-10 16:47:17 +1100  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/vkoverlaycompositor.c:
	  vulkanoverlaycompositor: don't do a potential use after free
	  Removing a meta from a buffer means one doesn't have access to it
	  anymore.  Instead use the already reffed composition directly.
	  Fixes a use-after-free in the following pipeline:
	  ... ! vulkanupload ! timeoverlay ! vulkanoverlaycompositor ! ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4143>

2023-03-09 18:03:42 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstcea708decoder.c:
	  cea708overlay: support multiple service blocks in the same dtvcc packet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4137>

2023-03-09 14:38:13 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstcea708decoder.c:
	  cea708overlay: fix HCR interpretation
	  An unsigned counter with a for (i = end; i >= 0; i--), can be optimized to
	  infinite loop as an unsigned value will always be >= 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4133>

2023-03-07 23:46:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: Validate VUI framerate
	  A few streams contain invalid/wrong framerate in VUI. Do validate
	  it based on the spec and ignore invalid VUI framerate values.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1753
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4127>

2023-03-07 17:44:58 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* tests/check/elements/cccombiner.c:
	  cccombiner: fix output-padding=false for a cea608 field 1 only stream
	  If we have data that needs outputting but we have to output padding to
	  meet the alternating field requirements of cea608, then output that
	  padding anyway.
	  Also includes a test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4124>

2023-03-07 15:39:04 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: implement field conversion of CEA 608 control codes
	  As specified in EIA/CEA-608-B section 8.4:
	  When closed captioning is used on line 21, field 2, it shall conform
	  to all of the applicable specifications and recommended practices as
	  defined for field 1 services with the following differences:
	  a) The non-printing character of the miscellaneous control-character pairs
	  that fall in the range of 14h, 20h to 14h, 2Fh in field 1, shall be replaced
	  with 15h, 20h to 15h, 2Fh when used in field 2.
	  b) The non-printing character of the miscellaneous control-character pairs
	  that fall in the range of 1Ch, 20h to 1Ch, 2Fh in field 1, shall be replaced
	  with 1Dh, 20h to 1Dh, 2Fh when used in field 2.
	  This means simply switching the "field" field in the caps isn't enough for
	  converting raw 608 from one field to another, some control codes also
	  need to be amended.
	  + Adds simple test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4126>

2023-03-05 20:15:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvavp8dec.c:
	  vavp8dec: Fix return type of decode_picture()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113>

2023-03-05 20:14:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstjpegdecoder.h:
	  vajpegdec: Hide gst_jpeg_decoder_get_type() symbol
	  It's not a public symbol yet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113>

2023-03-05 20:01:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabaseenc.h:
	  vabaseenc: Fix return type of encode_frame vfunc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113>

2023-03-05 19:53:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavpp.c:
	  va: Fix struct empty initialization syntax
	  "struct Foo bar; bar = {};" is not a valid syntax. Also remove use
	  of __typeof__ which is GCC specific
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113>

2023-03-01 03:33:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst/codectimestamper/gsth265timestamper.c:
	  h265timestamper: Use gst_h265_parser_parse_decoder_config_record()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759>

2022-07-15 01:53:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh265dec.cpp:
	  qsvh265dec: Use gst_h265_parser_parse_decoder_config_record()
	  Stop duplicating code and use newly added parsing method instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759>

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

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Use gst_h265_parser_parse_decoder_config_record()
	  Stop duplicating code and use newly added parsing method instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759>

2022-07-15 01:23:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Use gst_h265_parser_parse_decoder_config_record()
	  Stop duplicating code and use newly added parsing method instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759>

2022-07-15 00:13:45 +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 an API for HEVCDecoderConfigurationRecord parsing
	  Add a method for HEVC configuration data parsing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759>

2023-03-06 11:22:45 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Fix scale ratio for frame duration
	  For the calculation of frame duration, the numerator
	  should be FrameRateExtD, and the denominator should be
	  FrameRateExtN.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4119>

2023-03-05 22:03:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Remove GstPoll from GstD3D11PoolAllocator
	  GstBufferPool implementation was referenced for this GstD3D11PoolAllocator,
	  for example GstAtomicQueue, various atomic operations, and GstPoll ones.
	  However, such combination seems to be almost pointless
	  since gst_poll_{read,write}_control() takes mutex and also
	  GstPoll uses Win32 event handle internally.
	  Use simple SRWLOCK and CONDITION_VARIABLE instead, and don't make things
	  complicated/inefficient.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2887>

2023-02-23 14:14:57 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/meson.build:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtdec.h:
	  vtdec: Correctly retrieve reorder queue length from SPS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4057>

2023-03-03 00:24:32 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: don't consume input buffers too early
	  CCBuffer has no notion of time, we need to push caption pairs in
	  it when it is ready for consumption and no earlier.
	  Also perform comparisons with our output running time, not the raw
	  output PTS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4103>

2023-03-02 17:23:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: fix s334-1a in place conversion
	  The code wants to prepend one byte to every byte pair. It correctly did
	  so by working backwards pair-wise, but then didn't work backwards
	  instead of each individual pair / future triplet, overwriting
	  information before attempting to read it.
	  The code also failed to update the len pointer after prepending.
	  This fixes both issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4100>

2023-03-02 14:54:45 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	* ext/qroverlay/gstqroverlayplugin.c:
	  qroverlay: Fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4102>

2023-03-01 16:46:19 -0500  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	* ext/srt/gstsrtobject.h:
	  srt: Use g_cancellable_get_fd for poll cancellation
	  Removing sockets from the epoll for cancellation is unreliable and might
	  not be thread-safe. Rather, have SRT watch a FD from the cancellable if
	  available. Keep the cancellable cancelled while we're not open.
	  Use the regular single-socket `sock` and `poll_id` fields for the
	  listening thread instead of duplicating them.
	  Before polling we need to check the socket state. SRT closes broken
	  sockets by itself and when the epoll contains our cancellation FD it can
	  no longer be empty, which was an error before.
	  Treat more failures in the read and write operations as an opportunity
	  to try a reconnect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087>

2023-03-01 16:00:39 -0500  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	* ext/srt/gstsrtobject.h:
	* ext/srt/gstsrtsink.c:
	* ext/srt/gstsrtsink.h:
	* ext/srt/gstsrtsrc.c:
	* ext/srt/gstsrtsrc.h:
	  srt: Move cancellable into srtobject
	  Should produce no difference in behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087>

2023-02-28 18:55:25 -0500  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.h:
	  srt: Set default poll-timeout to one second
	  Removing a socket from the poll is not a guaranteed unlock. If we let
	  the poll continue indefinitely, then e.g. an unfed srtsrc can deadlock
	  when we try to shut it down.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087>

2023-02-28 18:54:27 -0500  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Consider EPOLLEMPTY an error when not unlocking
	  Seems that SRT can remove the socket from the poll by itself when the
	  connection gets closed. Consider this an error condition and ensure we
	  only "abort successfully" when we're actually trying to unlock.
	  Needs more investigation but this is enough to prevent the element from
	  getting stuck not reporting an error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087>

2023-02-15 13:10:39 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Fix to check returned value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3968>

2023-02-20 10:17:53 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: correct the fixated caps for src pad
	  In src pad, fixate othercaps instead of the NULL result caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3999>

2023-02-27 14:09:12 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcea608mux.c:
	* ext/closedcaption/gstcea608mux.h:
	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/meson.build:
	  closedcaption: implement cea608muxer element
	  Wrapper aggregator around the CCBuffer internal utility, this
	  version only supports aggregating CC1 and CC3 608 streams together into
	  the s334-1a format.
	  The element exposes CC1 and CC3 request pads.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4084>

2023-03-01 06:36:15 +1100  Jan Schmidt <jan@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Fix description and trailing whitespace
	  Minor fix to mention that the element is also useful on MacOS,
	  and remove some trailing whitespace
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4083>

2023-03-01 06:32:19 +1100  Jan Schmidt <jan@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Don't wait on main thread for permissions request
	  Recursively invoking the NSMainLoop can cause crashes in
	  applications that don't expect it. Instead of waiting for
	  permission to be granted, move the wait later - until we
	  actually need device permissions when starting the capture
	  session. That moves the wait into the streaming thread
	  instead of the application thread that's setting the pipeline
	  state to READY.
	  Instead of a manual state change implementation to open
	  and close the device, use the basesrc start/stop methods that
	  are intended for the purpose.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4083>

2023-03-02 02:51:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	  d3d11screencapturesrc: Use keyed mutex instead of fence
	  D3D11 runtime might not support ID3D11Fence, and if so GstD3D11Fence
	  abstraction will use ID3D11Query instead. However, since the ID3D11Query
	  requires busy waiting, keyed mutex is better approach.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4094>

2023-02-28 23:35:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Use keyed mutex for rendering patterns
	  D2D operations would not flush D3D commands. Use keyed mutex
	  to synchronize between them. Note that previous code was wrong
	  (Flush should be called inside of BeginDraw/EndDraw calls)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4081>

2023-02-28 23:50:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Add support for keyed mutex
	  Non-zero mutex key held by application is not considered for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4081>

2023-02-28 18:48:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: demote and promote log messages level
	  Before those levels where when implementing the plugin. Now these
	  levels are for reporting issues from users.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4039>

2023-02-12 22:37:01 +0800  He Junyan <junyan.he@intel.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: reset parse state when the SOI is not the first marker
	  There may be garbage or some bits before a SOI comes in some problematic
	  mjpeg streams. For example, some network error may cause the EOI marker
	  of the previous frame lost, and when the new frame's SOI comes, we still
	  use the state of the last frame, which will generate errors.
	  For this kind of frames without EOI, if that frame already has some data
	  (the SOS segment is detected), we still push it as a frame with CORRUPTED
	  flag set. But if not, we just discard all the data before the new SOI.
	  Co-Authored-By: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4039>

2023-02-15 17:16:47 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkenc: Set pts at handle_frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3998>

2023-02-21 19:54:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh264dec.h:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvh265dec.h:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp8dec.h:
	* sys/nvcodec/gstnvvp9dec.cpp:
	* sys/nvcodec/gstnvvp9dec.h:
	* sys/nvcodec/plugin.c:
	  nvcodec: Remove stateful decoders
	  Use H.264, H.265, VP8, and VP9 stateless decoders unconditionally
	  and don't register its stateful counterpart
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1768
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1621
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1432
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4015>

2022-01-13 00:45:25 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* tests/check/elements/mpegtsmux.c:
	  aggregator: improve parsing in create_new_pad
	  The previous implementation was a bit primitive, assuming the subclass
	  had registered a template name starting with sink_ . Instead make
	  the effort of parsing the actual template name, and use that to generate
	  the final pad name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4032>

2023-02-28 15:26:45 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix checking for certain CPU variants when running in VMs
	  These checks were introduced to prevent exposing ARGB64/RGBA64 in the caps
	  when running on M1 Pro/Max with macOS <13 because of a bug in VideoToolbox.
	  Unfortunately, the initial buffer size of 15 is too short when running
	  in a VM - the CPU brand string there looks like "Apple M1 Pro (Virtual)",
	  which due to its length causes sysctlbyname to return -1, resulting in
	  broken formats still showing up in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4080>

2023-02-09 11:16:19 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfencoder.cpp:
	* sys/amfcodec/gstamfencoder.h:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Initial support of preanalysis and preencoding for AMF encoders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3847>

2023-01-22 19:23:18 +0100  Jonas Danielsson <jonas.danielsson@spiideo.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/wpe-extension/gstwpeextension.c:
	  wpe: Post console messages as element messages
	  Fixes #1731
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3769>

2023-02-21 22:26:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfencoder.cpp:
	* sys/d3d11/gstd3d11screencapturedevice.cpp:
	* sys/mediafoundation/gstmfutils.cpp:
	* sys/wic/gstwicutils.cpp:
	  bad: Update indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4023>

2023-02-25 22:40:19 +0000  amindfv <amindfv@mailbox.org>

	* docs/plugins/gst_plugins_cache.json:
	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: add support for I420_10LE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4071>

2022-09-24 17:03:22 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/WPEThreadedView.h:
	  wpe: Add a basic WebProcess crash handler
	  For now an error is emitted. Additional notification could be sent to the
	  application as well, if needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3077>

2022-09-24 16:59:47 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	  wpe: Fix typo in estimate-load-progress signal callback name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3077>

2022-08-23 14:20:35 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Check available surfaces when all pre-allocated surfaces are in use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2022-08-23 11:47:02 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Apply the modified memory allocation logic
	  We did several things to enable the new memory logic in msdkdec:
	  (1) We always use video memory for decoder in linux path;
	  (2) We give negotiated pool to alloc_pool stored in GstMsdkContext which
	  will be used in callback mfxFrameAllocator:Alloc to alloc surfaces as
	  MediaSDK needs, and this pool is also available for decoder itself;
	  (3) We modify decide_allocation process, that is we make pool negotiaion
	  before gst_msdk_init_decoder to ensure the pool is decided and ready for
	  use in mfxFrameAllocator:Alloc callback; then we will consider the case
	  when we need to do the gpu to cpu copy.
	  (4) In gst_msdkdec_finish_task, we modify the way for copy following the
	  logic in (3).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2022-08-23 11:25:15 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Add a function to create va pool
	  Add a pool creation function name as 2 for later use which will create
	  va pool for video memory in linux and keep system pool for windows.
	  This gst_msdkdec_create_buffer_pool2 will replace gst_msdkdec_create_buffer_pool
	  when all the memory allocation modifications are ready in the commits after.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2022-08-23 10:48:50 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	  msdkallocator_libva: Rewrite gst_msdk_frame_alloc
	  Rewrite gst_msdk_frame_alloc and name it as xxx_2 before applying it.
	  It uses negotiated bufferpool stored in GstMsdkContext to allocate buffers
	  in the callback MfxFrameAllocator:Alloc, then extract VASurface from buffer,
	  wrap it as mfxMemIDs and pass these IDs to MediaSDK/oneVPL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2022-08-22 18:33:35 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator.c:
	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Add a function to directly allocate output GstMsdkSurface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2022-08-22 17:44:35 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	  msdk: Add a bufferpool in GstMsdkContext structure
	  This alloc_pool is the negotiated pool and will be used in
	  mfxFrameAllocator:Alloc to create surfaces.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2022-06-08 17:13:47 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1dec.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkh264dec.c:
	* sys/msdk/gstmsdkh265dec.c:
	* sys/msdk/gstmsdkmjpegdec.c:
	* sys/msdk/gstmsdkmpeg2dec.c:
	* sys/msdk/gstmsdkvc1dec.c:
	* sys/msdk/gstmsdkvp9dec.c:
	  msdkdec: Enable va caps at srcpad
	  Set caps with VA memory at src pad with a higher priority, then comes
	  dmabuf caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3439>

2023-02-17 16:20:37 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtcbin: Relay add-ice-candidate errors from Ice implementation to Application
	  The `add_candidate` vfunc of the GstWebRTCICE interface gained a GstPromise
	  argument, which is an ABI break. We're not aware of any external user of this
	  interface yet so we think it's OK.
	  This change is useful in cases where the application needs to bubble up errors
	  from the underlying ICE agent, for instance when the agent was given an invalid
	  ICE candidate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3960>

2023-02-14 16:25:15 +0000  Philippe Normand <philn@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Add add-ice-candidate-full signal
	  The signal triggers an asynchronous task on the PC thread but in some cases it
	  can be useful for apps to be notified when the task completed. This method of
	  the PeerConnection spec also returns a Promise so the interface is now more
	  coherent with the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3960>

2023-02-25 22:35:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/meson.build:
	  d3d11testsrc: Add circular, blink and ball patterns
	  Note that circular and ball patterns will be rendered via
	  Direct2D (and Direct3D11 interop)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4070>

2023-02-24 21:58:00 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstjpegdecoder.c:
	  jpegdecoder: fail early if no input caps have been provided
	  The jpegdecoder class does not implement the ->parse() virtual function,
	  and we always need to add the jpegparse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1829
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-24 21:49:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  av1decoder: fail early if no input caps have been provided
	  The av1decoder class does not implement the ->parse() virtual function,
	  and we always need to add the av1parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-24 21:38:48 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  vp9decoder: fail early if no input caps have been provided
	  The vp9decoder class does not implement the ->parse() virtual function,
	  and we always need to add the vp9parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-24 21:27:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	  vp8decoder: fail early if no input caps have been provided
	  The vp8decoder class does not implement the ->parse() virtual function,
	  it can only accepts frame aligned data. If some element such as filesrc
	  feed it with unaligned data, the behaviour is undecided. So we should
	  set_needs_format of the decoder to TRUE, then it can fail with a
	  "not-negotiated" error early, rather than go on and generate unexpected
	  error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-24 21:12:40 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	  mpeg2decoder: fail early if no input caps have been provided
	  The mpeg2decoder class does not implement the ->parse() virtual function,
	  and we always need to add the mpegvideoparse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-24 21:09:31 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: fail early if no input caps have been provided
	  The h264decoder class does not implement the ->parse() virtual function,
	  and we always need to add the h264parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-24 20:15:20 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: fail early if no input caps have been provided
	  The h265decoder class does not implement the ->parse() virtual function,
	  and we always need to add the h265parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4064>

2023-02-21 19:47:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstccconverter.h:
	* tests/check/elements/ccconverter.c:
	  ccconverter: add support for advertising / selecting field
	  Raw 608 caps can now contain a "field" field. On the input side it
	  signifies that the input raw 608 is attached to either field 0 or 1,
	  on the output side it allows selecting whether to extract the raw 608
	  data for field 0 or 1 for field-aware formats.
	  In addition, it is also allowed to use ccconverter to "convert" 608
	  field 0 to 608 field 1 (and conversely), this is passthrough as the
	  change only needs to happen in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4031>

2023-01-27 12:45:10 +0100  Robert Rosengren <robertr@axis.com>

	* ext/curl/gstcurlhttpsrc.c:
	  curlhttpsrc: Add curl anyauth option
	  Add curl anyauth option to support http request to endpoints not using
	  only basic authentication (as default in curl). Also aligning with
	  curlhttpsink that already uses this option.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3824>

2023-02-22 00:47:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth265parse.c:
	* tests/check/elements/h265parse.c:
	  h265parse: Always set profile on src caps
	  h265parse should provide profile for autoplugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4026>

2023-02-22 15:18:12 +0100  Célestin Marot <c.marot@intopix.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: fix texture width and height
	  The dimension of the overlay texture directly corresponds to the size of the overlay **buffer** which is given by its video meta.
	  The dimension at which the overlay should be displayed directly correspond to the overlay `render_width`and `render_height`.
	  This match the behavior of glimagesink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4046>

2023-02-22 11:52:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/fur.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4040>

2023-02-19 10:41:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: Warn only malformed data in APP data.
	  It's only malformed data in APP when its length is less than 6 chars,
	  because it should have at least an id string. Otherwise, if the id string
	  is not handled, no warning is raised, only a debug message noticing it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3943>

2023-02-15 19:02:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: Parse AVI1 tag in app0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3943>

2023-02-12 16:11:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstjpegdecoder.c:
	  va: jpegdecoder: Do not check SOS state when parsing DRI marker.
	  According to spec, the JPEG_MARKER_DRI(Restart interval definition)
	  marker can come before the SOS marker. So we should not check the SOS
	  state when parsing the DRI marker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3943>

2023-02-22 02:56:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.c:
	  cudaconverter: Rename CUDA kernel function
	  Changing its name (was too generic) to help GPU tracing via Nsight tool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4029>

2023-02-21 19:29:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/plugin.cpp:
	  d3d11mpeg2dec: Promote rank to PRIMARY + 1
	  Make its rank higher than avdec_mpeg2video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4014>

2023-02-19 20:51:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/meson.build:
	  cuda: Link libatomic if needed
	  Looks like C++ does not pull it automatically
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3997>

2022-12-22 10:17:42 +0000  Philippe Normand <philn@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/wpe-extension/gstwpeextension.c:
	  wpe: Logging fixes for the WebExtension
	  Using logging macros without a `GST_CAT_DEFAULT` in scope leads to critical
	  warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3623>

2023-02-21 15:19:35 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: don't debug a potentially freed filter caps
	  Fixes a use-after-free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4011>

2023-02-21 00:27:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix rendering on external handle
	  Partial revert of the commit 068a5c1053ae05b3c7747243948447e764d25aa6.
	  That introduced size mismatch between internal and external HWND
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4006>

2023-02-20 21:42:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsvenc: Simplify property update helpers
	  Takes lock outside of helper methods, and protect property getter too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005>

2023-02-20 01:30:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	  qsvh264enc: Add more encoding options
	  Adding trellis quantization, frame size, slice size and number of
	  slices related encoding options
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005>

2023-02-19 22:43:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvutils.cpp:
	* sys/qsv/gstqsvutils.h:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Use std::once_flag
	  GLib's once implementation will take mutex every time
	  in case of non-GCC build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005>

2023-02-19 22:14:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	  qsvh264enc: Optimization for byte-stream to packetized format conversion
	  Allocate single memory instead of per NAL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005>

2023-02-20 02:10:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	  nvencoder: Fix b-frame encoding on Linux
	  On Windows, Win32 event handle is used to wait for encoded output,
	  but it's not available on Linux. We should delay bitstream locking
	  if encoder returns "need-more-input"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4004>

2023-02-17 19:16:33 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* gst/debugutils/fpsdisplaysink.c:
	  fpsdisplaysink: Skip reporting on frame counter reset
	  When the QoS stats are reset (e.g. changing the source) the counters for
	  dropped + rendered frames are reset to zero which result in negative values
	  for their difference. This results in max-fps getting pegged at an extremely
	  high value.
	  ```
	  fpsdisplaysink.c:373:display_current_fps:<fpsdisplaysink0> Updated max-fps to 36840705952231460864.000000
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3989>

2023-02-17 17:29:32 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* gst/debugutils/fpsdisplaysink.c:
	  fpsdisplaysink: Log final statistics on stop
	  Add a final message to the debug log that lists the min, max and average framerates when state of fpsdisplaysink transisions to NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3988>

2023-02-19 12:01:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Use helper to update properties.
	  This is a continuation of the original patch by
	  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3996>

2023-02-20 10:56:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	  h264bitwriter: Remove second_chroma_qp_index_offset cast
	  That API pps->second_chroma_qp_index_offset has been fixed to reflect
	  the sign of field in the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3966>

2023-02-16 11:18:39 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/nvcodec/gstnvh264dec.cpp:
	  nvh264dec: Remove type casting
	  Have fixed type of second_chroma_qp_index_offset as gint8, so remove the type
	  casting here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3966>

2023-02-15 09:32:57 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	  h264parser: Fix the type of a parameter
	  From spec, the value of second_chroma_qp_index_offset is in the range of
	  -12 to +12 inclusive. Fix its type from guint8 to gint8.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3966>

2023-02-16 15:03:25 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: Check return value from va_sync_surface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3919>

2023-02-09 16:54:16 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvah264enc.c:
	  va: Fix some code defects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3919>

2023-02-09 15:08:43 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkmjpegdec.c:
	  msdkdec: Fix some lock issue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3947>

2023-02-19 03:39:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Optimization for byte-stream to packetized format conversion
	  Allocate single memory instead of per NAL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992>

2023-02-19 03:17:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	  nvencoder: Add support for caption insert
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1406
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992>

2023-02-18 23:45:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Add support for HDR10 static metadata
	  Insert HDR10 SEIs per IDR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992>

2023-02-18 02:50:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Add support for GL memory
	  preparation to deprecate old NVENC elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992>

2023-02-18 22:09:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix critical warning in autogpu mode
	  If upstream memory is not CUDA, CUDA context will be null.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992>

2023-02-18 00:36:29 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdec.h:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/meson.build:
	  cuda: Rename macro HAVE_NVCODEC_GST_GL -> HAVE_CUDA_GST_GL
	  ... and always use #ifdef instead of #if
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992>

2023-02-14 10:29:00 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  av1parser, h265parser: Fix some code defects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3953>

2023-02-17 14:56:20 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	  msdkav1enc: fix the category for msdkav1enc debug
	  The msdkav1enc debug initialized with gst_msdkav1dec_debug,
	  fix this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3985>

2023-02-13 21:59:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcuvidloader.c:
	* sys/nvcodec/gstcuvidloader.h:
	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecobject.cpp:
	* sys/nvcodec/gstnvdecobject.h:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Add support for reconfiguration
	  Instead of creating new decoder instance per new sequence,
	  re-use configured decoder instance via cuvidReconfigureDecoder()
	  API. It will make output surface reusable without re-allocation.
	  Also, in order for application to be able to reserve higher resolution
	  output surface, "init-max-width" and "init-max-height" properties are
	  added to each decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-05 23:12:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/meson.build:
	  nvencoder: Reuse input resource
	  Call input resource map functions (i.e., nvEncRegisterResource,
	  nvEncUnregisterResource, nvEncMapInputResource, and
	  nvEncUnmapInputResource) only once and reuse the mapped resources,
	  instead of per input frame map/unmap
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-08 02:47:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/gstcudautils.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:
	  cudamemory, d3d11memory: Add memory_{get,set}_token_data() methods
	  Similar to GstMiniObject qdata but new methods will use int64
	  token value and per object lock, instead of GQuark with global
	  mutex in qdata
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-08 02:25:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecobject.cpp:
	* sys/nvcodec/gstnvdecobject.h:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	* sys/nvcodec/meson.build:
	  nvdecoder: Add support for CUDA zero-copy in stateless decoder
	  Wrap mapped decoder output surface using GstCudaMemory and
	  output without any copy operation. Also, for application to be able to
	  control the number of zero-copyable output surfaces,
	  "num-output-surfaces" property is added.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-08 01:42:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	* sys/nvcodec/meson.build:
	  nvdecoder: Port to C++
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-02 03:45:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.c:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	  nvdecoder: Reduce render delay to 2 frames
	  4 frames delay seems to be too high
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-05 20:03:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cudamemory: Add gst_cuda_allocator_alloc_wrapped() method
	  ... so that application can pass already allocated CUDA memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-05 20:00:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Skip sync if no I/O operation happend on free()
	  Synchronization for unused memory is not required
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-04 20:32:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.c:
	  cudaconverter: Use cached texture
	  ... instead of per conversion texture alloc/free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-05 19:58:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cudamemory: Make CUtexObject object reusable
	  Create and hold CUtexObject objects in GstCudaMemory so that it can
	  be reusable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-06 02:41:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	* sys/nvcodec/gstcudamemorycopy.c:
	* 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/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda, nvcodec: Make GstD3D11 dependency mandatory
	  GstD3D11 build-time dependencies should be always available on Windows already
	  and runtime dependencies as well, since required external
	  (non-GStreamer) depends are all system DLLs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-05 19:50:36 +0900  Seungha Yang <seungha@centricular.com>

	* docs/meson.build:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	* gst-libs/gst/cuda/gstcudastream.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	  cuda: Port to C++
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884>

2023-02-16 01:36:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: Fix timestamping on sequence update
	  ... and enhance debug logging.
	  Keep internal timestamp offsets on drain, no reason to reset them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3973>

2023-02-15 09:45:28 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  codecparsers: {h264,h265}bitwriter: Remove redundant condition checks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3967>

2023-01-12 17:49:14 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Initial support of Smart Access Video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3904>

2023-02-07 15:10:54 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/include/components/ColorSpace.h:
	* sys/amfcodec/include/components/Component.h:
	* sys/amfcodec/include/components/PreAnalysis.h:
	* sys/amfcodec/include/components/VideoDecoderUVD.h:
	* sys/amfcodec/include/components/VideoEncoderAV1.h:
	* sys/amfcodec/include/components/VideoEncoderHEVC.h:
	* sys/amfcodec/include/components/VideoEncoderVCE.h:
	* sys/amfcodec/include/core/D3D12AMF.h:
	* sys/amfcodec/include/core/Factory.h:
	* sys/amfcodec/include/core/Platform.h:
	* sys/amfcodec/include/core/Surface.h:
	* sys/amfcodec/include/core/Variant.h:
	* sys/amfcodec/include/core/Version.h:
	* sys/amfcodec/include/core/VulkanAMF.h:
	  amfcodec: Update AMF headers to version 1.4.29
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3904>

2023-02-14 13:00:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Drain and completely reallocate the encoder instance on caps changes
	  The encoder does not support reconfiguration, and only deinitializing it
	  and then initializing it again causes deadlocks.
	  Also only reconfigure and drain the encoder if the video info has
	  actually changed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3957>

2023-02-07 16:25:02 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtutil.h:
	  vtenc/vtdec: Fix typo in RGBA64_LE availability define
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3912>

2023-02-07 16:04:22 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Disable ARGB/RGBA64 caps on M1 Pro/Max with macOS <13
	  Fixes #1358.
	  Passing ARGB64/RGBA64 to vtenc caused the encoding to fail
	  when running on M1 Pro/Max variants with macOS 12.x, so let's
	  remove these formats from caps when such scenario is detected.
	  This issue appears to have been fixed OS-side in macOS 13.0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3912>

2023-02-10 19:03:13 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	  amfcodec: Add 10-bit & HDR support in AMF AV1 encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3641>

2022-12-23 19:40:32 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Add 10-bit & HDR support in h265 encoder
	  This commit adds 10 bit source file encoding and HDR metadata support in AMF HEVC encoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3641>

2023-02-12 23:17:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	  amfav1enc: Set stream-format on caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3946>

2023-02-12 23:12:21 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvav1enc.cpp:
	  qsvav1enc: Set stream-format on caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3946>

2023-02-09 18:51:30 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix not waiting for async frames when flushing
	  This was causing incorrect output when seeking, especially
	  when used with a multithreaded source like `videotestsrc n-threads=2`.
	  It should now correctly wait for frames still being processed by VT
	  while vtdec is flushing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3922>

2023-02-10 12:52:17 +0100  Alessandro Bono <alessandro.bono369@gmail.com>

	* sys/win32ipc/protocol/win32ipcutils.cpp:
	  win32ipcutils: Add missing include
	  We are using std::isspace() with one parameter. That function is defined
	  in the cctype header.
	  ```
	  win32ipcutils.cpp(34): error C2672: 'std::isspace': no matching overloaded function found
	  win32ipcutils.cpp(34): error C2780: 'bool std::isspace(_Elem,const std::locale &)': expects 2 arguments - 1 provided
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3933>

2023-02-06 17:47:11 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/mxf/gstmxfelement.c:
	* gst/mxf/meson.build:
	* gst/mxf/mxfffv1.c:
	* gst/mxf/mxfffv1.h:
	* gst/mxf/mxfquark.c:
	* gst/mxf/mxfquark.h:
	  mxfdemux: Add support for FFV1 demuxing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899>

2023-02-10 07:12:25 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfaes-bwf.c:
	* gst/mxf/mxfalaw.c:
	* gst/mxf/mxfcustom.c:
	* gst/mxf/mxfd10.c:
	* gst/mxf/mxfdv-dif.c:
	* gst/mxf/mxfessence.c:
	* gst/mxf/mxfessence.h:
	* gst/mxf/mxfjpeg2000.c:
	* gst/mxf/mxfmpeg.c:
	* gst/mxf/mxfprores.c:
	* gst/mxf/mxfup.c:
	* gst/mxf/mxfvanc.c:
	* gst/mxf/mxfvc3.c:
	  mxf: simplify essence track matching
	  By directly providing a valid descriptor to match against
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899>

2023-02-06 17:57:32 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Handle empty tracks
	  This can happen when tracks aren't fully/properly detected due to new descriptors
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899>

2023-02-06 15:59:56 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfmetadata.c:
	* gst/mxf/mxfmetadata.h:
	* gst/mxf/mxful.c:
	* gst/mxf/mxful.h:
	  mxfdemux: Handle sub-descriptor in generic descriptors
	  Specificied in S377-1 (2019) B.2 Generic Descriptor
	  This is one of the ways to store more "sub descriptors" for a single track
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899>

2023-02-06 15:57:58 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfmpeg.c:
	* gst/mxf/mxftypes.c:
	* gst/mxf/mxftypes.h:
	  mxf: Add convenience function for looking up primer tags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899>

2023-02-06 15:26:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Don't consider unknown metadata OBUs a bitstream error
	  Just don't parse them.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1774
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3898>

2023-02-07 08:49:24 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstceaccoverlay.c:
	  closedcaption: Don't leak caps event
	  All events that we handle should be unreffed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3902>

2023-02-07 04:58:04 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Calculate the jitter for remote-inbound-rtp stats
	  Populate the clock-rate in the internal stats structure, so
	  it can be used by the _get_stats_from_remote_rtp_source_stats()
	  method to calculate remote receivers' jitter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900>

2023-02-01 10:44:26 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Report full codec-stats for source pads
	  Use the current caps for webrtcbin srcpads, as received_caps
	  are only stored for sink pads based on incoming caps events.
	  Makes it so that webrtcbin stats reports contain fuller
	  codec information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900>

2023-02-06 13:55:32 +0100  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* ext/avtp/meson.build:
	  avtp: specify the required version of libavtp
	  Support of RVF requires libavtp in version 0.2.0 at least.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3897>

2022-11-24 12:50:33 +0800  Ma, Mingyang <mingyang.ma@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkenc: Let runtime decide parameters
	  Some parameters can be determined by runtime instead of default values. So unset the default and let runtime choose the best parameters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3660>

2023-02-03 21:33:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/gstsvtav1enc.h:
	  svtav1enc: Use G_DECLARE_FINAL_TYPE and GST_ELEMENT_REGISTER_DEFINE

2023-02-03 21:25:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Fix compilation with SVT-AV1 1.1 and drop GStreamer 1.16 compatibility

2023-02-03 21:20:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Fix indentation

2023-01-31 16:34:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/meson.build:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/meson.build:
	* meson_options.txt:
	  svtav1: Integrate into the build system properly

2023-01-25 01:13:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* sys/kms/gstkmsallocator.c:
	  kms: drop use of GSlice allocator and remove unnecessary check
	  g_new0() will never return NULL but just abort if it can't
	  allocate memory (same for g_slice_new).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784>

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

	* sys/shm/gstshmsink.c:
	* sys/shm/gstshmsrc.c:
	* sys/shm/shmalloc.h:
	  shm: drop use of GSlice allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784>

2023-01-25 00:39:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/midi/midiparse.c:
	  midiparse: drop use of GSlice allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784>

2023-01-25 00:33:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/closedcaption/gstceaccoverlay.c:
	* ext/closedcaption/gstceaccoverlay.h:
	* ext/closedcaption/meson.build:
	  cc708overlay: bump pango requirement and drop no longer required locking
	  Gets rid of GSlice allocation that's never freed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784>

2023-01-28 02:32:13 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-transcoder.c:
	  tools: Make sure UTF-8 encoded command line arguments on Windows
	  On Windows, arguments passed in main() are system codepage
	  encoded and might not be valid UTF-8 string.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3828>

2023-01-12 21:45:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/meson.build:
	* tests/check/libs/cudamemory.c:
	* tests/check/meson.build:
	  tests: Add CUDA memory allocator test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2022-12-23 03:12:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvbaseenc.c:
	  nvenc: Use CUDA stream of memory if exists
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2022-12-22 02:27:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudautils.c:
	* sys/nvcodec/gstcudamemorycopy.c:
	  cudaupload, cudadownload: Update for shared CUDA stream
	  Use CUDA stream of memory if exists
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

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

	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdecoder.c:
	  nvdecoder: Skip synchronization if downstream buffer holds CUDA stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

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

	* sys/nvcodec/gstcudaconvertscale.c:
	  cudaconvertscale: Add support for shared CUDA stream
	  If CUDA stream is shared by upstream/downstream, don't sync at
	  convert element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

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

	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	  cudaconverter: Don't sync per conversion
	  Caller should take care of synchronization
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

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

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Add support for shared CUDA stream
	  Sets CUDA stream on CUDA buffer pool so that CUDA stream object
	  can be shared
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

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

	* gst-libs/gst/cuda/gstcudabufferpool.c:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	  cudabufferpool: Add support for CUDA stream use in memory
	  * Use GstCudaPoolAllocator
	  * Pass configured GstCudaStream object to allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2022-12-19 21:56:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudabufferpool.c:
	* gst-libs/gst/cuda/gstcudamemory.c:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cudamemory: Make GstCudaStream-aware
	  This will be used for CUDA stream sharing.
	  * Adding GstCudaPoolAllocator object. The pool allocator will
	  control synchronization of allocated memory objects.
	  * Modify gst_cuda_allocator_alloc() API so that caller can specify/set
	  GstCudaStream object for the newly allocated memory.
	  * GST_CUDA_MEMORY_TRANSFER_NEED_SYNC flag is added in addition to
	  existing GST_CUDA_MEMORY_TRANSFER_NEED_{UPLOAD,DOWNLOAD}.
	  The flag indicates that any GPU command queued in the CUDA stream
	  may not be finished yet, and caller should take care of the
	  synchronization.
	  The flag is controlled by GstCudaMemory object if the memory holds
	  GstCudaStream. (Otherwise, GstCudaMemory will do synchronization
	  as before this commit). Specifically, GstCudaMemory object will set
	  the new flag automatically when memory is mapped with
	  (GST_MAP_CUDA | GST_MAP_WRITE) flags. Caller will need to unset
	  the flag via GST_MEMORY_FLAG_UNSET() if it's already synchronized
	  by client code.
	  * gst_cuda_memory_sync() helper function is added to perform synchronization
	  * Why not use CUevent object to keep track of synchronization status?
	  CUDA provides fence-like interface already via CUevent object,
	  but cuEventRecord/cuEventQuery APIs are not zero-cost operations.
	  Instead, in this version, the status is tracked by using map and
	  object flags.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2022-12-19 22:16:01 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudabufferpool.c:
	* gst-libs/gst/cuda/gstcudacontext.c:
	* gst-libs/gst/cuda/gstcudamemory.c:
	  cudamemory: Allow nullptr allocator object
	  The GstCudaAllocator object doesn't hold any device object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2022-12-21 23:59:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudabasetransform.c:
	* sys/nvcodec/gstcudabasetransform.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvbaseenc.h:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdec.h:
	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvcodec: Port to GstCudaStream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2022-12-19 20:57:30 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda.h:
	* gst-libs/gst/cuda/gstcudastream.c:
	* gst-libs/gst/cuda/gstcudastream.h:
	* gst-libs/gst/cuda/meson.build:
	  cuda: Add GstCudaStream object
	  Wrap CUstream handle with GstCudaStream to make it ref-counted
	  object. This GstCudaStream object will be used later for
	  CUDA stream sharing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

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

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcuda.h:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudacontext.h:
	* gst-libs/gst/cuda/gstcudaloader.h:
	* gst-libs/gst/cuda/gstcudamemory.h:
	* gst-libs/gst/cuda/gstcudanvrtc.h:
	* gst-libs/gst/cuda/gstcudautils.h:
	* gst-libs/gst/cuda/meson.build:
	* sys/nvcodec/gstcudabasetransform.c:
	* sys/nvcodec/gstcudabasetransform.h:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudafilter.c:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstcuvidloader.h:
	* sys/nvcodec/gstnvav1dec.c:
	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvbaseenc.h:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdec.h:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvenc.h:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	  cuda: Provide single header include entry point
	  Add "gstcuda.h" header file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629>

2023-02-03 22:10:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix min buffers parameter of allocation query in auto GPU mode
	  At the time when propose_allocation() get called, encoder session
	  would not be initialized yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3888>

2023-02-02 10:34:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/gstsvtav1enc.h:
	  gstreamer: Decide rate-control-mode based on the bitrate/cqp/crf settings
	  And also keep the default encoder settings but simply override them with
	  our own values that we care about.
	  This mirrors the encoder configuration behaviour from ffmpeg.

2023-02-02 09:50:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Use GLib types instead of stdint.h types consistently

2023-02-01 17:26:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Fix double unref
	  The ownership of the caps is passed to `gst_video_encoder_set_output_state()`.

2023-02-01 14:06:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/meson.build:
	  gstreamer: Configure colorimetry and HDR metadata if present
	  This raises the minimum GStreamer requirement to 1.16 as used by the CI
	  and optionally makes use of 1.18 features, including HDR.

2023-02-01 13:03:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Set correct maximum width/height limits

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

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Use correct 10-bit format on big endian systems

2023-02-01 12:57:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Set `force_key_frames=true` in CQP/CRF mode
	  Other modes don't support that so keyframes can't be requested at
	  arbitrary times.

2023-02-01 12:49:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/gstsvtav1enc.h:
	  gstreamer: Add support for setting arbitrary parameters via `parameters-string` property

2023-01-31 19:04:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Fix naming of function name that was taken over from the SVT-HEVC encoder

2023-01-31 15:30:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Don't overwrite application configuration on initialization and initialize with the default configuration

2023-01-31 15:25:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Clean up property handling
	  Use more correct types, defaults and clean up property names a bit.
	  This now matches the configuration provided by ffmpeg.

2023-01-31 13:37:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Mark all internal functions as `static`

2023-01-31 13:06:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Fix encoder and buffer state life cycle
	  Allocate/deallocate the encoder in `open()`/`close()` and its buffers in
	  `start()` / `stop()`.
	  Also fail correctly if configuring the encoder fails.

2023-01-31 13:03:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	* ext/svtav1/gstsvtav1enc.h:
	  gstreamer: Remove unused `frame_count` and `dts_offset`

2023-01-31 12:59:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Fix debug category description

2023-02-02 18:48:41 +0100  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* ext/avtp/gstavtprvfdepay.c:
	* ext/avtp/gstavtprvfpay.c:
	  avtp: rvf: add missing since markers
	  Add missing markers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335>

2021-11-08 13:18:49 +0100  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/avtp/gstavtp.c:
	* ext/avtp/gstavtprvfdepay.c:
	* ext/avtp/gstavtprvfdepay.h:
	* ext/avtp/meson.build:
	  avtp: rvf: add AVTP RVF de-payload support
	  Add AVTP Raw Video Format de-payload support. The element supports only
	  GRAY16_LE output format, so:
	  - active pixels (no vertical blanking),
	  - progressive mode,
	  - 8 and 16-bit pixel depth,
	  - mono pixel format,
	  - grayscale colorspace.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335>

2021-11-09 13:20:01 +0100  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/avtp/gstavtpcvfdepay.c:
	* ext/avtp/gstavtpcvfdepay.h:
	* ext/avtp/gstavtpvfdepaybase.c:
	* ext/avtp/gstavtpvfdepaybase.h:
	* ext/avtp/meson.build:
	  avtp: cvf: extract AVTP VF depayload base class
	  Extract a part which could be common with the AVTP RVF depayload plugin to a separate class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335>

2021-11-02 12:49:31 +0100  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/avtp/gstavtp.c:
	* ext/avtp/gstavtprvfpay.c:
	* ext/avtp/gstavtprvfpay.h:
	* ext/avtp/meson.build:
	  avtp: rvf: add AVTP RVF payload support
	  Add AVTP Raw Video Format payload support. The element supports only GRAY16_LE
	  input format, so:
	  - active pixels (no vertical blanking),
	  - progressive mode,
	  - 8 and 16-bit pixel depth,
	  - mono pixel format,
	  - grayscale colorspace.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335>

2021-11-04 12:59:21 +0100  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/avtp/gstavtpcvfpay.c:
	* ext/avtp/gstavtpcvfpay.h:
	* ext/avtp/gstavtpvfpaybase.c:
	* ext/avtp/gstavtpvfpaybase.h:
	* ext/avtp/meson.build:
	  avtp: cvf: extract AVTP VF payload base class
	  Extract a part which could be common with the AVTP RVF payload plugin to a separate class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335>

2022-11-09 20:20:35 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Disable HW acceleration for interlaced ProRes
	  Due to a bug in the VT API, attempting to encode interlaced content
	  with ProRes results in an error, halting the pipeline instead of
	  gracefully falling back to software encoding.
	  Should be removed in the future if Apple ever fixes this issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3222>

2023-01-19 11:03:09 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264dec.c:
	  va: Avoid the array index overflow when filling 8x8 scaling list.
	  The VA API has not defined the scaling list entries for U/V planes
	  for the 4:4:4 stream. In fact, we do not meet the 4:4:4 format output
	  for H264 so far, and scaling list is not used frequently, so we just
	  print out some warning and ignore these scaling list values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3749>

2023-02-02 05:04:48 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvvp9dec.c:
	  nvvp9dec: Fix return value
	  It should return GstFlowReturn value, not boolean
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3870>

2023-02-01 17:26:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1dec.c:
	* ext/aom/gstav1enc.c:
	  aom: Include stream-format and alignment in the AV1 caps
	  The decoder does not work with arbitrary alignment and annexb stream
	  format and the encoder can give the information that it outputs
	  obu-stream/tu to downstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3862>

2023-01-27 15:40:21 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/wayland/gstwlbuffer.h:
	* gst-libs/gst/wayland/gstwldisplay.h:
	* gst-libs/gst/wayland/gstwlshmallocator.h:
	* gst-libs/gst/wayland/gstwlvideobufferpool.h:
	* gst-libs/gst/wayland/gstwlwindow.h:
	  wayland: Export the _get_type() functions
	  Add the macro before the declaration so the types are properly exported,
	  this makes it possible to do dynamic casting and checks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3858>

2022-12-21 16:32:10 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator.c:
	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdkallocator: Use const ptr of videoinfo in func param
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3621>

2023-01-11 15:20:21 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/codec2json/gstav12json.c:
	* ext/codec2json/gstav12json.h:
	* ext/codec2json/meson.build:
	* ext/codec2json/plugin.c:
	  codec2json: Add av12json element
	  This element convert AV1 frame header into human readable
	  json data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3734>

2023-01-04 10:35:20 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/codec2json/gstvp82json.c:
	* ext/codec2json/gstvp82json.h:
	* ext/codec2json/meson.build:
	* ext/codec2json/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  codec2json: Add vp82json element
	  This element convert vp8 frame header into human readable
	  json data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3734>

2023-01-25 19:20:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecparsers/gstvp9parser.c:
	* gst-libs/gst/codecparsers/gstvp9parser.h:
	  codecparsers: vp9parser: use single allocation for parser structs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3790>

2023-01-27 15:54:48 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Fix unref of NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3831>

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

	* sys/win32ipc/gstwin32ipcbufferpool.cpp:
	* sys/win32ipc/gstwin32ipcbufferpool.h:
	* sys/win32ipc/gstwin32ipcmemory.cpp:
	* sys/win32ipc/gstwin32ipcmemory.h:
	* sys/win32ipc/gstwin32ipcvideosink.cpp:
	* sys/win32ipc/gstwin32ipcvideosrc.cpp:
	* sys/win32ipc/meson.build:
	* 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:
	  win32ipc: Add support for zero-copy rendering
	  * Extend protocol so that client can notify of releasing shared memory
	  * Server will hold shared memory object until it's released by client
	  * Add allocator/buffer pool to reuse shared memory objects and buffers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3765>

2022-12-30 00:49:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst/mpegdemux/gstmpegdemux.c:
	  mpegpsdemux: Ignore DTS if PTS < DTS
	  It's possibly timestamp rollover case. But PTS < DTS is already
	  invalid case anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3657>

2022-12-06 16:30:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/sdp/gstsdpdemux.c:
	* gst/sdp/gstsdpdemux.h:
	  sdpdemux: add "media" property to allow audio-only or video-only streaming
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3531>

2022-12-06 16:13:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/sdp/gstsdpdemux.c:
	* gst/sdp/gstsdpdemux.h:
	  sdpdemux: add "rtcp-mode" property to disable RTCP
	  If we know there's only one stream we care about and we
	  don't have to synchronise audio and video, or send RRs,
	  we might just as well not hook up all the RTCP bits and
	  use fewer threads and sockets and simplify the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3531>

2023-01-24 23:26:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2src: Fix loopback capture on Windows 10 Anniversary Update
	  ... or older. Work around an OS bug that loopback capture
	  device doesn't notify event.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1738
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3782>

2023-01-12 17:15:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	  vulkan: imagebufferpool: Remove video meta handling.
	  Remove video meta handling since it's not used at all, also removed its usage in
	  vkvideofilter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3722>

2023-01-11 16:46:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vulkan: physicaldevice: Dump 1.3 features and properties.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3721>

2023-01-04 17:30:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vulkan: memory: Flush non coherent memory after write.
	  Spec 7.1.3:
	  If a memory object does not have the VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
	  property, then vkFlushMappedMemoryRanges must be called in order to guarantee
	  that writes to the memory object from the host are made available to the host
	  domain, where they can be further made available to the device domain via a
	  domain operation. Similarly, vkInvalidateMappedMemoryRanges must be called to
	  guarantee that writes which are available to the host domain are made visible to
	  host operations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3723>

2023-01-24 20:43:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  gstreamer: Use stream-format=obu-stream alignment=tu in the caps
	  There is no byte-stream/au format for AV1 but only for H264, and the
	  encoder actually outputs obu-stream/tu instead of the annexb
	  stream-format that is similar to H264 byte-stream format.
	  Without this the encoder can't be used with elements that require a
	  specific AV1 stream-format, e.g. the MP4 or Matroska/WebM muxer.

2023-01-25 09:10:57 -0500  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* gst-libs/gst/codecparsers/gstvp9parser.c:
	  vp9parser: remove checks for g_new0 result
	  The g_new0 aborts the process if it fails.  Thus,
	  there is no need to check if the g_new0 call succeeded.
	  This should silence a resource leak warning by static
	  scan.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3788>

2023-01-14 12:29:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/srtp/meson.build:
	  meson: Add a wrap file for libsrt2p
	  And allow fallback to it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3708>

2023-01-24 11:26:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Log readable errors when initializing CUDA
	  It is really difficult for people to figure out why nvcodec has
	  0 features. Even the debug log is cryptic. Also make sure the errors
	  go to the ERROR log level, which is more likely to be enabled by
	  default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3776>

2023-01-24 11:16:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Fix reporting of CuDeviceGetCount error
	  cuda_ret is was always going to be CUDA_SUCCESS in the error log.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3776>

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

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11screencapturedevice.cpp:
	  d3d11: Don't use g_alloca()
	  _alloca CRT function is deprecated. Moreover, stack allocation
	  for string is not a good idea. We can use _malloca inline
	  function instead, but all use of _alloca in d3d11 library/plugin
	  are not performance critical path at all.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3652>

2023-01-24 09:25:52 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/codectimestamper/gsth264timestamper.c:
	* gst/codectimestamper/gsth265timestamper.c:
	  timestamper: Classify as Timestamper and make them RANK_MARGINAL
	  This way those elements can be autoplugged when needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3779>

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

	* gst/jpegformat/gstjifmux.c:
	  jpegformat: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:47:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/rist/gstristrtxsend.c:
	* gst/rist/gstristsink.c:
	* gst/rist/gstristsrc.c:
	  rist: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:47:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/netsim/gstnetsim.c:
	  netsim: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegpsmux/bits.h:
	* gst/mpegpsmux/psmux.c:
	* gst/mpegpsmux/psmuxstream.c:
	  mpegpsmux: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:46:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/tsdemux.c:
	  mpegtsdemux: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:44:53 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: drop use of GSlice allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:43:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/jp2kdecimator/jp2kcodestream.c:
	  jp2kdecimator: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:39:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/rtmp2/TODO:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/rtmpchunkstream.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	* gst/rtmp2/rtmp/rtmphandshake.c:
	* gst/rtmp2/rtmp/rtmputils.c:
	  rtmp2: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

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

	* gst/mxf/mxfaes-bwf.c:
	* gst/mxf/mxfmetadata.c:
	* gst/mxf/mxfmpeg.c:
	* gst/mxf/mxftypes.c:
	* gst/mxf/mxftypes.h:
	  mxf: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:15:46 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/dvbsuboverlay/dvb-sub.c:
	  dvbsuboverlay: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:14:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/svthevcenc/gstsvthevcenc.c:
	  svthevcenc: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:10:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/x265/gstx265enc.c:
	  x265: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:10:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/wpe/WPEThreadedView.cpp:
	  wpe: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:08:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/ttml/gstttmlrender.c:
	* ext/ttml/subtitle.c:
	* ext/ttml/ttmlparse.c:
	  ttml: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:08:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/srtp/gstsrtp.c:
	* ext/srtp/gstsrtpdec.c:
	  srtp: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

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

	* ext/resindvd/resindvdbin.c:
	* ext/resindvd/rsninputselector.c:
	  resindvd: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:06:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/kate/gstkateutil.c:
	  kate: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:06:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/openjpeg/gstopenjpegdec.c:
	* ext/openjpeg/gstopenjpegenc.c:
	  openjpeg: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:03:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvasurfacecopy.c:
	  libs: va: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 18:02:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gstmpegvideometa.c:
	* gst-libs/gst/codecparsers/gstvc1parser.c:
	* gst-libs/gst/codecparsers/gstvp9parser.c:
	  libs: codecparsers: drop use of GSlice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 17:58:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/insertbin/gstinsertbin.c:
	  libs: insertbin: drop use of GSlice allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-08 17:56:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/mpegts/gst-atsc-section.c:
	* gst-libs/gst/mpegts/gst-dvb-descriptor.c:
	* gst-libs/gst/mpegts/gst-dvb-section.c:
	* gst-libs/gst/mpegts/gst-scte-section.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtssection.c:
	  libs: mpegts: drop use of GSlice allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695>

2023-01-23 23:04:53 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.0 ===

