=== 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:
	* ext/gl/gstglutils.h:
	* ext/gl/gstopengl.c:
	  gl: simplify private gst_gl_gst_meta_api_type_tags_contain_only()
	  Follow-up to backport commit 7dd465ba.
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9041#note_2923013
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9195>

2025-05-30 12:41:24 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst-libs/gst/app/gstappsink.c:
	  python: Fix pulling events from appsink
	  appsink.pull_object() is introspectable, but it needs a way to convert
	  the GstMiniObject to its GstEvent/GstSample subclass.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9178>

2025-06-04 11:57:38 +0200  Philippe Normand <philn@igalia.com>

	* gst/encoding/gstencodebasebin.c:
	  encodebasebin: GstPad and GstStructure leak fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9173>

2025-06-04 12:41:35 +0200  Philippe Normand <philn@igalia.com>

	* gst/encoding/gstencodebasebin.c:
	  encodebasebin: Make profile ownership explicit in StreamGroup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9173>

2025-06-04 12:40:54 +0200  Philippe Normand <philn@igalia.com>

	* gst/encoding/gstencodebasebin.c:
	  encodebasebin: Encoding profile ownership fixes
	  The profile argument passed to gst_encode_base_bin_set_profile is now
	  transfer-full. This issue was noticed after commit
	  6beb709d43d2023e7e5dc8f1ee1323bc28c9d1d8 which fixed profile refcount handling
	  in transcodebin.
	  Driving-by, an encoding profile leak was also fixed in _set_profile, in case
	  it's called for an already active element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9173>

2025-05-30 09:40:21 +0200  Thibault Saunier <tsaunier@igalia.com>

	* sys/xvimage/xvimagesink.c:
	  doc: Add some explanation about the logic of when to post navigation message in code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9169>

2024-11-14 21:36:19 +0100  Enrique Ocaña González <eocanha@igalia.com>

	* gst/playback/gststreamsynchronizer.c:
	* tests/check/elements/streamsynchronizer.c:
	  streamsynchronizer: Consider streams having received stream-start as waiting
	  When using the custom WebKitMediaSrc element (used by WebKit and able to
	  perform an initial seek in playbin), a stall caused by streamsynchronizer
	  was detected during an initial seek. The flow of events revealed that the
	  intertwining of the initial configuration of the streams with the reset
	  caused by the flush events from the seek left streamsynchronizer in an
	  inconsistent state:
	  streamsynchronizer0:sink_0 (video) events, starting before the seek:
	  stream-start --> Sets the stream to wait
	  flush-stop --> Clears the stream wait flag
	  caps
	  tag
	  segment
	  stream-collection
	  (buffers start to come and flow properly)
	  streamsynchronizer0:sink_1 (audio) events, happening after seek:
	  (no flush events, because the stream hadn't been initialized when the seek happened)
	  stream-start --> Sets the stream to wait
	  caps
	  segment
	  (stalled because the stream is in wait mode!)
	  The code in streamsynchronizer expects that all the streams are in wait
	  state before releasing all of them at once. The flush on the video stream
	  broke that assumption and that's why the audio stream is never released in
	  that scenario.
	  Avoiding the clearing of the wait flag on flush-stop isn't an actual solution
	  to the problem, as it creates other side effects and at least makes the
	  gst-editing-services/seek_with_stop test to timeout. The alternate solution
	  implemented in this patch consists on analyzing if the other streams different
	  from the one newly added (after the flush) aren't waiting (which would mean
	  that they've all been unlocked after all of them were waiting before), and,
	  in that case, mark the new stream as also not waiting.
	  A new test_stream_start_wait test case has been added to demonstrate this
	  problem. The test case creates a video stream, pushes a buffer, then
	  simulates a seek by pushing flush-start, flush-stop, stream-start and segment
	  events. Note that the flush-stop clears the video stream waiting flag.
	  After that, a new audio stream is created and stream-start and new segment
	  events are sent. Note that stream-start will set the audio stream to wait.
	  Then a buffer is pushed on each stream. In the failing case, the test hangs.
	  In the working case (after this fix), the test runs properly because the
	  fact of having seen a stream-start also helps to clear the wait flag.
	  A second new test_stream_start_wait_sparse test has also been added to prove
	  that this mechanism can also work with sparse streams (a special case of the
	  current stream-start handling code). This test behaves like the previous one,
	  but there's no video buffer after the seek (it'll come in the future, as the
	  stream is sparse, but actually never comes). The buffer after the seek in the
	  audio stream starts at its due time. Streamsynchronizer is able to ignore
	  the wait for the video stream and produce audio buffers on time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9160>

2025-05-30 00:03:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.2

=== release 1.26.2 ===

2025-05-29 23:56:43 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-05-08 12:46:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Make sure that subrip time string is not too long before zero-padding
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4419
	  Fixes CVE-2025-47806
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9135>

2025-05-08 09:14:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Check for valid UTF-8 before cleaning up lines and check for regex replace errors
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4418
	  Fixes CVE-2025-47807
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9135>

2025-05-08 09:04:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/tmplayerparse.c:
	  tmplayer: Don't append NULL + 1 to the string buffer when parsing lines without text
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4417
	  Fixes CVE-2025-47808
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9135>

2025-05-29 00:14:50 +0300  Vasiliy Doylov <nekocwd@mainlining.org>

	* ext/gl/gstglfiltershader.c:
	  glshader: recompile shader on pipeline restart
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9125>

2025-05-26 19:00:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: fix MS and DVI ADPCM av_bps calculations
	  Align the calculations for the number of samples per block with the
	  calculations in adpcmdec.
	  For MS ADPCM we have in adpcmdec:
	  samples = (blocksize - 7 * dec->channels) * 2 + 2 * dec->channels;
	  outsize = 2 * samples;
	  outbuf = gst_buffer_new_and_alloc (outsize);
	  This gives us the total output byte size in 16 bits samples. To get back
	  to the samples, dividing by the channels and 2, we get the right samples per
	  block as:
	  int spb = ((strf->blockalign / strf->channels) - 7) * 2 + 2;
	  Which we can then use to calculate the bitrate in riff-media.
	  A similar calculation for DVI ADPCM is needed to get the right bitrate
	  in all cases.
	  Tested with the sample in https://bugzilla.gnome.org/show_bug.cgi?id=636245
	  and another (failing before this patch) sample.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9121>

2025-05-27 19:20:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: fix shading for RGBx/RGBA pixel format variants
	  ... for cases where there's padding at the end of each row.
	  Fixes #4414.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9111>

2025-05-21 10:01:24 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/playback/gstdecodebin3.c:
	  gstreamer: A few small memory cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-21 10:04:59 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  glcontext/egl: Free dma_formats if someone else already initialized
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-14 13:54:55 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/opus.c:
	* tests/check/meson.build:
	  tests: opus: Update channel support and add to meson
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9090>

2025-05-14 14:42:19 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/audioresample.c:
	  tests: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-14 14:39:17 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/volume/gstvolume.c:
	* tests/check/elements/volume.c:
	  volume: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-14 14:38:41 -0400  Doug Nazar <nazard@nazar.ca>
