=== release 1.26.10 ===

2025-12-25 15:44:26 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-12-18 18:23:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth266decoder.c:
	  codecs: h265/h266dec: Do not try to output failed frames
	  "end_picture()" virtual function may fail due to various reason, one of them
	  being that a flush is happening. Since the picture failed, the subclass may have
	  flushed any picture data from it, and will likely throw an error or crash when
	  trying to output.
	  These two decoder simply didn't care unlike all the other. Use similar technique
	  as used in h264dec, which is to mark the frame as not for output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-18 15:38:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: av1/vp9: Properly propagate flow ret such as FLUSHING
	  Some of the decoder would simply turn any flow return into an ERROR, which
	  can be noisy when the original flow return is FLUSHING due to a normal flush
	  condition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-18 15:37:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  v4l2codecs: av1/vp9: Fix request leak on error
	  The request was not being freed property if there was an error. Typically a
	  flush / seek operation could cause this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-18 15:35:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  v4l2codecs: Assert and return on missing request
	  The base class isn't supposed to output a picture that has never been
	  requested or for which the request has been removed by the flush operation.
	  Make sure to crash this kind of programming error with an assert, while
	  protecting against crash in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-17 14:24:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfdemux.h:
	  mxfdemux: Simplify timestamp tracking
	  Apart from keeping less state around this also calculates more accurate
	  timestamps because of tracking everything in terms of edit units instead of
	  nanoseconds.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10406>

2025-12-17 11:57:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.h:
	  mxfdemux: Switch edit unit position tracking to unsigned integers
	  These can never become negative and the only negative number in use is
	  -1 for "unset", which maps equally well to G_MAXUINT64.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10406>

2025-12-11 21:53:04 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/play/gstplay.c:
	  play: do not call gst_pb_utils_get_codec_description if caps are not fixed
	  this avoids throwing a (harmless) exception when stream selection is
	  called before pipeline is linked
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10394>

2025-12-17 18:58:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/aiff/aiffparse.c:
	* gst/aiff/aiffparse.h:
	  aiffparse: Remove segment closing on non-flushing seeks
	  That's a 0.10 leftover and not necessary anymore, and can confuse downstream
	  elements unnecessarily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10400>

2025-12-17 18:53:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfdemux.h:
	  mxfdemux: Remove segment closing on non-flushing seeks
	  That's a 0.10 leftover and not necessary anymore, and can confuse downstream
	  elements unnecessarily.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4803
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10400>

2025-12-17 10:23:25 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* ext/aes/gstaesdec.c:
	  aesdec: use gsize for buffer sizes and fix log format
	  Replace casts with gsize in gst_aes_dec_prepare_output_buffer() and use
	  G_GSIZE_FORMAT for logging to avoid truncation and warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10398>

2025-11-28 14:40:49 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* ext/aes/gstaesenc.c:
	  aesenc: use gsize for buffer sizes and fix log format
	  Replace casts with gsize in gst_aes_enc_prepare_output_buffer() and use
	  G_GSIZE_FORMAT for logging to avoid truncation and warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10398>

2025-12-17 11:07:18 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* ext/hls/gsthlssink.c:
	  hlssink: Guard NULL structure and use gst_structure_has_name()
	  Prevent NULL dereference by checking gst_message_get_structure()
	  result before accessing fields. Replace strcmp() with
	  gst_structure_has_name() for safe structure name comparison.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10395>

2025-12-16 13:05:19 +0100  François Laignel <francois@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: send event SegmentDone for segment seeks
	  ... instead of sending an EOS event in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10391>

2025-12-13 11:29:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/fdkaac/gstfdkaacdec.c:
	  fdkaacdec: Invalidate channel_types/indices when setting a known config
	  Otherwise switching from an unknown config (which is then mapped one by one) to
	  a known config and then back to the same unknown config makes it use invalid
	  cached channel positions.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4791
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10373>

2025-11-26 20:09:20 +0100  Jakub Adam <jakub.adam@collabora.com>

	* ext/dtls/gstdtlsdec.c:
	  dtlsdec: mark generated cert agent with GST_OBJECT_FLAG_MAY_BE_LEAKED
	  So that it is ignored by the leaks tracer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10371>

2025-12-09 11:12:12 +0100  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: Add VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 format
	  Add support for VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
	  which is the Vulkan equivalent of P010.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10360>

2025-12-04 16:40:25 -0600  Brad Reitmeyer <brad.reitmeyer@resi.io>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Fix frame completion callbacks for firmware 14.3+
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10322>

2025-12-06 10:25:21 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/transportstream.c:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: Keep a ref of the ICEStream in the TransportStream
	  By doing so we avoid potential race conditions. The libnice ICE implementation
	  was then adapted to comply with the transfer-full return value of the
	  `gst_webrtc_ice_add_stream()` vfunc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10318>

2025-12-05 09:19:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Don't assert when negotiating based on a gap event before the first buffer
	  Instead fall back to the video decoder base class `decide_allocation()` until
	  the minimum number of required buffers is known, which is usually the case after
	  the codec parameters (sequence header) are read.
	  While the minimum number of buffers is known ahead of time for some codecs like AV1,
	  we still only set it once the codec parameters are parsed as otherwise an unused
	  VA buffer pool will already be created together with surface allocations for the
	  gap event. This pool will be deallocated again shortly afterwards, just to
	  create a new pool with the correct configuration.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4779
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10302>

2025-12-04 12:57:26 +0800  Yun Liu <yun.m.liu@intel.com>

	* gst-libs/gst/analytics/meson.build:
	  analytics: Fix build on MSVC by using libm dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10288>

2025-10-08 02:31:50 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurldefaults.h:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsrc.c:
	  curl: Ensure set_opt() is called with a long value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-03-16 20:23:48 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Fix pushing incorrect buffers after seek
	  We must stop any existing transfer when seeking or we may push buffers
	  from the old request that downstream isn't expecting, causing decode errors.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/579
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-03-16 20:17:58 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Cleanup logging of received headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2021-05-11 23:54:49 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Fix content size reported
	  During a range request, the Content-Length header only reports the
	  length transfered. The Content-Range header should report the total
	  length if known. The current code would inconsistently use either
	  or race and use the wrong length.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-06-12 11:45:33 -0300  L. E. Segovia <amy@amyspark.me>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Recover missing comment
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8974#note_2955585
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-05-13 12:22:08 +0000  L. E. Segovia <amy@centricular.com>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Fix wrong format specifier for macOS
	  > ../ext/curl/gstcurlhttpsrc.c:1331:11: error: format specifies type
	  > unsigned long long' but the argument has type 'curl_off_t' (aka 'long') [-Werror,-Wformat]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2021-05-11 23:58:54 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	* ext/curl/gstcurlhttpsrc.h:
	  curl: remove unused content_type field
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2021-05-08 21:23:46 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	* tests/check/elements/curlhttpsrc.c:
	  curl: Reset request status on uri change
	  We need to stop the current transfer and start a new one if the uri
	  was changed. Also fix the 'test_range_get' to do 20 requests, instead
	  of one request and 19 seeks past EOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-12-02 17:52:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/midi/midiparse.c:
	  midiparse: Fix a couple of potential out-of-bounds reads
	  Also use an unsigned integer for parsing variable length integers as shifting
	  bits out of the sign bit is undefined behaviour.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10280>

2025-11-28 15:12:37 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxfmpeg.c:
	  mxfmpeg: Add custom Sony picture essence coding UL
	  Sony seems to use 06.0e.2b.34.04.01.01.03.0e.06.41.02 as prefix for
	  their custom picture essence codings, and specifically the MPEG one
	  potentially uses the same semantics.
	  This comes from a file with:
	  picture essence coding 06.0e.2b.34.04.01.01.03.0e.06.41.02.01.04.03.01
	  codec 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00
	  essence container 06.0e.2b.34.04.01.01.02.0d.01.03.01.02.04.60.01
	  which seemed to be XDCAM, aka decodable as MPEG-2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10271>

2022-04-01 05:54:29 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix potential deadlock changing pmt-interval
	  The object lock is the innermost lock. Don't take
	  the mux->lock while holding it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10272>

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

	* meson.build:
	  Back to development after 1.26.9

=== release 1.26.9 ===

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

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

2025-12-01 17:58:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Fix memset usage
	  This was supposed to clear the local, stack-allocated struct and not set another
	  pointer to NULL in a complicated way.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10255>

2025-11-20 12:42:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfdsrc: Keep dmabuf mapped
	  The unixfdsrc has as equal use for CPU access and device access. Keeping the CPU
	  address mapping is preferable, with not down side for device access.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10164>

2025-11-20 12:41:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: allocator: Keep dmabuf mapped
	  VA buffers are rarely access from CPU, but if this is someone use case, it is
	  preferable to keep the CPU address mapping around since this isn't cheap to
	  create each time we map/unmap the buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10164>

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

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Consider DTS in private streams as audio instead of private
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10251>

2025-11-21 15:48:05 -0500  Dominique Leroux <dominique.p.leroux@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix race condition in decoder draining. Fluster runs were unstable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10231>

2025-10-15 06:49:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/sctp/sctpassociation.c:
	  sctp: Fix GMutex leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10141>

2025-10-15 04:35:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix a leak when setting caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10141>

2025-11-21 10:59:14 +0100  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vkvideo-private: Replace GstBuffer with GstMemory array for video sessions
	  GstBuffer has a maximum limit on the number of memories it can hold
	  (GST_BUFFER_MEM_MAX, typically 16). However, Vulkan video sessions
	  can require more memories than this limit - for example, AV1 decoding
	  on ANV requires over 30 memories.
	  This fixes AV1 decoding on ANV and any other scenarios where video
	  sessions require more than 16 memory allocations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10185>

2025-11-20 14:04:59 +0100  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	  vkvideo-private: fix to use correct index for picking a memory type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10185>

2025-11-21 11:41:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasink.cpp:
	  ajasink: Remove parity bits from ancillary meta DID/SDID before passing further
	  The GstAncillaryMeta contains the parity bits but the AJA SDK expects them
	  without.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10171>

2025-11-20 13:48:16 +0100  Hyunjun Ko <zzoon@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: fix a typo
	  This fixes also H265 decoding with LTR on ANV.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10170>

2024-03-15 23:11:20 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: Avoid infinite recursion writing PCR packets
	  If scheduling a PCR packet from tsmux_packet_out(), or
	  already writing one, don't do the PCR checks that can
	  recurse infinitely and crash.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10150>

2025-11-05 15:37:25 +0100  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Fixed wrong initial configuration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10122>

2025-11-17 10:24:17 +0900  dongjoo.kim <dongjoo.kim@lge.com>

	* gst/mxf/mxfffv1.c:
	  mxfdemux: Fix typo on mxf_ffv1_create_caps
	  In this section, the p value cannot be NULL, so it is dead code.
	  However, if you refer to the code in mxf_ffv1_get_track_wrapping,
	  you can see that you should check desc, not p.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10116>

2025-11-03 11:23:36 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* gst-libs/gst/mpegts/gst-scte-section.c:
	  scte-section: fix missing cleanup and clarify event ownership on parse failure
	  Free only the allocated component when _parse_splice_component() fails,
	  leaving event cleanup to the caller to maintain proper ownership.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10093>

2025-11-12 16:53:32 -0800  Matthew Semeniuk <megaman22342@live.ca>

	* gst-libs/gst/vulkan/gstvkqueue.h:
	  vulkan: add G_DECLS to gstvkqueue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10085>

2025-11-12 16:53:05 -0800  Matthew Semeniuk <megaman22342@live.ca>

	* gst-libs/gst/vulkan/gstvkcommandpool.h:
	  vulkan: add G_DECLS to gstvkcommandpool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10085>

2025-06-18 14:25:17 +0900  dongjoo.kim <dongjoo.kim@lge.com>

	* gst/id3tag/id3tag.c:
	  id3tag: Fix resource leak
	  When latin1 is not NULL and latin1[0] is '\0'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10067>

2025-10-31 16:59:45 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: Initialize span to avoid undefined behavior
	  Fix uninitialized scalar variable by setting 'span' when max_relation_span is non-negative.
	  Prevents potential issues when accessing adjacency matrix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10060>

2025-11-10 17:30:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.8

=== release 1.26.8 ===

2025-11-10 17:22:05 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2025-11-10 13:21:43 +0100  Kevin Scott <kevin.scott@axis.com>

	* ext/dtls/gstdtlsconnection.c:
	  dtlsconnection: Increase DTLS MTU to 1200
	  Returning 0 defaults the MTU to 256 in OpenSSL, which is too small for some
	  handshake messages. An MTU of 1200 prevents certificate fragmentation
	  and potential message reordering. Chromium does something similar:
	  https://chromium.googlesource.com/external/webrtc/+/06b8f7e/rtc_base/openssl_stream_adapter.cc#259
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10055>

2025-06-16 16:40:07 +0900  dongjoo.kim <dongjoo.kim@lge.com>

	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	  wayland: Fix using uninitialized value of data.wbuf
	  There are cases which it goes to "out" without initializing data.wbuf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10052>

2025-11-04 13:48:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/timecode/gstavwait.c:
	  avwait: Unify conditions between the different modes
	  And as part of that fix a couple of mode changes while running, e.g.
	  starting recording in video-first mode, then switching to running time mode and
	  only setting an end running time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10040>

2025-11-05 12:37:42 +0200  Rares Branici <rares.branici@senstar.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Initialize video_direction
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10024>

2025-11-05 12:37:01 +0200  Rares Branici <rares.branici@senstar.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Initialize video_direction
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10024>

2025-10-31 10:51:48 +0100  Loïc Le Page <llepage@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* tests/check/libs/h264parser.c:
	  gsth264parser: fix uint32 to int32 truncation
	  The H264 parser is using int32 to compute the framerate numerator and
	  denominator while the SPS block holding the original values used for
	  this computation are stored on uint32. On corner cases it may lead to a
	  truncation of the final values leading to an invalid framerate.
	  This patch is shifting right the numerator and denominator until both
	  values may be stored on int32. It may introduce a small computation
	  error with odd values but negligeable taking into account the huge
	  initial values > max_int32.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9973>

2025-10-31 17:20:31 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* gst-libs/gst/mpegts/gst-scte-section.c:
	  scte-section: fix resource leak in splice component parsing
	  Free the `component` buffer in the error path of `gst_scte_section_parse()`
	  to prevent a memory leak when an error occurs after allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9971>

2025-10-26 16:06:26 +0000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: Split large non-video PES packets
	  MPEG-TS PES packets have a maximum payload size of 65535 bytes
	  (including the header bytes). For larger incoming payloads,
	  split them into maximum-size PES packets. Video packets are
	  allowed to be unbounded
	  When breaking incoming buffers across PES packet payloads, only
	  the first should carry the incoming PTS/DTS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9954>

2025-10-26 16:06:26 +0000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: Use some named constants instead of hard-coded values
	  Make some code a bit more readable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9954>

2025-10-29 14:17:28 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Free sub-request on allocation failure
	  If gst_vec_deque_pop_head() returns NULL, a new GstV4l2Request is allocated.
	  Free it on MEDIA_IOC_REQUEST_ALLOC failure to avoid memory leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9947>

2025-08-09 22:51:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2activator.cpp:
	  wasapi2: Tone down activation fail log
	  If there's no endpoint available, that failure is expected error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9896>

2025-08-05 00:41:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2activator.cpp:
	* sys/wasapi2/gstwasapi2activator.h:
	  wasapi2: Handle GetActivateResult failure
	  Even if GetActivateResult() succeeded, activation result can fail.
	  Checks output HRESULT code as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9896>

2025-10-25 16:14:49 +0100  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix duplicated frames issue in frame splitting
	  This fix a bug where we append two frames into one buffer despite trying to
	  split stream into unique frames.
	  Fixes #4701
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9906>

2025-04-01 14:46:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: Only reset once both pads are done flushing
	  Since reset also removes the blocking pad probe, this meant that the
	  new mechanism only worked if the main pads received flush-stop first.
	  Keep both pad implementation symmetrical and reset once both pads
	  have received the event.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9905>

2025-10-16 14:34:48 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Reset PUSI flag after writing stream packet
	  Otherwise we might accidentally set it on a PCR-only packet when we pad
	  the stream on a subsequent write.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9899>

2025-10-16 11:35:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rist/gstristsink.c:
	  ristsink: Fix double free regression
	  The rtpext element was leaked in error path and fixed in MR !9756, but the
	  rtpext owner ship is later passed to a bin using gst_bin_add(). Ref-sync the
	  rtpext element so we can unref it in finalize() function without any special
	  cases.
	  Fixes #4707
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9859>

2024-09-21 00:53:11 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcgadget: always ensure to switch to fakesink
	  In the case we transition the uvcsink to toggle between ready and
	  playing we have to ensure to always switch between fakesink and
	  v4l2sink.
	  Using the already linked v4l2sink a second time does curr ntly not work
	  when we restart the stream and therefor switch to streaming again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9860>

2025-10-15 11:38:29 +0200  David Maseda Neira <david.maseda@cinfo.es>

	* ext/x265/gstx265enc.c:
	  x265enc: Calculate latency based on encoder parameters
	  Estimate latency based on lookahead queue depth + bframes + number of
	  encoding threads.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4697
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9852>

2025-10-14 18:34:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.7

=== release 1.26.7 ===

2025-10-14 18:25:43 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-10-09 08:09:33 +0200  Branko Subasic <branko.subasic@axis.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Properly check if pads are EOS in find_best_pad
	  In find_best_pad(), when checking if a pad is EOS we use the macro
	  GST_PAD_IS_EOS. But the aggregator pads will not propagate EOS received
	  on it's sinkpads until it has received EOS on all of them. Instead the
	  EOS event is put in the queue, which means that GST_PAD_IS_EOS will
	  return FALSE.
	  This makes find_best_pad() fail to find a best pad when all but one sink
	  pad has received EOS, and have no data left in their queues, and the
	  last one has data. The problem is solved by modifying find_best_pad() to
	  use gst_aggregator_pad_is_eos() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9821>

2025-10-08 14:05:07 +0200  Branko Subasic <branko.subasic@axis.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: Properly check if pads are EOS in find_best_pad
	  In find_best_pad(), when checking if a pad is EOS we use the macro
	  GST_PAD_IS_EOS. But the aggregator pads will not propagate EOS received
	  on it's sinkpads until it has received EOS on all of them. Instead the
	  EOS event is put in the queue, which means that GST_PAD_IS_EOS will
	  return FALSE.
	  This makes find_best_pad() fail to find a best pad when all but one sink
	  pad has received EOS, and have no data left in their queues, and the
	  last one has data. The problem is solved by modifying find_best_pad() to
	  use gst_aggregator_pad_is_eos() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9821>

2025-10-07 12:25:07 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: nice: Fix a use-after-free and a mem leak
	  `new_candidate` was freed too early and `new_addr` wasn't freed in case of early
	  return from the on_candidate_resolved function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9816>

2025-09-26 16:58:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime kernel compile with CUDA 13.0
	  Instead of hardcoded value, checks compute compatibility at runtime
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4655
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9769>

2025-09-22 12:00:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Directly forward Opus AUs without `opus_control_header`
	  ffmpeg does the same, assuming that it's raw Opus data.
	  ZLMediaKit is producing MPEG-TS like this and probably nobody ever noticed
	  because ffmpeg allows for this, so let's work around their bugs and handle it
	  the same way as ffmpeg.
	  See https://github.com/ZLMediaKit/ZLMediaKit/issues/4461
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4645
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9765>

2025-09-25 22:42:12 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/lv2/gstlv2utils.c:
	* ext/teletextdec/gstteletextdec.c:
	* gst/rist/gstristsink.c:
	* gst/rist/gstristsrc.c:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/uvcgadget/gstuvcsink.c:
	  gst: Fix a few small leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9761>

2025-09-24 19:37:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	  d3d12convert: Fix crop meta support
	  When in/output caps are identical, even if downstream didn't propose
	  pool, always respond to support crop meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9743>

2025-09-23 09:06:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Write a full Opus channel configuration if no matching Vorbis one is found
	  Instead of simply failing negotiation despite the stream being supported.
	  Without this the following pipeline will fail:
	  audiotestsrc is-live=true ! audio/x-raw,channels=8 ! opusenc ! mpegtsmux ! fakesink
	  opusenc selects the Vorbis channel layout family but a channel-mapping that is
	  not one of the ones supported by the short MPEG-TS Opus channel configurations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9733>

2025-09-22 10:09:48 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Correct scale-method properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9726>

2025-09-08 17:50:32 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/closedcaption/gstcea608mux.c:
	* gst/audiomixmatrix/gstaudiomixmatrix.c:
	* gst/debugutils/gsttestsrcbin.c:
	  gst: Don't use g_assert() around production code
	  If G_DISABLE_ASSERT is defined the code will not be compiled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9721>

2025-09-16 19:00:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/isac/meson.build:
	  isac: Suppress warning about -Wno-virtual-dtor on Fedora
	  The absl pkgconfig files on Fedora contain -Wnon-virtual-dtor in
	  Cflags: even though pc files should not contain -W flags. Worse, our
	  plugin is written in C but that's a C++ argument so GCC emits
	  a warning about that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9715>

2025-09-16 16:38:22 -0700  Xavier Claessens <xclaessens@netflix.com>

	* gst/unixfd/gstunixfd.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Fix case of buffer with big payload
	  In the case a buffer has big meta serialization, for example if it
	  contains a GstBuffer, the payload cannot be sent/received in a single
	  call.
	  Idealy we should serialize metas into a memfd in that case, instead of
	  writing the data on the socket.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9706>

2025-09-16 15:24:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12deinterlace.cpp:
	  d3d12deinterlace: Fix passthrough handling
	  Don't try to convert buffer when passthrough is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9696>

2025-09-14 13:19:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.6

=== release 1.26.6 ===

2025-09-14 13:13:58 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-09-12 21:35:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Fix D3D12 critical warning
	  When using convert + blend mode, the final render target resource
	  is also used as a source resource owned by our fence data storage.
	  As a result, the resource may not be writable if the conversion
	  command has not yet finished. To address this, add a private
	  method that allows setting the fence without a writability check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9686>

2025-07-23 11:37:15 -0400  Xavier Claessens <xclaessens@netflix.com>

	* tests/check/elements/mpegtsmux.c:
	  mpegtsmux: Caps event fails with stream type change error
	  If mpegtsmux receives the same caps again, it wrongly claims the stream
	  type changed:
	  error: Stream type change from 06 to 8f not supported
	  This adds a unit test that demonstrate the issue in the very hacky way.
	  I have seen this happening with the below pipeline when upstream caps
	  changes. Since the caps filter fixates the caps received by opusenc and
	  mpegtsmux, the stream type cannot change.
	  ...
	  ! audioconvert
	  ! audio/x-raw,format=S16LE,channels=2,rate=48000
	  ! opusenc bitrate=128000
	  ! mpegtsmux
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9678>

2025-08-07 14:31:38 +1000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use 'internal' stream_type to detect codec changes
	  The TsMuxStream internal_stream_type field stores the original
	  'full' stream type (such as Opus), while the stream_type field
	  stores the value that will actually be written into the MPEG-TS
	  packets according to the codec mappings. When checking if
	  input caps are changing stream type, check the original type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9678>

2025-09-05 08:25:22 +0200  Ola Fornander <ola.fornander@axis.com>

	* ext/curl/gstcurlsmtpsink.c:
	  curlsmtpsink: adapt to date formatting issue
	  In glib 2.73.1, padding for %e in gdatetime was changed from "space"
	  to the Unicode character (U+2007). This violates rfc5322 (Internet
	  Message Format), which states that a message shall be composed of
	  characters in the range of 1 through 127 and interpreted as US-ASCII
	  characters. Hence, when using g_date_time_format, it is necessary to
	  instead write %_e to enforce space padding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9645>

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

	* ext/openh264/meson.build:
	  meson: Avoid pulling in gtest for openh264
	  Emits a big warning about wrapdbv1 and the updated wrap fails to build
	  on Windows. We don't need the tests anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637>

2025-09-01 21:02:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/analyticsoverlay/meson.build:
	* ext/avtp/meson.build:
	* ext/codec2json/meson.build:
	* ext/iqa/meson.build:
	* ext/mdns/meson.build:
	* ext/openh264/meson.build:
	* ext/openjpeg/meson.build:
	* ext/qroverlay/meson.build:
	* ext/soundtouch/meson.build:
	* gst-libs/gst/webrtc/nice/meson.build:
	* meson.build:
	* sys/tinyalsa/meson.build:
	  meson: Convert all remaining fallback: usages to [provide]
	  Only commonly-used plugin deps like pango, orc, openh264, libvpx,
	  libnice are enabled by default.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637>

2025-08-26 20:17:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: fix discont state handling
	  It fixes a couple tests in fluster for H.265 decoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9613>

2025-08-17 15:58:22 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gsttensormeta.c:
	  analytics: always add GstTensorMeta
	  Always add GstTensorMeta to buffer instead of re-using existing GstTensorMeta
	  when it's already present. The reason for the change is when we have cascaded
	  inference elements overwriting (tflite) or leaking (ONNX) GstTensorMeta when we
	  have cascaded inferences. We didn't create and API to append to GstTensorMeta
	  and I think it's more convenient to have a new GstTensorMeta for each
	  inferences. It's also more clear that a group of tensor was produced by one
	  inference but doesn't limit tensordecoders from using tensors produced by
	  multiple inference. I don't see much value in having all tensors data always
	  inside one GstTensorMeta since appending would mean re-allocation of the tensors
	  array anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9601>

2025-08-19 11:15:29 +0100  Ian Napier <ian@digitaledgesubsea.com>

	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklinkvideosrc: fix decklinkvideosrc becomes unrecoverable if it fails to start streaming
	  See #2611
	  When transitioning to PLAYING we call IDeckLinkInput::StartStreams() (via GstDecklinkInput::start_streams). This can
	  fail for various reasons, including if the hardware device is already in use.
	  Previously, we logged StartStreams() failure as an element error but otherwise continued to successfully transition to
	  PLAYING. Now, if StartStreams() returns an error we fail the state change.
	  If StartStreams() fails then a subsequent call to StopStreams(), when transitioning PAUSED to READY, will also fail.
	  Previously, if StopStreams() failed then the state change also failed. Unfortunately this prevented the element from
	  later being disposed, which in turn meant the associated hardware resources was never freed. Consequently, if a
	  decklinkvideosrc failed to transition PAUSED to READY, then the associated hardware device could not subsequently be
	  used by any other decklinkvideosrc.
	  Now, we log an element error if StopStreams() fails but otherwise consider the state change to have succeeded. This
	  means that the element can be disposed and the associated hardware resource released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9592>

2025-08-15 13:02:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: fix debug category name
	  This is a regression from merge request !78011
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9562>

2025-08-15 12:06:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: re-negotiate after FLUSH
	  Vulkan decoders also have the same issue as VA decoders fixed in !9457, where
	  FLUSH event doesn't renegotiate downstream the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9562>

2025-08-14 15:55:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/check/elements/cccombiner.c:
	  tests: cccombiner: Test durationless buffers
	  Crashes without the previous fix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-07-17 14:40:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Don't crash when first frame has no duration
	  Aggregate again so the code above can determine the end time or EOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-07-17 14:29:07 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Avoid dividing by zero framerate
	  This was broken in b29262e662b86cd76225894f7504ee505125fa49.
	  The `gst_util_uint64_scale` emitted a critical warning and returned
	  `GST_CLOCK_TIME_NONE`, so beyond removing the warning this fix does not
	  change behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-08-12 21:27:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  test: vkimagebufferpool: silence validation
	  The validation complained with
	  VUID-VkImageCreateInfo-usage-requiredbitmask]:
	  vkCreateImage(): pCreateInfo->usage is zero.
	  This patch force to use the internal defaults in vkimagebufferpool if no usage
	  is defined.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9546>

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

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: silence validation for features
	  With merge request !9438 the validation layer started to complain with
	  VUID-VkDeviceCreateInfo-pNext-02829
	  This patch fixes this ill-usage of Vulkan API, by removing the feature enabling
	  of sampler ycbcr conversion, since it was promoted since Vulkan 1.1, and in
	  GStreamer is only used in Vulkan Video operations, which are only enabled in
	  Vulkan 1.3+.
	  Also, these features detection and enabling were moved to a function called when
	  filling the physical device data, in order to check the API version of the
	  device driver before adding the enabling of the feature.
	  Finally, the getters were adapted to use the version feature structure if the
	  device driver version matches.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9546>

2025-08-11 22:54:29 +1000  Jan Schmidt <jan@centricular.com>

	* ext/hls/m3u8.c:
	  hlsdemux: Fix parsing of byterange and init map directives
	  Don't reuse the same offset and size variables when reading
	  the byterange out of a MAP directive, as it can overwrite
	  values from a pending BYTERANGE directive for the next
	  fragment URI.
	  Fixes problems where the EXT-X-MAP directive has been written
	  into the playlist between an EXT-X-BYTERANGE and the fragment
	  URI it applies to.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9541>

2025-08-08 17:38:33 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  waylandsink: add some error handler for event dispatch
	  if wl client got last_error, wl_display_dispatch_queue_pending
	  will return -1, may lead to unhandled case, we should quit.
[--snip--]
