=== release 1.26.0 ===

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

	* NEWS:
	* README.md:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.26.0

2025-02-12 17:10:30 +0000  L. E. Segovia <amy@centricular.com>

	* cmake/FindGStreamer.cmake:
	  cmake: Memoize include checks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8478>

2025-02-24 09:34:09 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst-plugins-doc-cache-generator.py:
	  docs: Add a way to specify extra_assets path for plugins doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8545>

2025-02-24 12:17:55 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/tracers/gstdots.c:
	  tracer: dots: Check that `pipeline-snapshot::dots-viewer-ws-url` exists
	  It is a very new property and the tracer should still be usable if that
	  property doesn't exist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8547>

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:
	* gstreamer.doap:
	* meson.build:
	  Release 1.25.90

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

	* po/be.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/eo.po:
	* po/eu.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/id.po:
	* po/lt.po:
	* po/lv.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/uk.po:
	* po/zh_CN.po:
	  gstreamer: update translations

2025-02-19 11:26:36 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/tracers/gstdots.c:
	  tracers: dots: Simplify the way we check dot file to be removed
	  Fixing removing dot files that are in the root directory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8521>

2024-11-06 17:53:51 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/gstmemory.c:
	* gst/gsttracerutils.c:
	* gst/gsttracerutils.h:
	  tracer: Add memory init/free hooks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8510>

2025-02-19 10:53:34 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gstvalue.c:
	  gstvalue: fix leak in gst_value_deserialize_bytes()
	  The GValue needs to take ownership.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8515>

2025-02-19 10:52:09 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gstvalue.c:
	  gstvalue: fix leak in gst_value_deserialize_g_date_time()
	  gst_date_time_to_g_date_time() does not take ownership.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8515>

2025-02-17 19:16:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstiterator.c:
	* gst/gstmeta.c:
	* gst/gsttracer.c:
	* gst/gstutils.h:
	  gstreamer: Fix various gobject-introspection warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8501>

2025-02-17 13:22:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbuffer.c:
	  buffer: Mark gst_buffer_extract() size parameter as in-parameter
	  Otherwise it's considered an out-parameter because of its relationship with
	  the dest array pointer.
	  Suggested-by: Sergey Bugaev <bugaevc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8494>

2025-02-13 09:54:43 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gst/gststructure.c:
	* gst/gstvalue.c:
	* tests/check/gst/gststructure.c:
	  gststructure: Fix deserialization of GStrv
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8438>

2025-02-10 11:54:18 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gst/gstvalue.c:
	* tests/check/gst/gstvalue.c:
	  gstvalue: Add (de)serialize of G_TYPE_STRV
	  This allows setting strv properties from gst-launch-1.0, such as uris in
	  uriplaylistbin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8438>

2025-02-11 22:34:30 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/gst.c:
	  gst: Allow tracers to set the GST_DEBUG_DUMP_DOT_DIR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>

2025-02-11 22:33:03 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* plugins/tracers/gstdots.c:
	* plugins/tracers/gsttracers.c:
	* plugins/tracers/meson.build:
	  tracers: Add a `dots` tracer which is meant to be used with `gst-dots-viewer`
	  See documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>

2025-01-09 20:23:08 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/gstdebugutils.c:
	  core: debugutils: Write dot files atomically
	  Replace fopen/fputs with g_file_set_contents() to ensure dot files are written
	  atomically. This prevents tools like gst-dots-viewer from reading partially
	  written files when watching the dot folder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>

2025-02-05 20:25:48 +0100  Alicia Boya García <aboya@igalia.com>

	* gst/parse/grammar.y.in:
	* gst/parse/types.h:
	  gstreamer: parse: Log bus error messages during construction
	  Suppose you invoke gst-launch with this invalid pipeline:
	  ```
	  $ gst-launch-1.0  videotestsrc num-buffers=10 ! x264enc name=enc ! mux.sink_0 \
	  mpegtsmux name=mux ! fakesink
	  0:00:00.018631594 351169      0xb523090 ERROR           GST_PIPELINE
	  subprojects/gstreamer/gst/parse/grammar.y:1151:gst_parse_perform_link:
	  could not link enc to mux
	  WARNING: erroneous pipeline: could not link enc to mux
	  ```
	  The error message you get is not very helpful. This is a pity, because
	  this is where the error comes from:
	  ```c
	  static GstPad *
	  gst_base_ts_mux_request_new_pad (GstElement * element, GstPadTemplate * templ,
	  const gchar * name, const GstCaps * caps)
	  { // [...]
	  GST_ELEMENT_ERROR (element, STREAM, MUX,
	  ("Invalid Elementary stream PID (0x%02u < 0x40)", pid), (NULL));
	  return NULL;
	  ```
	  mpegtsmux posted an error with an explanation of why the linking failed.
	  However, since the error ocurred within gst_parse_launchv(), gst-launch
	  could not have set a bus handler, and the error message got discarded.
	  This patch attempts to make gst-launch more user-friendly by setting a
	  temporary bus handler during early bin construction to catch error
	  messages like this.
	  The errors are logged as ERROR level in the GST_PIPELINE category.
	  However, this is not enough, as GST_LEVEL_DEFAULT defaults to
	  GST_LEVEL_NONE in releases. In other words, outside of the dev
	  environment, GStreamer won't print ERROR logs by default.
	  To make sure the errors can reach users of packaged versions of
	  GStreamer, a new AtomicRcBox-based struct is added: reason_receiver_t.
	  graph_t owns a reference to reason_receiver_t and so does the temporary
	  bus handler.
	  When the temporary bus handler receives an error message, the `reason`
	  field of `reason_receiver_t` is filled with the error message.
	  Later, when SET_ERROR() is called as a consequence of the operation that
	  posted the error having returned failure, the reason message is
	  extracted and added to the GError message.
	  This is how the resulting error would look in the example from above:
	  WARNING: erroneous pipeline: could not link enc to mux --
	  GstMpegTsMux <mux> posted an error message: Invalid Elementary
	  stream PID (0x00 < 0x40)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8417>

2025-02-11 00:03:20 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/gsttracerrecord.c:
	  tracerrecord: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:03:08 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/gsttracer.c:
	  tracer: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

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

	* plugins/tracers/gstlatency.c:
	* plugins/tracers/gstlog.c:
	* plugins/tracers/gststats.c:
	  tracers: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-05 21:02:16 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix chaining up in GObject "constructed" virtual methods
	  This doesn't always bring visible issue, but is formally incorrect:
	  not chaining up means that the code doesn't trigger GstObject and
	  GstElement "constructed" implementations.
	  In particular both GstElement's and GstObject's classes in
	  "constructed" may sign up this object for tracing and
	  GstObject's class sets GST_OBJECT_FLAG_CONSTRUCTED flag.
	  If we don't chain up none of this is going to be executed.
	  For example, before the fix leaks tracer couldn't detect this leak:
	  ```c
	  int main (int argc, char **argv) {
	  g_setenv ("GST_TRACERS", "leaks(name=all-leaks)", TRUE);
	  g_setenv ("GST_DEBUG", "GST_TRACER:7", TRUE);
	  g_setenv ("G_DEBUG", "fatal-warnings", TRUE);
	  gst_init (&argc, &argv);
	  // leak audiomixer: doesn't detect because it's based on the aggregator
	  gst_element_factory_make ("audiomixer", "Jerry");
	  // leak videoconvert: this one is detected fine because it's not
	  // based on the aggregator
	  //gst_element_factory_make ("videoconvert", "Tom");
	  gst_deinit ();
	  return 0;
	  }
	  // $ cc tst.c $(pkg-config --cflags --libs gstreamer-1.0) -o tst && ./tst
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

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:
	* gstreamer.doap:
	* meson.build:
	  Release 1.25.50

2025-02-07 05:10:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/gst-plugins-doc-cache-generator.py:
	  docs: Fix opencv pkgconfig file name
	  Most distros ship OpenCV 4.x, and the pkgconfig file for that is
	  `opencv4`. OpenCV 3.x uses `opencv`, and Fedora ships both files with
	  OpenCV 4.x for backwards compat.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2025-02-05 17:42:31 +0100  Alicia Boya García <aboya@igalia.com>

	* plugins/tracers/gstlog.c:
	  log tracer: Use strings instead of integer codes
	  In many places in the log tracer %d was used for data types we have
	  string format functions. This is especially problematic when the data
	  type is not immediately obvious to the reader (e.g. gboolean vs
	  GstFlowRet, where TRUE==1 but GST_FLOW_OK==0) or the values are not easy
	  to memorize (GST_STATE_CHANGE_PLAYING_TO_PAUSED==35).
	  This patch replaces all the integer codes with string representations so
	  that the logs are easier to understand by humans.
	  The formatting of GstBufferList by the log tracer is also updated to use
	  GST_PTR_FORMAT instead of a raw pointer, so the user can see the
	  timestamps, size and number of buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8414>

2025-02-05 18:53:33 +0100  Alicia Boya García <aboya@igalia.com>

	* gst/parse/grammar.y.in:
	  gstreamer: parse: Fix log in gst_parse_perform_link
	  Suppose you're trying to debug why this pipeline doesn't work:
	  ```
	  $ GST_DEBUG=GST_PIPELINE:DEBUG gst-launch-1.0 \
	  videotestsrc num-buffers=10 ! x264enc name=enc ! mux.sink_0  \
	  mpegtsmux name=mux ! fakesink
	  ```
	  You will encounter this line in the logs:
	  > gst_parse_perform_link: linking some pad of GstX264Enc named enc to
	  > pad  mux of GstMpegTsMux named mux (0/1) with caps "(NULL)"
	  It would seem that the element name is being read as a pad name as well,
	  and that made me wonder if the parsing was not working. However, it was
	  just a bug in the code printing that log. This patch fixes that bug.
	  Note that it is possible to specify more than one pad name for each side
	  of the link. For instance, the following is a valid pipeline that will
	  remux the video and audio of an MP4 file into MKV:
	  ```
	  $ GST_DEBUG=GST_PIPELINE:DEBUG gst-launch \
	  filesrc location=input.mp4 ! qtdemux name=demux  \
	  multiqueue name=mq  \
	  matroskamux name=mux ! filesink location=output.mkv  \
	  demux.video_0,audio_0 ! mq.sink_0,sink_1  \
	  mq.src_0,src_1 ! mux.video_0,audio_0
	  ```
	  The new logging accomodates this by using a new utility function to join
	  strings of pad name lists instead of `PRETTY_PAD_NAME_FMT` (which only
	  supports one pad name). For example:
	  > linking pads {video_0, audio_0} of GstQTDemux named demux to pads
	  > {sink_0, sink_1} of GstMultiQueue named mq with caps "(NULL)"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8415>

2025-02-04 15:52:08 +0100  Patricia Muscalu <patricia@axis.com>

	* gst/gsttracerutils.h:
	  tracers: Fix build problem when tracer hooks are disabled
	  "undefined reference to `GST_TRACER_PAD_SEND_EVENT_PRE'
	  undefined reference to `GST_TRACER_PAD_SEND_EVENT_POST'"
	  errors are generated when trying to build GStreamer with
	  the following build configuration:
	  meson setup -Dgstreamer:tracer_hooks=false build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8419>

2025-01-30 14:57:15 +0100  Corentin Damman <c.damman@intopix.com>

	* gst/gstpluginloader-win32.c:
	  pluginloader-win32: create no window
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8387>

2023-08-15 21:22:19 -0300  L. E. Segovia <amy@centricular.com>

	* libs/gst/check/libcheck/README.txt:
	  gst-indent: build our own indent tool and make it available in the devenv
	  No more formatting mismatches owing to different GNU indent
	  versions shipped by different distro versions.
	  See #340
	  Co-authored-by: L. E. Segovia <amy@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2025-01-28 23:08:01 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* plugins/elements/gstfdsrc.c:
	  fdsrc: Add property is-live
	  Fixed #4184
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8372>

2025-01-27 07:45:22 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/gstiterator.c:
	* tests/check/gst/gstiterator.c:
	  gstiterator: Added error handling to filtered iterators
	  Otherwise, if the underlying iterator returns GST_ITERATOR_ERROR, the filtered
	  iterator will crash.
	  With this change, the filtered iterator propagates the error back to the caller.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8367>

2025-01-27 13:58:50 +0100  Alicia Boya García <aboya@igalia.com>

	* plugins/tracers/gstlog.c:
	  docs: Fix log category names in the log tracer
	  The documentation was incorrectly referring to `GST_QUERY` and `GST_BIN`
	  as GstDebug category names.  These two don't follow the pattern of the
	  rest, and instead are named `query` and `bin` respectively.
	  This can be verified from the source code of the _do_init macro in the
	  same gstlog.c file, and from gstbin.c and gstquery.c calls to
	  GST_DEBUG_CATEGORY_INIT().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8365>

2025-01-27 14:44:02 +0100  Alicia Boya García <aboya@igalia.com>

	* plugins/tracers/gstlog.c:
	  tracers: log: Fix wrong argument in do_chain_buffer_pre()
	  The third argument of the pad-chain-pre and pad-chain-post hooks are of type GstBuffer* and GstBufferList* respectively.
	  However, when I added do_chain_buffer_pre() and do_chain_buffer_post()
	  to gstlog.c I accidentally make them take GstFlowReturn -- almost
	  certainly as an artifact from duplicating the code of the _post()
	  variants, leading to erroneous log lines like this:
	  ```
	  do_chain_buffer_pre:<vp9parse0:sink> 0:00:01.615378540, pad=<vp9parse0:sink>, res=-1073639680
	  ```
	  This patch fixes that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8366>

2025-01-20 19:42:02 +0100  Alicia Boya García <aboya@igalia.com>

	* gst/gstpad.c:
	* gst/gsttracerutils.c:
	* gst/gsttracerutils.h:
	* plugins/tracers/gstlog.c:
	  tracing: add hooks for gst_pad_send_event_unchecked()
	  Similar to de30de865cd, this allows to follow the flow of events as they
	  arrive to a pad rather than only when they are pushed to a peer.
	  The hook is installed in gst_pad_send_event_unchecked() instead of
	  gst_pad_send_event() because the latter is often omitted: that is the
	  case especifically in gst_pad_push_event_unchecked(), where most event
	  propagation occurs.
	  This patch also makes use of the new hooks in the log tracer to log the
	  begining and end of the send_event processing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8330>

2025-01-22 18:30:07 +0100  Alicia Boya García <aboya@igalia.com>

	* gst/gstpad.c:
	* gst/gsttracerutils.h:
	  tracers: signal pad-push-event when pushing sticky events
	  Previously, the tracer pad-push-event was only signalled on
	  gst_pad_push_event().  However, the sticky event handling code in
	  GStreamer uses gst_pad_push_event_unchecked() instead, which meant those
	  events were not logged.
	  This patch extends the definition of the pad-push-event tracer to cover
	  both calls to gst_pad_push_event() and any direct calls to
	  gst_pad_push_event_unchecked() that skip the former inside GstPad
	  private code.
	  gst_pad_push_event_unchecked() returns GstFlowReturn instead of
	  gboolean like gst_pad_push_event(). To maintain API compatibility, the
	  GstFlowReturn is converted to gboolean.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4182
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8342>

2025-01-22 12:34:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstnetclientclock.c:
	  netclientclock: Don't stop searching the clock cache when the first corrupted clock is found
	  The clock we're looking for might be working fine and be available afterwards.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8334>

2025-01-22 12:32:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstnetclientclock.c:
	  netclientclock: Don't ever store failed internal clocks in the cache
	  If starting the internal clock fails we would still store a broken clock in the
	  cache despite it being unusable and never recovering.
	  Not storing it allows the application to simply create a new one at a later time
	  and have starting it retried.
	  Also signal to the application that such a clock is not synced.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8334>

2025-01-23 19:48:28 +0000  Rares Branici <rares.branici@senstar.com>

	* gst/gstpluginloader-win32.c:
	  pluginloader-win32: create no window
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8354>

2025-01-23 16:52:30 +0100  Silvio Lazzeretti <silviola@amazon.it>

	* gst/gstpluginloader-win32.c:
	  gstpluginloader-win32: fix use after free in find_helper_bin_location
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8352>

2025-01-20 18:48:11 +0100  Alicia Boya García <aboya@igalia.com>

	* plugins/tracers/gstlog.c:
	  tracers: log: Log buffer-chain
	  Commit de30de865cd added a hook for pad-chain-{pre,post} and
	  pad-chain-list-{pre,post}. As explained in that commit, hooking the
	  chain is helpful because it allows you to hook to buffer propagation in
	  both srcpads (pad-push) and sinkpads (pad-chain).
	  This patch uses the new hooks to log pad-chain in the log tracer.
	  Before, only pad-push was logged, so you could only follow the flow of
	  buffers through the srcpads.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8329>

2025-01-20 13:26:18 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst-plugins-doc-cache-generator.py:
	  docs: doc-cache-generator: Pass the full os.environ so `pkg-config` can be found
	  We want to pass the `PATH` from the current environment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8327>

2025-01-20 13:25:45 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst-plugins-doc-cache-generator.py:
	  docs: Make autopep8 happy for gst-plugins-doc-cache-generator.py
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8327>

2025-01-20 10:48:04 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstsparsefile.c:
	  sparsefile: ensure error is set when read_buffer() returns 0
	  gst_sparse_file_read() is supposed to set @error when returning 0 but
	  in some cases was not.
	  Hopefully fix a crash in gst_download_buffer_read_buffer() which is
	  checking error->code when 0 is returned.
	  I'm not totally sure when this happens as I debugged this from a post
	  mortem crash but returning a generic error here seems the safe thing to
	  do.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8321>

2025-01-20 10:47:34 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstsparsefile.c:
	  sparsefile: fix typo in doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8321>

2025-01-20 13:23:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: explicitly list gir files as depends for generating configs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8324>

2025-01-20 13:20:17 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-plugins-doc-cache-generator.py:
	  docs: only add configuration files to sitemap once generated
	  The generation script can fail to generate a configuration for the four
	  libraries where the documentation is not generated from gir, as it needs
	  to run pkg-config.
	  Only add the path to the configuration file to the sitemap once it has
	  successfully been dumped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8324>

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

	* gst/gstdevicemonitor.c:
	  gstdevice: Fetch device provider from message source
	  The GstDevice removed may not have a parent anymore when we check
	  whether the provider is hidden. Let's fetch the provider from the
	  message source, which is more reliable.
	  Fixes a racy nullptr deref on macOS when a device is unplugged:
	  ```
	  libgstreamer-1.0.0.dylib!is_provider_hidden (gstreamer/subprojects/gstreamer/gst/gstdevicemonitor.c:240)
	  libgstreamer-1.0.0.dylib!bus_sync_message (gstreamer/subprojects/gstreamer/gst/gstdevicemonitor.c:286)
	  libgstreamer-1.0.0.dylib!gst_bus_post (gstreamer/subprojects/gstreamer/gst/gstbus.c:358)
	  libgstreamer-1.0.0.dylib!gst_device_provider_device_remove (gstreamer/subprojects/gstreamer/gst/gstdeviceprovider.c:685)
	  libgstosxaudio.dylib!gst_osx_audio_device_provider_update_devices ([...]/sys/osxaudio/gstosxaudiodeviceprovider.c:539)
	  libgstosxaudio.dylib!_audio_devices_changed_cb ([...]/sys/osxaudio/gstosxaudiodeviceprovider.c:313)
	  CoreAudio!HALObject::PropertiesChanged(unsigned int, AudioObjectPropertyAddress const*) (Unknown Source:0)
	  CoreAudio!HALSystem::PropertiesChanged(unsigned int, AudioObjectPropertyAddress const*) (Unknown Source:0)
	  CoreAudio!HALSystem::ObjectsPublishedAndDied(...) (Unknown Source:0)
	  CoreAudio!HALSystem::AudioObjectsPublishedAndDied(...) (Unknown Source:0)
	  CoreAudio!HALC_ShellPlugIn::ReconcileDeviceList(bool, bool) (Unknown Source:0)
	  CoreAudio!HALC_ShellPlugIn::CreateAggregateDevice(__CFDictionary const*, unsigned int&) (Unknown Source:0)
	  CoreAudio!AudioHardwareCreateAggregateDevice_mac_imp (Unknown Source:0)
	  AudioDSP!___lldb_unnamed_symbol15046 (Unknown Source:0)
	  AudioDSP!___lldb_unnamed_symbol15038 (Unknown Source:0)
	  AudioDSP!___lldb_unnamed_symbol33307 (Unknown Source:0)
	  AudioToolboxCore!APComponent::newInstance(...) (Unknown Source:0)
	  AudioToolboxCore!instantiate(...) (Unknown Source:0)
	  AudioToolboxCore!__AudioComponentInstanceNew_block_invoke (Unknown Source:0)
	  AudioToolboxCore!Synchronously (Unknown Source:0)
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8320>

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

	* docs/gst-plugins-doc-cache-generator.py:
	* docs/meson.build:
	* gst/meson.build:
	* libs/gst/base/meson.build:
	* libs/gst/check/meson.build:
	* libs/gst/controller/meson.build:
	* libs/gst/net/meson.build:
	* libs/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-15 17:35:21 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/libs/index.md:
	  docs: remove useless index.md in libs/ subdirectory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

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

	* docs/index.md:
	  docs: remove unused index.md file
	  It is a bit hard to track its origin as `git log --follow` leads all the
	  way to a 2001 Wim commit of a TODO file, but it was not used in the
	  documentation and the contained information appears in other places.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-08 15:01:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/gstutils.c:
	* gst/gstutils.h:
	  gst: utils: Add a multiply_int64 variant
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8262>

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:
	* gstreamer.doap:
	* meson.build:
	  Release 1.25.1

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

	* docs/meson.build:
	* plugins/meson.build:
	* plugins/tracers/meson.build:
	  docs: port plugins to explicit sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>

2025-01-03 15:44:11 +0100  Edward Hervey <edward@centricular.com>

	* plugins/elements/gstfilesrc.c:
	  filesrc: Properly handle lseek return value
	  On windows we use _lseeki64 which returns a guint64.
	  The only error code lseek and _lseeki64 return is a casted -1, therefore just do
	  that to handle all platforms
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

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

	* tests/check/gst/gstbuffer.c:
	  test: Remove always-true assertion
	  The offset is not deterministic
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-03 14:30:55 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/elements/filesink.c:
	  test: Avoid type-limit issue
	  ```
	  ../subprojects/gstreamer/tests/check/elements/filesink.c: In function ‘test_seeking’:
	  ../subprojects/gstreamer/tests/check/elements/filesink.c:92:23: warning: comparison of unsigned expression in ‘< 0’ is
	  always false [-Wtype-limits]
	  92 |         for (i = 0; i < num_bytes; ++i)                                 \
	  |                       ^
	  ../subprojects/gstreamer/tests/check/elements/filesink.c:266:3: note: in expansion of macro ‘PUSH_BYTES’
	  266 |   PUSH_BYTES (0);
	  |   ^~~~~~~~~~
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-02 12:14:37 +0100  Edward Hervey <edward@centricular.com>

	* meson.build:
	  gstreamer: Add more warning flags
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4123
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-02 12:14:13 +0100  Edward Hervey <edward@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  gstptpclock: Fix GST_STIME_ARGS usage
	  It requires a signed value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-02 12:13:42 +0100  Edward Hervey <edward@centricular.com>

	* gst/printf/vasnprintf.c:
	* plugins/elements/gstfakesrc.c:
	* plugins/elements/gstoutputselector.c:
	* plugins/elements/gstqueue2.c:
	* plugins/elements/gsttypefindelement.c:
	* tests/check/gst/gstpad.c:
	* tests/check/gst/gstutils.c:
	  gstreamer: Make switch passthrough as such
	  vasnprintf requires special handling since the following 'case' is #ifdef'ed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2024-08-20 00:40:06 +0900  Andrew Yooeun Chun <aychun00@gmail.com>

	* libs/gst/base/gstbasetransform.c:
	  basetransform: fix incorrect logging inside gst_base_transform_query_caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7381>

2025-01-06 18:28:18 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-plugins-doc-cache-generator.py:
	* docs/meson.build:
	  doc: store path to dynamic library in plugin configuration
	  This can then be used by the pre-commit hook to avoid rebuilding
	  complete plugin caches to check a change, thus minimizing the potential
	  diff and making analysis of completely-unrelated cache diffs much less
	  likely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>

2025-01-03 18:49:39 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-plugins-doc-cache-generator.py:
	* docs/meson.build:
	  docs: start using custom_target instead of run_command for sitemap
	  Intead of passing around the output of the config generator program,
	  which consists of paths joined by a separator we can have the generator
	  simply produce an extra file containing those paths.
	  This commit only implements the new approach for the core plugins, as
	  this was needed to avoid spurious meson rebuilds when the pre-commit
	  hook regenerates the core plugins_cache.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>

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

	* docs/meson.build:
	  docs: list doc sources explicitly for GStreamer core
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>

2025-01-02 14:07:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-plugins-doc-cache-generator.py:
	* docs/meson.build:
	* meson.build:
	* plugins/elements/meson.build:
	* plugins/meson.build:
	* plugins/tracers/meson.build:
	  docs: start listing sources explicitly in hotdoc configuration files
	  A JSON configuration file is generated for core plugins, which maps
	  plugin names with sources to parse for docstrings.
	  The file is then opened by the configuration generator script, which
	  will now favor explicitly listed files to (usually wildcarded) paths
	  passed on its command line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>

2025-01-06 20:29:00 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/gsttracerutils.c:
	  tracers: Fix issue in the BC layer added in refactor to simplify params handling
	  Issue added in refactor done in commit 5e18499372, which includes a
	  logic to not break the backward compatibility. Issue found with Rust
	  pcap-writer tracer, fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/644
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8248>

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

	* gst/gstmessage.c:
	  message: Remove nullable annotation from gst_message_writable_details()
	  This function can never return NULL as the details are created for the message
	  if there are none yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8235>

2024-12-31 10:50:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstpad.c:
	  pad: Reset not-linked last flow return on reconfigure events
	  The pad might actually be linked now and we'd only find out by actually pushing
	  a buffer downstream again.
	  The last flow return is used by GstFlowCombiner to detect if all pads are not
	  linked, and not resetting this when re-linking creates a race condition when
	  switching between pads where all pads are temporarily considered not linked.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3836
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8224>

2024-12-16 11:41:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: Add bitrate tags to empty taglists too
	  It's unclear why empty taglists should be handled in a special way. If the
	  subclass or upstream did not provide any tags at all then we can still provide
	  bitrate tags at least.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8157>

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

	* data/bash-completion/helpers/meson.build:
	* docs/meson.build:
	* gst/meson.build:
	* libs/gst/base/meson.build:
	* libs/gst/check/meson.build:
	* libs/gst/controller/meson.build:
	* libs/gst/helpers/meson.build:
	* libs/gst/net/meson.build:
	* meson.build:
	* tests/validate/meson.build:
	* tools/meson.build:
	  meson: Give the same name for api_version in all modules
	  There were 2 version of it, apiversion and api_version, I chose the one
	  with most occurencies: `api_version`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-12 10:50:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstpad.c:
	  pad: Only remove TAG events on STREAM_START if the stream-id actually changes
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4097
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8135>

2024-07-09 11:42:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstinfo.c:
	  info: Use an RW lock to protect the log functions and their list
	  Previously the code tried to be thread-safe by only locking when modifying the
	  list and leaking the old list, but this was not sufficient. When removing a log
	  function, its user_data would be freed but this log function and its user_data
	  might afterwards still be used during logging which then could lead to memory
	  corruption.
	  To avoid that, use an RW lock: get a write lock whenever modifying the list and
	  get a read lock whenever only using the list of log functions for logging.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3660
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7151>

2024-12-10 12:52:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: unset GST_TRACERS for g-ir-scanner to avoid warnings
	  People might have GST_TRACERS=leaks set in their environment
	  by default, which will now trigger criticals during the build
	  when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH
	  so that the scanner doesn't load any plugins.
	  Fixes #4093
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8121>

2024-12-09 18:32:34 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/tracers/gstlatency.h:
	* plugins/tracers/gstleaks.h:
	* plugins/tracers/gststats.c:
	  doc: Add some missing doc strings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 22:49:05 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/tracers/gstleaks.c:
	  tracers: leak: Fix some docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 11:38:26 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst-hotdoc-plugins-scanner.c:
	* docs/plugins/gst_plugins_cache.json:
	  doc: Add tracer objects information
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

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

	* plugins/tracers/gstlatency.c:
	  tracers: latency: Port to using property based configuration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 11:13:52 -0300  Thibault Saunier <tsaunier@igalia.com>

	* tools/gst-inspect.c:
	  gst-inspect: Document tracer properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 09:17:50 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/tracers/gstrusage.c:
	  tracers: rusage: Mark as set_use_structure_params
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 09:16:57 -0300  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/helpers/gst-plugin-scanner.c:
	  gst-plugin-scanner: Do not create tracers when inspecting plugins
	  Ensuring that GST_TRACERS is not set in that process
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-05 18:57:10 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/tracers/gstleaks.c:
	* plugins/tracers/gstleaks.h:
	  leaks: Port to using object property based parameters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-05 18:52:31 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/gsttracer.c:
	* gst/gsttracer.h:
	* gst/gsttracerfactory.c:
	* gst/gsttracerfactory.h:
	* gst/gsttracerutils.c:
	  tracers: Simplify params handling using GstStructure and object properties
	  Instead of having each tracer implement its own parameter parsing,
	  centralize the handling in the tracer subsystem using GstStructure.
	  This simplifies tracer implementations and provides a consistent way
	  to handle properties.
	  It also allows for much better documentation by forcing tracer object
	  to expose properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-09 22:12:21 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstvecdeque.c:
	  vecdeque: Fix documentation of push_tail_struct()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8111>

2024-11-22 21:23:10 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst/gstvalue.c:
	  gstvalue: fix crash in transform allocation params to string
	  when gst_buffer_pool_config_set_allocator (config, alloc, NULL);
	  gst_structure_to_string or GST_DEBUG (pool, "config %" GST_PTR_FORMAT,
	  config) will crash. this patch fix that
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7943>

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

	* gst/gstallocator.c:
	  allocator: Avoid integer overflow when allocating sysmem
	  Thanks to Antonio Morales for finding and reporting the issue.
	  Fixes GHSL-2024-166
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3851
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8032>

2024-11-28 16:06:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstsystemclock.c:
	  systemclock: Don't keep the clock entry locked while getting the time from the clock
	  gst_clock_get_time() will take the clock mutex, which would then result in a lock
	  order violation and possible deadlocks. If both mutexes are to be locked, the
	  clock must always be locked first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994>

2024-11-28 15:49:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstsystemclock.c:
	  systemclock: Get rid of conditional unlocking of the clock entries
	  At every point it is known whether the entry needs to be unlocked or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994>

2024-11-28 15:43:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstsystemclock.c:
	  systemclock: Remove confusing conditional unlock
	  At this point the entry is always locked and needs to be unlocked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994>

2024-11-28 15:25:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstsystemclock.c:
	  systemclock: Use a flag while waiting for the async thread to start
	  Otherwise there can be spurious wakeups.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994>

2024-11-27 11:19:02 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* gst/gstdebugutils.c:
	  gstreamer: prefix debug dot node names to prevent splitting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7979>

2024-11-25 16:28:51 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* plugins/tracers/gstleaks.c:
	  tracers: unlock leaks tracer if already tracking
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7954>

2024-11-20 15:02:19 +0800  He Junyan <junyan.he@intel.com>

	* gst/gstutils.c:
	* gst/gstutils.h:
	  utils: Add gst_util_floor_log2 helper function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-20 12:24:34 +0000  L. E. Segovia <amy@amyspark.me>

	* cmake/FindGStreamer.cmake:
	  cmake: Add Android libvulkan to the ignored system libraries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7861>

2024-08-19 13:50:48 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst/gstmeta.c:
	* gst/gstmeta.h:
	* plugins/elements/gsttee.c:
	  meta: add aggregation function for allocation meta api params
	  since tee do allocation query for each downstream element, and
	  get allocation query params from them. this function will aggregate
	  all params, and propose it for upstream element of tee
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201>

2024-11-15 11:02:20 +0100  Albert Sjolund <alberts@axis.com>
[--snip--]
