=== 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
	  with a stuffing byte, giving a "Invalid object location!" error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6277>

2024-03-05 13:45:27 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.0 ===

2024-03-04 23:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.24.0

2024-03-04 18:01:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analytics: whitespace matters for gtk-doc syntax
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-03-03 18:35:09 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/analytics/index.md:
	* docs/libs/analytics/sitemap.txt:
	* docs/meson.build:
	* gst-libs/gst/analytics/analytics-meta-prelude.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Add documentation to hotdoc build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-03-03 18:34:41 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analytics: Add missing documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-03-03 18:33:48 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	  analytics: Fix various typos in the documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6253>

2024-02-29 02:41:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	  d3d11memory, d3d12memory: Fix outstanding memory count tracing
	  Gets being released memory back to queue even if allocator is flushing
	  in order to count the number of outstanding memory objects.
	  Also, clear queue if there's no outstanding memory object and
	  allocator is flushing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

2024-02-29 02:30:38 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/libs/d3d11memory.c:
	  tests: d3d11: Add buffer pool test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

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

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix outstanding memory count tracing
	  Gets being released memory back to queue even if allocator is flushing
	  in order to count the number of outstanding memory objects.
	  And fixing double count increment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

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

	* tests/check/libs/cudamemory.c:
	  tests: cuda: Add buffer pool test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240>

2024-02-15 16:41:54 -0500  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	* gst-libs/gst/wayland/gstwlwindow.c:
	* gst-libs/gst/wayland/gstwlwindow.h:
	  waylandsink: Move buffer commits to the display thread
	  Syncrhonizing buffer commits to the streaming thread can lead to
	  dropped frames when frame callbacks are not processed before the
	  next frame is ready for rendering.  Depending on the drift between
	  the wayland compositor and buffer source timings, this can lead to
	  periods of significant frame drop, especially when the media frame
	  rate is close to the display frame rate.
	  Cache buffers in the streaming thread and peform commits on the
	  display thread to eliminate the buffer commit racing.
	  The implementation is the same for both waylandsink and gtkwaylandsink,
	  so move it to the common wayland library under gst-lib.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6133>

2024-02-15 16:41:52 -0500  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* gst-libs/gst/wayland/gstwlbuffer.c:
	* gst-libs/gst/wayland/gstwlbuffer.h:
	  wayland: Add API to ref/unref current GstBuffer inside a GstWlBuffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6133>

2024-02-15 16:42:13 -0500  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: Add synchronized requests to WlDisplay
	  Add synchonized versions of wl_display_sync() and wl_callback_destroy()
	  that will ensure that to callbacks can be managed in a thread safe way
	  on the display queue even when they are dispatched from a separate
	  thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6133>

2024-02-26 09:27:40 +0100  Edward Hervey <edward@centricular.com>

	* README.md:
	* RELEASE:
	* ext/dtls/README:
	  docs: Use Discourse and Matrix as prefered communication channels
	  Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220

2024-02-22 15:41:16 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11window_win32: fix crash on RC unprepare() vs window_proc()
	  Unprepare method posts WM_GST_D3D11_DESTROY_INTERNAL_WINDOW
	  command to the window queue, and from that moment considers
	  internal_hwnd to be released, and so it sets it to null.
	  The problem is that it's possible that right at that moment
	  the window thread might be already processing some other
	  command, or just another command might be already in the queue.
	  On practice we met a crash when WM_PAINT got processed in between
	  (unprepare already finished and WM_GST_D3D11_DESTROY_INTERNAL_WINDOW
	  was not handled yet)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6187>

=== release 1.23.90 ===

2024-02-23 18:20:11 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-23 21:54:17 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Fix a possible NULL pointer dereference
	  The format in _get_preferred_format_and_caps_features() may be NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6206>

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

	* sys/va/gstvabasedec.c:
	  vabasedec: disable derived images for i965 driver
	  Since it has a very poor performance at reading derived images, which is the
	  most common use case for decoders.
	  Partially fixes: #3325
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6202>

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

	* sys/va/gstvavpp.c:
	  vapostproc: optimization for va memory to system memory only
	  When the conversion is only caps feature from memory:VAMemory to system memory,
	  it's possible to optimize by doing a pseudo pass-through since the va-backed
	  buffers are the same for system memory buffers.
	  This change will also mitigates #2940
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6174>

2024-02-20 20:38:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asiosink: Fix channel selection
	  Fixing copy paste mistake
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3321
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6170>

2024-02-20 17:28:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  vabase: fail decide allocation if dmabuf without videometa
	  If the allocation query received from downstream doesn't handle GstVideoMeta but
	  it requests memory:DMABuf caps feature, it's incomplete, so we rather reject the
	  negotiation.
	  Both in base decoder, base transform and compositor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6155>

2024-02-22 09:41:00 +0200  naglis <341855-naglis@users.noreply.gitlab.freedesktop.org>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Fix typos in documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6177>

2024-02-21 01:13:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Add plugin status message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6167>

2024-02-21 00:57:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/plugin.cpp:
	  amfcodec: Add plugin status message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6167>

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

	* sys/va/gstvabasedec.c:
	  vabasedec: refactor format and capsfeature selection
	  This is a simplification of the venerable
	  gst_va_base_dec_get_preferred_format_and_caps_features() function, which
	  predates since gstreamer-vaapi. It's used to select the format and the
	  capsfeature to use when setting the output state. It was complex and hard to
	  follow. This refactor simplifies a lot the algorithm.
	  The first thing to remove _downstream_has_video_meta() since, most of the time
	  it will be called before the caps negotiation, and allocation queries make sense
	  only after caps negotiation. It might work during renegotiation but, in that
	  case, caps feature change is uncommon. Better a simple and common approach.
	  Also, for performance, instead of dealing with caps features as strings, GQuarks
	  are used.
	  The refactor works like this:
	  1. If peer pad returns any caps, the returned caps feature is system memory and
	  looks for a proper format in the allowed caps.
	  2. The allowed caps are traversed at most 3 times: one per each valid caps
	  feature. First VAMemory, later DMABuf, and last system memory. The first to
	  match in allowed caps is picked, and the first format matching with the
	  chroma is picked too.
	  Notice that, right now, using playbin videoconvert never return any.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6154>

2024-02-20 16:00:07 +0100  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/ttml/gstttmlparse.c:
	  subparsers: Give proper category to subtitle "decoders"
	  Some subtitle "decoders" had a wrong category of "Parser", which `parsebin`
	  relies on to identify elements which do not *decode* streams but *parse* them.
	  This would cause such subtitle decoders to be plugged in within parsebin,
	  preventing the original stream to be properly used by (more efficient)
	  downstream decoders or subtitle renderers.
	  Fixes #1757
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153>

2024-02-19 12:50:53 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkvpp.c:
	  msdk: Fix possible memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6161>

2024-02-21 21:50:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi/gstwasapiutil.c:
	  wasapi: Fix alloc/free function mismatch
	  ... and fix leak in wasapi device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3326
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169>

2024-02-21 21:46:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix task memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169>

2024-02-01 14:49:21 +0900  ekwange <ekwange@gmail.com>

	* gst-libs/gst/mse/gstmediasourcesamplemap.c:
	  mse: Add logging init for mediasource sample map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6033>

2024-02-17 13:19:15 -0800  Kamal Mostafa <kamal@whence.com>

	* tests/check/elements/cudafilter.c:
	  tests: cudafilter: actually check for cudascale
	  Actually check for availability of 'cudascale' instead of accidentally
	  checking for 'cudadownload' twice.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3327
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6158>

2024-02-19 14:24:51 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  test: vkimagebufferpool: fix queue leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6143>

2023-01-28 02:15:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* sys/qsv/plugin.cpp:
	  qsv: use new plugin status message API
	  Minimal example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832>

2024-02-19 20:57:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Respect ringbuffer buffer/latency time
	  Decide buffer size based on configured buffer/latency time
	  if low-latency is disabled, so that ringbuffer can buffer more
	  than minimum required size.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6141>

2024-02-20 08:47:21 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.h:
	  mpegst: Fix ownership of return value
	  This inherits from the same rule as gst_buffer_add_meta
	  ```
	  gst-mpegtspesmetadatameta.h:98: Warning: GstMpegts:
	  gst_buffer_add_mpegts_pes_metadata_meta: return value: Invalid non-constant
	  return of bare structure or union; register as boxed type or (skip)
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6146>

2024-02-16 17:06:52 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* docs/plugins/gst_plugins_cache.json:
	  docs: initialize values when GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS is set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5491>

2024-02-17 00:11:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix choppy rendering
	  This reverts questionable commit 009bc15f3397252e9e3954ae4af15ffcdbdeac69
	  which looks completely wrong.
	  The GstWasapi2RingBuffer:buffer_size variable is used to
	  calculate available buffer size we can write
	  (i.e., available size = buffer_size - padding_size).
	  But the commit makes the size to be exactly same as buffer period.
	  Then, it can confuse this element as if the endpoint buffer is full on
	  I/O event callback (if padding size is equal to buffer period)
	  but it's not true.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6132>

2024-02-14 22:11:51 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Fix a memory leak on renegotiation
	  We only use this anchor when streaming, in which case output_state is
	  set and needs to get unreffed.
	  This is in line with how it is handled for all other codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6127>

2024-02-15 16:38:53 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.23.2 ===

2024-02-15 15:37:17 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-15 15:37:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  Revert "audiobuffersplit: Update out_segment even without discont"
	  This reverts commit c0dc65d40a0dd2b3c0f75ff17bdb5b2664923c1c.

2023-10-11 12:30:31 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparseutils: Don't double-attach AFD, Bar or unregistered data
	  We already did this for captions. We also need to do it for the other
	  meta types to ensure our parsers are idempotent and don't attach
	  duplicates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:45:06 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparseutils: Store multiple user data unregistered messages
	  A frame can have multiple unregistered messages attached. We need to
	  store them all.
	  For: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3008
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:41:12 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparsers: Clear user_data_unregistered explicitly in _reset_frame
	  This fits better with the model used by the parser elements. It also
	  properly resets the data when the parser is reset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:34:29 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparsers: Clear user data explicitly in _reset_frame
	  This fits better with the model used by the parser elements. It also
	  properly resets the data when the parser is reset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:29:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparseutils: Minor improvements to _parse_afd
	  - Add the missing field parameter and put the output parameter at the
	  end.
	  - Use a switch to verify valid values instead of hard-to-follow range
	  checks.
	  - Don't consider bad values a programming error, just a regular failure.
	  - Set all data fields at the end so we can pass a pointer to an
	  uninitialized structure without GCC complaining.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2023-10-10 08:27:23 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparseutils: Minor improvements to _parse_bar
	  Use the enum type for the argument and loudly complain when not passing
	  a place to output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2024-01-30 15:05:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Update out_segment even without discont
	  We need to forward the segments we get even if we don't see a discont
	  buffer, or discont was suppressed by gapless mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450>

2024-02-14 11:44:22 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajacommon.h:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasrc.cpp:
	  aja: Replace global semaphore with per-device flock()
	  The global semaphore was never closed/unlinked, causing permission
	  denied issue if the device is later used by another user. Properly
	  removing the semaphore when stopping the pipeline would still leave it
	  open in case of a crash.
	  With a GStreamer specific name, it was also not preventing other apps to access
	  the device concurrently.
	  Finally, if the system has multiple cards, the lock should be per card
	  and not global (to be confirmed).
	  Fixes: #3283.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6117>

2024-02-15 08:52:33 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  libgstplay: Use playbin3 by default
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6120>

2024-02-12 23:51:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix DPB size calculation
	  MaxDpbSize specified in A.4.2 tells upper bound of decoded picture
	  buffer size but does not tell actual required size.
	  Use max_dec_pic_buffering value as a dpb size. Some backends
	  such as DXVA and NVDEC might require pre-allocated DPB buffer
	  and unnecessary large DPB size will result in waste of GPU memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6101>

2024-02-13 18:57:05 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin, rtpbin: check before setting properties on jitterbuffer
	  In rtpbin we already systematically check for all property names
	  except latency, correct that.
	  In webrtcbin we need to check before trying to use the do-retransmission
	  property.
	  This is useful for the case where an element like identity gets passed
	  to rtpbin's request-jitterbuffer property, when the application wants
	  to use webrtcbin in an SFU situation, with no reordering and no added
	  latency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6112>

2024-02-14 00:38:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/lv.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6113>

2024-02-11 22:08:12 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: correct NAL mode backlog processing
	  - Only process what is left in backlog when AU was completed, draining or next
	  nal is AUD.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6093>

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

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvdecoder: Enable zero-copy only if explicitly enabled
	  Keep pre-1.24 behavior unless user specifies the number of
	  output surface size. We are calculating output surface size
	  conservatively, and it can result in over allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102>

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

	* sys/nvcodec/gstnvh265dec.cpp:
	  nvh265dec: Don't convert unknown video format to string
	  gst_video_format_to_string() method does not allow unknown format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102>

2024-02-03 11:54:01 +0000  Philippe Normand <philn@igalia.com>

	* ext/dash/gstdashdemux.c:
	  dashdemux: Basic support for container-specific-track-id tag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>

2024-02-11 20:35:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix choppy display
	  According to recommendation from MS, IDXGIOutputDuplication::ReleaseFrame()
	  needs to be called just before IDXGIOutputDuplication::AcquireNextFrame()
	  for performance reasons, so that driver can accumulate dirty rects
	  and update texture at once. But it seems to cause choppy output.
	  Do release acquired frame immediately once processing done,
	  like d3d11 implementation does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6092>

2024-02-07 19:07:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkh265dec.h:
	  vulkanh265dec: add H.265 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

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

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: add H.265 decoding test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 20:11:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: choose the queue's codec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 20:06:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: h264 prefix to global variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-09 10:22:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkvideodecode.c:
	  tests: vkvideodecode: refactor functions for later reuse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-09 11:30:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: don't remove graphics queue if it's the same as decoder
	  Since graphics queue is used for the context transference. So lets' keep it with
	  its own reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-07 19:06:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: small cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-05 15:14:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder.c:
	  vulkan/decoder: fix documentation generation
	  GstVulkanDecoderParameters is an union, not a struct, and that isn't handled by
	  hotdoc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

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

	* gst-libs/gst/vulkan/gstvkdecoder.c:
	  vulkan/decoder: don't initialize function table once
	  Since it has to be associated with the device and it gets destroyed when the
	  decoder is freed.
	  Now it's created when the decoder starts and it's flagged.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089>

2024-02-10 19:23:25 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12vp8dec.cpp:
	* sys/d3d12/gstd3d12vp8dec.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add VP8 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088>

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

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix bitstream buffer usage
	  Resource state of a buffer in upload heap should stay in
	  generic-read although it's effectively in common state. Some drivers
	  complains about the wrong state.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088>

2024-02-10 20:01:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/dxva/gstdxvavp8decoder.cpp:
	  dxvavp8decoder: Fix reference frame setting
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088>

2024-02-09 20:24:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* sys/aja/meson.build:
	  aja: suppress compiler warnings for aja ntv2 subproject
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6087>

2024-02-10 01:45:44 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Update plugin cache
	  Adding AV1 encoder documentation (added in 1.22) with various
	  new properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6084>

2024-02-09 13:38:53 +0100  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* ext/srt/meson.build:
	  meson: srt: make sure srt_dep is defined
	  Without this we will get errors when we try to build with srt disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6082>

2023-12-18 15:39:07 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/examples/nvcodec/cudaipc.c:
	  structure: Allow STRICT flag only in _serialize_full()
	  The STRICT flag makes _serialize() nullable which is an API break for
	  bindings. Forbid it and add _serialize_full() that accepts it and is
	  properly annotated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829>

2024-02-09 10:50:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: Add SDP message (aka session) attributes to the caps too
	  They apply to all medias, and if overridden by the specific media then
	  they would also be overridden just below in the created caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6079>

2024-02-09 20:27:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/winks/ksvideohelpers.c:
	  ksdeviceprovider: Fix crash while probing device caps
	  Ignore unexpected media type reported by driver, instead of abort
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6081>

2024-02-08 15:50:43 +0100  Edward Hervey <edward@centricular.com>

	* ext/musepack/gstmusepackdec.c:
	  musepack: Prefer using FFmpeg musepack decoder/demuxer
	  * Bump the rank of the musepack v7/v8 FFmpeg demuxers to SECONDARY
	  * Bump the rank of the musepack v7/v8 FFmpeg audio decoders to SECONDARY
	  * Demote the rank of the musepackdec element to MARGINAL
	  This is for two reasons:
	  * The musepack library is no longer maintained, whereas the FFmpeg
	  implementation can/will receive fixes
	  * The `musepackdec` implementation was a all-in-one "parsing and decoding" blob
	  which doesn't play nicely with decodebin3 and others
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3033
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6074>

2024-02-08 23:03:29 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: Send gap event if generated output is empty
	  Sends a gap event if nothing to output for a given input buffer.
	  For example, an input buffer might not contain any caption data
	  for downstream requested field, then we need to inform downstream
	  of the case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6073>

2022-02-09 15:45:16 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* sys/bluez/gstavdtpsink.c:
	  avdtpsink: post error message when failing to start
	  Subclasses are supposed to report errors messages if their start
	  implementation failed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1678>

2024-01-19 14:35:05 +0100  Marvin Schmidt <marv@exherbo.org>

	* ext/wpe/gstwpesrcbin.cpp:
	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	* ext/wpe/gstwpevideosrc.cpp:
	* ext/wpe/meson.build:
	  wpe: Rename WPEView to GstWPEThreadedView
	  WebKit commit b12e7ed2ad3a ("[WPE] Upstream the new WPE platform API
	  https://bugs.webkit.org/show_bug.cgi?id=265286")[1] added a `WPEView` typedef
	  which clashes with our `WPEView` class.
	  Rename the `WPEView` class to `GstWPEThreadedView` to avoid the collision.
	  Also prefix the `WPEContextThread` class with `Gst` and rename the
	  source files to reflect the new class name and use lowercase while at it
	  for consistency
