=== release 1.24.8 ===

2024-09-19 12:01:21 +0200  Tim-Philipp Müller <tim@centricular.com>

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

2024-04-17 09:46:35 +0200  Edward Hervey <edward@centricular.com>

	* gst/encoding/gstencodebasebin.c:
	  encodebin: Fix pad removal for encodebin vs encodebin2
	  Clarify the fact that `encodebasebin->src_pad` is set when using a static source
	  pad (`encodebin`) and when not set it's dynamically added source
	  pads (`encodebin2`).
	  Fixes usage of encodebin2 when profiles are updated
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7523>

2024-09-05 22:07:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	* gst-libs/gst/video/gstvideoaggregator.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Don't overshoot QoS earliest time by a factor of 2
	  By setting the earliest time to timestamp + 2 * diff there would be a difference
	  of 1 * diff between the current clock time and the earliest time the element
	  would let through in the future. If e.g. a frame is arriving 30s late at the
	  sink, then not just all frames up to that point would be dropped but also 30s of
	  frames after the current clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7518>

2024-09-10 21:25:42 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* tools/meson.build:
	  meson: gst-play: link to libm
	  gst-play.c depends on libm due to using `round`.
	  Passing by, correct identation of `gst_tools` definition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7501>

2024-08-13 12:07:12 +0900  Chao Guo <chao.guo@nxp.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: resize viewport when video size changed in caps
	  When re-negotiation happends and caps is changed, resize the
	  viewport to the corresponding video size in changed caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7450>

2024-08-21 16:29:03 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix collection identity check
	  Collections can be auto-generated from upstream and yet have exactly the same
	  streams in it.
	  Therefore do a more in-depth check for equality.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3742
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7402>

2024-08-21 12:33:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.7

=== release 1.24.7 ===

2024-08-21 12:25:15 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-08-19 09:37:51 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Actually drop EOS on old-school pad switch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7376>

2024-08-16 14:25:53 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Don't hold lock when emitting about-to-finish
	  This could trigger actions that re-enter this element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7373>

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

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: use subsampling factor to get YUV subsampling
	  The algorithm used to determine the YUV subsampling string uses width and height
	  subsampling factor, not the raw subsampling. Otherwise all 4:2:0 YUV frames will
	  be detected as 4:4:4
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7359>

2024-07-08 11:29:08 +0300  Max Romanov <max.romanov@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Handle invalid argument properly
	  In case when conn->input_stream is NULL and glib was built with
	  "glib_checks" enabled, g_pollable_input_stream_read_nonblocking()
	  returns -1, but does not set the "err".
	  The call stack:
	  read_bytes() ->
	  fill_bytes() ->
	  fill_raw_bytes()
	  The return value -1 passed up to read_bytes() and incorrectly
	  processed there after "error:" label.
	  This changes the return value to EINVAL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7309>

2024-07-31 12:35:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/xvimage/xvimagepool.c:
	  xv: imagepool: Improve error logging
	  The shm creation function can return a GError, use this to improve the error
	  reporting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7292>

2024-07-30 16:18:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/xvimage/xvimagepool.c:
	  xvimagesink: Fix crash in pool on error
	  The set_config() virtual function is not support to free the config. As a side
	  effect, when there is protocol error of some sort, we endup with a crash.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7292>

2024-07-26 16:10:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  glframebuffer: Improve error tracing
	  glCheckFrameStatus() can fail by returning 0, and otherwise return a
	  status. Fix the trace to make it clear when we get an unkown status
	  compare to having an error, in which case we also trace the error code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7295>

2024-07-29 16:48:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.6

=== release 1.24.6 ===

2024-07-29 16:41:37 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-07-29 10:03:58 +0100  Philippe Normand <philn@igalia.com>

	* gst/playback/gstparsebin.c:
	  parsebin: accept-caps handling for elements with unusual pad names
	  In case the last element of the parse chain doesn´t have a sink pad named
	  "sink", send the accept-caps query to the first sink pad of the element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7257>

2024-07-25 10:34:45 +0800  Shengqi Yu <shengqi.yu@mediatek.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/videoconvertscale/gstvideoscale.c:
	  videoscale: correct classification error
	  videoscale does not have convert function, so remove the convert
	  description in it's classification. Otherwise, if we want use
	  autovideoconvert to convert colorsapce, autovideoconvert will select
	  videoscale to do convert and this will cause to fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7235>

2024-07-19 21:34:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstglmixerbin.c:
	  glvideomixer: Fix critical when setting start-time-selection
	  It caused a critical, but did not affect functionality because the
	  GValue was passed as-is to the glvideomixerelement which actually does
	  something with the property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7207>

2024-05-28 18:26:56 +0200  Jakub Adam <jakub.adam@collabora.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  gstvideoaggregator: preserve features in non-alpha caps
	  Fixes caps negotiation when sink template caps of an element inheriting
	  GstVideoAggregator have features different from the implicit
	  "memory:SystemMemory".
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7198>

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

	* gst/typefind/gsttypefindfunctions.c:
	* gst/typefind/gsttypefindfunctionsplugin.c:
	* gst/typefind/gsttypefindfunctionsplugin.h:
	* gst/typefind/gsttypefindfunctionsriff.c:
	* gst/typefind/gsttypefindfunctionsstartwith.c:
	  typefind: Add typefinders for formats that were previously available via ffmpeg
	  Co-Authored-By: Matthew Waters <matthew@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148>

2024-07-03 18:26:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: Fix invalid include flag in uninstalled gl pc file
	  ${libdir}/gstreamer-1.0/include is only valid after installation, but
	  extra_cflags are added unconditionally, so we can't use that for
	  include flags.
	  Instead, let's add the include flag via variables, which are different
	  for installed and uninstalled pc files.
	  This is particularly bad for consuming GStreamer via CMake which barfs
	  on non-existent include paths.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7143>

2024-07-02 15:50:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstsubparseelement.c:
	  subparse: remove regex optimized flag explicitly
	  That way the other flags in jit_flags are not touched and
	  flags changes in future only need to be done in one place.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7129>

2024-07-02 15:49:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* tests/check/meson.build:
	  gst-plugins-base: put valgrind header availability define into config.h for subparse
	  Make the valgrind header avaibility accessible to any code in
	  gst-plugins-base, currently it was only signalled to unit tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7129>

2024-07-02 09:44:25 +0200  Edward Hervey <edward@centricular.com>

	* gst/subparse/gstsubparseelement.c:
	  subparse: Don't use jitted regex when used with valgrind
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7124>

2024-06-29 11:06:07 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Chain up to parent class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7123>

2024-06-28 17:09:58 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Chain up to parent class finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7123>

2024-06-20 11:37:33 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix keyframe drop probe handling
	  We were storing the probe id in a different structure (DecodebinOutputStream)
	  than the pad it is targetting (which is in MultiQueueSlot).
	  The problem is that when re-targetting outputs (to a different slot)... we would
	  end up having an invalid probe id, or not have a reference to an existing one.
	  Instead, store the probe id in the same structure as the pad it's targetting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7074>

2024-06-20 11:35:08 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix detection of selection done
	  We should not assert if there are still some old streams that are waiting to be
	  deactivated.
	  Instead wait for them to be gone before posting the selection done message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7074>

2024-06-20 13:02:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.5

=== release 1.24.5 ===

2024-06-20 12:54:15 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-06-18 16:27:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: Don't crash in gst_video_info_is_equal() if one videoinfo is zero-initialized
	  Instead handle it like gst_audio_info_is_equal() and consider both different.
	  And also add a shortcut for the pointers to both infos being equal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7059>

2024-06-11 16:42:34 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Don't hold PLAY_ITEMS lock when activating them
	  Once the item is configured it can be activated without holding that lock
	  Fixes #3610
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7020>

2024-06-10 14:56:00 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Always ensure we end up with parsebin or identity
	  This fixes a regression introduced by 6c4f52ea20ce27730501348c6e575b8d35580239
	  There are cases where the input stream will be push-based, time-segment and not
	  have a collection nor caps. This means the event-based checks are not sufficient
	  to decide when/where to plug in a identity or parsebin to process the input.
	  For those corner cases we setup a buffer probe to ensure we always end up with
	  at least a parsebin
	  Fixes #3609
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7018>

2024-05-29 10:31:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Avoid usage of parsebin even more
	  When dealing with push-based inputs, we are now delaying the creation of
	  parsebin/identity until we get all pre-buffer events.
	  We therefore can simplify the handling of new pads being linked and only have to
	  check if upstream can handle pull-based or not.
	  Avoids creating parsebin for parsed upstream data altogether
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6995>

2024-04-29 11:26:48 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Ensure we get a collection for parsed inputs
	  When we are dealing with parsed inputs (i.e. using identity), we need to ensure
	  that we have a valid stream collection (and therefore DBCollection) before
	  anything flows dowsntream.
	  In those cases, we hold onto those events until we get such a collection.
	  Fixes #3356
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-04-08 09:56:21 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: New mechanism for handling collection and selections
	  This commit separates collection and selections into a new separate structure:
	  DecodebinCollection.
	  This provides a much cleaner/saner way of dealing with collections being
	  updated, gapless playback, etc...
	  There is now a list of DecodebinCollection in flight, of which two are special:
	  * input_collection, the currently inputted/merged collection
	  * output_collection, the currently active collection on the output of multiqueue
	  Handling GST_EVENT_SELECT_STREAMS is split, by looking for the collection to
	  which it applies. And the requested streams are stored in it. IIF that
	  collection is output_collection we can do the switch, else it will be updated
	  when it becomes active.
	  Detecting which collection/selection is active is done by looking at the
	  GST_EVENT_STREAM_START on the output of the multiqueue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-04-08 09:34:22 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: minor refactoring to identify selected stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-04-08 09:28:46 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Debug line cleanups
	  Use identifiable items in log lines instead of random pointers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-26 08:34:42 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin: Remove unused includes
	  * config.h is not used, plugin/element is registered in another file
	  * play-enum.h is not used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-25 15:09:14 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove un-needed variable
	  We don't do anything with the unknown streams. Detecting that a list of
	  requested streams don't apply to a given collection should be handled
	  before-hand
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-25 12:05:36 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove un-needed variable
	  pending_select_streams was only set just before releasing/taking the selection
	  lock in a single place. That temporary lock release is not needed and therefore
	  the variable isn't needed either
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-25 09:33:11 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove active_selection list
	  It's a duplicate of the list of slots which have an output. Use that instead.
	  Also when we fail to (re)configure an output, remove it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-25 08:50:21 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Cache slot stream_id and rename more variables
	  * Move the handling of GST_EVENT_STREAM_START on a slot to a separate function
	  * There was a lot of usage of `gst_stream_get_stream_id()` for the slot
	  active_stream. Cache that instead of constantly querying it.
	  * Rename the variables in `handle_stream_switch()` to be clearer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-24 12:51:43 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Refactor slot/output (re)configuration
	  * Re-use existing function where possible
	  * Only set/reset keyframe probe at unique places
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-24 12:05:29 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Refactor linking input to slot
	  The same sequence of calls was done when doing that
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-24 11:50:17 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: input_unblock_streams: Clarify variable
	  It's a list of pads, not slots
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-22 12:01:06 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Rename multiqueue related functions
	  To make clear on what they apply
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-22 11:55:40 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Refactor/rename slot/output
	  * Centralize associating an output to a slot in one function, including properly
	  resetting those fields
	  * Rename functions to be more explicit
	  * Move code to "reset" an output stream into a dedicated function (will be used
	  later)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-21 12:17:25 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Refactor removal of slot/output from streaming thread
	  The code was identical in several places
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-21 11:04:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: rename/clarify eos and draining usage around multiqueue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-21 08:52:41 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Document/refactor DecodebinInput handling
	  * Rename the function names to be clearer, with prefixes
	  * Pass the input (or stream) directly where appropriate
	  * Document usage, inputs, ownership
	  * Rename variables for clarity where applicable
	  * Avoid double lock/unlock if callee can handle it directly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-20 09:07:39 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Move gstdecodebin3-parse.c into gstdecodebin3.c
	  Makes it easier to work with LSP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-19 11:27:23 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Refactor incoming collection handling
	  Simplify its usage by having it directly create the message if the collection
	  changed. This is what caller were always doing and avoids releasing selection
	  locks yet-another-time
	  Also use it in more places to avoid code repetition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-14 10:39:31 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Rename variable for clarity
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-14 10:06:54 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Refactor GST_EVENT_SELECT_STREAMS handling
	  * The same code is used for the event, regardless of whether it's coming from
	  via a pad or directly on the element
	  * The pending_select_streams list content was never used, switch it to a boolean
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-03-14 09:53:06 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Don't forward select streams if we are handling it
	  Since the introduction of the "SELECTABLE" query, the usage of selection was
	  clarified. We don't need to forward the GST_EVENT_SELECT_STREAMS at this point.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>

2024-05-24 17:32:21 +0200  Jakub Adam <jakub.adam@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: update existing sync meta if outbuf has one
	  Instead of always adding a new one, which means the buffer could end up
	  with multiple sync meta instances.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6962>

2024-05-29 13:51:27 +0300  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.4

=== release 1.24.4 ===

2024-05-29 13:44:50 +0300  Tim-Philipp Müller <tim@centricular.com>

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

2024-05-28 16:04:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix handling of ID_ODD_SIZE in WavPack typefinder
	  Chunks are always starting on an even position and this flag only
	  specifies that the last byte of the chunk is not valid.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3569
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6944>

2024-04-29 12:15:20 +0200  Yacine Bandou <yacine.bandou@softathome.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Fix deadlock when streams have been flushed before others start
	  To simplify the description, I'm assuming we only have two streams: video and audio.
	  For the video stream, we have the following events :
	  - STREAM_START => stream->wait set to true
	  - NEW_SEGMENT(1) => blocked waiting in gst_stream_synchronizer_wait
	  - FLUSH_START => unblocked
	  - FLUSH_STOP => stream->wait reset to false
	  - NEW_SEGMENT(2) => not waiting, since stream->wait is false
	  Then for the audio stream, we have the following events :
	  - STREAM_START => stream->wait set to true
	  - NEW_SEGMENT(2) => blocked waiting in gst_stream_synchronizer_wait for ever.
	  Note: The first NEW_SEGMENT event and the FLUSH_START, FLUSH_STOP events of the audio stream
	  are dropped before being received by the streamsynchronizer element, because the decodebin audio pad src
	  is not yet linked to the playsink audio pad sink.
	  To fix this deadlock, we don't reset stream->wait to false in the FLUSH_STOP event when it is not
	  waiting for the EOS of the other streams.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6887>

2024-05-15 10:58:57 -0700  Joshua Breeden <joshua.breeden@kiswe.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: add mutex around cache buffer to prevent race condition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6889>

2024-05-15 22:17:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gsturidecodebin3.c:
	* gst/playback/gsturisourcebin.c:
	  decodebin3: Fix caps and stream leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6866>

2024-05-09 12:41:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audioconvert.c:
	  audioconvert: Add test for 96 channel conversion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6828>

2024-05-09 09:57:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-channel-mixer.c:
	* gst-libs/gst/audio/audio-channels.c:
	  audioconvert: Support converting >64 channels
	  There's nothing requiring <= 64 channels except for getting the reorder
	  map and creating a channel mixing matrix, but those won't be possible to
	  call anyway as channel positions can only express up to 64 channels.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6828>

2024-05-03 22:35:21 -0400  Bill Nottingham <notting@splat.cc>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  pbutils: fix visualization plugins
	  inbuf is persistent, GST_BUFFER_COPY_MEMORY's append behavior is
	  not what we want.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6814>

2024-04-29 15:25:28 +0800  Shengqi Yu <shengqi.yu@mediatek.com>

	* ext/gl/gstgldownloadelement.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  glmixer: Add GL_SYNC_META option to bufferpool
	  when pipline is
	  glvideomixerelement->glcolorconvertelement->gldownloadelement and
	  glcolorconvertelement is not passthrough, the gl bufferpool between
	  glvideomixerelement and glcolorconvertelement will not add gl sync meta
	  during allocating buffer. This will cause that glcolorconvert's inbuf
	  has no sync meta to wait for.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6784>

2024-04-30 00:36:59 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.3 ===

2024-04-30 00:15:23 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-04-25 15:21:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: Prevent integer overflows and out of bounds reads when handling undefined tags
	  Fixes ZDI-CAN-23896
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3483
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6768>

2024-04-26 10:12:23 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Handle combiner update in case of errors
	  The assertion that was present before is a bit too harsh, since there is now
	  a (understandable) use-case where this could happen.
	  In gapless use-case, with two files containing the same type (ex:audio). The
	  first one *does* expose a collection with an audio stream, but decoding
	  fails (for whatever reason).
	  That would cause us to have configured a audio combiner, which was never
	  used (i.e. not active).
	  Then the second file plays and we (wrongly) assume it should be activated
	  ... whereas the combiner was indeed present.
	  Demote the assertion to a warning and properly handle it
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3389
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6742>

2024-04-22 16:05:29 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove custom stream-start field if present
	  This field is added by urisourcebin so that we can avoid double-parsing. It's no
	  longer needed after.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6716>

2024-04-19 11:31:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin2: Adaptive demuxers don't require another parsebin
	  By setting the same field on the GST_EVENT_STREAM_START decodebin3 will be able
	  to avoid plugging in an extra parsebin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6716>

2024-04-14 11:55:56 -0400  F. Duncanh <fduncanh@gmail.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: initialize mask for XISelectEvents
	  Fixes #3470
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6654>

2024-04-10 14:58:54 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: don't overread the end of an array
	  Reverse index iteration needs a - 1 for the initial value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6605>

2024-04-03 20:35:06 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: remove unused swizzling using "rgba" chars
	  We use indices now instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6605>

2024-04-10 07:22:36 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Ensure non-time subtitle streams get "parsed"
	  Since https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 ,
	  subtitle "decoders" (i.e. which decode to raw text) are no longer auto-plugged
	  by parsebin.
	  But if a given format does not have a parser at all, we would end up outputting
	  non-time/non-parsed outputs.
	  In order to mitigate the issue, until such parsers are available, we check if
	  the subtitle stream is in TIME format or not (i.e. whether it comes from a
	  parser or demuxer). If not, we attempt to plug in a subtitle "decoder".
	  Fixes #3463
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6597>

2024-04-10 00:04:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.2

=== release 1.24.2 ===

2024-04-09 21:48:55 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-04-01 14:31:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Handle WavPack block sizes > 131072
	  These are valid nowadays.
	  Also handle ID_ODD_SIZE and ID_WVX_NEW_BITSTREAM. The parser already
	  handles the former but not the latter.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3440
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6541>

2024-04-02 16:53:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: descriptions: Don't warn on MPEG-1 audio caps without layer field
	  While this is not ideal and won't give too accurate codec descriptions,
	  it is what tsdemux produces.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6538>

2024-04-02 12:35:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  glcaopengllayer: NULL some fields when freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524>

2024-04-02 12:34:16 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow/cocoa: keep a window reference across an async callback
	  Esnures that the window is alive when the callback is fired.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524>

2024-04-02 12:27:13 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: avoid a possible critical on shutdown
	  It is possible that the close callback can be called after glimagesink
	  is changing state to NULL.  Protect against that by taking the glimagesink
	  lock and some NULL checking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524>

2024-04-02 12:25:08 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: unref the potential last ref outside of the glimagesink lock
	  Avoids a deadlock between the state change removing the last ref and
	  the destructer calling the window's on_close handler and trying to
	  take the glimagesink lock.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524>

2024-04-02 12:22:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: protect release_buffer from multiple concurrent access
	  If two different threads attempt to release buffers at the same time, then the
	  keep-alive-slightly-longer GQueue may become corrupted.  Guard against that with
	  some locking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524>

2024-04-02 12:17:50 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/context/cocoa: ensure pixel format lives as long as the context
	  Under some circumstances, the CGLPixelFormatObj was being destroyed too
	  early which could lead to potential use-after-frees.
	  Fix by returning a reference when asked for the pixel format.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3154
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524>

2024-04-01 18:00:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: Reset last_ts when a new segment is received
	  This fix all buffers being droped when a new segment is received and
	  average-period property is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6522>

2024-04-01 14:26:11 +0900  Chao Guo <chao.guo@nxp.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Ensure glcolorconvert does not miss supported RGB formats
	  Add RGB16 and other RGB formats to rgb_formats to ensure glcolorconvert
	  does not miss the RGB formats it supports
	  Signed-off-by: Chao Guo <chao.guo@nxp.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6517>

2024-03-29 12:30:28 +0900  Hou Qi <qi.hou@nxp.com>

	* gst/encoding/gstencodebasebin.c:
	  encodebin: Add the parser before timestamper to tosync list
	  Also need to sync the state of the parser before timestamper with
	  parent.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6486>

2024-03-22 01:38:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.24.1 ===

2024-03-21 21:47:53 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-03-19 09:32:39 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Don't hold lock when posting messages or signals
	  There's a very good chance that the receiver might react on those synchronously
	  and call back into uridecodebin3 (ex: for setting the next URI).
	  Make sure we release the lock if we need to do that.
	  Fixes #3400
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6403>

2024-03-18 08:47:18 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Handle potential double redirection errors
	  Some elements (like qtdemux) might post a redirection error message twice. We
	  only want to handle it once.
	  Fixes #3390
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6394>

2024-03-13 12:49:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  Revert "audiobasesink: Don't wait on gap events"
	  This reverts commit 8e923a8e2d7d9391554371045cfe4d0e2d8d0c7a.
	  This caused regressions, see #3303.
	  Without this commit, osxaudiosrc ! osxaudiosink won't work
	  right, but since that hasn't really been a huge problem
	  for years it's probably best to revert this until a proper
	  solution can be figured out.
	  (cherry picked from commit f04f86f3ee4f9eccfd72f473b8ff848161576a90)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6384>

2024-03-14 09:27:10 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Post error messages if there are no streams to output
	  This could happen because:
	  * No streams were selected
	  * Or we end up with no stream selected
	  Also post a warning message if we are missing plugins but there are other
	  streams to output
	  Fixes #3360
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6377>

2024-03-12 16:36:36 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove failing stream from active selection also
	  It gets added in get_output_slot()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6377>

2024-03-11 13:27:09 +0100  Thomas Klausner <wiz@gatalith.at>

	* gst-libs/gst/allocators/gstshmallocator.c:
	  shmallocator: fix build on Illumos
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3370
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6362>

2024-03-11 18:30:08 +0100  Piotr Brzeziński <piotr@centricular.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Don't wrap temporary memory in buffers
	  Avoids potentially ending up with the buffermemory pointing to already-freed or reused addresses.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6339>

2024-03-11 13:14:51 +0100  Piotr Brzeziński <piotr@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Avoid wrapping temporarily mapped memory with a GstBuffer and passing that to subclass
	  Memory from gst_adapter_map() could live shorter than the GstMemory that the GstBuffer wraps around it, which in lucky
	  cases 'just' caused a re-use of the same memory for multiple (potentially still in use!) input buffers, but could easily
	  end up pointing to an already-freed memory.
	  Manifested when an AudioToolbox encoder kept getting silence inserted in seemingly random circumstances, turned out
	  to be the memory being re-used by GStreamer at the same time that the AT API was processing it...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6339>

2024-03-11 11:56:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Do not propose allocators with sysmem
	  None of the GL allocators actually offer a generic alloc() implementation. As a
	  side effect, they cannot be offered as they don't work with generic video
	  buffer pool.
	  Our specialized buffer pool can be dropped by tee or alphacombine as sharing the
	  same buffer pool over two branch is not supported by the pool API.
	  Fixes #3372
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6350>

2024-03-11 15:58:53 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove un-needed URI NULL check
	  This will mimic the playbin2 behaviour, which sets the "next" entry to be
	  NULL.
	  The biggest impact this has is that when going back to READY the current play
	  entry will be discarded (instead of being kept around for when you go back to
	  PAUSED/PLAYING).
	  Fixes #3371
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6338>

2024-03-06 09:48:43 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Handle race switching on pending streams
	  find_slot_for_stream_id() will return a slot which has the request stream-id as
	  active_stream *or* pending_stream (i.e. the slot on which that stream is
	  currently being outputted or will be outputted).
	  When figuring out which slot to use (if any) we want to consider stream-id
	  which *will* appear on a given slot which isn't outputting anything yet the same
	  way as if we didn't find a slot yet.
	  Fixes races when doing intensive state changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6332>

2024-03-04 15:59:14 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Clear select streams seqnum when resetting
	  At this point there's definitely no pending select streams
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6332>

2024-03-01 17:38:46 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Only post collection message on actual updates
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6332>

2024-03-01 17:37:30 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Clear the global collection when resetting
	  This avoids having stray collections when re-using decodebin3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6332>

2024-03-11 09:16:01 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Provide clear error message if no decoders present
	  If we don't do this we will end up with a more cryptic error message (not-linked
	  error from some upstream component).
	  Fixes #3198
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6329>

2024-02-22 16:36:40 +0100  Piotr Brzeziński <piotr@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  macos: Fix glimagesink not respecting preferred size
	  Cocoa version of glwindow only checks the preferred size upon window creation. glimagesink sets the size right before
	  calling gst_gl_window_show(), which might be way after the window is created in some cases. If the size was set too
	  late, glimagesink on macOS would remain 320x240 unless manually resized.
	  This change makes sure to resize the existing window when _show() is called.
	  Curiously, this has always been an issue, but went from manifesting every once in a while to being almost completely
	  broken once old event loop workarounds were removed and gst_macos_main() was introduced.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6276>

2024-03-05 18:37:36 +0800  Xi Ruoyao <xry111@xry111.site>

	* tests/check/meson.build:
	  gst-plugins-base: meson: Fix the condition to skip theoradec test
	  Due to operator priority "not a and b" is interpreted "(not a) and b".
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6269>
