=== release 1.26.3 ===

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

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

2025-06-25 00:00:57 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp/gstrtspsrc.c:
	  gstrtspsrc: Don't emit error during close if server is EOF
	  During a graceful close we try to notify the server that we're
	  finished. There is no reason to consider it an error if the
	  server has already closed the connection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9280>

2025-04-30 17:42:25 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst/imagefreeze/gstimagefreeze.c:
	  imagefreeze: fix not negotiate error when stop
	  when the chain is called between reset and pad deactive in base
	  change state, a "not negotiation" error is produced.
	  so, we add a judge for flushing and reset
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9272>

2025-06-21 07:06:04 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Only send closed message once per open fragment
	  We send a closed message on EOS. It's possible to receive multiple EOS
	  messages before opening the next fragment (from an element change state
	  for example).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-03 14:25:00 +0530  Pratik Pachange <ppachang@qti.qualcomm.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Add support for colorimetry bt2100-pq and 1:4:5:3
	  Colorimetry bt2100-pq is a variant of colorspace V4L2_COLORSPACE_BT2020
	  where the transfer function is SMPTE 2084 which is used by HDR content.
	  Colorimetry 1:4:5:3 is a full-range variant of colorspace
	  V4L2_COLORSPACE_470_SYSTEM_BG
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9259>

2025-03-10 21:18:55 +0100  Jakub Adam <jakub.adam@collabora.com>

	* ext/adaptivedemux2/dash/gstmpdclient.c:
	  dashdemux2: Fix seeking in a stream with gaps
	  When there are gaps between segments in the DASH manifest (e.g. it's a
	  recording of a live stream during which the camera was turned on and off
	  a couple times), seeking to a timestamp that belongs into a gap leads to
	  repeat_index calculation yielding a nonsensical negative number (because
	  ts < segment->start).
	  In such event set the playback to continue at the first repetition of
	  the segment that follows after the gap.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9253>

2025-06-14 12:45:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2transform.c:
	  v4l2: transform: Fix pool leak on error
	  Also remove un-needed nul checks.
	  Suggested-by: Elham nikooie
	  Fixes: #3097
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9252>

2025-06-14 12:32:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2videoenc.c:
	  v4l2: encoder: Fix possible internal pool leak
	  Also remove the unneeded null checks that have spread around.
	  Suggested-by: Elham nikooie
	  Fixes: #3097
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9252>

2025-05-21 08:19:45 +0200  Johan Sternerup <johast@axis.com>

	* gst/rtpmanager/rtptwcc.c:
	* tests/check/elements/rtpsession.c:
	  twcc: Fix reference timestamp wrapping (again)
	  With
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7527
	  an attempt was made to fix the wrapping of the TWCC 24-bit reference
	  time. Unfortunately this fix was not correct due to a late change and
	  the lack of unit tests to catch it. This time unit tests are provided to
	  make sure we have a correct fix for all the edge cases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9244>

2025-06-17 14:39:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: Don't error out always when parsing acid chunks
	  Remove stray goto introduced in ba8fd35e72b645c5048813d1bcc58271fb72ab6c
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4495
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9241>

2025-06-13 19:50:52 +1000  Matthew Waters <matthew@centricular.com>

	* gst/rtp/gstrtph265pay.c:
	  rtph265depay: CRA_NUT can also start an (open) GOP
	  https://datatracker.ietf.org/doc/html/rfc7798#section-3.1.1 says that a CRA_NUT
	  can start a GOP so add that to the list of nal types where VPS/SPS/PPS can be
	  inserted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9240>

2025-06-11 19:25:47 +1000  Matthew Waters <matthew@centricular.com>

	* gst/rtp/gstrtph265depay.c:
	  rtph265depay: fix codec_data generation
	  When producing the profile_teir_level() struct, account for emulation
	  prevention bytes (0x0, 0x0, 0x3) in the source SPS.  Also copy from the correct
	  starting point in the source SPS and don't put the NAL header into codec_data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9239>

2025-06-12 18:26:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/aacparse.c:
	  aacparse: Add test for correctly parsing the number of channels from codec_data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9236>

2025-06-11 10:05:21 +0900  changyong.ahn <changyong.ahn@lge.com>

	* gst/audioparsers/gstaacparse.c:
	  aacparse: Fix counting audio channels in program_config_element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9236>

2025-05-26 16:39:15 +0900  changyong.ahn <changyong.ahn@lge.com>

	* gst/audioparsers/gstaacparse.c:
	  gstaacparse: Fix counting audio channels in program_config_element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9236>

2025-06-04 14:42:17 +0200  César Alejandro Torrealba Vázquez <cesaratvgit@gmail.com>

	* gst/isomp4/atoms.c:
	* gst/isomp4/atoms.h:
	* gst/isomp4/gstqtmux.c:
	  qtmux: Update chunk offsets when converting stco to co64 with faststart
	  When creating a faststart file, qtmux has to take into account that
	  any 32 bit stco atom may need to be converted into its 64 bit version
	  due to the offset that is added before the mdat data by the moov atom,
	  the extra atoms and the mdat header. If a stco atom is converted into
	  co64, the chunk offset of all stco and co64 atoms has to be increased,
	  which in turn may also cause that other stco atoms need to be converted
	  into co64, modifying the chunk offsets again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9237>

2025-05-26 23:51:16 +0200  Aleix Pol <aleixpol@kde.org>

	* ext/qt/qtitem.cc:
	* ext/qt/qtitem.h:
	* ext/qt6/qt6glitem.cc:
	* ext/qt6/qt6glitem.h:
	  qml6glitem,qtitem: Allow configuring if the item will consume input events
	  At the moment we are always accepting the input events to forward into
	  GStreamer infrastructure. This works but we might have other uses for
	  such events elsewhere in the QtQuick scene so allow opting out to this
	  behaviour.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9226>

2025-03-11 14:45:46 +0900  Elliot Chen <elliot.chen@nxp.com>

	* ext/adaptivedemux2/downloadhelper.c:
	  adaptivedemux2: free cancellable when freeing transfer task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9197>

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

	* sys/osxvideo/osxvideosink.m:
	  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>

2025-05-08 00:10:42 -0400  Thibault Saunier <tsaunier@igalia.com>

	* sys/osxvideo/osxvideosink.m:
	  osxvideosink: Use gst_pad_push_event() and post navigation messages
	  Use gst_pad_push_event() instead of manually getting peer pad and calling
	  gst_pad_send_event() otherwise the pad probe on the sinkpad wouldn't get the
	  events.
	  Also ensure navigation events are posted to the bus even when gst_pad_push_event()
	  fails in the render function, so navigation remains functional regardless
	  of rendering issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9169>

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-good.doap:
	* meson.build:
	  Release 1.26.2

2025-04-29 09:43:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Use byte reader to parse mvhd box
	  This avoids OOB reads.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4394
	  Fixes CVE-2025-47183
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9133>

2025-05-23 05:07:38 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/adaptivedemux2/downloadhelper.c:
	  adaptivedemux2: Ensure all download tasks call g_task_return_*()
	  There is a small window during stopping when tasks have been add
	  to the transfer_requests queue, but never transfered to the
	  active_transfers array and causes the fallowing error:
	  GTask 0x7f2c4400e930 (source object: (nil), source tag: (nil)) finalized
	  without ever returning (using g_task_return_*()).
	  This potentially indicates a bug in the program.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9108>

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

	* ext/adaptivedemux2/dash/gstdashdemux.c:
	  gstreamer: A few small memory cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-25 19:31:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst/rtp/gstrtputils.c:
	  rtputils: Add debug category
	  Use rtputils specific debug category instead of "default"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9093>

2025-03-19 14:56:52 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/imagefreeze/gstimagefreeze.c:
	  imagefreeze: Reset 'flushing' state when receiving FLUSH_STOP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9092>

2025-03-19 14:55:58 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/imagefreeze/gstimagefreeze.c:
	  imagefreeze: Set seqnum from segment too
	  This is the right behavior, setting from seeks is also OK but we should take the seqnums from segment into account too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9092>

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

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

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

	* gst/spectrum/gstspectrum.c:
	  spectrum: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

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

	* gst/law/mulaw-decode.c:
	* gst/law/mulaw-encode.c:
	* gst/law/mulaw.c:
	  law: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

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

	* ext/flac/gstflacdec.c:
	  flac: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-13 19:44:21 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp/gstrtspsrc.c:
	  gstrtspsrc: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-03-30 01:41:10 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/adaptivedemux2/dash/gstmpdclient.c:
	  dash: mpdclient: Don't pass terminating NUL to adapter
	  libxml2 will complain if it detects any characters after the valid
	  XML, including a NUL byte.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9068>

2025-05-23 09:41:51 +0200  Branko Subasic <branko@axis.com>

	* gst/matroska/matroska-mux.c:
	  matroskamux: Write stream headers before finishing file
	  In the rare case when we get EOS on all pads before we get any buffer we
	  would finish the file without writing headers, i.e. the file would be
	  corrupt. This patch makes sure that a header is always written.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9066>

2025-05-23 09:33:35 +0200  Jan Schmidt <jan@centricular.com>

	* ext/qt6/meson.build:
	  meson: Add build_rpath for qt6 plugin on macOS
	  This is the same fix for qt6 that was done for the qt5 plugin
	  in gstreamer/gstreamer!3708
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9064>

2025-05-21 20:29:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson_options.txt:
	  meson: Add a monorepo-wide qt-method option and yield to it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9063>

2025-05-21 20:23:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/examples/qt/meson.build:
	* tests/examples/qt6/meson.build:
	  meson: Make qml/qml6 plugins use the right qt detection method
	  Otherwise they can pick up the wrong qt and cause two different Qt
	  instances to be used in the same program.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9063>

2025-05-17 15:24:29 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videofilter/gstvideobalance.c:
	  videobalance: Implement basetransform meta transform function
	  This makes sure we can pass through more metas correctly, e.g.
	  GstVideoOverlayComposition meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9041>

2025-05-21 15:39:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: cmpd box is only mandatory for uncompressed video with uncC version 0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9040>

2025-05-13 11:27:23 +0900  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	  v4l2: pool: Send drop frame signal after dqbuf success
	  This is a regression introduced by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5479
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4424
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9036>

2025-05-06 11:17:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Add support for DNxHR
	  Apart from the fourcc it works the same as DNxHD and can be distinguished from
	  the beginning of each frame header.
	  ffmpeg uses the same codec ID for DNxHD and DNxHR so we use the same caps with
	  just an additional, optional profile field for the DNxHR profile.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3066
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-06 11:02:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux.h:
	  qtdemux: Parse content light level and mastering display info if available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-03 18:07:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Use already parsed codec data boxes instead of parsing a second time
	  And parse common boxes in a central place.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-03 12:28:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	  qtdemux: Add missing codec sample entry fourccs to qtdemux_parse_node()
	  This allows parsing the various common sample entry boxes like btrt, colr, pasp,
	  chan, chnl, etc. for extending the caps with additional information.
	  Also unify some cases, which as a side effect makes them more correct because
	  many were not checking for different versions of the boxes and the corresponding
	  different offsets.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4403
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

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

	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux_types.c:
	  qtdemux: Take Theora headers directly out of the already parsed nodes
	  Instead of parsing them yet another time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 22:24:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't parse fiel box a second time for JPEG-2000
	  It was already parsed above in general for all video codecs. Just put the number
	  of fields into the JPEG-2000 in the specific field.
	  As a side effect this also actually checks if enough data is available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 22:20:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Remove second parsing of fiel box for JPEG
	  Exactly the same is already done some hundred lines above for all video codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 21:54:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Simplify parsing of SVQ3/VP31 boxes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 19:20:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Parse codec data for QDM2/QDMC correctly
	  First find the wave box then include its whole content instead of just including
	  everything from a random offset onwards.
	  Also actually do that for QDMC instead of leaving commented code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 18:55:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Use already parsed damr box for AMR NB/WB streams
	  Instead of parsing it again and possibly getting the offset for reading
	  it wrong.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 18:35:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't parse audio sample entry a second time in mp4a fallback case
	  These values were all passed a few hundred lines above already and can directly
	  be re-used here. The offset for the sample rate was also wrong.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 11:08:51 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux_tree.c:
	* gst/isomp4/qtdemux_tree.h:
	  qtdemux: Add qtdemux_tree_get_child_by_index_full() helper function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 20:13:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fix endianness/alignment problems with parsing omwa sample description entries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 19:54:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Handle stsd entry offset correctly for audio in qtdemux_parse_node()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 18:59:34 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Pass stsd entry node to caps creation functions
	  Also fix lpcm to only read its additional fields from sound sample description v2.
	  Previously it would read random data if a different stsd entry was used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 18:47:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't parse invalid data from ISOBMFF AudioSampleEntryV1
	  The additional fields only exist in sound sample description v1, which
	  is only defined for MOV.
	  ISOBMFF has AudioSampleEntryV1 but it has the exact same layout as
	  AudioSampleEntry.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 16:22:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't retrieve video stsd entry multiple times
	  And remove various duplicated checks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 16:15:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Parse uncompressed video uncC / cmpd boxes from already parsed stsd entry
	  Also simplifies code and error checking considerably.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 15:58:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't retrieve enca/encv boxes a second time, wrongly
	  They need to be retrieved by index and they were already correctly retrieved
	  just above so let's just use that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-04 15:48:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Use already parsed stsd entries instead of parsing them again
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-05 17:28:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fix typo in debug message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-06 15:47:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't configure any channel-mask in fallback case with 1 channel
	  For mono we don't set any channel mask. Setting 0 would mean an unpositioned
	  layout with a single channel.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-03 17:49:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Add channel layouts to three more raw audio fourccs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-03 12:26:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/fourcc.h:
	* gst/isomp4/qtdemux.c:
	  qtdemux: Parse chan box
	  This is another variant of providing channel positions.
	  Also if neither chan nor chnl boxes are found, configure a default channel
	  layout for raw audio tracks.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4403
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9006>

2025-05-17 11:15:11 +0200  Jan Schmidt <jan@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemux.c:
	  adaptivedemux: Answer element-level SELECTABLE query
	  Add handling for the selectable query as an element query,
	  on top of the existing pad query handling. This is useful
	  for uridecodebin when handling stream collection messages
	  before any adaptivedemux source pads have been exposed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9012>

2025-05-17 11:13:33 +0200  Jan Schmidt <jan@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemux.c:
	  adaptivedemux: Copy collection inside lock
	  When posting the collection message, don't access the shared
	  collection after releasing the manifest and track locks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9012>

2025-05-12 13:19:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: Error out correctly if no data tag is found until EOS in pull mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8986>

2025-05-09 10:49:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: Ignore EOS when parsing the headers
	  The file might be truncated or contain < 8 bytes of remaining data after the
	  last chunk.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4426
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8986>

2025-05-02 08:56:19 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/debugutils/gstnavigationtest.c:
	* gst/debugutils/gstpushfilesrc.c:
	* gst/multipart/multipartdemux.c:
	* gst/rtp/gstrtpsbcpay.c:
	* sys/v4l2/gstv4l2radio.c:
	* sys/v4l2/gstv4l2sink.c:
	* sys/ximage/gstximagesrc.c:
	  properties: add G_PARAM_STATIC_STRINGS where missing
	  "Hold on, I know you need to generate the registry, but let me just
	  create copies of all those strings first", Framework whispered
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-07 22:19:44 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/rtp/gstrtph264pay.c:
	  rtph264pay: Reject stream-format=avc without codec_data
	  Without the codec_data, it's impossible to know the size of the field
	  for the number of NALu in a buffer. And since nal_length_size is unkown
	  the stream can't be parsed and payloaded and we risk an infinite loop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8959>

2025-05-04 13:41:56 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Check length of JPEG2000 colr box before parsing it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8937>

2025-05-03 18:24:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Remove obsolete TODO comment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8937>

2025-05-06 12:41:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/interleave/interleave.c:
	  interleave: Don't hold object lock while querying caps downstream
	  This can easily lead to deadlocks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8934>

2025-04-01 23:03:02 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	* sys/v4l2/gstv4l2bufferpool.h:
	  v4l2: pool: fix assert when mapping video frame with DMA_DRM caps
	  Make sure the pool recognizes DMA_DRM caps and parses them into
	  GstVideoInfo that has GstVideoFormat corresponding to "drm-format"
	  in the caps.
	  Fixes
	  gst_video_frame_map_id: assertion 'info->finfo->format ==
	  meta->format' failed
	  Where the left side of the assertion was GST_VIDEO_FORMAT_DMA_DRM and
	  the right side was some GstVideoFormat converted from DRM fourcc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8922>

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

	* ext/meson.build:
	  gst-examples: Port all webrtc examples to libsoup-3.0
	  Also do some indent changes, and add `static` while we're at it.
	  And move the libsoup wrap to 3.6.5, add nghttp2 wrap
	  We need to disable libsoup 3.0 tests because they fail to build on
	  Windows.
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1115
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8919>

2025-04-01 17:58:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/lame/meson.build:
	* ext/meson.build:
	  meson: Add include_type: 'system' everywhere to squelch wrap warnings
	  Wrap dependencies add a ton of warnings with the latest GCC in Fedora
	  42. Squelch them by specifying that these dependencies are not
	  a part of the gstreamer project, and should be treated as system deps.
	  libsoup needs some porting work for the bump, and vorbis/lame are
	  already at their latest releases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8919>

2025-04-28 13:24:45 +0900  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2videoenc.c:
	  v4l2videoenc: report error only when buffer pool parameters are invalid
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8912>

2025-04-24 20:26:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8890>

=== release 1.26.1 ===

2025-04-24 20:20:14 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-04-23 12:06:48 -0700  Eli Mallon <eli@aquareum.tv>

	* gst/isomp4/qtdemux.c:
	  qtdemux: unref simple caps after use
	  Otherwise we leak a GSTCaps object every time we
	  use qtdemux on a file with Opus audio
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8880>

2024-02-21 17:19:45 +0900  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	* sys/v4l2/gstv4l2videodec.c:
	  v4l2: drop frames for those dequeued buffer with error flag
	  Some frames are dequeued with error flag, which may cause AV unsync if decoder
	  does not drop them as soon as possible. So add "output-error-dequeued" and
	  "capture-error-dequeued" signal for v4l2 to drop such frames.
	  Fixes #3031
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8869>

2025-04-16 11:58:45 +0200  Stefan Andersson <stefana@axis.com>

	* gst/matroska/matroska-demux.c:
	  matroska-demux: Prevent corrupt cluster duplication
	  Make sure to always update next_cluster_offset, if next cluster offset
	  isn't known set it to zero. If next_cluster_offfset isn't updated it will
	  be the same as current and if the cluster parsing fails the same cluster
	  will be parsed again leading to duplication of the data in the cluster.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8856>

2025-04-10 11:31:28 +0200  Gustav Fahlen <gustafah@axis.com>

	* gst/rtsp/gstrtspsrc.c:
	  gstrtspsrc: Do not emit signal 'no-more-pads' too early
	  Due to race condition it was previously possible that
	  gst_element_add_pad was not completed for each RTSP stream before
	  signal 'no-more-pads' was emitted.
	  Race condition explained:
	  Lets say two RTSP streams are created: Video and Audio.
	  1. Callback new_manager_pad is called for the Video stream =>
	  stream->added=TRUE.
	  all_added=FALSE because both streams are not yet added.
	  Call gst_element_add_pad and emit signal 'pad-added' for Video stream.
	  2. Callback new_manager_pad is called for Audio stream =>
	  stream->added=TRUE.
	  all_added=TRUE because both streams are added.
	  Call gst_element_add_pad and emit signal 'pad-added' for Audio stream.
	  3. Lets say gst_element_add_pad for the audio stream completes before
	  the video stream. Since the audio stream already has all_added==TRUE
	  this will result in the signal 'no-more-pads' to be emitted before
	  gst_element_add_pad for the video stream is completed.
	  Solution is to move the logic that sets added=True and checks if all
	  streams are added to after gst_element_add_pad. This will make sure
	  signal 'no-more-pads' is not emitted until all code in
	  gst_element_add_pad is completed for all streams.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8836>

2025-04-09 18:08:19 +1000  Jan Schmidt <jan@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	* gst/rtsp/gstrtspsrc.h:
	  rtspsrc: Don't error out on not-linked too early
	  Wait until all pads have been exposed before accepting a not-linked,
	  as pads are added one-by-one and downstream might not be interested
	  in the first ones to appear.
	  Follow up to
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7946
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8816>

2025-04-07 17:16:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/y4m/gsty4mencode.c:
	  y4menc: fix Y41B format
	  This a regression of commit fb0bea8f where output info variable was swapped with
	  input info variable by mistake.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8796>

2025-03-26 13:09:30 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst/rtpmanager/gstrtpsession.c:
	  gstrtpsession: Do not push events while holding SESSION_LOCK
	  Doing so can trigger deadlocks
	  Fixes: #4328
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8781>

2025-03-26 13:04:41 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst/rtpmanager/gstrtpsession.c:
	* gst/rtpmanager/gstrtpsession.h:
	  gstrtpsession: protect recv_rtcp_segment_seqnum with a lock
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8781>

2025-03-26 12:34:35 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst/rtpmanager/gstrtpsession.c:
	  gstrtpsession: use correct seqnum for the STREAM_START ans SEGMENT events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8781>

2025-03-06 09:54:21 -0700  dukesook <devonsookhoo14@gmail.com>

	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux.h:
	  qtdemux: Extend Uncompressed Lookup Table
	  - LUT now supports various subsampling, interleaves, and bit depths.
	  - Replaces stride with GstVideoInfo pre_info to represent original data.
	  - Simplifies gst_row_align_buffer() with gst_video_frame_copy().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8780>

2025-03-24 15:32:22 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: fix memory leak
	  The tmp caps should be unreffed as the template structure.
	  The leaks can be reproduced with
	  gst-launch-1.0 v4l2src num-buffers=1 ! autovideosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8706>

2019-08-07 18:01:53 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/matroska/matroska-mux.c:
	  matroskamux: Add support for chroma siting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8732>

2019-08-07 17:48:47 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/matroska/matroska-mux.c:
	  matroskamux: Add support for interlaced field order
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8732>

2019-08-07 17:47:29 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/matroska/ebml-write.c:
	* gst/matroska/ebml-write.h:
	* gst/matroska/matroska-mux.c:
	* gst/matroska/matroska-mux.h:
	* tests/check/elements/matroskamux.c:
	  matroskamux: Always use v4 for DocType version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8732>

2019-07-29 23:16:26 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/matroska/matroska-demux.c:
	* gst/matroska/matroska-ids.c:
	* gst/matroska/matroska-ids.h:
	  matroskademux: Handle chroma site color information
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8732>

2025-03-26 22:00:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/y4menc.c:
	  tests: y4menc: padded frame test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8716>

2025-03-26 12:31:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/y4m/gsty4mencode.c:
	  y4menc: use start() vmethod rather than change_state()
	  Also it wil call negotiate() vmethod at set_format()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8716>

2025-03-20 16:25:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/y4m/gsty4mencode.c:
	  y4menc: enable y4menc debugging category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8716>

2025-03-27 14:07:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/y4m/gsty4mencode.c:
	  y4menc: handle padded frames
	  Since y4menc inherits from GstVideoEncoder, it negotiates upstream buffer pools
	  with GstVideoMeta support. Thus, certain decoders might use that meta for
	  frames with padded memory. Nonetheless y4menc assumes only linear memory video
	  frames, without padding.
	  This patch will copy frames using gst_video_frame_copy() if buffer has
	  GstVideoMeta or its video info is padded with its custom video info. Otherwise,
	  it ill call the agnostic gst_buffer_copy() for a shallow copy.
	  Supersedes: !5042
	  Fixes: #2765
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8716>

2025-03-27 12:46:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/y4m/gsty4mencode.c:
	* gst/y4m/gsty4mencode.h:
	  y4menc: create an output video info without padding
	  The unpadded strides and offsets calculations for the video info are inspired
	  from y4mdec.
	  A boolean flags is toggled if the video info is padded for the given resolution.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8716>

2025-03-26 12:33:32 -0400  Arun Raghavan <arun@asymptotic.io>

	* ext/qt6/gstqt6glutility.cc:
	  qt6: Add a missing newline in unsupported platform message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8715>

2025-03-14 22:14:42 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

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

	* sys/ximage/gstximagesrc.c:
	  ximagesrc: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 22:12:56 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/isomp4/gstqtmoovrecover.c:
	  qtmoovrecover: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 22:11:39 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/jack/gstjackaudiosink.c:
	* ext/jack/gstjackaudiosrc.c:
	  jack: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:25:48 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/adaptivedemux2/dash/gstmpdadaptationsetnode.c:
	* ext/adaptivedemux2/dash/gstmpdperiodnode.c:
	* ext/adaptivedemux2/dash/gstmpdrepresentationbasenode.c:
	* ext/adaptivedemux2/dash/gstmpdrepresentationnode.c:
	* ext/adaptivedemux2/dash/gstmpdsegmenttemplatenode.c:
	* ext/adaptivedemux2/dash/gstmpdsegmenturlnode.c:
	  dash: Free various props before set & during cleanup
	  In addition several members were being freed via xmlFree() even though
	  being created via g_value_dup_string(). Switch to g_free().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:14:43 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/pulse/pulsedeviceprovider.c:
	* sys/directsound/gstdirectsounddevice.c:
	* sys/oss/gstossdeviceprovider.c:
	* sys/v4l2/gstv4l2deviceprovider.c:
	  all: Annotate *_set_property() contructor only props without free
	  Properties that are marked constructor only aren't required to be freed
	  before g_value_dup_string() as they can only be called once during construction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-21 02:16:58 +0100  Jakub Adam <jakub.adam@collabora.com>

	* ext/qt6/gstqml6glsrc.cc:
	  qml6glsrc: update buffer pool on renegotiation
	  When dynamic caps change in the pipeline leads to a new buffer pool
	  getting negotiated, the change is not propagated to Qt6GLWindow, which
	  keeps using the old, now defunct, pool.
	  Unset current pool on Qt6GLWindow in decide_allocation(). This will
	  trigger a switch to the new pool inside create().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8705>

2025-03-20 11:01:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fix stsc size check in qtdemux_merge_sample_table()
	  There are 3 32bit integers per entry and not one more for all but the last.
	  Fixes a regression introduced in 5a9e80c01b4b49c6c7630a6d08b600114f38c0db
	  when playing back files that have one sample table entry per audio sample.
	  Merging the sample tables would've always failed because of the too strict size
	  check and one audio sample per GStreamer buffer would've been output, which
	  doesn't perform very well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8684>

2025-03-11 16:36:58 +0100  Alyssa Ross <hi@alyssa.is>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: fix type mismatch when ioctl takes int
	  v4l2object->ioctl can either be set to v4l2_ioctl() or ioctl().
	  v4l2_ioctl() always takes the request number as unsigned long int, but ioctl()
	  may take (at least) unsigned long int, int, or unsigned, depending on libc.
	  This means that there isn't one function pointer type that can be used for
	  v4l2object->ioctl that will always be able to accomodate being set to either of
	  v4l2_ioctl() and ioctl().  It's therefore necessary to wrap one of them so that
	  both options can have the same type.  This fixes an assignment from incompatible
	  pointer type error when building for musl.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8642>

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

	* meson.build:
	  Back to development after 1.26.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8618>

=== 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.
