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

