=== release 1.24.3 ===

2024-04-30 00:15:23 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-04-29 18:24:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/unixfd.c:
	  unixfd: disable flaky test_unixfd_segment for now
	  It's a problem with the test, and a proper fix might
	  require new API, so just disable it for now.

2024-04-22 15:03:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6764>

2024-04-22 14:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6764>

2024-04-21 14:55:31 +0800  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Fix frame leak on error path
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6764>

2024-04-21 14:48:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6764>

2024-04-21 12:51:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6764>

2024-04-28 23:37:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix d3d12 resource copy
	  It was copying to self resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6755>

2024-04-19 00:30:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: No need to call _finish_subframe()
	  After vaav1enc is aligned to TU, there is no case that generates
	  multi output for one input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6751>

2024-04-19 00:22:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6751>

2024-04-19 00:14:15 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not change the PTS/DTS of output frames
	  The AV1 encoder does not reorder the frames, so there is no need
	  to change the timestamp related meta data of output frames, just
	  inheriting it from the input frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6751>

2024-04-18 22:30:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Change the alignment of output to "tu"
	  The current output alignment is "frame", which may cause some issues
	  for PTS and DTS calculation. We now change the alignment to "tu",
	  and this is also the alignment mode for av1enc and svtav1enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6751>

2024-04-15 09:51:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Close file descriptors on error
	  After calling g_unix_fd_list_steal_fds() and before calling
	  gst_fd_allocator_alloc(), we are responsible for closing those fds.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6747>

2024-04-03 10:28:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	* tests/check/elements/unixfd.c:
	  unixfdsink: Take segment into account when converting timestamps
	  Also rename `calculate_timestamp()` to `to_monotonic()` and
	  `from_monotonic()` which better describe what it does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6747>

2024-04-03 13:17:01 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Allow sending buffers with no memories
	  There is no reason to not allow it, and it is useful for simple unit
	  test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6747>

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

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: disable derived all together for Mesa <23.3
	  First it derived mapping was disabled for P010 formats, but also there's an
	  issue with interlaced frames.
	  It would be possible to disable derived mapping only for interlaced (H.264
	  decoder and vadeinterlace) but it would spread the hacks along the code. It's
	  simpler and contained to disable derived completely for Mesa <23.3
	  Fixes: #3450
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6746>

2024-04-25 11:50:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: use video library to get DRM fourcc
	  Instead of duplicating the GStreamer format to DRM fourcc mapping, this patch
	  uses the GstVideo library helpers. This duplicates the big O of looking for,
	  since the two lists are traversed, but it's less error prone.
	  Partially reverts commit 547f3e8622a39ce971c272f2c31eab8f1fdfbb45.
	  Fixes: #3354
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6744>

2024-04-17 18:37:30 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: free staged buffer when do gst_wl_window_finalize
	  If waylandsink received buffer rate is high which causes frame
	  drop, the cached staged buffer will be replaced when next buffer
	  needs to be rendered and be freed after redraw. But there is
	  chance to get memory leak if ended without redraw. So need to
	  free staged buffer when do gst_wl_window_finalize().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6735>

2024-04-24 01:02:15 +0900  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: clear configure mutex and cond when finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6724>

2024-04-23 10:53:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegtsbase: Fix Program equality check
	  There was an issue with this equality check, which was to figure out what to do
	  with PCR pids (whether they were part of the streams present or not) and whether
	  we ignore PCR or not.
	  Turns out ... we already took care of that further up in the function.
	  The length check can be simplified by just checking whether the length of
	  the *original* PMT and the new PMT are identical. Since we don't store "magic"
	  PCR streams in those, we can just use them as-is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6719>

2024-04-23 01:40:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Lock DPB while building command
	  Since DPB resource can be modified in output thread, protect
	  it when building command list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6717>

2024-04-22 19:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Hold reference pictures in fence data
	  Keep reference pictures alive during executing decoding commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6717>

2024-04-22 21:52:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12vp9dec: Disallow resolution change to larger size on non-keyframe
	  Intel GPU seems to be crashing if the case happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6717>

2024-04-21 22:38:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6710>

2024-04-21 22:07:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6710>

2024-04-16 09:50:52 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Disable smart program update
	  The goal of this code was, for programs which were updates (i.e. adding/removing
	  streams but not completely changing) to allow dynamic addition/removal of
	  streams without completely removing everything.
	  But this wasn't 100% tested and there are a bunch of issues which make it fail
	  in plenty of ways.
	  For now disable that feature and force the legacy "add all pads again and then
	  remove old ones" behaviour to make it switch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6708>

2024-04-21 19:17:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfsourceobject.cpp:
	  mediafoundation: Fix infinite loop in device provider
	  Initialize source state with GST_MF_DEVICE_NOT_FOUND to terminate
	  loop immediately if no available capture device is available
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3492
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6707>

2024-04-19 20:44:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window's signal on dispose
	  Same as the commit of 7b69d1758f77331c2801746cd91b1b6b0db9ecfb
	  but for d3d12videosink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6700>

2024-04-19 21:17:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle external HWND's mouse/keyboard events
	  OS will not propagate the event to child HWND if it's handled by
	  the parent. Thus, navigation event should be handled by parent HWND's
	  event handler.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6700>

2024-04-18 10:18:05 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  d3d11device: protect device_lock vs device_new
	  It seems that when D3D11CreateDevice collides in time
	  with other D3D11 calls, in particular the proccess of
	  creating a shader, it can corrupt the memory in the driver.
	  D3D11 spec doesn't seem to require any thread safety from
	  D3D11CreateDevice. Following MSDN, it is supposed to be called
	  in the beginning of the proccess, while GStreamer calls it with each
	  new pipeline.
	  Such crashes in the driver were frequently reproducing on the
	  Intel UHD 630 machine.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6702>

2024-04-16 23:08:51 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  tests/d3d11: add concurrency test for gstd3d11device
	  We suspect that it's not thread safe to just create and
	  destroy the device from any thread, particularly because
	  of D3D11CreateDevice, that is not documented as thread-safe.
	  While D3D11CreateDevice is usually protected from outside
	  by the gst_d3d11_ensure_element_data, it still can cross
	  with the Release() method of another device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6702>

2024-04-19 17:17:08 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query duration again if previous query failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6701>

2024-04-17 10:58:00 +0900  Hou Qi <qi.hou@nxp.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: config buffer pool with query size when propose_allocation
	  If propose_allocation comes before set_caps, self->video_info
	  has not been extracted from caps and self->video_info.size is 0.
	  It causes buffer pool fail to set config . So need to use info
	  size got from query instead when propose_allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6687>

2024-04-17 16:55:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Don't unref allocation query caps
	  The caps obtained from parsing the allocation query is borrowed and
	  should not be unreffed. This fixes criticals assertion introduced in
	  1.24.1.
	  (gst-launch-1.0:242): GStreamer-CRITICAL **: 19:48:02.667:
	  gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
	  Fixes: 5189e8b95630 ("v4l2codecs: decoders: Add DMA_DRM caps support")
	  Closes #3462
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6682>

2024-04-16 22:29:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc.c:
	  dvbsubenc: fixed some memory leaks and a crash
	  Fix leaks of internal GstBuffers, and a crash if subtitle segments end
	  up empty.
	  Based on a patch by Jurijs Satcs <jurijs.satcs@veset.tv>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6672>

2024-04-10 20:57:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfcapturedshow.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfcapturewinrt.h:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourceobject.h:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmfsourcereader.h:
	  mediafoundation: Fix device enumeration
	  Do not stop device enumerate even if a device could not be opened.
	  Otherwise the other devices listed after the failed device will not be
	  reported by device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3460
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6647>

2024-04-13 23:53:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Fix buffer pool leak
	  Add missing buffer pool release
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6637>

2024-04-10 22:01:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Fix rendering on keyed mutex enabled handle
	  As of the commit 69b2e1565c5d0e8b2313d52042d73c721fed7edb,
	  keyed mutex will be handled by the memory object.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3468
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6635>

2024-04-15 10:51:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: fix possible libscpp build failure in gst-plugins-bad
	  ../subprojects/gst-plugins-bad/tests/check/libs/gstlibscpp.cc:41:
	  fatal error: gst/mpegts/gstmpegts-enumtypes.h: No such file or directory
	  Could only pass the needed deps to the libscpp test, but gets
	  messier to maintain, so let's at it for consistency.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6644>

2024-04-10 00:04:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.2

=== release 1.24.2 ===

2024-04-09 21:48:55 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-04-06 00:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: Fix caps leak and remove unnecessary code
	  The removed code does the exactly same thing as the below code
	  except for leaking caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6587>

2024-04-09 23:35:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Release too old frames
	  Release too old frames manually.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6586>

2024-04-02 18:20:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriteoverlayobject.cpp:
	  dwrite: Fix crash on device update
	  Selected blend mode should not be cleared on device update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6521>

2024-04-05 21:58:51 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	  h264parser: maintain API changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:38:36 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/elements/h264parse.c:
	  Revert "h264parse: test - AU align with SEI between frame slices"
	  This reverts commit 533f814fd9a0eff341bb8f400fff82e5f0c4c313.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:38:16 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: Improved AU boundary detection"
	  This reverts commit 49f200cb549d43067e7c6eee332cdf757a38d82a.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:38:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove dead code"
	  This reverts commit 141cd3871592292a8a6c81c1e018610a82ecaa88.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:38:08 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Fix AU collection"
	  This reverts commit 495390f63a710559b149e476d3289dc2f37be7f8.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:37:47 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove un-needed check on SPS state"
	  This reverts commit 73dedf9a51e70868f6aa029b968f8c7ef6af530e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:37:40 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: use AUD to detect first VCL NAL"
	  This reverts commit 90a3b63eed22d2737dbe8e33ee931e897ccfd128.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-04-04 09:36:02 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: correct NAL mode backlog processing"
	  This reverts commit b2098849dc21c3615cb15b1e26bbbe77feb76476.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562>

2024-03-29 15:37:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Demote CC warning message
	  Another warning message which isn't fatal and therefore should just be a DEBUG
	  line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6555>

2024-03-20 13:57:56 -0500  Elizabeth Figura <zfigura@codeweavers.com>

	* sys/applemedia/atdec.c:
	* sys/applemedia/atdec.h:
	  atdec: Handle channel counts greater than 2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6546>

2024-02-20 13:20:12 -0600  Elizabeth Figura <zfigura@codeweavers.com>

	* sys/applemedia/atdec.c:
	  atdec: Use gst_audio_decoder_set_output_caps() directly
	  The code currently sets the same caps in two different ways, and neither of them correctly handle the channel mask.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6546>

2024-03-30 15:57:36 +0100  Robert Mader <robert.mader@posteo.de>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: turn some bus warnings into object ones
	  For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
	  While this is likely a driver or firmware bug that should be addressed
	  accordingly, it's not fatal and likely does not deserve a bus message on
	  every frame, flooding journals.
	  Turn down the volume of the warnings by turning them into object
	  warnings. If we conclude that in some cases we'd still want bus
	  warnings, they can be done more fine-grained in the
	  `gst_jpeg_parse_appX()` functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6539>

2024-04-02 16:23:31 +0100  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkbufferpool.c:
	* gst-libs/gst/vulkan/gstvkbufferpool.h:
	  vkbufferpool: correct usage flags type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6528>

2024-03-18 20:50:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: add missing VPS parameter
	  and fix coded size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534>

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

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: implement close() vmethod
	  Since a validation layer error is signaled at EOS because it's required to wait
	  for the last frame to be processed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534>

2024-04-03 16:44:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: remove unused variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534>

2024-03-18 19:42:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: fix resource info structure when layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534>

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

	* sys/msdk/gstmsdkcontext.c:
	  msdk: sink context reference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527>

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

	* ext/gtk/gstgtkwaylandsink.c:
	  gtk: sink reference of internal wayland pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527>

2024-04-02 18:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/wayland/gstwaylandsink.c:
	  wayland: sink reference to internal pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527>

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

	* ext/dash/gstmpdadaptationsetnode.c:
	* ext/dash/gstmpdbaseurlnode.c:
	* ext/dash/gstmpdclient.c:
	* ext/dash/gstmpdcontentcomponentnode.c:
	* ext/dash/gstmpddescriptortypenode.c:
	* ext/dash/gstmpdlocationnode.c:
	* ext/dash/gstmpdmetricsnode.c:
	* ext/dash/gstmpdmetricsrangenode.c:
	* ext/dash/gstmpdperiodnode.c:
	* ext/dash/gstmpdprograminformationnode.c:
	* ext/dash/gstmpdreportingnode.c:
	* ext/dash/gstmpdrepresentationnode.c:
	* ext/dash/gstmpdrootnode.c:
	* ext/dash/gstmpdsegmentbasenode.c:
	* ext/dash/gstmpdsegmentlistnode.c:
	* ext/dash/gstmpdsegmenttemplatenode.c:
	* ext/dash/gstmpdsegmenttimelinenode.c:
	* ext/dash/gstmpdsegmenturlnode.c:
	* ext/dash/gstmpdsnode.c:
	* ext/dash/gstmpdsubrepresentationnode.c:
	* ext/dash/gstmpdsubsetnode.c:
	* ext/dash/gstmpdurltypenode.c:
	* ext/dash/gstmpdutctimingnode.c:
	  dash: sink references of all MDP objects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527>

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

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	  va: sink reference at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527>

2023-12-05 12:24:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  vulkan: sink references at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527>

2024-04-02 19:00:35 +0200  eri <eri@inventati.org>

	* gst-libs/gst/play/gstplay.c:
	  play: Update `video_snapshot` to support playbin3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6526>

2024-04-02 15:57:58 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* tests/examples/webrtc/webrtcswap.c:
	  examples: set perfect-timestamp=true on opusenc
	  Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6523>

2024-03-25 23:33:59 +0800  He Junyan <junyan.he@intel.com>

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

2024-04-01 01:00:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Add support for MinGW DirectXMath package
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6503>

2024-03-14 23:17:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Improve the LAST reference assignment
	  The last frame which has the smallest diff should be consider as
	  the first choice rather than the golden frame. Especially when only
	  one reference available, this way can improve the BD rate about 5
	  percentage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6507>

2024-03-15 15:48:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Fix the reference number setting bug
	  The current way will let the total reference number surplus the
	  reference number set by the "ref-frames" property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6507>

2024-03-28 21:59:02 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: disconnect signals before releasing the window
	  It might happen that the key event arrives when the d3d11videosink
	  is stopping. In case of GstD3D11WindowWin32 it can raise a
	  navigation event even when the sink is already freed, because the
	  window object's refcount may reach 0 in the window thread. In
	  other words sometimes the GstD3D11WindowWin32 lives few ms more
	  then the GstD3D11VideoSink, because it's freed asynchronously.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6492>

2024-03-29 19:34:32 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/wpe/gstwpe.cpp:
	  wpe: avoid crash with G_DEBUG=fatal_criticals and static build
	  No plugin filenames if static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6488>

2024-03-22 12:57:33 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/rist/gstristsrc.c:
	  ristsrc: Clean caps instead of unref
	  Fix issue unrefering null caps. Better solution than
	  ```
	  if (src->caps)
	  gst_caps_unref (src->caps);
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6485>

2024-03-28 20:02:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Disable library build if DirectXMath header was not found
	  DirectXMath header library is a hard dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6472>

2024-03-27 13:53:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	  v4l2codecs: alphadecoder: Explicitly pass 64 bit integers as such through varargs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6469>

2024-03-27 16:17:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/codecalpha/gstalphadecodebin.c:
	  alphadecodebin: Explicitly pass 64 bit integers as such through varargs
	  Maybe fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3422
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6469>

2024-03-22 16:14:24 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix caps criticals during negotiation
	  Calling gst_pad_peer_query_caps() without a filter can give us EMPTY caps, whereas all the code below
	  assumes that's not the case. Replacing query+intersect with a filtered query ensures we always get a subset
	  of the template caps back.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6454>

2024-03-26 15:32:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: avi1 tag can be progressive
	  AVI1 tag in APP0 is trivalue: 0 not interleaved, 1 odd, 2 even.
	  So if avi1 is zero then the frame is progressive.
	  Also, this patch adds a couple log messages.
	  Fixes: #3414
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6453>

2024-03-26 12:46:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/meson.build:
	  tests: add check to make sure -bad lib headers are C++ compiler clean
	  Only non-internal libs without external deps for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6448>

2024-03-22 01:38:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.24.1 ===

2024-03-21 21:47:53 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-03-18 18:46:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Ignore output loop errors in drain() if we're flushing
	  In an early non-linked scenario, this was causing a ton of criticals about the queue array,
	  because the output callback would still fire for leftover frames that were still being processed by VT
	  at the time the output loop stopped. This makes sure they're flushed correctly as well.
	  Also renames gst_vtdec_loop to gst_vtdec_output_loop for consistency with related functions.
	  wip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6411>

2024-03-18 18:38:41 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix a deadlock during ProRes playback
	  Sometimes a call to negotiate (and thus drain) can happen from the output loop
	  (via finish_frame()), which will tell VT to output all internal frames, but that won't succeed
	  if we happen to decide to wait for the queue to empty (because the loop is waiting for draining to finish and
	  will not make space in the queue!). This commit adds an override for the queue size limit if we're draining/flushing.
	  This bug could happen for any formats, but was especially obvious for ProRes, which has dpb_size of 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6411>

2024-03-06 15:39:33 -0500  Ruijing Dong <ruijing.dong@amd.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah265enc.c:
	  va: enc : checking surface alignment attribute
	  Apply surface alignment attribute when availalbe,
	  also fix frame cropping issue for va h265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6399>

2024-03-16 19:32:19 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: avoid null dereference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6391>

2024-03-17 11:18:37 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix a critical warning in error callback
	  `on_error()` can be called with a NULL details structure, so in that situation
	  the `gst_structure_copy()` would raise a critical warning. Create an empty
	  structure instead of attempting to copy a NULL one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6387>

2024-03-16 21:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Fix SDK debug layer activation
	  Debug layer must be enabled before creating device. Otherwise
	  already opened devices before the activation will be removed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6383>

2024-01-06 13:07:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Add DMA_DRM caps support
	  In order to simplify caps negotiations for clients and, notably, be more
	  compatible with va* decoders.
	  Crucially this allows clients to know ahead of time whether buffers will
	  actually be DMABufs.
	  Similar to GstVaBaseDec we only announce system memory caps if the peer
	  has ANY caps. Further more, and again like va decoders, we fail in
	  `decide_allocation()` if DMA_DRM caps are used without VideoMeta.
	  Apart from buggy peers this can happen e.g. when a peer with ANY caps
	  is used in combination with caps filters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6376>

2024-02-17 06:01:41 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Introduce and use set_output_state helper class
	  Allowing us to avoid some code duplication. This will become more
	  important with upcoming changes to caps generation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6376>

2024-02-17 05:43:23 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoder: Clean up select_src_format()
	  Most importantly rely on video info helpers instead of manual parsing
	  of caps, which will allow us to use additional helpers in the future.
	  While on it, tighen the check for supported formats - failing that
	  indicates a bug in caps negotiation - and make some style changes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6376>

2024-02-17 04:20:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Generalize size enumeration caps
	  By reducing the generated caps to the minimal number of fields and
	  using intersections instead of merges. This will allow us to reuse the
	  result in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6376>

2024-02-16 22:48:17 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Use src template for negotiation filter
	  This ensures we don't create filter caps that are not supported by the
	  individual codec implementations, as well as that the resulting caps
	  have the required fields so they can be turned into a GstVideoFormat.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6376>

2024-03-14 20:25:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asio: Fix {input,output}-channels property handling
	  Fixing regression introduced by the commit 06dc931b52fbd858640506616f5a1a928792b27c
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6372>

2024-03-14 00:49:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Fix adapter LUID comparison in wrapped device mode
	  Fix integer type mismatching
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3382
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6364>

2024-03-13 00:42:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix IDXGIFactory2 leak
	  factory passed to gst_d3d12_device_find_adapter() method is valid
	  handle already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6353>

2024-03-11 12:42:48 +0100  Antonio Larrosa <alarrosa@suse.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va{h264,h265,av1}enc: fix potential crash on devices without rate control
	  This fixes a crash in `gst_va_h264_enc_class_init` and `gst_va_h265_enc_class_init`
	  (and probably also in gst_va_av1_enc_class_init) when calling
	  `g_object_class_install_properties (object_class, n_props, properties);`
	  When rate_control_type is 0, the following code is executed in :
	  ```
	  } else {
	  n_props--;
	  properties[PROP_RATE_CONTROL] = NULL;
	  }
	  ```
	  n_props has initially a value of N_PROPERTIES but PROP_RATE_CONTROL
	  is not the last element in the array, so it's making
	  g_object_class_install_properties fail to iterate over the
	  properties array.
	  This applies the same fix to gstvah264enc.c, gstvah265enc.c and
	  gstvaav1enc.c.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6344>

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

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Don't verbosely warn about CEA_708_PROCESS_EM_DATA_FLAG not being set
	  And the same for CEA_708_PROCESS_CC_DATA_FLAG. This is not really a
	  problem and was polluting logs with warnings for every single frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6352>

2024-03-12 00:45:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	  cuda,d3d11,d3d12bufferpool: Disable preallocation
	  Do not chain up to parent's GstBufferPool::start() which will do
	  preallocation. We don't want it to be preallocated
	  since there are various cases where negotiated downstream buffer pool is
	  not used at all (e.g., zero-copy decoding, IPC elements).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6345>

2024-03-09 20:16:22 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Init the output_frame_num when resetting gf group
	  Fixes: #3359
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6333>

2024-02-16 18:08:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	* gst/onvif/gstrtponviftimestamp.h:
	  rtponviftimestamp: make sure to set E and T bits on last buffer of lists
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6298>

2024-02-28 09:30:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: Use gst_segment_to_stream_time_full()
	  In the situation where playback starts from a keyframe before
	  the target playback segment, then the first buffers will be
	  outside the configured segment and gst_segment_to_stream_time()
	  will return GST_CLOCK_TIME_NONE unconditionally.
	  If drop-out-of-segment is false, the RTP buffers will not be
	  dropped, but will be sent witout ONVIF extension timestamps
	  and given GST_CLOCK_TIME_NONE timestamps on the receiver.
	  Instead, use gst_segment_to_stream_time_full() to extrapolate
	  stream time outside the segment so that such buffers still
	  get assigned their correct timestamps on the receiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6295>

2024-03-01 21:00:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc-util.c:
	  dvbsubenc: Fix bottom field size calculation
	  Don't accidentally include the stuffing byte (if present)
	  into the bottom field size. It should only be included in the
	  total segment length.
	  Fixes problems with FFmpeg not rendering the subtitles
