=== release 1.26.10 ===

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

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

2025-12-18 19:58:29 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstparsebin.c:
	  Revert "parsebin: Don't expose unfixed caps pads without stream info"
	  This reverts commit 6628f5644e2c82da7f93012f9f4a8e08d9a4b3e1.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10405>

2025-12-18 19:56:42 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstparsebin.c:
	  Revert "parsebin: Clear old stream when retargeting pad"
	  This reverts commit d26eb95aec95e329c443ac238a13dc024f39dd0f.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10405>

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

	* gst/playback/gstplaybin3.c:
	  playbin3: send GST_EVENT_SELECT_STREAMS event to collection source
	  this ensures that the source receives the event, even if pipeline is not
	  linked
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10394>

2025-12-16 23:47:48 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Improve debug logging
	  Only log that we're storing caps on a GstStream if actually
	  doing it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10397>

2025-12-16 23:11:23 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Don't expose unfixed caps pads without stream info
	  Pads with unfixed caps can be exposed early, but not before
	  they've at least provided a stream-start event for building
	  a fallback collection. Accordingly, defer the exposure and
	  check again when seeing a stream-start event.
	  Fixes #4756
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10397>

2025-12-16 23:09:02 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Clear old stream when retargeting pad
	  When extending the parsebin chain and retargeting the
	  current end pad, clear the previous stream info, or
	  the wrong stream info might get added to a fallback
	  collection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10397>

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

	* ext/opus/gstopusenc.c:
	* ext/opus/meson.build:
	  opusenc: Use the surround multistream encoder for the Vorbis channel mapping family
	  It provides additional surround features. For all other channel mapping families,
	  continue using the normal multistream encoder as it allows to provide the
	  channel configuration values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10376>

2025-12-13 13:50:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: Only call into the channel reordering functions if actually needed
	  And simplify code a bit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10376>

2025-12-13 13:42:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopuscommon.c:
	* ext/opus/gstopuscommon.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: Simplify Vorbis channel layout mapping code and fix 7.1 layout
	  Don't set up complicated mapping tables but instead use the default mapping
	  tables as used by libopus. While this requires reordering from the GStreamer
	  order to the Vorbis order in some situations, it's a better choice because it
	  allows using the surround multistream encoder which has additional surround
	  support that saves bandwidth.
	  Also various specs and implementations only assume the "default" positions,
	  and e.g. for the MPEG-TS mapping this has short forms in the signalling. And
	  again, various implementations (e.g. ffmpeg) only support the short forms.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4794
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10376>

2025-05-21 13:04:07 -0400  F. Duncanh <fduncanh@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow_cocoa: fix window not closing (w/o user window handle)
	  A user-supplied window handle (external_view) becomes the superView
	  of internal_view, which is closed with [view removeFromSuperview].
	  This fails silently if external_view = NULL (no handle supplied).
	  Call [win_internal_id close] in this case. Fixes #4432.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10361>

2025-12-10 15:11:23 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: propagate seek event seqnum to upstream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10359>

2025-12-10 14:54:14 +0100  Piotr Brzeziński <piotr@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Don't negotiate if caps haven't changed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10357>

2025-12-08 13:20:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't assume the ALLOCATION query contains a pool
	  The subclass' `decide_allocation()` implementation might not provide any.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10347>

2025-12-05 17:22:45 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gstglutils: Round height according to the subsampling
	  When calculating the plane size, its important to round up the height according
	  to its subsampling. Otherwise the offset is too short and the UV get shifted
	  vertically.
	  Fixes #4783
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10345>

2025-12-05 17:21:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gstglutils: Refactor plane data size calculation
	  None of the work we do at the top is needed for the tiled formats. Handle the
	  tiled format first and return, then handle the other formats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10345>

2025-12-08 09:32:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Add support for FLAC in mime codec strings
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4789
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10327>

2025-12-08 09:31:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Add support for AC4 in mime codec strings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10327>

2025-12-08 09:31:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Update mime codec string getter with codecs in the parser
	  Specifically, add AC3, EAC3, TTML and WebVTT.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10327>

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

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Fix decide allocation fallback
	  Fallback to generic pool, even if the change to the config was validated. Pools
	  may have other restrictions that may render them unusable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10304>

2025-12-03 19:00:49 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  testsrc: Enable POOL_OPTION_VIDEO_ALIGNMENT if possible
	  If supported by the pool and only if downstream supports VIDEO_META.
	  This is in line with e.g. gst_ffmpegviddec_decide_allocation() and
	  helpful with e.g. the udmabuf allocator.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10304>

2025-12-03 17:51:01 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Improve pool_set_config() handling
	  set_config() can fail for other reasons than
	  `pool_config_validate_params()` failing, in which case we currently
	  would not try to fall back to the fallback pool.
	  Also ensure to get the config of the new pool instead of trying to set
	  the previously failed config again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10304>

2025-12-05 14:11:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  fdmemory: Fix size calculation when sharing
	  When sharing a memory with an offset, the offset is relative to the immediate
	  parent offset. Meaning we should be reducing the size accordingly.
	  Reported-by: Rouven Czerwinski <rouven.czerwinski@linaro.org>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10309>

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-base.doap:
	* meson.build:
	  Release 1.26.9

2025-12-01 10:49:02 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Protect NULL dereference
	  If we *do* end up in this code path, notify it
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4626
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10253>

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

	* gst-libs/gst/allocators/gstdrmdumb.c:
	  allocators: drmdumb: Keep dmabuf mapped
	  The dumb buffer are used by waylandsink to allow copying the incoming frames
	  into a memory allocation directly supported by the GPU or display controller.
	  These buffers are pooled and avoiding to recreate the memory address mapping
	  everything improves the performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10164>

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

	* ext/gl/gstgldownloadelement.c:
	  gldownload: Keep dmabuf mapped
	  The DMABuf support in gldownload allows forcing the GPU to write into a format
	  GStreamer understand. It is possible that this mechanism would be used for CPU
	  access were avoiding to recreate the address mapping is preferred.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10164>

2025-12-01 12:39:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/playback/gstrawcaps.h:
	  playback: Consider meta/x-klv, meta/x-id3 and meta/x-st-2038 as raw formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10251>

2025-12-01 12:42:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: descriptions: Add ST-2038 to the codec descriptions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10251>

2025-11-21 16:07:18 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* tests/check/libs/pbutils.c:
	  pbutils: Add a test case for another profile, tier, level
	  Add a test case to verify MIME codec string for H.265
	  profile, level, and tier data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10183>

2025-11-17 15:40:05 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Fix bit shifting when generate hevc mime codec string
	  According to the HEVCDecoderConfigurationRecord configuration,
	  profile_space and tier_flag should be corrected.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10183>

2025-11-19 14:18:32 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Add missing unlocks
	  Add missing unlocks when retrieving information from the RTP header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10157>

2025-09-23 22:32:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/alsa/gstalsadeviceprovider.c:
	  alsadeviceprovider: Fix device name leak
	  Also use g_free for string allocated with g_strdup*. This usually
	  doesn't matter, but can matter when mixing code compiled with
	  different libc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10228>

2025-11-26 16:07:26 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: fix warning of uninitialized buffer
	  Move the error check before the buffer reference to avoid using
	  an uninitialized buffer variable when ret is not GST_FLOW_OK.
	  Also fix whitespace in header documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10215>

2025-11-21 09:19:58 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Remove unnecessary unmap call for adapter
	  The unmap function for the adapter is unnecessary because
	  gst_adapter_map() is not called anywhere in the chain function.
	  This patch removes the redundant unmap call to simplify
	  the code and avoid confusion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10184>

2025-11-20 15:16:00 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Change buffer access to go through adapter
	  Since ownership of the input buffer is transferred to the adapter
	  via gst_adapter_push, modify the buffer copy process to access
	  the buffer through the adapter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10184>

2025-11-20 14:46:33 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Fix resource leak in chain function
	  The input buffer should be unreferenced when
	  a negotiation failure is detected in the chain function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10184>

2025-11-19 13:42:01 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Use break instead of goto for escape logic
	  Use break instead of goto to escape and prevent cases
	  where config_lock might remain unlocked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10184>

2025-11-21 11:55:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play-1.0: fix printing of missing plugin details
	  It wouldn't print what plugin was missing, because element
	  messages were handled already in a different place.
	  Also use g_list_prepend() here since order doesn't matter.
	  See #4758
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10176>

2025-11-19 14:26:13 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Add missing unlock
	  The lock of urisourcebin should be released
	  when the creation of the parsebin element fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10158>

2025-08-12 16:42:25 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Clear previous collection on input
	  When receiving a stream-start with a stream that isn't in the
	  previous input stream-collection, clear the previous stream collection
	  and treat it the same as the very first stream start event. That makes
	  decodebin3 delay processing the stream-start and any subsequent events
	  until the stream-collection arrives.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10156>

2025-11-19 14:11:31 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* ext/gl/gstglstereosplit.c:
	  glstereosplit: Add missing unlock for exceptional case
	  The context_lock should be released when gst_gl_ensure_element_data fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10148>

2025-11-19 14:06:56 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* tools/gst-play.c:
	  gst-play: Add missing unlock for invalid track type
	  Add missing unlock in play_cycle_track_selection
	  of gst-play. The unlock should be added when
	  the function ends in an exceptional case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10147>

2025-11-19 13:51:27 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst-libs/gst/gl/gstglbasesrc.c:
	  glbasesrc: Add unlock handling for non-negotiated cases
	  Add missing unlock when returning
	  not negotiated status in glbasesrc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10140>

2025-11-18 15:17:05 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Add null check of play items in purge
	  Add null check for play items in purge_play_items
	  to ensure that play_item is not null.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10134>

2025-11-19 13:36:46 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* ext/gl/gstglfiltershader.c:
	  glfiltershader: Add missing unlock
	  Add missing unlock in glfiltershader
	  for an exceptional return case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10133>

2025-11-17 17:42:15 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix initial values of min_byte_level and min_time_level variables
	  The min_byte_level and min_time_level should be initialized to
	  apply the minimum values of byte_limit and time_limit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10132>

2025-10-13 16:25:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopay: Consider RESYNC flag as discontinuity too
	  Previously the marker bit would only be set by the payloader if the DISCONT
	  buffer flag is set, however the depayloader would only set the RESYNC flag
	  whenever it receives a packet with the marker bit set.
	  To avoid unnecessary DISCONTs after the depayloader, also consider the RESYNC
	  flag inside the payloader but keep the depayloader behaviour as it was.
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/736
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10066>

2025-11-05 15:20:51 +0900  JihoonLee <ejihoon.lee@lge.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix memory leak in _create_shader
	  Added missing g_string_free() call to properly free the GString buffer
	  in error paths where the function returns early.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10065>

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-base.doap:
	* meson.build:
	  Release 1.26.8

2025-10-31 15:16:01 +0900  Jeehyun Lee <jeehyun.lee@lge.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  gl/egl: fix memory leak in _print_all_dma_formats
	  Add missing g_free() calls for fmt_str returned by
	  gst_video_format_to_string() in _print_all_dma_formats().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10013>

2025-11-06 09:30:13 +0100  Mazdak Farzone <mazdak@axis.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Unref intersected caps when empty to avoid leaks
	  Add gst_caps_unref(tmp) in the else branch of both the 'channels' and 'rate'
	  preference blocks to correctly release the empty intersection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10031>

2025-10-30 10:38:09 -0300  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gl/gstglcolorbalance.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglupload.c:
	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglupload.c:
	  gl: Support DMABuf passthrough with meta:GstVideoOverlayComposition
	  The GL elements in glsinkbin were rejecting passing through DMABufs when
	  the meta:GstVideoOverlayComposition feature is present, such as when
	  subtitleoverlay is in place. This is particularly visible when playing
	  back HDR10 content with subtitles, where Showtime was showing washed
	  out colors due to the lack of tone-mapping in the GL elements when
	  converting from BT2100-PQ to RGBA due to passthrough being disabled.
	  This extends MR !5948 by adding support for DMABuf caps with the
	  meta:GstVideoOverlayComposition feature when such caps can be negotiated
	  downstream, such as with gtk4paintablesink.
	  Example of pipeline that was previously converting to GLMemory and RGBA,
	  which now passes through DMABUFs:
	  filesrc location='p010_bt2100-pq_subtitles.mkv' ! matroskademux name=d \
	  d. ! queue ! h265parse ! vah265dec ! subtitleoverlay name=s \
	  d. ! queue ! s. \
	  s. ! glsinkbin sink=gtk4paintablesink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10011>

2025-11-05 13:56:18 +0900  JihoonLee <ejihoon.lee@lge.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Fix memory leak in gst_encoding_target_save
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10021>

2025-11-05 10:04:36 +0900  Jeehyun Lee <jeehyun.lee@lge.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  id3: fix csets memory leak in string_utf8_dup
	  Free csets array when charset conversion loop completes without
	  finding a valid conversion to prevent memory leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10015>

2025-10-31 15:54:36 +0900  Jeehyun Lee <jeehyun.lee@lge.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix memory leaks in gst_rtsp_connection_connect_with_response_usec
	  Fix request_uri memory leaks in connection retry loop and properly
	  handle connection_uri ownership transfer during redirects.
	  - Initialize request_uri to NULL
	  - Free request_uri at start of each loop iteration
	  - Transfer ownership correctly during redirect handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9983>

2025-10-31 10:01:40 +0900  amy ko <amy.ko@lge.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Free missing plugin details and return failure when plugin is not found
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9970>

2025-10-31 14:33:11 +0900  Jeehyun Lee <jeehyun.lee@lge.com>

	* ext/gl/gltestsrc.c:
	  gltestsrc: Fix memory leaks on shader creation failure
	  Free coord and plane_indices when color_shader or snow_shader
	  compilation fails to prevent memory leaks in error paths.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9966>

2025-10-27 14:15:11 +0000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Don't throw critical for unknown mime codec
	  Avoid a critcal in gst_codec_utils_caps_from_mime_codec()
	  trying to append NULL caps when processing an unrecognised
	  codec string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9926>

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-base.doap:
	* meson.build:
	  Release 1.26.7

2025-10-09 16:56:09 +0530  Taruntej Kanakamalla <tarun@centricular.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: fix assert fail due to invalid buffer duration
	  In `drop-only` mode, when pushing an input buffer, the buffer duration
	  was always assumed valid i.e. `invalid_duration`  as FALSE. This was causing
	  an assert failure when first few buffers don't have the duration calculated yet
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2886
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9829>

2025-10-09 13:07:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: Mark gst_discoverer_stream_info_list_free() as `transfer full`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9822>

2025-09-29 16:11:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/meson.build:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	  qt: Fix building examples on macOS
	  GL/gl.h is an incorrect include on macOS, and the correct include is
	  already done by gstgl.
	  qt_current_nsopengl_context() wasn't being exported, leading to build
	  failures
	  Also add comments to gstqtglutility.cc to clarify dense #ifdef usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9768>

2025-09-23 22:21:46 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add channel reorder maps for 3 and 7 channel audio
	  The function gst_riff_wave_add_default_channel_mask() was failing for
	  3 and 7 channel as it was not supported. We now use
	  gst_audio_channel_get_fallback_mask() to get the
	  default channel masks and add proper reorder maps for these cases.
	  The fallback layout follows ALSA conventions exactly as before, we're
	  just now leveraging the existing GStreamer infrastructure instead of
	  duplicating the logic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9744>

2025-09-20 20:23:06 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/sdp/gstmikey.c:
	  sdp: proper usage of gst_buffer_append
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9720>

2025-09-17 20:52:41 -0700  Xavier Claessens <xclaessens@netflix.com>

	* gst-libs/gst/glib-compat-private.h:
	* tools/gst-device-monitor.c:
	  build: Fix build error with glib < 2.68
	  glib-compat-private.h is copied verbatim from -good into -base because
	  g_string_replace() is used in gst-device-monitor since 1.26.6:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9634
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9708>

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-base.doap:
	* meson.build:
	  Release 1.26.6

2025-09-05 18:32:43 +0300  Marko Kohtala <marko.kohtala@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Add get_url and get_ip return value annotation
	  The returned GstRTSPUrl is the one owned by the GstRTSPConnection,
	  but missing annotation causes caller to free it. This leads to access
	  to freed memory and eventually a crash.
	  The returned IP address annotation is missing it can be NULL when
	  the connection is closed.
	  Fixes #3726
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9656>

2025-09-05 08:30:28 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Fix valgrind warning when deserializing video meta
	  Conditional jump or move depends on uninitialised value(s)
	  at 0xAC8E1C8: gst_video_meta_is_alignment_valid (gstvideometa.c:589)
	  by 0xAC8E1C8: gst_video_meta_validate_alignment (gstvideometa.c:603)
	  by 0xAC8F741: gst_video_meta_set_alignment (gstvideometa.c:655)
	  by 0xAC8F9A7: video_meta_deserialize (gstvideometa.c:308)
	  by 0xA56E503: gst_meta_deserialize (gstmeta.c:856)
	  by 0x1472CE60: gst_unix_fd_src_create (gstunixfdsrc.c:390)
	  by 0xABCEAA3: gst_base_src_get_range (gstbasesrc.c:2632)
	  by 0xABD1C39: gst_base_src_loop (gstbasesrc.c:2964)
	  by 0xA5B1DC6: gst_task_func (gsttask.c:399)
	  by 0x8423383: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
	  by 0x8422AE0: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
	  by 0x485C608: start_thread (pthread_create.c:477)
	  by 0x4AFC352: clone (clone.S:95)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9654>

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

	* ext/gl/meson.build:
	* ext/opus/meson.build:
	* ext/pango/meson.build:
	* ext/vorbis/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-09-02 07:16:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  device-monitor: Fix CMD vs PowerShell detection
	  PSModulePath is set in both powershell and cmd tabs spawned inside
	  Windows Terminal, and ComSpec is also set in both. PROMPT is the only
	  variable that is only set by cmd, which means it will also exist in a
	  powershell prompt spawned inside cmd, but in that case it's much harder
	  to figure out the parent shell. We'd have to look at the process tree.
	  This should be good enough for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9634>

2025-09-02 07:08:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  device-monitor: Double-escape \ to deal with gst_value_deserialize()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9634>

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

	* tools/gst-device-monitor.c:
	  device-monitor: Fix unnecessary quoting when serializing
	  Not all serialized values need quoting, for example booleans.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9634>

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

	* tools/gst-device-monitor.c:
	  device-monitor: Add quoting for powershell and cmd
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4620
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9634>

2025-08-19 09:15:03 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Avoid potential use-after free
	  Clear the pointer after freeing the reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9581>

2025-05-15 18:33:30 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Update stream tags
	  parsebin does this, so should decodebin3.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9566>

2025-08-11 10:08:40 +0300  Andrey Khamukhin <andrew.khamukhin@hotmail.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: don't hold the reference to the buffer in drop-only mode
	  Pushing the buffer via gst_pad_push () in transform_ip () function
	  causes downstream elements to process the buffer with a reference
	  count > 1. This leads to performance issue if there are downstream
	  elements which modify the buffer memory.
	  However, in drop-only mode this reference is not required.
	  So, let GstBaseTransform push the buffer in drop-only mode.
	  Fixes #4258
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9548>

2025-08-07 19:15:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.5

=== release 1.26.5 ===

2025-08-07 19:06:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.26.5

2025-08-06 15:27:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Add missing locking and NULL checks when adding URIs to messages
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4559
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9501>

2025-08-03 16:31:32 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst/audioconvert/gstaudioconvert.c:
	* tests/check/elements/audioconvert.c:
	  audioconvert: Fix regression when using a mix matrix
	  This fixes regression introduced by commit da3a1011. When a mix matrix
	  is set, we still want to set the default channel-mask on output caps.
	  Fixes: #4579
	  Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9499>

2025-08-05 12:44:38 +0100  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  device-monitor: Also accept utf8 in launch lines
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9498>

2025-08-05 12:40:21 +0100  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  device-monitor: Fix criticals when dumping non-string values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9498>

2025-07-31 20:54:20 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Don't error out for unknown streams in default selection
	  If there is only unknown stream-type streams in the current collection
	  don't post an error straight away. This fixes a problem with RTSP
	  cameras and legacy upstream collection building, if the first
	  stream that rtspsrc outputs is the ONVIF metadata track. That
	  happens often on bandwidth-constrained camera inputs, as the
	  video and audio will naturally take longer to arrive.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9488>

2025-07-31 12:50:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  gst-device-monitor: Add shell quoting for launch lines
	  Launch-lines will be pasted into a shell, and `gst_value_serialize()`
	  yields strings that will likely be interpreted by the shell. For
	  example:
	  `gst-launch-1.0 ... ! osxaudiosink unique-id="AppleUSBAudioEngine:BEHRINGER:UMC202HD\ 192k:12345678:1\,2"`
	  The shell will remove the double-quotes `"` but keep the `\ ` which
	  means the output of `gst_value_deserialize()` will not be the original
	  string, and the launch line will not work.
	  So let's use `gst_value_serialize()` only if the string is non-ASCII,
	  and if it's ASCII and needs quoting, we do some shell quoting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9486>

2025-07-31 12:49:32 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  gst-device-monitor: Don't loop unnecessarily when printing properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9486>

2025-07-31 20:05:15 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-device-monitor.c:
	  device-monitor: Use gst_print instead of g_print
	  Avoid broken stdout output on Windows. Same change was made for
	  gst-launch in commit 493a3261a9757b5ade7aec289eb07221966f9eed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9470>

2025-07-22 15:23:30 +0200  Jaslo Ziska <jaslo@ziska.de>

	* ext/gl/gstgloverlay.c:
	  gloverlay: Recompute geometry when caps change
	  Set geometry_changed when setting caps so that the geometry is
	  recomputed correctly with the new dimensions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9462>

2025-07-22 15:21:23 +0200  Jaslo Ziska <jaslo@ziska.de>

	* ext/gl/gstgloverlay.c:
	  gloverlay: Load texture after stopping and starting again
	  Set location_has_changed when stopping so that the texture will be
	  loaded when starting again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9462>

2025-03-04 01:29:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/videorate/gstvideorate.c:
	  videorate: add support for JPEG-XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9421>

2025-07-16 15:33:19 +0200  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.4

=== release 1.26.4 ===

2025-07-16 15:26:21 +0200  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.26.4

2025-07-08 17:06:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/hr.po:
	* po/ka.po:
	  gst-plugins-base: update translations

2025-06-11 01:45:43 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: free conf cache under valgrind
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9362>

2025-05-30 15:11:31 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/videoscale.c:
	  videoscale: Fix test for allowed caps
	  videoscale_get_allowed_caps_for_method() could leave holes in the
	  returned array, causing the test to skip some caps and not free them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:08:32 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: Fix a memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:07:07 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/gl/gstglstereosplit.c:
	  glstereosplit: Fix a leaked event
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-07-08 02:33:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  gst-device-monitor: Fix caps filter splitting
	  max_tokens=-1 means we will split on `:` in the caps as well, for
	  example caps features, and then discard those tokens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9346>

2025-05-28 08:36:28 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/appsrc.c:
	  tests: appsrc: fix race accessing expected list
	  Without synchronization, a thread may still see an old value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9343>

2025-05-28 08:42:15 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: free fullname on failure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9343>

2025-06-22 03:13:00 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print correct frame variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

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

	* gst/playback/gststreamsynchronizer.c:
	* tests/check/elements/streamsynchronizer.c:
	  Revert "streamsynchronizer: Consider streams having received stream-start as waiting"
	  This reverts commit a1a189c07cb66af06d7047c74f6421bd36e3d66c.
	  It breaks the uriplaylistbin tests and needs further investigation.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4506
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9312>

2025-06-26 21:29:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.3

=== release 1.26.3 ===

2025-06-26 21:25:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.26.3

2025-06-12 16:32:51 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst/audioconvert/gstaudioconvert.c:
	* tests/check/elements/audioconvert.c:
	  audioconvert: Fix setting mix-matrix when input caps changes
	  When the number of input channels changes, application might have to set
	  a new mix-matrix. Application must set the new matrix before
	  audioconvert receives updated caps, otherwise negotiation would fail.
	  That means it should be allowed to set an invalid mix-matrix until we
	  receive new caps or next buffer.
	  This fixes a regression in GStreamer >=1.24.9 caused by:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7363
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9290>

2025-06-13 09:54:33 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Replace g_warning with GST_WARNING_OBJECT
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9290>

2025-06-05 17:03:12 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamsynchronizer.c:
	  playsink: Fix race condition in stream synchronizer pad cleanup during state changes
	  Prevent race condition where gst_play_sink_do_reconfigure() could be called
	  from a pad probe while stream synchronizer pads are being released during
	  GST_STATE_CHANGE_PAUSED_TO_READY transition.
	  The race occurred when:
	  1. State change starts releasing stream synchronizer pads
	  2. Pads are unblocked earlier in the state change, allowing events to flow
	  3. A streaming thread triggers sinkpad_blocked_cb -> gst_play_sink_do_reconfigure
	  4. Reconfiguration tries to use already-released pad pointers
	  5. New pad creation fails with assertion in gst_pad_iterate_internal_links
	  The fix adds GST_PLAY_SINK_LOCK around the pad cleanup to ensure atomic
	  cleanup and prevent concurrent access during state transitions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9263>

2025-06-18 19:03:17 +0200  Loïc Le Page <llepage@igalia.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  GstAudioAggregator: fix structure unref in peek_next_sample
	  The GstStructure attached to the audio sample in peek_next_sample() was
	  freed prematurely before usage as gst_sample_new() is taking full
	  ownership on it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9260>

2025-01-31 17:56:44 +0100  Théo Maillart <tmaillart@freebox.fr>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: never manually store stream-start
	  The copy of the exact same stream-start event prevents the multiqueue's sink
	  event function from being called because it is already stored on both pads at
	  link time
	  The text streams are no longer considered sparse by the multiqueue, so
	  interleave calculation is broken and makes us consume a lot of ram and we can
	  end up killed by the kernel because of this
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9250>

2025-06-07 13:32:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglutils.c:
