=== release 1.24.4 ===

2024-05-29 13:44:50 +0300  Tim-Philipp Müller <tim@centricular.com>

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

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

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Allow session level setup attribute in SDP
	  An SDP answer can declare its setup attribute at the session level or at the
	  media level. Until this patch we were validating only the latter case and an
	  assert was raised in the former case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6945>

2024-05-17 11:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlsconnection.c:
	  dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t
	  If a timeout of more than 4295s was scheduled, the calculation would
	  overflow and a too short timeout would be used instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6920>

2023-08-11 17:50:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	  kmssink: Do not close the DRM prime handle twice
	  The prime_fds for multi planes may be the same. For example, on Intel's
	  platform, the NV12 surface may have the same FD for the plane0 and the
	  plane1. Then, the DRM_IOCTL_GEM_CLOSE will close the same handle twice
	  and get an "Invalid argument 22" error the second time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6916>

2024-05-22 12:28:39 +0100  Daniel Stone <daniels@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/meson.build:
	  wayland: Use wl_display_create_queue_with_name
	  Wayland 1.23 and above allow us to attach names to an event queue, which
	  are printed out when debugging. Do this to make the logs easier to read.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6915>

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

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  vabaseenc: delete the useless frame counter fields
	  They are used to calculate the PTS and DTS before, no usage now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6786>

2024-04-30 11:12:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Do not set the min_pts
	  Because all the va encoders improved their PTS/DTS algorithm, now
	  it is impossible to generate minus DTS. So no underflow will happen
	  and we do not need to set a 1000 hour offset now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6786>

2024-05-23 11:28:35 +0100  Backport Bot <gitlab-backport-bot@gstreamer-foundation.org>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  Revert "tests/d3d11: add concurrency test for gstd3d11device"
	  This reverts commit 203f6b00d426b2ef296fbe8b6591e07b9d6f9b7e.
	  Revert test that was added with reverted commit as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6907>

2024-05-23 17:29:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  Revert "d3d11device: protect device_lock vs device_new"
	  This reverts commit 0cb12db96c0973e9e0534b7f25665c72b9fd29d4
	  (i.e. commit 926d5366b99b3498632a45147cfa329dbbf2cc30 on main).
	  AcquireSRWLockExclusive seems to be acquiring lock in exclusive mode
	  when the same lock is combined with write lock access.
	  Reverting the commit because of this is unexpected behavior
	  and unavoidable OS bug.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6907>

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

	* sys/va/gstvah265enc.c:
	  vah265enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6857>

2024-04-09 23:40:41 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6857>

2024-04-12 16:09:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support force key frame setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6857>

2024-05-03 22:57:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Fix a memory leak when destroying the object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6913>

2024-05-03 12:08:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6913>

2024-05-02 14:18:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6913>

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

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix offset of subsampled planar formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6910>

2024-05-21 16:58:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Use 1/90000 as timebase and don't use the framerate at all
	  This mirrors the behaviour in vp8enc / vp9enc and is generally more
	  useful than using any framerate from the caps as it provides some degree
	  of accuracy if the stream doesn't have timestamps perfectly according to
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6909>

2024-05-21 16:46:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Fix last timestamp tracking so it actually works
	  This behaves exactly the same as in vp8enc / vp9enc now.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3546
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6909>

2024-05-15 15:56:37 -0500  Brad Reitmeyer <brad.reitmeyer@resi.io>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvh264dec.cpp:
	  nvcodec: Accept progressive-high profiles for h264
	  Videos using progressive-high used to work on 1.16 before the parser added progressive-high. It looks like partial
	  support was added to nvcodec in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634
	  but accidentally ommited gstnvh264dec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6873>

2024-05-14 14:44:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Allow pads to have no caps until they receive their first buffer
	  If the muxer times out because of the latency deadline it can happen
	  that some pads have no caps yet. In that case skip creation of streams
	  for these pads and create updated section tables once the first buffer
	  arrives later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6859>

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

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Correctly time out and mux anyway in live pipelines
	  This makes sure that for sparse streams (KLV, DVB subtitles, ...) the
	  muxer does not wait until the next buffer is available for them but
	  times out on the latency deadline and outputs data.
	  For non-live pipelines it will still be necessary for upstream to
	  correctly produce gap events for sparse streams.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6859>

2024-05-12 18:15:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix maximum QP value setting
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6832>

2024-04-15 13:38:15 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Reorder caps to prefer DMA_DRM ones
	  Certain V4L2 fourccs don't (yet) have DRM counter parts, in which case
	  we can't create DMA_DRM caps for them. This is usually the case for
	  specific tilings, which are represented as modifiers for DMA formats.
	  While using these tilings is generally preferable - because of e.g.
	  lower memory usage - it can result in additional conversion steps when
	  interacting with DMA based APIs such as GL, Vulkan or KMS. In such cases
	  using a DMA compatible format usually ends up being the better option.
	  Before the addition of DMA_DRM caps, this was what playbin3 ended up
	  requesting in various cases - e.g. prefering NV12 over NV12_4L4 - but
	  the addition of DMA_DRM caps seems to confuse the selection logic.
	  As a simple and quite robust solution, assume that peers supporting
	  DMA_DRM caps always prefer these and reorder the caps accordingly.
	  In the future we plan to have a translation layer for cases where
	  there is a matching fourcc+modifier pair for a V4L2 fourcc, ensuring
	  optimal results.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6824>

2024-05-04 11:56:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Mention that gst_play_new() also initialized GStreamer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6821>

2024-05-04 11:54:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Initialize debug category and error quark in class_init
	  Doing it in gst_play_new() means that bindings that directly call
	  g_object_new() with the GType wouldn't end up initializing both.
	  This affects at least the Python and GJS bindings.
	  gst_init() is nonetheless only called from gst_play_new() once because
	  calling it from class_init would likely lead to problems as that's
	  called from somewhere in the middle of GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6821>

2024-05-07 10:35:26 +0200  Emil Pettersson <khwaaj@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix deadlock when negotiating format change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6817>

2024-05-07 11:18:10 +0200  Piotr Brzeziński <piotr@centricular.com>

	* tests/check/elements/audiovisualizer.c:
	* tests/check/meson.build:
	  audiovisualizer: Add simple pipeline unit test
	  Creates pipelines with each of our visualizer elements and runs them with 20 buffers from audiotestsrc.
	  Added after a completely broken (segfaulting) synaescope went unnoticed for a while.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6814>

2024-05-06 20:50:21 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: request-aux-sender, only sink floating refs
	  Don't add an extra ref if non-floating as that ref will never be
	  unreffed.
	  gst_bin_add() is transfer floating (alias to transfer none).
	  Fixes a leak when a non-floating ref was provided as a return value in
	  the request-aux-sender signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6809>

2024-05-04 20:08:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	  d3dshader: Fix gamma and primaries conversion pixel shader
	  Fixing regression introduced by the commit of f52ecb960792257b7394a6dc3182b6747c902b5b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6803>

2024-05-01 00:12:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsvh264dec,qsvh265dec: Fix nalu leaks
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3514
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6790>

2024-04-30 18:15:56 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix PAUSED->READY deadlock when output loop is running
	  Makes sure the GST_PAD_STREAM_LOCK is not taken when pad is being deactivated.
	  The lack of this was causing deadlocks when stopping the pipeline right after producing first buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6788>

2024-04-30 18:08:27 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: Fix stop memory leak
	  The h26xdecoder 'stop' method was not called
	  as the vulkan h26x class rewires the video decoder
	  'stop' base method to its own one.
	  It was causing some memory leaks such as dangling parser
	  and dpb in h26xdecoder base class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6787>

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

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

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

