=== release 1.26.0 ===

2025-03-11 20:14:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.26.0

2025-03-05 19:03:42 +0900  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2: object: Not consider GRAY as RGB
	  This is to fix colorimetry mismatch between v4l2object and video-info
	  when format is GRAY.
	  Fixes #4270
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8590>

2025-03-05 14:08:50 +0000  Devon Sookhoo <devonsookhoo14@gmail.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: InterleaveType enum
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8578>

2025-03-04 10:14:23 -0700  dukesook <devonsookhoo14@gmail.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: component to format lookup table
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8578>

2025-02-28 15:41:23 +0100  Jakub Adam <jakub.adam@collabora.com>

	* ext/adaptivedemux2/gstadaptivedemux.c:
	  adaptivedemux2: wake waiting streams upon completed manifest downlaod
	  Fixes race when a live stream finishes playing all segments from a
	  dynamic manifest and waits for its update. If the manifest meanwhile
	  changes from dynamic to static and this update is received
	  asynchronously, periodic calls of gst_adaptive_demux_manifest_update_cb
	  will stop. As a result the blocked stream won't get notified about the
	  updated manifest and will remain stuck indefinitely.
	  Also removed the wake-up code from gst_adaptive_demux_manifest_update_cb
	  where it remained as a relic from previous implementation when manifest
	  updates were synchronous.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8587>

2025-03-04 15:01:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/meson.build:
	  meson: Replace disabler dependencies with not-found dependencies
	  If a plugin gets disabled due to a `disabler()` dependency, the plugin
	  docs build itself will get disabled because `all_plugins_paths` will
	  become a disabler.
	  This was actually happening with opencv on systems that don't have
	  opencv available, and could happen with libsoup too if the build files
	  change in the future.
	  Let's avoid wasting hours of debugging for people. A not-found
	  dependency has the same effect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8582>

2025-02-26 05:46:58 +0100  Jochen Henneberg <jochen@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Ignore non-zero values for UV/XY in transformation matrix
	  But write an info message about that. The values have been ignored
	  before !8127 as well.
	  Fixes #4252
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8559>

2025-02-24 14:20:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Also increment fragment IDs when no filename is configured on the sink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8544>

2024-12-12 08:48:04 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst_plugins_cache.json:
	* ext/adaptivedemux2/gstadaptivedemux-private.h:
	* ext/adaptivedemux2/gstadaptivedemux-stream.c:
	* ext/adaptivedemux2/gstadaptivedemux.c:
	* ext/adaptivedemux2/gstadaptivedemux.h:
	* ext/adaptivedemux2/hls/gsthlsdemux-playlist-loader.c:
	  adaptivedemux: Add 'backoff' logic for HTTP request
	  So that the user can configure waits between retries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>

2024-12-11 22:00:56 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst_plugins_cache.json:
	* ext/adaptivedemux2/gstadaptivedemux-private.h:
	* ext/adaptivedemux2/gstadaptivedemux-stream.c:
	* ext/adaptivedemux2/gstadaptivedemux.c:
	* ext/adaptivedemux2/gstadaptivedemux.h:
	* ext/adaptivedemux2/hls/gsthlsdemux-playlist-loader.c:
	  adaptivedemux2: Expose a `max-retries` property
	  So the user can configure what is the maximum number of time HTTP requests can
	  be performed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>

2024-12-11 17:44:20 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst_plugins_cache.json:
	* ext/soup/gstsouphttpsrc.c:
	* ext/soup/gstsouphttpsrc.h:
	  souphttpsrc: Add the notion of "retry-backoff"
	  So that the user can force waits between retries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>

2024-12-11 07:46:09 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/soup/gstsouphttpsrc.c:
	  souphttpsrc: Retry on SERVICE_UNAVAILABLE and INTERNAL_SERVER_ERROR
	  Those might be temporary issue, for example s3 returns SERVICE_UNAVAILABLE high
	  load, but afterward a few tries the request will work, and it has been observed
	  that internal server error sometimes "fix themselves"  so it makes sense to
	  also retry requests, in case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>

2024-12-10 23:54:07 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/adaptivedemux2/gstadaptivedemux-stream.c:
	  adaptivedemux2: Increment retry counter to stop after MAX_ERROR_COUNT
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>

2024-12-10 23:49:38 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/adaptivedemux2/dash/gstdashdemux.c:
	  dashdemux2: Do not set empty string 'track_id'
	  This is not needed and generates g_warning like:
	  ```
	  Trying to set empty string on taglist field 'container-specific-track-id'. Please file a bug.
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>

2025-02-19 19:25:52 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/audiofx/gstscaletempo.c:
	  scaletempo: scaletempo: clip the timestamp or duration of gap event if needed
	  For some cases, maybe the timestamp of gap event is smaller than
	  segment start value or larger than segment stop value in playback.
	  And the timestamp plus duration may exceed segment boundary. Need
	  check and clip the timestamp or duration before recalculating.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8517>

2025-02-23 23:52:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.90

=== release 1.25.90 ===

2025-02-23 23:44:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.25.90

2025-02-23 16:56:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/hr.po:
	* po/lv.po:
	* po/pt_BR.po:
	* po/zh_TW.po:
	  gst-plugins-good: update translations

2025-02-19 11:54:48 -0500  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/rtp/gstrtph264depay.c:
	  rtph264depay: Improve properties doc to be the same as rtph265depay
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>

2025-02-19 11:47:50 -0500  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/rtp/gstrtph264depay.c:
	* gst/rtp/gstrtph264depay.h:
	  rtph264depay: Improve request keyframe logic
	  We cannot rely only on the DISCONT flag when deciding whether we need to
	  request a new key frame or not because it might be that the packet that just
	  came in with the DISCONT flag is actually the start of a keyframe.
	  This patch improves the logic to be the same as rtph265depay, by only requesting
	  a key frame if the packet with the DISCONT flag is not the first one of a FU; or
	  if its the first one, only request it when we could drop packets due to a
	  missing key frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>

2025-01-22 12:54:45 -0500  Julian Bouzas <julian.bouzas@collabora.com>

	* docs/gst_plugins_cache.json:
	  docs: update plugins cache with new rtph265depay properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>

2025-01-22 12:44:51 -0500  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/rtp/gstrtph265depay.c:
	* gst/rtp/gstrtph265depay.h:
	  rtph265depay: Add request-keyframe property
	  Similar to the H264 depayloader, this property will request a new keyframe
	  when packet loss is detected.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>

2025-01-22 12:41:35 -0500  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/rtp/gstrtph265depay.c:
	* gst/rtp/gstrtph265depay.h:
	  rtph265depay: Add wait-for-keyframe property
	  Similar to the H264 depayloader, this property will wait for the next keyframe
	  by dropping RTP packets if there is a missing packet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>

2025-02-18 16:46:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/qt/gstqtglutility.cc:
	* ext/qt6/gstqt6glutility.cc:
	  qt/6: mark GstGLDisplayEGLs that would be created as foreign
	  Otherwise, GStreamer may preemptively call eglTerminate() before Qt has
	  finished using the EGLDisplay.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8504>

2025-02-18 14:04:09 +1100  Jan Schmidt <jan@centricular.com>

	* tests/examples/rtsp/test-onvif.c:
	  test-onvif: Re-add mulawenc
	  Accidentally lost mulawenc from the rtppcmupay case
	  in the previous commit !8378
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8503>

2025-02-15 14:07:52 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/isomp4/qtdemux.c:
	  qtdemux: look up uncompressed component type
	  This fix handles the case where the order of components in the cmpd box
	  does not correspond to the order used for a specific track. That
	  is the case where the uncC component_index values are something
	  other than 0, 1, 2, 3.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8483>

2025-01-31 14:40:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Be less strict about queueing negative durations
	  In case of temporary backwards timestamps durations can become negative. Instead
	  of erroring out, simply clip the durations and warn.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8390>

2024-10-23 14:21:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	  qtdemux: add mappings for Hap video codec
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3596
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>

2024-11-05 12:52:08 +0100  François Laignel <francois@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: add RFC7273 active status to stats
	  Checking whether rtpjitterbuffer actually timestamps the buffers according to
	  the RFC7273 clock definition and rtpjitterbuffer configuration required looking
	  at the DEBUG logs.
	  This commit adds an entry in the rtpjitterbuffer stats to indicate if
	  conditions are met for RFC7273 to be active.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7829>

2025-02-11 21:43:05 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/isomp4/qtdemux.c:
	  qtdemux: fix version 1 profile handling, add diagnostics
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8456>

2025-02-12 11:54:02 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/isomp4/qtdemux.c:
	  qtdemux: support uncompressed mono with component interleave
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8464>

2025-02-11 12:15:26 +0100  Jochen Henneberg <jochen@centricular.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2: object: Make sure dmabuf_tmpl isn't used uninitialized
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8457>

2025-02-11 10:17:34 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst/rtpmanager/rtpsession.c:
	* gst/rtpmanager/rtpsource.c:
	* tests/check/elements/rtpsession.c:
	  rtpmanager: skip RTPSources if last_rtime is not set yet
	  Fixes previous commit (which worked in GStreamer 1.22 but not in
	  1.24 and newer). Sorry for the noise, should have tested on
	  master before pusshing it :(
	  Fixes: #3918
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8455>

2025-02-11 11:52:05 +0700  sergey radionov <rsatom@gmail.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	  v4l2: bufferpool: update buffer state after group release
	  This fixes the state that lead to a flood of "newly allocated buffer
	  %u is not free" warnings.
	  Fixes #1185 #3184 #4037
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>

2025-02-11 11:05:50 +0700  sergey radionov <rsatom@gmail.com>

	* sys/v4l2/gstv4l2allocator.c:
	  v4l2: allocator: added group pointer to "group-released" signal
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>

2025-02-11 11:03:18 +0700  sergey radionov <rsatom@gmail.com>

	* sys/v4l2/gstv4l2allocator.c:
	* sys/v4l2/gstv4l2allocator.h:
	  v4l2: allocator: G_TYPE defined for GstV4l2MemoryGroup
	  This is needed to pass the GstV4l2MemoryGroup structure through
	  a glib signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>

2025-02-07 18:53:11 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/gst_plugins_cache.json:
	* gst/isomp4/atoms.c:
	* gst/isomp4/atoms.h:
	* gst/isomp4/gstqtmux.c:
	* gst/isomp4/gstqtmuxmap.c:
	  qtmux: add support for VVC/H.266 video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8436>

2025-02-10 11:31:48 +0900  Hou Qi <qi.hou@nxp.com>

	* docs/gst_plugins_cache.json:
	* sys/v4l2/gstv4l2object.c:
	  v4l2: Add BGR10A2_LE support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8154>

2025-02-08 16:32:31 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/gst_plugins_cache.json:
	* gst/matroska/matroska-mux.c:
	  matroskamux: add support for VVC/H.266 video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>

2025-02-08 16:19:58 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/matroska/matroska-demux.c:
	  matroskademux: add support for VVC/H.266 video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>

2025-02-08 16:19:22 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/matroska/matroska-ids.h:
	  matroska: add V_MPEGI/ISO/VVC id
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>

2025-02-06 11:34:06 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/autodetect/gstautodetect.c:
	  autodetect: cleanup no-op check for "constructed" implementation
	  It's always implemented by GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:28:51 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/videofilter/gstvideoflip.c:
	  videoflip: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2023-07-22 01:14:52 +0200  Carlos Bentzen <cadubentzen@gmail.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux_types.c:
	  qtdemux: add support for VVC/H.266
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5088>

2025-02-09 17:47:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.50

=== release 1.25.50 ===

2025-02-09 17:35:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.25.50

2025-02-04 00:01:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/adaptivedemux2/meson.build:
	* ext/meson.build:
	* ext/soup/meson.build:
	  soup: Ensure that libsoup RPATHs are added with Homebrew too
	  With the old method of adding build RPATHs, only the libsoup as
	  a subproject was supported. However, it's possible to use Homebrew for
	  libsoup too by adding libsoup as a dependency to the target (even
	  though we don't link to it).
	  Apple ld will not add a LC_LOAD_DYLIB entry for a library unless there
	  are symbols that need it because meson passes `-dead_strip_dylibs`, so
	  we can do this without issue.
	  As a bonus, this ensures the correct build RPATHs in all cases.
	  Additionally, we still need to explicitly add an LC_RPATH for the
	  installed case.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4027
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2024-11-26 11:17:17 -0700  dukesook <devonsookhoo14@gmail.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux.h:
	  qtdemux: Demux Uncompressed MP4
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7985>

2025-02-06 17:13:16 +0000  Philippe Normand <philn@igalia.com>

	* gst/rtpmanager/gstrtpsession.c:
	  rtpsession: Fix heap-use-after-free of twcc_packets structure
	  This is a regression introduced by 90d99c7b52d9dc82a220cca1355f1dca3d57a838.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8427>

2025-01-29 20:42:55 +1100  Jan Schmidt <jan@centricular.com>

	* tests/examples/rtsp/test-onvif.c:
	  test-onvif example: Add support for AAC backchannel
	  Detect upstream backchannel codec and support AAC in MPEG4-GENERIC
	  encapsulation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8378>

2025-02-03 14:00:23 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/gst_plugins_cache.json:
	* sys/v4l2/gstv4l2object.c:
	  v4l2: object: Use libgstvideo DMA DRM mapping
	  Complete the mapping by pulling GST/DRM mapping from libgstvideo. This removes
	  the duplication.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404>

2025-01-25 04:29:54 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/matroska/matroska-demux.c:
	  matroskademux: Implement rotation tag support
	  Similar to qtdemux.
	  Tested against other Gst elements and MPV. Note that the later
	  apparently does not show correct results for flipped values.
	  In particular the Yaw value seems to get ignored by many clients.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319>

2025-01-20 00:37:58 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/matroska/matroska-mux.c:
	  matroskamux: Implement rotation tag support
	  Similar to qtmux, but for mkv and webm containers.
	  Tested against other Gst elements and MPV. Note that the later
	  apparently does not show correct results for flipped values.
	  In particular the Yaw value seems to get ignored by many clients.
	  Can be tested with:
	  ```
	  gst-launch-1.0 \
	  videotestsrc num-buffers=90 ! \
	  taginject tags="image-orientation=rotate-270" ! \
	  capsfilter caps=video/x-raw,width=640,height=480,max-framerate=30/1 ! \
	  videoconvert ! \
	  queue ! \
	  vp8enc ! \
	  queue ! \
	  webmmux ! \
	  filesink location=./test.webm
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319>

2025-01-20 00:35:03 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/matroska/matroska-ids.h:
	  matroska: Add projection IDs
	  These will allow us to support rotate methods with matroska v4 and
	  the corresponding webm.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319>

2025-02-02 16:09:06 +0100  Tomas Granath <tomas.granath@outlook.com>

	* gst/matroska/matroska-demux.c:
	  matroskademux: Mark streams as EOS when outside the requested segment
	  Ensure that streams with no (more) data are marked as EOS when
	  advancing past the requested segment. Without this change the
	  EOS would be postponed to the end of the file in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8395>

2024-06-11 17:46:11 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* meson.build:
	  meson: use nls option to ENABLE_NLS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017>

2023-09-29 18:10:09 +0200  Tim-Philipp Müller <tim@centricular.com>

	* scripts/update-orc-dist-files.py:
	  scripts: update update-orc-dist-files.py scripts for new gst-indent
	  And fix python indentation with autopep8
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2025-01-30 15:48:03 +1100  Jan Schmidt <jan@centricular.com>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2vidoedec: Fix caps negotiation in non-DRM case
	  Append acquired_caps to the filter_caps being built,
	  instead of a 2nd copy of acquired_drm_caps.
	  Fix a regression introduced in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7633
	  when downstream doesn't support DRM output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8385>

2025-01-27 16:38:38 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/osxaudio/gstosxcoreaudio.c:
	  osxaudio: Always expose max amount of channels with no positions
	  For outputs with a high number of channels, macOS has a bug where
	  initially CoreAudio will report incorrect positions for all channels,
	  but after you run Audio MIDI Setup and configure the speaker layout
	  there, macOS will always report those few as positioned, with no option
	  to revert that (other than deleting some internal files).
	  In such scenario our code would just ignore all the unpositioned
	  channels. Since you can only position max. 16 channels in macOS, if you
	  had more on your output device, those would be unusable.
	  This commit makes sure that in addition to the usual positioned layout
	  (if there is one), we will expose caps for a no-positions layout that
	  always has the maximum amount of channels available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8311>

2025-01-16 17:27:50 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/osxaudio/gstosxcoreaudio.c:
	  osxaudio: Work around invalid channel positions from CoreAudio
	  By default, for devices with larger amounts of outputs, CoreAudio can
	  provide invalid channel labels/positions, simply by starting at 0 and
	  incrementing forward. For example, values 19 through 32 are not valid
	  according to the CoreAudioBaseTypes.h header, but if your device has >19
	  output channels, you will find CoreAudio using those values.
	  This is most likely a bug in CoreAudio, since in that case it should use
	  unpositioned labels (e.g. _Discrete_X) instead.
	  This commit aims to work around this by overriding all channels to be
	  unpositioned if the case above is detected.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8311>

2025-01-19 18:49:57 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/isomp4/gstqtmux.c:
	  qtmux: Implement rotation tag support
	  Mirroring the demux element and isomp4mux from gst-plugins-rs.
	  Tested against other Gst elements and MPV. Note that the later
	  apparently does not show correct results for flipped values.
	  Can be tested with:
	  ```
	  gst-launch-1.0 \
	  videotestsrc num-buffers=90 ! \
	  taginject tags="image-orientation=rotate-90" ! \
	  capsfilter caps=video/x-raw,width=640,height=480,max-framerate=30/1 ! \
	  videoconvert ! \
	  queue ! \
	  openh264enc ! \
	  queue ! \
	  h264parse ! \
	  mp4mux ! \
	  filesink location=./test.mp4
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8371>

2025-01-28 15:08:03 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/isomp4/gstqtmux.c:
	  qtmux: fix critical warnings on negotiation error
	  This pipeline fails to negotiate on my PC:
	  gst-launch-1.0 v4l2src ! h264parse ! qtmux ! filesink location=t.mp4
	  When it happens some critical glib warnings are emitted:
	  -------------------------------
	  GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_copy: assertion 'mini_object != NULL' failed
	  GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_unref: assertion 'mini_object != NULL' failed
	  GStreamer-CRITICAL **: 15:09:03.485: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
	  GStreamer-CRITICAL **: 15:09:03.485: gst_structure_set_value: assertion 'structure != NULL' failed
	  GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_unref: assertion 'mini_object != NULL' failed
	  --------------------------------
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8374>

2025-01-26 13:16:51 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/debugutils/gsttaginject.c:
	  taginject: typo fix in usage example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8362>

2025-01-21 18:29:47 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/matroska/matroska-demux.c:
	* gst/matroska/matroska-demux.h:
	  matroskademux: Add support to seek with stop in push mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8340>

2025-01-15 17:36:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: generate hotdoc configs for libraries with our helper script
	  With this patch, configure time is identical no matter whether doc is
	  enabled or not.
	  The configuration files also now contain explicitly-listed sources with
	  no wildcards.
	  For the four libraries where hotdoc needs to use clang to generate the
	  documentation (as opposed to the rest of the libraries where hotdoc uses
	  the gir), the script will call pkg-config to determine the appropriate
	  C flags.
	  This means a side effect of this patch is that pkg-config files are now
	  generated for the gstadaptivedemux and gstopencv libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-17 16:51:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* meson.build:
	  meson: bump minimum version to 1.4 in every subprojects
	  36c01d05797ad9c7778939c54870f979bdcbba1f bumped to 1.4 for gst-devtools
	  and the root project, but we usually keep those in sync everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-14 16:29:28 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/audiofx/gstscaletempo.c:
	* gst/audiofx/gstscaletempo.h:
	  scaletempo: expose alternative mode, fit-down
	  In fit-down mode only 1.0 rates are supported, and the element will fit
	  audio data in buffers to their advertised duration.
	  This is useful in speech synthesis cases, where elements such as
	  awspolly will generate audio data from text, and assign the duration of the
	  input text buffers to their output buffers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8149>

2025-01-14 15:00:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.1

=== release 1.25.1 ===

2025-01-14 14:52:48 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.25.1

2025-01-13 18:10:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* ext/aalib/meson.build:
	* ext/adaptivedemux2/hls/meson.build:
	* ext/adaptivedemux2/meson.build:
	* ext/amrnb/meson.build:
	* ext/amrwbdec/meson.build:
	* ext/cairo/meson.build:
	* ext/dv/meson.build:
	* ext/flac/meson.build:
	* ext/gdk_pixbuf/meson.build:
	* ext/gtk/meson.build:
	* ext/jack/meson.build:
	* ext/jpeg/meson.build:
	* ext/lame/meson.build:
	* ext/libcaca/meson.build:
	* ext/libpng/meson.build:
	* ext/mpg123/meson.build:
	* ext/pulse/meson.build:
	* ext/qt/meson.build:
	* ext/qt6/meson.build:
	* ext/raw1394/meson.build:
	* ext/shout2/meson.build:
	* ext/soup/meson.build:
	* ext/speex/meson.build:
	* ext/taglib/meson.build:
	* ext/twolame/meson.build:
	* ext/vpx/meson.build:
	* ext/wavpack/meson.build:
	* gst/alpha/meson.build:
	* gst/apetag/meson.build:
	* gst/audiofx/meson.build:
	* gst/audioparsers/meson.build:
	* gst/auparse/meson.build:
	* gst/autodetect/meson.build:
	* gst/avi/meson.build:
	* gst/cutter/meson.build:
	* gst/debugutils/meson.build:
	* gst/deinterlace/meson.build:
	* gst/dtmf/meson.build:
	* gst/effectv/meson.build:
	* gst/equalizer/meson.build:
	* gst/flv/meson.build:
	* gst/flx/meson.build:
	* gst/goom/meson.build:
	* gst/goom2k1/meson.build:
	* gst/icydemux/meson.build:
	* gst/id3demux/meson.build:
	* gst/imagefreeze/meson.build:
	* gst/interleave/meson.build:
	* gst/isomp4/meson.build:
	* gst/law/meson.build:
	* gst/level/meson.build:
	* gst/matroska/meson.build:
	* gst/meson.build:
	* gst/monoscope/meson.build:
	* gst/multifile/meson.build:
	* gst/multipart/meson.build:
	* gst/replaygain/meson.build:
	* gst/rtp/meson.build:
	* gst/rtpmanager/meson.build:
	* gst/rtsp/meson.build:
	* gst/shapewipe/meson.build:
	* gst/smpte/meson.build:
	* gst/spectrum/meson.build:
	* gst/udp/meson.build:
	* gst/videobox/meson.build:
	* gst/videocrop/meson.build:
	* gst/videofilter/meson.build:
	* gst/videomixer/meson.build:
	* gst/wavenc/meson.build:
	* gst/wavparse/meson.build:
	* gst/xingmux/meson.build:
	* gst/y4m/meson.build:
	* meson.build:
	* sys/directsound/meson.build:
	* sys/oss/meson.build:
	* sys/oss4/meson.build:
	* sys/osxaudio/meson.build:
	* sys/osxvideo/meson.build:
	* sys/rpicamsrc/meson.build:
	* sys/v4l2/meson.build:
	* sys/waveform/meson.build:
	* sys/ximage/meson.build:
	  docs: port plugins to explicit sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>

2025-01-04 10:06:46 +0100  Edward Hervey <edward@centricular.com>

	* meson.build:
	  good: Enable extra warning flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 10:06:15 +0100  Edward Hervey <edward@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Fix GST_(S)TIME_{ARGS|FORMAT} usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 10:05:54 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/gstisoff.c:
	* ext/qt/gstqtsink.cc:
	* ext/qt/gstqtsrc.cc:
	* ext/qt6/gstqml6glsink.cc:
	* ext/qt6/gstqml6glsrc.cc:
	* ext/wavpack/gstwavpackcommon.c:
	* gst/audioparsers/gstwavpackparse.c:
	* gst/avi/gstavidemux.c:
	* gst/debugutils/gstpushfilesrc.c:
	* gst/deinterlace/gstdeinterlace.c:
	* gst/goom/goom_core.c:
	* gst/interleave/interleave.c:
	* gst/isomp4/gstisoff.c:
	* gst/isomp4/qtdemux.c:
	* gst/matroska/matroska-demux.c:
	* gst/matroska/matroska-parse.c:
	* gst/rtpmanager/gstrtprtxqueue.c:
	* gst/rtsp/gstrtspsrc.c:
	* gst/wavparse/gstwavparse.c:
	  good: Clearly specify fallthrough in switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

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

	* gst/matroska/matroska-demux.c:
	* gst/matroska/matroska-parse.c:
	  matroska: Reorder switch/case for parsing
	  Just makes it clearer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 10:01:40 +0100  Edward Hervey <edward@centricular.com>

	* gst/isomp4/gstqtmux.c:
	  qtmux: Fix GST_STIME_ARGS usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 10:00:59 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemux-stream.c:
	  adaptivedemux2: Fix CLAMP usage
	  It's a positive value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 10:00:07 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/hls/gsthlsdemux-util.c:
	  adaptivedemux2: Remove useless ABS
	  Just compare the difference (in the right order)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 10:03:42 +0100  Edward Hervey <edward@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Fix wrong usage of GstClockTime vs GstClockTimeDiff
	  This could potentially have caused issues (because of the rest of the code using
	  checks for signed invalid values on a unsigned value)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

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

	* gst/multifile/gstsplitmuxsrc.c:
	  splitmuxsrc: Add missing break
	  This would cause the reconfigure path to be called
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-04 09:59:55 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemux.c:
	  adaptivedemux2: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-04 09:59:34 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemux-stream.c:
	* ext/adaptivedemux2/gstadaptivedemux-track.c:
	* ext/adaptivedemux2/hls/gsthlsdemux-stream.c:
	* ext/adaptivedemux2/hls/gsthlsdemux-util.c:
	* ext/adaptivedemux2/hls/gsthlsdemux.c:
	* ext/adaptivedemux2/hls/m3u8.c:
	  adaptivedemux2: Fix usage of GstClockTime vs GstClockTimeDiff
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-07 09:31:26 +0100  Edward Hervey <edward@centricular.com>

	* gst/multifile/gstsplitmuxsrc.c:
	  splitmuxsrc: Ensure only a single stream-start event is pushed
	  Since we are simulating a single output, we want to ensure only a single
	  stream-start is pushed downstream. We do *not* want to send a (potentially) new
	  stream start event after flushing (like after seeks).
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4146
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8252>

2025-01-09 17:12:54 +0000  Will Miller <will.miller@pexip.com>

	* gst/rtp/gstrtpvp9pay.c:
	* tests/check/elements/rtpvp9.c:
	  rtpvp9pay: fix profile parsing
	  Incorrect parsing of these bits meant that we were incorrectly parsing
	  the VP9 uncompressed bitstream header for some profiles, as the header
	  is of variable length and format depending on the profile. Amongst
	  various unintended effects, this caused the width and height from the SS
	  to be incorrectly parsed and set in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8275>

2018-10-16 12:42:22 +0100  Alex Ashley <bugzilla@ashley-family.net>

	* tests/check/elements/dash_mpd.c:
	  dashdemux2: mpdparser: add test for ISO8601 durations that overflow
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/82
	  and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2576
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8209>

2024-11-08 12:06:28 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/osxaudio/gstosxaudiosrc.c:
	* sys/osxaudio/gstosxcoreaudio.h:
	  osxaudiosrc: Work around timestamps on iOS not starting from 0
	  On macOS, you always get your own 'timeline' for the AudioUnit session, so timestamps start from 0.
	  On iOS however, AudioUnit seems to give you a 'shared' timeline so timestamps start at a later, non-0 point in time.
	  Simply offsetting seems to do the trick.
	  This was causing osxaudiosrc to not output any sound on iOS.
	  Regressed in 2df9283d3f2ea06af5ebd6db03a6d545cac52f19
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>

2024-11-08 12:02:23 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/osxaudio/gstosxcoreaudiocommon.c:
	  osxaudiosrc: Fix render callback removal when pausing/stopping
	  At least on iOS, the 'input' callback kept being called after going to PAUSED.
	  Specifying the right type (like in gst_core_audio_io_proc_start()) fixes that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>

2024-11-08 11:57:49 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/osxaudio/gstosxcoreaudiocommon.c:
	  osxaudio: Fix AudioOutputUnitStart() deadlock on iOS >=17
	  At some point in iOS 17, this call started waiting for the first render callback (io_proc) to finish.
	  In our case, that callback also takes the ringbuf object lock by calling gst_audio_ring_buffer_set_timestamp(),
	  which results in a deadlock.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>

2024-11-08 11:54:27 +0100  Piotr Brzeziński <piotr@centricular.com>

	* meson.build:
	* sys/osxaudio/gstiosaudiosession.h:
	* sys/osxaudio/gstiosaudiosession.m:
	* sys/osxaudio/gstosxaudiosink.c:
	* sys/osxaudio/gstosxaudiosink.h:
	* sys/osxaudio/gstosxaudiosrc.c:
	* sys/osxaudio/gstosxaudiosrc.h:
	* sys/osxaudio/gstosxcoreaudio.c:
	* sys/osxaudio/gstosxcoreaudio.h:
	* sys/osxaudio/gstosxcoreaudioremoteio.c:
	* sys/osxaudio/meson.build:
	  osxaudio: Automatically set up AVAudioSession on iOS
	  A correctly configured AVAudioSession is needed on iOS to:
	  - allow the application to capture microphone audio (in some cases)
	  - avoid playback being silenced in silent mode
	  Without this, initializing AudioUnit for capture can fail on iOS >=17 (from my testing).
	  Since AVAudioSession has a lot of settings, in most cases its setup should be handled by the user/app.
	  However, just to have a basic default scenario covered, let's configure the bare minimum ourselves,
	  and allow anyone to disable that behaviour by setting configure-session=false on src/sink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>

2025-01-06 20:30:51 +0800  Dean Zhang (张安迪) <dean.zhang@mediatek.com>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2videodec: release decode only frame in input list
	  For some frames with decode-only flag, the v4l2 decoder will not
	  put them in output list. The corresponding decode-only frames will
	  be still kept in input list, which may cause potential performance
	  issue when the input list is full. So release the decode-only frames
	  according to the decode-only flag after they are processed by decoder
	  driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8153>

2024-12-31 11:49:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-mux.c:
	* tests/check/elements/matroskamux.c:
	  matroskamux: Consider audio buffers as keyframes when writing out simpleblocks
	  Otherwise mpv complains and considers the file broken.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4142
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8225>

2024-12-31 11:42:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-mux.c:
	  matroskamux: Fix audio-only stream conditions
	  The num_a_streams and related counters are used for pad numbers and don't give
	  the absolute number of streams in this run of the muxer.
	  Also, consider the output audio-only if there are more than 1 audio stream too.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4142
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8225>

2024-12-17 20:08:24 +0100  Christian Meissl <meissl.christian@gmail.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: fix accumulated base offset in segment seeks
	  analog to fix for matroska-demux
	  commit f3c126d07c8a85e76bf5abdfa7f140bbf20545ea
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8240>

2024-12-17 21:23:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux.h:
	* gst/isomp4/qtdemux_types.c:
	  qtdemux: Add support for ISO/IEC 23003-5 raw PCM audio
	  And also support the ISO/IEC 14496-12 chnl channel layout box as required
	  by ISO/IEC 23003-5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8171>

2025-01-02 12:24:03 +0100  Jochen Henneberg <jochen@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Undef helper macros after use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127>

2024-12-18 08:44:30 +0100  Jochen Henneberg <jochen@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Validate matrix before doing simplified multiply
	  The matrix multiplication makes some assumption about the element
	  values to simplify the math with fixpoint values. If this is allowed
	  for the given matrices is now checked first.
	  Then the debug output for matrix and a comment have been fixed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127>

2024-12-17 10:48:45 +0100  Jochen Henneberg <jochen@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fixup for orientation matrix parsing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127>

2024-12-10 21:34:48 +0100  Jochen Henneberg <jochen@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Use mvhd transform matrix and support for flipping
	  The mvhd matrix is now combined with the tkhd matrix. The combined
	  matrix is then checked if it matches one of the standard values for
	  GST_TAG_IMAGE_ORIENTATION.
