=== release 1.28.0 ===

2026-01-27 17:02:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.28.0

2026-01-25 17:17:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/LINGUAS:
	* po/af.po:
	* po/ar.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/fur.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/ka.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  gst-plugins-base: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10598>

2026-01-23 13:38:46 +0100  Tobias Koenig <tobias.koenig@kdab.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: Fix mapping of navigation coordinates
	  Set the mapped coordinates on the navigation event to upstream
	  and not the original coordinates from downstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10595>

2025-11-27 09:22:56 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/videoconvertscale/gstvideoconvertscale.c:
	  videoconvertscale: fix n-threads with task pool from bus context query
	  When the task pool is obtained via a NEED_CONTEXT bus message rather
	  than set directly on the element beforehand, the converter was already
	  created in set_info() before the task pool was available. Move the
	  shared task pool thread count detection to create_converter() so
	  response from the bus message is taken into account.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10216>

2026-01-18 17:09:10 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/video/meson.build:
	* gst/adder/meson.build:
	* meson.build:
	* meson.options:
	  meson: Don't disable orc support when orcc is not available
	  This was breaking usage of orc when cross-compiling with no orcc
	  available in PATH. We can use the orc-dist.{c,h} files in that case as
	  long as the orc library itself is available. Using the subproject, for
	  example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10553>

2026-01-09 15:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Fix documentation for gst_video_meta_transform_matrix_point_clipped()
	  It was pointing at the wrong function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10520>

2026-01-06 10:40:09 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	* gst/playback/gsturidecodebin3.c:
	  playbin3: Move locking down to uridecodebin3
	  uridecodebin is always present in playbin3, the locking should be done within
	  uridecodebin instead
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4822
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10502>

2026-01-06 16:22:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/tags.c:
	  tags: fix missing space in GST_TAG_CAPTURING_LIGHT_SOURCE description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10504>

2026-01-05 20:20:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.27.90

=== release 1.27.90 ===

2026-01-05 20:15:10 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2026-01-05 18:57:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/fur.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/ka.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  gst-plugins-base: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10497>

2025-12-30 18:11:43 -0500  Doug Nazar <nazard@nazar.ca>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggelements.h:
	* ext/ogg/gstoggmux.c:
	  oggmux: Fix crash when debug logging enabled
	  The muxer uses the ogg_stream functions however that file uses the
	  demuxer debug categories. Ensure they are also initialized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10475>

2025-12-30 17:57:37 -0500  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/textoverlay.c:
	  textoverlay: tests: Fix race clearing element and debug printing
	  It was possible to unblock the main thread and unref the pipeline
	  before we had exited the gst_element_set_state() in the thread.
	  With GST_DEBUG enabled it could crash trying to print the element name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10475>

2025-12-31 11:58:00 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Fix docs for the select-stream signal
	  It's GstURIDecodeBin3 and not GstURIDecodebin3.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10480>

2025-12-30 18:53:26 -0500  Doug Nazar <nazard@nazar.ca>

	* ext/pango/gstbasetextoverlay.c:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/overlaycomposition/gstoverlaycomposition.c:
	* gst/playback/gstsubtitleoverlay.c:
	  gst: Properly unref pad template caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10477>

2025-12-30 17:53:22 -0500  Doug Nazar <nazard@nazar.ca>

	* tests/check/libs/videoencoder.c:
	  tests: Fix several memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10476>

2025-12-28 21:19:54 -0500  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/inputselector.c:
	  input-selector: test: Fix memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10467>

2025-12-28 18:12:54 -0500  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/inputselector.c:
	  input-selector: test: Don't use g_assert() in tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10467>

2025-12-28 17:51:38 -0500  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/inputselector.c:
	  input-selector: test: increase delay when running under valgrind
	  When running under valgrind we could get into a loop where we'd
	  read only from one source since we'd switch back too quickly.
	  Test would eventually timeout with the count from one source being
	  above 30000 and the other never reaching the minimum.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10467>

2025-12-28 17:45:32 -0500  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/inputselector.c:
	  input-selector: test: quieten output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10467>

2025-12-28 01:36:02 +0700  Ratchanan Srirattanamet <peathot@hotmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: don't assume GstVideoMeta always exists in the buffer
	  Other GL buffer producers (e.g. `gstamcvideodec`) might not always add
	  a GstVideoMeta, in which case we should be able to assume that the
	  texture doesn't have to be clipped.
	  This fixes crash on Android.
	  Fixes: d2dfcee83336 ("glimagesink: Clip texture if its bigger then display")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10462>

2025-12-19 17:34:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst-libs/gst/video/gstvideoaggregator.c:
	  video/audioaggregator: reject non-TIME segments in sink_event_pre_queue
	  Move the segment format check from sink_event to sink_event_pre_queue
	  to properly reject non-TIME segments before they are queued. This
	  ensures the error is handled early and prevents the segment from
	  being processed further.
	  This fixes the issue where returning FALSE from sink_event had no
	  effect since the segment was already queued.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10459>

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

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  gl: Add support for Y444_12
	  Used by e.g. HEVC for 12bit non-subsampled profiles.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10451>

2025-12-23 14:12:26 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Fix GST_DEBUG GObject warning
	  The GST_DEBUG_OBJECT() first argument is expected to be a GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10436>

2025-12-22 16:23:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	* tests/check/libs/rtpdummyhdrextimpl.c:
	* tests/check/libs/rtphdrext.c:
	  gst: Remove various wrongly added includes
	  These were most likely added by clangd automatically.
	  Please use `-header-insertion=never` with clangd!
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8519>

2025-12-19 15:40:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  meson: Solve some cyclic dependencies caused by test-only deps
	  gstreamer => gobject-introspection => cairo => fontconfig => freetype2 => harfbuzz => cairo
	  gst-plugins-base => libdrm => cairo => fontconfig => freetype2 => harfbuzz => cairo
	  gst-plugins-good => cairo => librsvg => cairo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10422>

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

	* gst-libs/gst/video/video.h:
	  video: Include gstvideodmabufpool.h from video.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10411>

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/10404>

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/10404>

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/10387>

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/10387>

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/10387>

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/10341>

2025-12-15 18:51:18 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  gl: adjust log level from error to warning when copying memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10382>

2025-12-01 19:32:54 +0100  François Laignel <francois@centricular.com>

	* tests/check/elements/inputselector.c:
	* tests/check/meson.build:
	  input-selector: add stress test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10204>

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/10374>

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/10374>

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/10374>

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/10356>

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/10352>

2025-12-09 19:13:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.27.50

=== release 1.27.50 ===

2025-12-09 19:08:48 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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/10306>

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/10330>

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/10330>

2025-12-08 11:53:29 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Don't post have-context for internally created task pool
	  When videoaggregator creates its own default task pool (not provided via
	  context), it was posting a have-context message. This unintentionally
	  caused the task pool to be shared with other elements in the pipeline,
	  enabling multi-threaded processing in elements like videoconvertscale.
	  Let's revert to the previous behavior for now and think this through
	  properly for 1.30.
	  See #4787
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10325>

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

	* gst-libs/gst/allocators/gstudmabufallocator.c:
	* meson.build:
	  udmabuf: Only build allocator if UDMABUF_CREATE and linux/dma-buf.h exist
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4793
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10320>

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/10319>

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/10319>

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/10319>

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

	* gst-libs/gst/video/gstvideodmabufpool.c:
	  videodmabufpool: Only provide implicit sync support if supported by the kernel headers
	  The corresponding API was only added with kernel 6.0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8540>

2025-02-16 19:51:19 +0100  Robert Mader <robert.mader@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/gl/gstglupload.c:
	* tests/check/libs/gstglupload.c:
	  glupload: Implement udmabuf uploader
	  Offering a udmabuf pool to upstream and translating SystemMemory caps to
	  DMABuf/DMA_DRM caps. This enables zero-copy buffer sharing for SystemMemory
	  upstreams such as software video decoders in combination with dmabuf-capable
	  downstream elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8540>

2025-04-10 11:21:01 +0200  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/video/gstvideodmabufpool.c:
	* gst-libs/gst/video/gstvideodmabufpool.h:
	* gst-libs/gst/video/meson.build:
	  video: Implement a dmabuf video pool
	  That implements implicit sync, preventing buffers from being
	  recycled when still in use by e.g. the GPU, and sets the new
	  udmabuf allocator by default if available and no other dmabuf allocator
	  has been set.
	  See https://docs.kernel.org/driver-api/dma-buf.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8540>

2025-11-29 20:26:01 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/meson.build:
	  base: Move allocator decleration to the top
	  In order to make them usable from all other subfolders. This will be
	  needed by the next commit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8540>

2025-02-23 01:31:14 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/allocators/allocators.h:
	* gst-libs/gst/allocators/gstudmabufallocator.c:
	* gst-libs/gst/allocators/gstudmabufallocator.h:
	* gst-libs/gst/allocators/meson.build:
	  allocators: Add a udmabuf allocator
	  Which allocates dmabufs on top of virtual memory, allowing e.g. GPUs
	  and display engines to import buffers without copy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8540>

2025-12-03 22:57:01 +0000  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	  roimeta: Add meta seqnum to debug message on transformations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-12-02 01:17:18 +0000  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/libs/video.c:
	  videometa: Initial tests for Matrix transform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-08-04 16:34:36 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: Transform metas when doing compositions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-06-03 16:07:12 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/compositor/compositor.c:
	  compositor: Transform metas when doing compositions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-06-03 16:06:45 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Apply meta transformations when running GstVideoConverter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-06-03 16:06:09 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  videoconverter: Add API to transform metas based on conversion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-05-18 17:31:50 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Apply new video matrix transform to RegionOfInterest Meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-05-18 17:31:20 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Drop debug down to LOG level
	  Those are printed on every buffer, too much spamming at
	  DEBUG level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-05-18 14:12:36 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/video-overlay-composition.c:
	  overlaycomposition: Implement the video matrix transformation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-05-18 11:58:53 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoconvertscale/gstvideoconvertscale.c:
	  videoconvertscale: Implement matrix meta transformation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-05-18 11:58:28 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Add Crop with Matrix operation
	  This can handle cropping, adding borders and any
	  homographic transformation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

2025-05-18 11:57:53 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/video.h:
	  video: Promote GstVideoRectangle into video.h
	  This way, it can be used outside of the sink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9497>

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/10308>

2025-12-05 13:36:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  egl: Remove impossible NULL check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10300>

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

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  egl: Don't crash for supported formats without modifiers
	  This happens e.g. with the amdgpu driver on older GPUs (550RX etc) that don't
	  have explicit modifier support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10300>

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/10298>

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/10298>

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/10298>

2025-12-01 13:27:22 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  fdmemory: Add is_span implementation
	  Based on `_sysmem_is_span()`. It is inherited by various derived
	  allocators.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10299>

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

	* docs/plugins/gst_plugins_cache.json:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Add a separate pad template for metadata streams
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10249>

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

	* gst/playback/gstparsebin.c:
	  streams: Add GST_STREAM_TYPE_METADATA for metadata streams
	  And handle it inside parsebin and tsdemux.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10249>

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/10249>

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/10249>

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/10246>

2025-09-16 13:20:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  device-monitor: Start providers in a separate thread
	  This avoids blocking when gst_device_monitor_start() is called, which
	  avoids each app having to spawn a separate thread just to start device
	  monitoring. This is especially important on Windows, where device
	  probing can take several seconds.
	  Calling gst_device_monitor_get_devices() immediately after still does
	  the right thing; the existing locking still applies.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9698>

2025-11-27 12:21:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: dmabuf: Add missing texture target check
	  The dmabuf uploader is split in multiple variants, each are dedicated to a
	  single target. Add missing check to prevent using the External variant
	  while expecting 2D target.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10227>

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/10224>

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/10210>

2025-11-25 14:30:56 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	* tests/check/elements/compositor.c:
	  videoaggregator: add support for task pool context
	  This allows applications to provide a shared task pool via context,
	  enabling sharing the same thread pool across multiple elements in a
	  pipeline for better resource management.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10047>

2025-11-24 14:03:50 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/videoconvertscale/gstvideoconvertscale.c:
	* tests/check/elements/videoscale.c:
	  videoconvertscale: add support for task pool context
	  This allows applications to provide a shared task pool via context for
	  multi-threaded video conversion, enabling better control over thread
	  management across multiple elements.
	  The element now implements set_context() to receive task pools and uses
	  them when creating video converters. If no n-threads property is explicitly
	  set, the element will automatically use the max threads from the provided
	  shared task pool.
	  A new test verifies the task pool is actually used by the video converter
	  during processing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10047>

2025-01-08 09:29:13 -0500  Xavier Claessens <xclaessens@netflix.com>

	* ext/alsa/gstalsasrc.c:
	  GstClock: Add gst_clock_is_system_monotonic_clock
	  It was duplicated in many places and can be useful outside of GStreamer
	  as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8257>

2025-11-26 12:42:50 +0100  Peter Stensson <petest@axis.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler-neon: Add missing stdint include
	  Got build errors when building for arm with neon support because of
	  unknown type uint32_t. This build error was previously not present
	  because ORC was disabled, but after
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10004
	  the neon file would be included in the build regardless.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10209>

2022-06-22 13:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl: libs: upload: fix typo in comment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10180>

2025-10-20 14:14:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/video-format.c:
	  video: fix documentation syntax
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10180>

2025-11-18 16:49:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gstglcolorconvert: Clip input picture if its bigger then display
	  Same as for glimagesink, this happens with external-eos texture. This patch
	  covert the case where the texture needs to be converted for other GL operation,
	  instead of being composed directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10120>

2025-11-13 15:57:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* gst-libs/gst/gl/gstglupload.c:
	  glimagesink: Clip texture if its bigger then display
	  When handling external textures, there is cases where the texture needs to be
	  imported in its padded dimensions. The side effect is a larger texture that we
	  must clip to avoid showing random data found in the padding zone.
	  This area is clipped by modifying the U/V component of the vertices buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10120>

2025-11-18 16:52:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Simplify the affine transform handling
	  The multiply function already allow to write into one of its member.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10120>

2025-11-13 15:55:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgltransformation.c:
	  gltransform: Do not modify input buffer
	  The input buffer is not writable so we must not modify its AffineTranformMeta.
	  Doing so can results in hard to debug side effects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10120>

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/10124>

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/10124>

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/10124>

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/10124>

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/10097>

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/10097>

2021-04-01 10:48:12 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* gst-libs/gst/pbutils/descriptions.c:
	  qtdemux: add support for MPEG-H 3D Audio
	  Added support for mhm1 and mha1 sample entries for ISO/IEC 23008-3 MPEG-H 3D Audio standard.
	  The sample entries can contain out-of-band configuration information, attached to the caps
	  as "codec_data". MPEG-H profiles and levels information is added to the output caps.
	  Note: for mha1 the "codec_data" is always present, for mhm1 this caps propery is optional.
	  Co-authored-by: Florian Kolbeck <florian.kolbeck@i-rz.de>
	  Co-authored-by: Rinat Zeh <rinat.zeh@i-rz.de>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9449>

2025-11-21 12:35:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play-1.0: try and install missing plugins if distro supports it
	  See issue #4758
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10173>

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/10173>

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/10153>

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/10153>

2025-11-20 12:46:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiometa.c:
	  audio: meta: Fix annotation for matrix on gst_buffer_add_audio_downmix_meta()
	  Arrays of arrays (or pointers to basic types) can't be expressed by
	  gobject-introspection so the best we can do is to use `gpointer` for now.
	  See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/565
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10152>

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/10129>

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/10128>

2025-11-17 16:26:54 +0900  Jaehoon Lee <jaehoon85.lee@lge.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: Remove logically dead code
	  Remove unnecessary condition check as the result
	  variable in this function can only be NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10098>

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

	* gst/playback/gstdecodebin3.c:
