meson: Generate ChangeLog files for release tarballs on dist
[platform/upstream/gstreamer.git] / subprojects / gstreamer / ChangeLog
index d36f706..58b6582 100644 (file)
+=== release 1.21.2 ===
+
+2022-11-07 23:53:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * NEWS:
+       * RELEASE:
+       * gstreamer.doap:
+       * meson.build:
+         Release 1.21.2
+
+2022-11-07 23:53:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.21.2
+
+2022-11-07 09:27:09 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * docs/meson.build:
+         hotdoc: gst-hotdoc-plugins-scanner is not needed for libraries
+         Meson >= 0.64.0 does not allow any more to add executables into
+         hotdoc.generate_doc(..., dependencies: ...) and it should not be needed
+         any way.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3352>
+
+2020-09-01 16:01:08 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * tests/check/gst/gstinfo.c:
+         tests: gstinfo: Test set_threshold_from_string's new reset behavior
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
+
+2020-08-22 23:42:40 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * tests/check/gst/gstinfo.c:
+         tests: gstinfo: Make logging tests pass when GST_DEBUG is set
+         Use gst_debug_set_threshold_from_string's new reset behavior to undo
+         GST_DEBUG and ensure the logging tests have a known configuration.
+         `gst_debug_set_threshold_from_string ("LOG", TRUE)` has the same effect
+         as `gst_debug_set_threshold_from_string ("", TRUE)` followed by
+         `gst_debug_set_default_threshold (GST_LEVEL_LOG)`.
+         Don't bother remembering the default log level set when the test
+         started. It will get reset by the next test, anyway.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
+
+2020-08-22 22:41:15 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/gstinfo.c:
+         info: Reset patterns with set_threshold_from_string
+         TLDR: Make `gst_set_threshold_from_string ("", TRUE)` reset *all*
+         threshold settings, including those set by previous invocations of
+         `gst_debug_set_threshold_from_string`.
+         The docs say:
+         @reset: %TRUE to clear all previously-set debug levels before setting
+         new thresholds
+         What actually happens is it sets the default threshold to `ERROR`,
+         leaves the patterns in place and calls
+         `gst_debug_category_reset_threshold` on each category.
+         In effect, any category that is matched by a pattern gets reset to that
+         threshold if the app changed it by directly invoking
+         `gst_debug_category_set_threshold`. All other categories are reset to
+         `ERROR`.
+         In my opinion this parameter currently has little value, as the same
+         effect can be achieved by including `ERROR` (without a pattern) in the
+         string, as in `"foo*:WARNING,*bar:INFO,ERROR"`.
+         What I actually expect it to do is reset *all* threshold settings,
+         including those set by previous invocations of
+         `gst_debug_set_threshold_from_string`, starting off with a clean slate
+         for the patterns provided with the call.
+         Otherwise there is no API to do this, besides:
+         - Painfully removing patterns one-by-one via
+         `gst_debug_unset_threshold_for_name` *if* you know what the patterns
+         are.
+         - Adding a `*:FOO` pattern to affect all categories, which makes the
+         default threshold useless and practically leaks all the old
+         patterns.
+         In my opinion this also makes it fit better into the layers of threshold
+         config, which is:
+         1. Temporary:
+         - `gst_debug_category_set_threshold`
+         - `gst_debug_category_reset_threshold`
+         2. Patterns:
+         - `gst_debug_set_threshold_for_name`
+         - `gst_debug_unset_threshold_for_name`
+         - `gst_debug_set_threshold_from_string`
+         - `GST_DEBUG`
+         3. Default:
+         - `gst_debug_set_default_threshold`
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
+
+2022-09-21 10:05:05 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/gstpad.c:
+         gstpad: Avoid race in (un)setting EOS flag on sinkpads
+         The scenario is the following:
+         * Thread 1 is pushing an EOS event on a sinkpad
+         * Thread 2 is pushing a STREAM_START event on the same sinkpad before Thread 1
+         returns. Note : It starts pushing the event after Thread 1 took the object lock.
+         There is a potential race between:
+         * The moment Thread 1 sets the EOS flag once it has finished sending the
+         event (via store_sticky_event). When it does that it has both the STREAM and
+         OBJECT lock
+         * The moment Thread 2 sends the STREAM_START event (Which should release that
+         EOS status), but removing the EOS flag is only done while holding the OBJECT
+         lock and not the STREAM_LOCK, which means it could be re-set by Thread 1 before
+         it then checks again the EOS flag (without the STREAM lock taken).
+         The EOS flag unsetting by STREAM_START should be done with the STREAM lock
+         taken, otherwise it will be racy.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1452
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3320>
+
+2022-11-06 18:10:44 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tools/gst-inspect.c:
+         gst-inspect: print doc urls for Rust plugins
+         We have documentation for them now after all.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3346>
+
+2022-11-05 00:06:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * plugins/elements/gstidentity.c:
+         identity: fix "handoff" signal docs
+         The docs list an extra pad argument, which doesn't
+         match the actual signal function signature. Probably
+         a copy'n'paste mistake when copying things from fakesink.
+         Fixes #1546
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3337>
+
+2022-10-24 12:13:14 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/gstpad.c:
+         gstpad: Fix non-serialized sticky event push
+         With non-serialized sticky events, such as GST_EVENT_INSTANT_RATE, we both want
+         to store the event (for later re-linking) *AND* push the event in a non-blocking
+         way.
+         We therefore must *not* propagate pending sticky events if the event is "sticky
+         or serialized" but only if it's "serialized"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3254>
+
+2022-08-17 22:34:35 -0600  Michael Gruner <michael.gruner@ridgerun.com>
+
+       * gst/parse/grammar.y.in:
+         parse: do delayed set only if the target child was not found and fail otherwise
+         When using the child proxy notation (child::property=value) it may
+         happen that the target child does not exist at the time of parsing
+         (i.e: decodebin creates the encoder according to the contents of the
+         stream). On this cases, we want to delay the setting of the property
+         to later, when new elements are added. Previous logic performed a
+         delayed set even if the target child was found but the property
+         was not found in it. This should be treated as a failure because,
+         unlike missing elements, properties should not appear dynamically.
+         By not failing, typos in property names may go unnoticed to the end
+         user.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2908>
+
+2022-10-18 18:15:12 +0200  Michael Gruner <michael.gruner@ridgerun.com>
+
+       * gst/gstchildproxy.c:
+       * gst/gstchildproxy.h:
+         childproxy: Implement a new ::get_child_by_name_recurse() API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2908>
+
+2022-10-27 15:13:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+       * libs/gst/base/gstbaseparse.c:
+         core/base: Only post latency messages if the latency values have actually changed
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282>
+
+2022-10-27 11:18:24 +0200  Edward Hervey <edward@centricular.com>
+
+       * plugins/elements/gstconcat.c:
+         concat: Properly propagate EOS seqnum
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3284>
+
+2022-10-25 09:39:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gsturi.c:
+       * libs/gst/net/gstnettimepacket.c:
+       * libs/gst/net/gstntppacket.c:
+         Fix various warnings from gobject-introspection
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>
+
+2022-10-22 01:43:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-inspect.c:
+         gst-inspect: Hide GST_PARAM_DOC_SHOW_DEFAULT flag
+         It's known flag but only for documentation purpose. Don't show
+         its (and user cannot understand) value 0x2000
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3241>
+
+2022-10-22 18:34:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/net/gstnetclientclock.c:
+         net: Add missing nullable annotation on the name parameter in the net/NTP clock constructors
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3249>
+
+2022-10-22 22:04:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/gstpadtemplate.c:
+         padtemplate: Fix annotations
+         gst_caps_replace() does not take ownership of the new caps
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3248>
+
+2022-10-22 05:29:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-inspect.c:
+         gst-inspect: Don't print link to doc if it's known to be unavailable
+         "gst_element_factory_get_skip_documentation() == true" means
+         documentation was intentionally skipped for the element feature
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3243>
+
+2022-10-21 11:47:11 +0200  François Laignel <fengalin@free.fr>
+
+       * gst/gstquery.c:
+         gst: uri query: fix inconsistent `uri` nullability  assertion
+         Functions `gst_query_set_uri` and `gst_query_set_uri_redirection`
+         can both set a `NULL` `uri`, as annotated in the documentation.
+         However the functions bodies reject `NULL` `uri`s.
+         See [1] for a discussion on that matter.
+         [1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1134#note_1600988
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3237>
+
+2022-10-21 11:11:13 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/gst-hotdoc-plugins-scanner.c:
+         docs: plugins-scanner: Handle interface used for plugin API properties
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3236>
+
+2022-10-18 03:08:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/gst-hotdoc-plugins-scanner.c:
+         docs: plugin-scanner: Stop updating "long-name" metadata
+         The "long-name" value can be environment dependent, and it's not
+         actually used by our documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3208>
+
+2022-10-19 22:30:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/parse/grammar.y.in:
+         parse: Adjust debug log level
+         That's not an error case at all
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3228>
+
+2022-10-19 13:34:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstdeviceproviderfactory.c:
+       * gst/gstelementfactory.c:
+         {element,deviceprovider}factory: g_object_new() can't ever return NULL
+         So treat it as the assertion it is.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3226>
+
+2022-10-19 13:33:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstelementfactory.c:
+         elementfactory: Handle element factory loading failure in gst_element_factory_create_valist() not as assertion
+         In gst_element_factory_create_with_properties() it is a normal error
+         path so let's keep this consistent.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3226>
+
+2022-10-19 13:28:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstdeviceproviderfactory.c:
+       * gst/gstelementfactory.c:
+       * gst/gstmeta.c:
+       * gst/gstregistry.c:
+       * gst/gsttaglist.c:
+       * gst/gstvalue.c:
+         gst: Use G_TYPE_INVALID instead of 0 for GTypes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3226>
+
+2022-09-15 00:06:49 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/pipelines/parse-launch.c:
+         tests: parse-launch: remove assignment order tests
+         These tests relied on setting the name of an element twice to verify
+         that the last one set took precedence, however name is a CONSTRUCT property
+         and the parser now errors out when such properties are set twice, in
+         g_object_new_with_properties .
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3026>
+
+2022-09-13 23:16:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/parse/grammar.y.in:
+       * gst/parse/types.h:
+       * tests/check/pipelines/parse-launch.c:
+         parse: refactor to make use of gst_element_factory_make_with_properties
+         Instead of creating the element first, then setting properties and
+         presets, we gather those and construct the element with the properties.
+         This means users of gst_parse_launch can now set construct-only
+         properties.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1380
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3026>
+
+2022-10-18 16:41:36 +0200  Bunio_FH <buniofh@gmail.com>
+
+       * gst/gstminiobject.c:
+         gstminiobject: shares capacity increase
+         during the MSE (WebKit) tests from Apple suite:
+         https://hls-streaming.cdn-apple.com/hls_conformance/dist/v1.1/index.html?pretty=true&whitelist=MSE%20Suite
+         webkit attempts to add a single audio buffer containing ~35.5k frames.
+         when corresponding GstSamples are pulled buffer is being referenced
+         more than object capacity allows: 2^15-1. since the case could be considered
+         malformed a surgical patch is applied to increase the capacity.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3221>
+
+2022-10-15 12:31:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstatomicqueue.c:
+       * gst/gstbuffer.c:
+       * gst/gstbufferpool.c:
+       * gst/gstbufferpool.h:
+       * gst/gstelement.c:
+       * gst/gstevent.c:
+       * gst/gstinfo.c:
+       * gst/gstmessage.c:
+       * gst/gstobject.c:
+       * gst/gstparse.c:
+       * gst/gstpipeline.c:
+       * gst/gstquery.c:
+       * gst/gststructure.c:
+       * gst/gsttaglist.c:
+       * gst/gsttoc.c:
+       * gst/gsturi.c:
+       * gst/gstutils.c:
+         core: Add/fix various annotations
+         And fix memory leaks/null pointer dereferences in GstUri in error cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 12:24:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/check/gstharness.c:
+         check: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 12:20:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/net/gstnetaddressmeta.c:
+       * libs/gst/net/gstnettimepacket.c:
+       * libs/gst/net/gstnettimeprovider.c:
+       * libs/gst/net/gstntppacket.c:
+         net: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 12:18:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/base/gstqueuearray.c:
+         base: Add/fix annotations in GstQueueArray
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 23:48:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/controller/gsttimedvaluecontrolsource.c:
+         controller: Add/fix various annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-07 14:39:47 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: fix input buffering
+         We need to be able to buffer at least the aggregator latency +
+         upstream latency, which is the value used to compute the aggregator
+         deadline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3138>
+
+2022-10-01 04:58:04 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/gstbin.c:
+         gstbin: Use g_queue_clear_full()
+         Use g_queue_clear_full() to release the child list
+         instead of iterating over the list twice.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
+
+2022-10-01 04:55:49 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/gstbin.c:
+         gstbin: Fix a potential leak in gst_bin_do_deep_add_remove()
+         If a child element of a bin is unparented while
+         gst_bin_do_deep_add_remove() is iterating the children,
+         don't leak a ref to it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
+
+2022-10-01 04:54:20 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/gstiterator.c:
+         gstiterator: Don't use gst_object_unref() for a GObject
+         The owner of a GstIterator is a plain GObject. Don't unref it
+         with gst_object_unref(), or it will be logged in tracer
+         info incorrectly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
+
+2022-10-04 03:57:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
+
+=== release 1.21.1 ===
+
+2022-10-04 01:14:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gstreamer.doap:
+       * meson.build:
+         Release 1.21.1
+
+2022-10-04 01:13:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.21.1
+
+2022-10-03 11:16:25 +0200  Edward Hervey <edward@centricular.com>
+
+       * plugins/elements/gstqueue2.c:
+         queue2: Hold the lock when modifying sinkresult
+         As it's done elsewhere. Avoids a potential race of the field being modified in
+         the meantime.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3110>
+
+2018-03-28 17:54:15 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst/gstbuffer.c:
+       * gst/gstmeta.c:
+       * gst/gstmeta.h:
+       * libs/gst/base/gstadapter.c:
+       * libs/gst/base/gstbasetransform.c:
+         buffer: drop parent meta in deep copy/foreach_metadata
+         The purpose of a deep buffer copy is to be able to release the source
+         buffer and all its dependencies. Attaching the parent buffer meta to
+         the newly created deep copy needlessly keeps holding a reference to the
+         parent buffer.
+         The issue this solves is the fact you need to allocate more
+         buffers, as you have free buffers being held for no reason. In the good
+         cases it will use more memory, in the bad case it will stall your
+         pipeline (since codecs often need a minimum number of buffers to
+         actually work).
+         Fixes #283
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
+
+2022-09-26 14:17:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gsturi.c:
+         gsturi: When setting the same string again do nothing
+         Otherwise code like gst_uri_set_host(uri, gst_uri_get_host(uri)) would
+         first free the string, then create a copy of the freed string and then
+         assigned that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3076>
+
+2022-09-15 16:22:23 +0200  Edward Hervey <edward@centricular.com>
+
+       * libs/gst/base/gstbasetransform.c:
+         basetransform: Avoid useless codepath
+         If QoS is disabled, skip the whole computation (avoids calculating values which
+         won't be needed)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3034>
+
+2022-09-21 19:19:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Use implicit builtin dirs in pkgconfig generation
+         Starting with Meson 0.62, meson automatically populates the variables
+         list in the pkgconfig file if you reference builtin directories in the
+         pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+         We need this, because ${prefix}/libexec is a hard-coded value which is
+         incorrect on, for example, Debian.
+         Bump requirement to 0.62, and remove version compares that retained
+         support for older Meson versions.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-12 09:46:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * data/bash-completion/helpers/meson.build:
+       * data/meson.build:
+       * libs/gst/helpers/meson.build:
+       * tests/validate/meson.build:
+       * tools/meson.build:
+         meson: Set install_tag on some targets
+         Trying to follow recommendation from Meson documentation:
+         https://mesonbuild.com/Installing.html#installation-tags
+         Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+         plugins in the default 'runtime' category. This simplifies distribution
+         of GStreamer application skipping parts that are not needed, similarly
+         to what Cerbero does by hardcoding huge list of files.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-08-31 18:08:08 +0200  Paweł Stawicki <stawel+gstreamer@gmail.com>
+
+       * plugins/elements/gstqueue2.c:
+         queue2: Fix deadlock when deactivate is called in pull mode
+         check is flush was called before waiting on condition
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2967>
+
+2022-09-15 16:23:16 +0200  Edward Hervey <edward@centricular.com>
+
+       * libs/gst/base/gstbaseparse.c:
+         baseparse: If available, return average bitrate upstream
+         Helps improve queue2 buffering for single stream playback (ex: FLAC or mp3)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3033>
+
+2022-08-26 08:43:34 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/gstelement.c:
+         Build documentation for rust plugins
+         - Update the docker image we use, starting using the standard one adding
+         `gtk4-doc` as required by rust plugins
+         - Update the plugins_doc_caches as required, some more plugins are built
+         with the new image
+         - Install ninja from pip as the version from F31 is too old
+         - Avoid buildings all GSreamer plugins when building the doc as it takes
+         time and resources for no good reason
+         - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+         documentation, leading to warnings in hotdoc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-26 08:39:16 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/gst-hotdoc-plugins-scanner.c:
+         docs: plugin-scanner: Minor debug enhancement
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2021-01-28 08:40:56 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * gst/gst_private.h:
+       * gst/gstelement.c:
+       * gst/gstinfo.c:
+         gstinfo: remove the vasprintf fallback
+         We are always building our printf implementation, even when
+         GST_DEBUG is disabled, since we are exposing api (gst_print*)
+         that's dependant on our printf behavior.
+         We don't need to keep __gst_info_fallback_vasprintf around anymore.
+         Close #640
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/739>
+
+2021-03-24 14:20:18 -0500  Zebediah Figura <z.figura12@gmail.com>
+
+       * meson.build:
+         meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+         GLib made the unfortunate decision to prevent libgobject from ever being
+         unloaded, which means that now any library which registers a static type
+         can't ever be unloaded either (and any library that depends on those,
+         ad nauseam).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2021-04-19 10:49:42 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst/gstregistry.c:
+         registry: skip integration testsuite directory during plugin scan
+         When using an uninstalled development environment and running the
+         validation tests, the number of log files can grow substantially,
+         slowing down startup.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/799>
+
+2022-08-30 10:48:18 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/gstbufferpool.c:
+         doc: Clarify that gst_buffer_pool_acquire_buffer() blocks by default
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2955>
+
+2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+       * plugins/elements/meson.build:
+       * plugins/tracers/meson.build:
+         meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+         Removing some copy pasted code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * 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:
+       * meson.build:
+         meson: Namespace the plugins_doc_dep/libraries variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+         meson: Rename plugins list and make them "dependency" objects
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 14:23:59 +0200  Martin Dørum <martid0311@gmail.com>
+
+       * gst/gstpluginloader.c:
+         gstpluginloader: Don't hang on short reads/writes
+         If read_one or write_one was called but the stream closed before it could
+         read/write a whole packet, read_one/write_one would hang indefinitely,
+         consuming 100% CPU. This commit fixes that by treating a short read/write
+         as an error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2964>
+
+2022-08-31 09:15:08 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/gst.c:
+         gst_init: Initialize static plugins just before dynamic plugins
+         All plugins needs to be initialized after `gst_initialized = TRUE;`
+         otherwise they could complain that gst_init() has not been called.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2962>
+
+2022-05-31 15:18:03 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/meson.build:
+         docs: disable in static build
+         Following gst-plugins-base, disable docs if static_build
+         in:
+         - gstreamer
+         - gst-plugins-good
+         - gst-plugins-ugly
+         - gst-libav
+         - gstreamer-vaapi
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-08-24 12:42:12 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/gstvalue.c:
+         value: Use g_critical() when trying to serialize things that can't be
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823>
+
+2022-08-01 14:00:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/gstvalue.c:
+       * tests/check/gst/gstvalue.c:
+         gstvalue: Don't loop forever when serializing invalid flag
+         The serialization code would loop forever if an invalid flag was sent into it.
+         With unit test for this corner case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823>
+
+2022-08-23 19:40:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbin.c:
+         bin: Don't propagate state change errors of elements in locked state
+         Theoretically having elements in locked state should not have any effect
+         at all when the surrounding bin is doing state changes. However
+         previously a state change error of a locked element would cause the
+         bin's state change to also fail, which is clearly not intended.
+         State change failures of locked elements are to be handled by whoever
+         set the element to locked state. By always returning them here it is
+         impossible for the owner of the element to handle state change failures
+         gracefully without potentially affecting the whole pipeline's state
+         changes.
+         Non-failure returns are still returned as-is as the distinction between
+         ASYNC/NO_PREROLL/SUCCESS has big consequences on the state changes of
+         the bin and overall pipeline. Theoretically SUCCESS should also be
+         returned in all cases but I can't estimate the effects this would have
+         on the overall pipeline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2932>
+
+2022-08-17 16:27:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: Improve debug output to better understand why pads are not ready or can't accept more data
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2907>
+
+2022-08-15 20:07:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/gstmeta.c:
+       * gst/gstmeta.h:
+       * tests/check/gst/gstmeta.c:
+         meta: Set the parent refcount of the GstStructure correctly
+         The parent refcount is of the *transformed* buffer, not the input
+         buffer.
+         Also update the docs to clarify that @transbuf is the transformed
+         buffer, and not the buffer on which a transformation is being
+         performed.
+         Due to this bug, modifying the structure of a meta that has been
+         copied to another buffer fails with:
+         gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed
+         Add a test for the same.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2890>
+
+2022-07-09 17:04:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gst.c:
+         gst: Protect initialization state with a recursive mutex.
+         Otherwise a gst_init() call from a plugin would deadlock if the plugin
+         is loaded as part of registry updating.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
+
+2022-07-09 17:02:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstregistry.c:
+         registry: Remove dead code
+         Initialization/updating of the registry can't possible fail and all code
+         paths always returned TRUE.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
+
+2022-07-09 16:50:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gst.c:
+         gst: Don't fail gst_init() if updating the registry fails
+         Everything is already marked as initialized at that point and by failing
+         no tracers would be loaded or plugin feature rank overrides would be
+         applied.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
+
+2022-08-03 12:32:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * plugins/tracers/gstleaks.c:
+         tracers: leaks: delay type name lookup
+         Micro optimisation: Store the quark of the type name when tracking
+         objects and only do the quark to string conversion (hashtable lookup)
+         later when we actually need the string.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-08-03 12:10:02 +0100  Corentin Damman <c.damman@intopix.com>
+
+       * plugins/tracers/gstleaks.c:
+         tracers: leaks: fix potentially invalid memory access when trying to detect object type
+         The is_gst_mini_object_check would sometimes detect a proper GObject
+         as a mini object, and then bad things happen.
+         We know whether a pointer is a proper GObject or a MiniObject here
+         though, so just pass that information to the right code paths and
+         avoid the heuristics altogether.
+         Eliminates all remaining uses of object_is_gst_mini_object().
+         Fixes #1334
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-08-03 12:10:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * plugins/tracers/gstleaks.c:
+         tracers: leaks: fix potentially invalid memory access when trying to detect object type
+         The is_gst_mini_object_check would sometimes detect a proper GObject
+         as a mini object, and then bad things happen.
+         We know whether a pointer is a proper GObject or a MiniObject here
+         though, so just pass that information to the right code paths and
+         avoid the heuristics altogether.
+         There are probably more cases where the check should be eliminated.
+         Fixes #1334, maybe
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-07-28 19:44:20 +0000  Rafael Sobral <rafaelsobral@pm.me>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: fix reversed active/flushing arguments in debug log output
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2813>
+
+2022-05-26 15:26:40 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/gstversion.h.in:
+         GST_CHECK_VERSION: Fix unexpected "git = next version" assumption
+         1.21.0.1 should not satisfy a check for 1.22.0.
+         If someone needs more control they should do a feature check for
+         the symbol in the headers or lib.
+         Based on a similar patch by Tim-Philipp Müller for libnice.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2501>
+
+2022-07-19 04:05:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/gststructure.c:
+       * gst/gststructure.h:
+       * tests/check/gst/gststructure.c:
+         gststructure: Add gst_structure_get_flags method
+         We don't prevent setting G_TYPE_FLAGS on GstStructure
+         but no helper method for getting the value.
+         Add a method similar to gst_structure_get_enum()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2770>
+
+2022-07-18 15:46:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: Reset EOS flag after receiving a stream-start event
+         And also don't assert that there are no buffers queued up when handling
+         an EOS event. The pad's streaming thread might've already received a new
+         stream-start event and queued up a buffer in the meantime.
+         This still leaves a race condition where the srcpad task sees all pads
+         in EOS state and finishes the stream, while shortly afterwards a pad
+         might receive a stream-start event again, but this doesn't seem to be
+         solveable with the current aggregator design.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2769>
+
+2022-07-12 10:49:27 +0000  Corentin Damman <c.damman@intopix.com>
+
+       * plugins/tracers/gstleaks.c:
+         tracers: leaks: fix object-refings.class flags
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2749>
+
+2022-07-09 18:05:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstdevicemonitor.c:
+         devicemonitor: Use a sync bus handler for the provider to avoid accumulating all messages until the provider is stopped
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/981
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2741>
+
+2022-07-08 16:37:51 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/gstinfo.c:
+         gstinfo: Parse "NONE" as a valid level name
+         This allows using `NONE` in `GST_DEBUG`,
+         `gst_debug_set_threshold_from_string`, etc. It was accessible before,
+         but only via the integer `0`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2734>
+
+2022-06-29 08:57:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstpad.c:
+       * gst/gsttracerutils.c:
+       * gst/gsttracerutils.h:
+         tracing: add hooks for gst_pad_chain() / gst_pad_chain_list()
+         This allows tracing buffers when they arrive in a pad instead of just
+         when they are pushed out of a pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2682>
+
+2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/gst.c:
+       * meson.build:
+         coding style: allow declarations after statement
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+         and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-22 09:43:02 +0200  Jonas Danielsson <jonas.danielsson@spiideo.com>
+
+       * gst/gst.c:
+         gst: add missing define guard
+         If compiled with -Dgstreamer:gst_debug=false and we have
+         GST_REMOVE_DISABLED defined we will get the following compiler error:
+         ```
+         [...]/libgstreamer-1.0.so.0.2100.0.p/gst.c.o: in function `gst_deinit':
+         [...]/gst/gst.c:1258: undefined reference to `_priv_gst_debug_cleanup'
+         [...] hidden symbol `_priv_gst_debug_cleanup' isn't defined
+         ```
+         Add the missing define guard to avoid this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2648>
+
+2022-06-21 11:51:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/gst/gstbin.c:
+         bin: Fix race conditions in tests
+         The latency messages are non-deterministic and can arrive before/after
+         async-done or during state-changes as they are posted by e.g. sinks from
+         their streaming thread but bins are finishing asynchronous state changes
+         from a secondary helper thread.
+         To solve this, expect latency messages at any time and assert that we
+         receive one at some point during the test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643>
+
+2022-06-20 16:45:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstelement.c:
+       * tests/check/gst/gstelement.c:
+         element: Fix requesting of pads with string templates
+         Previously it was only possible to request them with the exact template
+         name, e.g. 'src_%s', but not with "instantiated" names that would match
+         this template, e.g.'src_foo_bar'.
+         This is now possible and a test was added for this, in addition to
+         fixing a previously invalid test.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2635>
+
+2022-05-17 10:18:28 -0700  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/gstbuffer.h:
+       * gst/gstmemory.h:
+         Add GstMemoryMapInfo to be used with g_auto()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-05-13 11:51:09 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/gstbuffer.c:
+       * gst/gstbuffer.h:
+       * tests/check/gst/gstbuffer.c:
+         Add GstBufferMapInfo to be used with g_auto()
+         We need a separate typedef for this feature because GstMapInfo itself
+         can be initialized by gst_memory_map() in which case info.memory should
+         not be unreffed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-06-20 15:29:21 +0100  Philippe Normand <philn@igalia.com>
+
+       * tools/gst-inspect.c:
+         gst-inspect: Fix inspection of third-party plugins
+         Since commit de57657de1d1916503b4ad451ac13a3e191465f8 inspecting a third-party
+         plugin would trigger a segfault (Address boundary error) due to the missing
+         sentinel in the list of GStreamer modules.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2636>
+
+2022-06-14 16:30:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/meson.build:
+       * docs/plugins/coretracers/index.md:
+       * docs/plugins/coretracers/sitemap.txt:
+         docs: ensure coretracers plugin index page is index.html
+         And not blank.html
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
+
+2022-06-12 23:28:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tools/gst-inspect.c:
+         gst-inspect: print link to documentation for gstreamer elements
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
+
+2022-05-19 04:59:58 +0000  Adam Doupe <adamdoupe@gmail.com>
+
+       * libs/gst/base/gstqueuearray.c:
+         queuearray: Fix potential heap overflow when expanding GstQueueArray
+         Check that elt_size*newsize doesn't overflow when expanding a
+         GstQueueArray, which has the potential for a heap overwrite.
+         Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1232
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2606>
+
+2022-06-15 12:56:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * libs/gst/check/gstharness.c:
+         docs: harness: Fix example
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2602>
+
+2022-06-14 17:29:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: fix potential crash on shutdown
+         The mq we get out of the weak ref might be NULL if we're
+         shutting down, which could cause assertion failures or
+         crashes.
+         It might also cause miscompilations where the compiler just
+         optimises away the NULL check because it jumps to a code path
+         that then dereferences the pointer which clearly isn't going
+         to work. Seems like something like this happens with gcc 11.
+         Fixes #1262
+         Co-authored-by: Doug Nazar <nazard@nazar.ca>
+         Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2599>
+
+2022-06-14 03:29:41 -0600  James Hilliard <james.hilliard1@gmail.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: fix warning: ‘is_query’ may be used uninitialized in this function
+         Fixes:
+         ../plugins/elements/gstmultiqueue.c: In function ‘gst_multi_queue_loop’:
+         ../plugins/elements/gstmultiqueue.c:2394:19: warning: ‘is_query’ may be used uninitialized in this function [-Wmaybe-uninitialized]
+         2394 |     if (object && !is_query)
+         |                   ^~~~~~~~~
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2593>
+
+2022-06-10 11:40:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/random/moving-plugins:
+         docs: update technical howto in moving-plugins
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2583>
+
+2022-06-08 11:33:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/gst_private.h:
+       * gst/gstclock.c:
+         clock: Use g_atomic_rc_box for refcounting entry clocks
+         g_atomic_rc_box was added in GLib 2.58, and we require 2.62 now, so we
+         can fix the FIXME and use this.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/gstdevicemonitor.c:
+       * meson.build:
+       * tests/check/gst/gsturi.c:
+         Bump GLib requirement to >= 2.62
+         Can't require 2.64 yet because of
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-06-01 09:25:29 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * libs/gst/base/gstbasetransform.c:
+         basetransform: handle gst_base_transform_query_caps() returning NULL
+         If gst_base_transform_transform_caps() returns NULL, gst_base_transform_query_caps()
+         will return NULL as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2532>
+
+2022-05-18 17:03:27 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/gst_private.h:
+       * gst/gstclock.c:
+         clock: Avoid creating a weakref with every entry
+         Creating and destroying weakrefs takes a write lock on a global
+         `GRWLock`. This makes for a very contended lock when the pipeline has
+         many synchronizing elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2530>
+
+2022-05-31 14:27:51 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * libs/gst/base/gstbasetransform.c:
+         basetransform: fix critical if transform_caps() returned NULL
+         klass->transform_caps() may return NULL, which was raising this
+         critical:
+         GStreamer-CRITICAL **: 12:23:56.243: gst_caps_is_subset: assertion 'subset != NULL' failed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2528>
+
+2022-05-29 20:38:38 +1000  tom schuring <tomschuring@gmail.com>
+
+       * gst/gstplugin.c:
+         plugin: add Apache 2 license to known licenses
+         the licence in gstreamer/subprojects/gstreamer/gst/gstplugin.c
+         currently is defined to be one of:
+         LGPL GPL QPL GPL/QPL MPL BSD MIT/X11 0BSD Proprietary
+         The open source project for the kinesis plugin is using an
+         Apache 2.0 license. Because "Apache 2.0" is not one of the
+         supported licenses it automatically falls back to Proprietary.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2514>
+
+2022-01-21 20:31:27 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/gst_private.h:
+       * gst/gststructure.c:
+       * gst/gstvalue.c:
+       * tests/check/gst/gststructure.c:
+         structure: Fix serializing with new format inside arrays/lists
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1554>
+
+2022-05-18 10:04:08 +0800  WANG Xuerui <xen0n@gentoo.org>
+
+       * gst/gstconfig.h.in:
+         gstreamer/gst/gstconfig.h.in: Add support for LoongArch
+         While current and future LoongArch machines that are supposed to run
+         GStreamer all support unaligned accesses, there might be future
+         lower-end cores (e.g. the embedded product line) without such support,
+         and we may not want to penalize these use cases.
+         So, mark LoongArch as not supporting unaligned accesses for now, and
+         hope the compilers do a good job optimizing them. We can always flip
+         switch later.
+         Suggested-by: CHEN Tao <redeast_cn@outlook.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2443>
+
+2022-05-12 20:15:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstelement.c:
+         element: Add sanity check with a critical warning if a pad is requested for a pad template that is not installed on the element class
+         Various elements are assuming that the pointer matches a pad template
+         they know about, and also randomly created pad templates might be
+         missing some important information that is necessary to create a valid
+         pad.
+         For example, creating a new pad template for audiomixer's sinkpad
+         without providing the correct GType would cause audiomixer to create a
+         GstAggregatorPad. That will then later fail spectacularly because it
+         assumes that it got a GstAudioAggregatorPad.
+         Passing a pad template that does not belong to the element class in here
+         will easily lead to undefined behaviour.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2410>
+
+2022-04-25 11:03:35 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/gst/gstcaps.c:
+         tests: test fixed caps
+         Add a test entry to check wether a caps is fixed
+         or not.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
+
+2022-04-25 10:59:21 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/gstcaps.c:
+       * tests/check/pipelines/seek.c:
+         caps: warn with wrong mediatype in gst_caps_new_empty_simple
+         If passing ANY/EMPTY to gst_caps_new_empty_simple
+         as a mediatype, a warning will be displayed to alert
+         on this misuse of the API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
+
+2022-05-05 20:39:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: Don't send multiple caps events with the same caps
+         Every time aggregator is reconfiguring it will try to negotiate new
+         caps. If these resulting caps are the same as the previously negotiated
+         caps then don't send a new caps event with the same caps again.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 15:05:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: Only send events up to CAPS event from gst_aggregator_set_src_caps()
+         Otherwise setting the srcpad caps based on the sinkpad caps event will
+         already push a segment event downstream before the upstream segment is
+         known.
+         If the upstream segments are just forwarded when the upstream segment
+         event arrives this would result in two segment events being sent
+         downstream, of which the first one will usually be simply wrong.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 09:00:17 +0200  Edward Hervey <edward@centricular.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: Increase initial interleave growth rate
+         In the case where not all streams have received any data, growing the interleave
+         by only 100ms is too restrictive and would cause some (valid) mpeg-ts streams to
+         hang.
+         Bump up the interleave growth rate for those use-cases to 500ms per input (still
+         up to the limit of 5s).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2370>
+
+2022-05-02 11:41:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * plugins/elements/gstfilesink.c:
+         filesink: fix handling of non-existing paths with musl
+         Fixes #1194
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2341>
+
+2022-04-09 21:07:43 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/gstregistry.c:
+         registry: skip Rust dep builddirs when searching for plugins recursively
+         These artefacts confuse the plugin scanner and may cause noisy warnings
+         (and slow down things).
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/68
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2146>
+
+2020-11-26 18:11:12 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: forward gap event information to gap buffer
+         When the GAP event was flagged with MISSING_DATA, subclasses
+         may want to adopt a different behaviour, for example by repeating
+         the last buffer.
+         As we turn these gap events into gap buffers, we need to flag
+         those, we do so with a new custom meta.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2022-02-25 16:54:37 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * libs/gst/helpers/meson.build:
+         meson: Add PYTHONPATH to load GDB helper module
+         Meson generates a gdbinit file that will automatically load gstreamer
+         script. However that script uses a helper python module that needs
+         PYTHONPATH to be pointing into the right location in the source
+         tree to be able to find gst_gdb.py.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1796>
+
+2022-04-20 09:38:16 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * plugins/tracers/gstleaks.c:
+         gstleaks: log the number of alive objects
+         Can help checking if the number of alive objects is growing over time or stays stable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2245>
+
+2022-04-19 14:05:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbuffer.h:
+         gstreamer: Document various caps for the reference timestamp meta
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-03-25 10:18:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * docs/random/i18n:
+         Always define ENABLE_NLS
+         GLib guarantees libintl API is always available, provided by
+         proxy-libintl as last resort. GLib itself unconditionally define
+         ENABLE_NLS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * docs/meson.build:
+       * gst/gettext.h:
+       * gst/gst-i18n-app.h:
+       * gst/gst-i18n-lib.h:
+         Delete unused i18n headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * docs/gst-hotdoc-plugins-scanner.c:
+       * gst/gst.c:
+       * gst/gstelement.c:
+       * gst/gsterror.c:
+       * gst/gstpipeline.c:
+       * gst/gstregistry.c:
+       * gst/gsttaglist.c:
+       * gst/gsturi.c:
+       * gst/gstutils.c:
+       * gst/parse/grammar.y.in:
+       * libs/gst/base/gstbasesink.c:
+       * libs/gst/base/gstbasesrc.c:
+       * libs/gst/base/gstbasetransform.c:
+       * plugins/elements/gstcapsfilter.c:
+       * plugins/elements/gstdownloadbuffer.c:
+       * plugins/elements/gstfdsink.c:
+       * plugins/elements/gstfilesink.c:
+       * plugins/elements/gstfilesrc.c:
+       * plugins/elements/gstidentity.c:
+       * plugins/elements/gstqueue.c:
+       * plugins/elements/gstqueue2.c:
+       * plugins/elements/gsttypefindelement.c:
+       * tools/tools.h:
+         Replace gst-i18n-*.h with gi18n-lib.h
+         GLib guarantees libintl is always present, using proxy-libintl as
+         last resort. There is no need to mock gettex API any more.
+         This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+         be defined before including libintl.h, and glib does it for us as part
+         as including glib.h.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-18 15:44:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/meson.build:
+       * meson.build:
+         meson: Add -Wl,-rpath,${libdir} on macOS
+         We made the gstreamer installation prefix relocatable by picking up
+         plugins relative to the location of libgstreamer-1.0.dylib, similar to
+         how it's done for Windows:
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+         This had a lot of side-effects:
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+         A partial fix for the cerbero side of these was:
+         https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+         However, this relied on the consumers knowing that they need to add
+         `LC_RPATH` entries to the libdir of the prefix. This is done
+         automatically by build systems like Meson, but not by others, such as
+         Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+         RPATH entries to the gstreamer-1.0.pc file.
+         This also has the side-effect of fixing the loading of gstreamer rust
+         plugins on macOS:
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2021-11-12 20:13:10 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>
+
+       * gst/gstplugin.c:
+         gst_plugin_load_file: force plugin reload if diff filename
+         If a file includes a new version of a plugin that exits in the
+         registry, the output of gst-inspect is incorrect. The output has the
+         correct version but incorrect filename, and element description.
+         This seems to have also fixed some documentation issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2020-05-29 11:29:56 -0300  Tulio Beloqui <tulio.beloqui@pexip.com>
+
+       * gst/gstdevicemonitor.c:
+         gstdevicemonitor: added cleanup of signal handlers and hidden providers list
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2182>
+
+2022-04-15 17:00:24 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * plugins/tracers/gstleaks.c:
+         gstleaks: fix pthread_atfork return value check
+         pthread_atfork() returns 0 on success.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2195>
+
+2022-04-13 16:59:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/net/gstptpclock.c:
+         ptpclock: Fix wrong condition order from last commit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2171>
+
+2022-04-12 19:22:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * libs/gst/net/gstptpclock.c:
+         ptpclock: Allow at least 100ms delay between Sync/Follow_Up and Delay_Req/Delay_Resp messages
+         It doesn't matter for measurement purposes whether receiving them takes
+         a while and various PTP servers are not prioritizing to send them,
+         causing them to be dropped unnecessarily and preventing proper
+         synchronization with such servers.
+         This is especially a problem if the RTTs in the network are very low
+         compared to the additional delay imposed by the server.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2161>
+
+2022-04-12 01:01:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tools/gst-launch.c:
+       * tools/meson.build:
+         win32: Enable high-resolution timer for MinGW build
+         timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+         header instead, which defines struct and APIs in case of our MinGW
+         toolchain. Note that in case of native Windows10 SDK (MSVC build),
+         mmsystem.h will include timeapi.h
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-08 13:44:53 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/gst.c:
+         gst: remove custom logger for critical/warnings/fatals
+         It's not really needed anymore (only calls out to
+         g_log_default_handler() and interferes with applications using
+         g_log_set_default_handler().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2135>
+
+2022-04-01 21:47:59 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * tools/gst-launch.c:
+         ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-04-02 00:16:29 +1100  Jan Schmidt <jan@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: Improve debugging of arriving buffers
+         Log some details about the buffers that are arriving and
+         being enqueued on each sink pad.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096>
+
+2022-04-02 00:46:21 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/gstpad.c:
+         gstreamer: Remove GST_DATAFLOW debug category
+         Nothing has logged anything to this category since event and
+         buffer dataflow was de-unified in 2005.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2097>
+
+2022-03-30 11:06:02 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Use gmodule-no-export-2.0
+         We don't need `-Wl,--export-dynamic`, that's used only for executables
+         that needs to export an API to be used by plugins they load.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * docs/meson.build:
+       * libs/gst/base/meson.build:
+       * libs/gst/check/meson.build:
+       * libs/gst/controller/meson.build:
+       * libs/gst/helpers/meson.build:
+       * meson.build:
+       * plugins/elements/meson.build:
+       * tests/benchmarks/meson.build:
+       * tests/check/meson.build:
+       * tests/examples/adapter/meson.build:
+       * tests/examples/controller/meson.build:
+       * tests/examples/helloworld/meson.build:
+       * tests/examples/memory/meson.build:
+       * tests/examples/netclock/meson.build:
+       * tests/examples/ptp/meson.build:
+       * tests/examples/stepping/meson.build:
+       * tests/examples/streamiddemux/meson.build:
+       * tests/examples/streams/meson.build:
+         Remove glib and gobject dependencies everywhere
+         They are part of gst_dep already and we have to make sure to always have
+         gst_dep. The order in dependencies matters, because it is also the order
+         in which Meson will set -I args. We want gstreamer's config.h to take
+         precedence over glib's private config.h when it's a subproject.
+         While at it, remove useless fallback args for gmodule/gio dependencies,
+         only gstreamer core needs it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-24 14:15:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Fix cross build with mingw32
+         At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
+         to WinXP. We require at least Vista for FILE_STANDARD_INFO.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>
+
+2020-09-04 20:52:47 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * data/android/GStreamer.java:
+       * data/meson.build:
+       * gst/gstandroid.c:
+       * gst/meson.build:
+         Android: Implement JNI_OnLoad()
+         When building for Android, chances are that gstreamer is going to be
+         loaded from Java using System.loadLibrary(). In that case we can
+         initialize GStreamer (including static plugins), redirect log functions,
+         etc.
+         This code is copied from cerbero because it can be used with
+         gstreamer-full-1.0 too. Cerbero needs to be adapted to drop that code
+         and generate gst_init_static_plugins() function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/617>
+
+2021-09-11 12:17:56 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+       * tools/meson.build:
+         tools: Add support for building gstreamer tools against gst-full
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-30 10:01:33 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/gstquark.c:
+       * gst/gstquark.h:
+       * gst/gstquery.c:
+       * gst/gstquery.h:
+         query: Add a new stream selection query
+         This new API allows querying whether elements can handle stream selection
+         themselves or not.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2022-03-18 13:42:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Bump all meson requirements to 0.60
+         Lots of new warnings ever since
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-01-05 19:33:06 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * libs/gst/base/gstaggregator.c:
+         compositor: send translated navigation events to the relevant sink pads
+         Fixes #888
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-02-23 17:39:18 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst/gstevent.c:
+       * gst/gstmessage.c:
+         documentation: improve misleading wording
+         The documentation for several gst_*_writable_structure functions stated
+         that they would never return NULL, without making clear that the passed
+         object is required to be writable. This changes the wording in those
+         cases to make that requirement more clear.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1784>
+
+2022-03-10 18:22:49 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst/gsturi.c:
+         uri: Build doubly-linked list by prepending items
+         As outlined in the API documentation, g_list_append() iterates over the whole
+         list, which can quickly introduce performance issues when the list becomes very
+         big, such as for data URIs for instance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
+
+2022-03-08 12:04:41 +0000  Philippe Normand <philn@igalia.com>
+
+       * plugins/elements/gsttypefindelement.c:
+         typefind: Skip parsing of data URIs
+         Commit a46ab2ced20d757e0e770d4de1edc3a152cc4f2f introduced a regression,
+         breaking typefinding for media content muxed in mp4 container and serialized to
+         data URIs. For this case it doesn't make sense to look for a file extension, so
+         skip URI parsing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
+
+2022-03-15 14:00:06 +0100  Corentin Noël <tintou@noel.tf>
+
+       * libs/gst/base/gstbasesink.h:
+         basesink: Fix annotations
+         We should annotate the Class and not the object itself.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2022-03-11 18:08:14 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * data/bash-completion/helpers/meson.build:
+       * data/meson.build:
+       * libs/gst/helpers/meson.build:
+         Meson: Set install_tag on some files
+         Meson tries to guess the tag (runtime, devel, etc) for every installed
+         file, but it cannot guess them all. There is a list at the end of
+         meson-log.txt of files we need to tag manually.
+         See https://mesonbuild.com/Installing.html#installation-tags.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-03-02 17:07:37 +0100  Edward Hervey <edward@centricular.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: Fix interleave calculation for data before segment start
+         This commit modifies the interleave calculation to allow growing when incoming
+         data is before the segment start.
+         The rationale is that there is no requirement whatsoever for data before the
+         segment start to be "coherent" on all streams.
+         For example, a demuxer could rightfully send data from the video stream from the
+         previous keyframe (potentially quite a bit before the segment start) and the
+         audio from just before the segment start.
+         This will activate the same logic as growing the interleave when some streams
+         haven't received buffers yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1892>
+
+2021-08-06 08:30:39 +0200  Edward Hervey <edward@centricular.com>
+
+       * plugins/elements/gstmultiqueue.c:
+       * plugins/elements/gstmultiqueue.h:
+         multiqueue: Improve interleave calculation at startup and EOS
+         * When a stream receives EOS, it will no longer change, we shouldn't take that
+         stream into account for interleave calculation.
+         * When streams (re)appear, we do not want to grow the initial interleave values
+         to excessive values. Instead of setting it to a default of 5s, progressively
+         grow it to that maximum.
+         * When the status of input streams change (i.e. going to/from "some haven't
+         received data yet" and "all have received data"), update the interleave
+         immediately instead of waiting for (potentially) 5s of data before updating
+         it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1892>
+
+2021-12-20 17:31:17 +0100  sergei.kovalev <sergei@pexip.com>
+
+       * tests/check/gstreamer.supp:
+         check: Fix valgrind suppression for debug function list
+         Fix suppression to support release and debug builds.
+         Here is the debug build call stack:
+         ```
+         ==10707==    by 0x48B5520: g_malloc (gmem.c:106)
+         ==10707==    by 0x48D19DC: g_slice_alloc (gslice.c:1069)
+         ==10707==    by 0x48D3947: g_slist_copy_deep (gslist.c:619)
+         ==10707==    by 0x48D38B8: g_slist_copy (gslist.c:567)
+         ==10707==    by 0x4ADC90B: gst_debug_remove_with_compare_func (gstinfo.c:1504)
+         ```
+         In release build `g_slist_copy (gslist.c:567)` got inlined:
+         ```
+         ==15419==    by 0x48963E0: g_malloc (gmem.c:106)
+         ==15419==    by 0x48AA382: g_slice_alloc (gslice.c:1069)
+         ==15419==    by 0x48AB732: g_slist_copy_deep (gslist.c:619)
+         ==15419==    by 0x4A39B8F: gst_debug_remove_with_compare_func (gstinfo.c:1504)
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1814>
+
+2022-02-21 10:49:15 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * docs/gst/running.md:
+       * docs/index.md:
+       * gst/gstregistry.c:
+         Remove the uninstalled term
+         Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+         The `uninstalled` is the old name and the project should stick to a
+         single name for the procedure.
+         Remove the term from all the files, exceptions are variables from
+         dependencies like `uninstalled_variables` from pkgconfig and
+         `meson-uninstalled`.
+         Adjust mentions of the script in the documentation and README.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
+
+       * README.md:
+         Maintain build instructions at a single location
+         Do not maintain similar build instructions within each gst-plugins-*
+         subproject and the subproject/gstreamer subproject. Use the build
+         instructions from the mono-repository and link to them via hyperlink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 10:13:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbuffer.h:
+         buffer: Clarify that the MARKER flag maps to the corresponding RTP header flag
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1776>
+
+2022-02-27 13:17:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstregistry.c:
+         registry: Fix multi-line `#warning` compiler warning
+         subprojects/gstreamer/gst/gstregistry.c:1593: unexpected character `"'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1802>
+
+2022-02-21 11:37:26 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * libs/gst/helpers/meson.build:
+         devenv: Add some missing GStreamer specific env variables
+         This should make "meson devenv" closer to what "gst-env.py" sets.
+         - GST_VALIDATE_SCENARIOS_PATH
+         - GST_VALIDATE_APPS_DIR
+         - GST_OMX_CONFIG_DIR
+         - GST_ENCODING_TARGET_PATH
+         - GST_PRESET_PATH
+         - GST_PLUGIN_SCANNER
+         - GST_PTP_HELPER
+         - _GI_OVERRIDES_PATH
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2021-11-03 17:05:07 +1100  Matthew Waters <matthew@centricular.com>
+
+       * libs/gst/check/gsttestclock.c:
+         tests/clock: avoid a race cranking
+         Scenario:
+         - Source 1 requesting and waiting a clock id
+         - Source 2 requesting and waiting on a clock id
+         - Test attempting to crank both sources in the same GstHarness
+         gst_test_clock_crank() originally dropped locks between the retrieving
+         of the next clock id and advancing to the next clock id.  This would
+         mean that both sources would race each other attempting to complete
+         their clock waits.  Sometimes the operations would be performed in the
+         correct order, other times they would not and a FALSE return value would
+         be produced.
+         This would lead to an assertion in gst_harness_push_from_src() expecting
+         that all clock cranks to succeed.
+         Fix by ensuring that the clock wait produced is dealt with before
+         processing the next by not dropping the relevant locks after retrieving
+         the next clock id.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1299>
+
+2021-11-02 15:58:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+         doc: Fix doc comment for GstChildProxy
+         This removes warning like:
+         ../subprojects/gstreamer/gst/gstchildproxy.h:57: Error: Gst: identifier not found on the first line:
+         * #GstChildProxyInterface::get_child_by_name:
+         ^
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1297>
+
+2022-02-06 22:54:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/gstinfo.c:
+       * libs/gst/check/libcheck/libcompat/libcompat.h:
+       * libs/gst/net/gstptpclock.c:
+         gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+         getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+         instead which provides exactly the same functionality and can be
+         used with UWP as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-07 02:49:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson.build:
+       * tests/check/elements/fdsrc.c:
+       * tests/check/gst/gstpoll.c:
+         check: Disable some tests if pipe() is unavailable for UWP build
+         pipe() and _pipe() are not allowed on UWP
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-10-01 20:27:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson.build:
+       * tests/check/gst/gstmeta.c:
+       * tests/check/gst/gstpoll.c:
+       * tools/gst-inspect.c:
+         meson: Do hard build error for some MSVC warnings
+         Handle various MSVC warnings as errors for development version.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-08 23:30:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * libs/gst/check/libcheck/libcompat/libcompat.h:
+         Remove some trailing white spaces
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-01-31 13:01:10 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst/gstevent.c:
+         navigation: add more constructors for navigation events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
+
+2022-02-08 12:58:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/gstregistry.c:
+         registry: enable relocatable builds for anywhere with dladdr()
+         Such as Linux/BSD's.
+         Matches the Windows/macOS behaviour.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1662>
+
+2021-12-08 22:13:15 +0000  Jose Quaresma <quaresma.jose@gmail.com>
+
+       * gst/gstpluginloader.c:
+         gstpluginloader: show the reason when spawning of gst-plugin-scanner fail
+         This fix helps in cross compiling when the meson tests runs using a qemu wraper
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1578>
+
+2021-10-22 18:40:07 -0300  Martin Reboredo <yakoyoku@gmail.com>
+
+       * gst/gstvalue.c:
+         gstvalue: De/Serialization of GBytes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1232>
+
+2022-02-08 16:24:13 +1100  Sebastian Mueller <sebastian.mueller@nirovision.com>
+
+       * gst/gstcontext.c:
+         context: fix transfer annotation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1663>
+
+2020-02-17 21:50:54 -0600  Zebediah Figura <zfigura@codeweavers.com>
+
+       * libs/gst/base/gstbaseparse.c:
+       * tests/check/libs/baseparse.c:
+         baseparse: Don't truncate the duration to milliseconds in gst_base_parse_convert_default().
+         There's no need to do this, and it can make seeking far less accurate.
+         For a specific use case: I am working with a long (45-minute) MPEG-1 layer 3 file, which has a constant bit rate but no seeking tables. Trying to seek the pipeline immediately after pausing it, without the ACCURATE flag, to a location 41 minutes in, yields a location that is potentially over ten seconds ahead of where it should be. This patch improves that drastically.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/374>
+
+2022-02-07 19:33:31 -0600  Zebediah Figura <zfigura@codeweavers.com>
+
+       * libs/gst/base/gstbaseparse.c:
+         baseparse: Trace time with GST_TIME_FORAMT in gst_base_parse_convert_default().
+         Be consistent with how we trace time in general.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/374>
+
+2022-02-07 09:46:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbufferpool.c:
+         bufferpool: Deactivate pool and get rid of references to other objects from dispose instead of finalize
+         During dispose the pool will still have a reference count of 1 and all
+         API on it can still be safely called.
+         Subclasses will have already freed their own data before finalize is
+         called but would nonetheless be called into again via the pool
+         deactivation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1645>
+
+2022-02-07 16:51:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/gstpluginloader.c:
+       * meson.build:
+         pluginloader: support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir)
+         i.e. if GST_PLUGIN_SUBDIR is 'some/lib/path', then the default plugin
+         loading assumed that there was only 'lib' as it only went up a single
+         directory to then find the plugin scanner.
+         Fix to support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir).
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/995
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
+
+2022-02-07 16:36:13 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/gstregistry.c:
+         registry: check the value of dladdr()
+         info.dli_fname could be NULL.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/994
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
+
+2022-02-07 16:33:03 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/gstregistry.c:
+         registry: check the return value of g_win32_get_package_installation_directory_of_module()
+         g_win32_get_package_installation_directory_of_module() may return NULL
+         in some circumstances and we need to deal with that.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/996
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
+
+2022-02-04 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
+=== release 1.20.0 ===
+
+2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * README:
+       * RELEASE:
+       * gstreamer.doap:
+       * meson.build:
+         Release 1.20.0
+
+2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.20.0
+
+2022-02-02 18:06:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/gst.c:
+       * gst/gst_private.h:
+       * gst/gstpluginloader.c:
+       * gst/gstregistry.c:
+         registry/macos: retrieve plugins relative to location of libgstreamer.dylib
+         Provides a relocatable directory structure for running GStreamer
+         applications as used in GStreamer.framework.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627>
+
+=== release 1.19.90 ===
+
+2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gstreamer.doap:
+       * meson.build:
+         Release 1.19.90
+
+2022-01-28 14:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.90
+
+2021-12-23 00:24:03 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         aggregator: don't forward reconfigure events
+         Those will cause us to renegotiate at the next aggregate cycle,
+         and while at that point we may decide to reconfigure upstream
+         branches (in practice we don't as this is inherently racy,
+         and that's the reason why mixer subclasses perform conversion
+         internally), we certainly don't want to just forward the event
+         willy-nilly to all our sinkpads.
+         An actual issue this is fixing is when caps downstream of a
+         compositor are changed at every samples-selected signal emission,
+         for the purpose of interpolating the output geometry, and the
+         compositor has a non-zero latency, the reconfigure events were
+         forwarded to basesrc, which triggered an allocation query, which
+         in turn caused aggregator to have to drain (thus not being able
+         to queue <latency> frames), leading to disastrous effects
+         (choppy output as compositor couldn't consume frames fast enough,
+         the higher the latency the choppier the output)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1464>
+
+2022-01-27 01:37:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/LINGUAS:
+       * po/de.po:
+       * po/fr.po:
+       * po/ro.po:
+         gstreamer: update translations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
+
+2022-01-26 02:46:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/gstplugin.c:
+         gstplugin: Fix for UWP build
+         SetThreadErrorMode() API is available on UWP but flag values
+         are desktop API only. Since error dialogs don't exist on UWP,
+         we don't need to suppress it
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1569>
+
+2022-01-20 10:59:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstcapsfeatures.c:
+         gstreamer: capsfeatures: Fix docs of `gst_caps_features_new_single()`
+         They were just a copy of the `new_any()` docs before.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1542>
+
+2022-01-19 20:58:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/gstplugin.c:
+         gstplugin: Better warnings on plugin load failure on Windows
+         It is an extremely common mistake on Windows to have incorrect PATH
+         values when loading a plugin, and the error from g_module_error()
+         (which just calls FormatMessageW()) is very confusing in this case:
+         The specified module could not be found.
+         https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-#ERROR_MOD_NOT_FOUND
+         It implies the plugin itself could not be found. The actual issue is
+         that a DLL dependency could not be found. We need to detect this case
+         and print a more useful error message.
+         We should still print the error fetched from FormatMessage() so that
+         people are able to google for it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1540>
+
+2022-01-14 04:45:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/gstpluginfeature.c:
+         pluginfeature: Fix object leak
+         Need to release GstPluginFeature object after use
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1521>
+
+2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+       * gst/parse/meson.build:
+       * meson.build:
+         meson: Add explicit check: kwarg to all run_command() calls
+         This is required since Meson 0.61.0, and causes a warning to be
+         emitted otherwise:
+         https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
+         https://github.com/mesonbuild/meson/issues/9300
+         This exposed a bunch of places where we had broken run_command()
+         calls, unnecessary run_command() calls, and places where check: true
+         should be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
+
+2021-12-20 21:43:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * libs/gst/base/gstaggregator.c:
+         audio: Add logging that was useful in figuring out the last commit
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
+
+2021-12-08 12:27:04 +0100  Corentin Noël <corentin.noel@collabora.com>
+
+       * gst/gstelementfactory.c:
+         elementfactory: Annotate create_full and make_full to take arrays
+         We need the array annotation for it to be usable from the introspection side.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1427>
+
+2018-04-25 14:30:51 +0200  Danny Smith <dannys@axis.com>
+
+       * libs/gst/net/gstnetclientclock.c:
+         gstnetclockclient: signal lost sync if remote time resets
+         When detecting the remote time has been reset which may occur if remote
+         device providing the clock server has been power reset, then clock is
+         no longer synced. Setting clock state will trigger a signal to client
+         informing on sync lost making it possibility to take appropriate action.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/975>
+
+2021-11-26 10:13:08 +0100  Corentin Noël <corentin.noel@collabora.com>
+
+       * libs/gst/base/gstbasesink.h:
+         basesink: Add missing annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
+
+2021-11-26 10:12:50 +0100  Corentin Noël <corentin.noel@collabora.com>
+
+       * libs/gst/base/gstpushsrc.h:
+         pushsrc: Add missing annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
+
+2021-11-26 10:12:32 +0100  Corentin Noël <corentin.noel@collabora.com>
+
+       * libs/gst/base/gstbitwriter.c:
+         bitwriter: Add missing annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
+
+2021-11-26 10:11:53 +0100  Corentin Noël <corentin.noel@collabora.com>
+
+       * libs/gst/base/gstbaseparse.c:
+       * libs/gst/base/gstbaseparse.h:
+         baseparse: Add missing annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
+
+2021-11-23 08:08:36 +0100  Corentin Noël <corentin.noel@collabora.com>
+
+       * libs/gst/base/gstbasesrc.h:
+         basesrc: Add annotation to virtual methods with (out) parameters
+         This allows to actually use these virtual methods from the GObject introspection.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1376>
+
+2021-10-21 19:04:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/gst-hotdoc-plugins-scanner.c:
+       * gst/gstelement.c:
+       * gst/gstelementfactory.c:
+       * gst/gstelementfactory.h:
+         gst: Add APIs to allow documentation for element to be skipped
+         Dynamically registered elements (hardware element in most cases)
+         may or may not be available on a system and properties may be different
+         per system.
+         This new API will make documentation skipping possible in programmable way.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-16 18:05:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstinfo.c:
+       * gst/gstinfo.h:
+         gstinfo: Add gst_debug_log_literal() function
+         This takes a plain message string and not a format string, and as a
+         result doesn't have to be passed through vasprintf() and lead to further
+         unnecessary allocations. It can also contain literal `%` because of
+         that.
+         The new function is mostly useful for bindings that would have to pass a
+         full string to GStreamer anyway and would do formatting themselves with
+         language-specific functionality.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1356>
+
+2021-11-15 11:04:25 +0100  Daniel Knobe <daniel-knobe@web.de>
+
+       * gst/gstcaps.c:
+         caps: fix type of return value if string is null in gst_caps_from_string
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1348>
+
+2021-11-11 19:11:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/gst.c:
+       * gst/gstelementfactory.c:
+       * gst/gstinfo.c:
+       * gst/gstiterator.c:
+       * gst/gstmessage.c:
+       * gst/gstpadtemplate.c:
+       * gst/gstquery.c:
+       * gst/gsttypefindfactory.c:
+       * libs/gst/base/gstbasesink.c:
+       * libs/gst/base/gstbasesrc.c:
+         docs: fix unnecessary ampersand, < and > escaping in code blocks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
+
+2021-11-08 15:28:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbin.c:
+         bin: Don't check twice for adding a bin to itself or removing it from itself
+         This is already covered by a `g_return_val_if_fail()` in the calling
+         function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1320>
+
+2021-11-08 15:30:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbin.c:
+         bin: Switch `g_warning()`s to `GST_WARNING_OBJECT()`s when adding/removing an element to a bin fails
+         The failure conditions can be overidden by subclasses, and a boolean
+         return value is provided to the caller whether adding/removing the child
+         element has actually worked. The caller can then handle this
+         accordingly but flooding stderr with this is not very useful.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1320>
+
+2021-09-24 08:19:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/gstinfo.c:
+         gstinfo: Fix leak in generate_backtrace_trace
+         Spotted by Laurent Pinchart.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/901>
+
+2021-11-04 13:24:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * libs/gst/helpers/gst-ptp-helper.c:
+         gst-ptp-helper: Do not disable multicast loopback
+         Otherwise we cannot run gst-ptp-helper if the PTP master is on the
+         same device.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1306>
+
+2021-11-04 09:30:31 +0000  Marcin Kolny <marcin.kolny@gmail.com>
+
+       * plugins/elements/gsttypefindelement.c:
+         typefind: fix reading file extension from URI
+         Currently reading extension relies on the fact that everything after the
+         last"." character is a file extension. Whereas that works fine for most
+         of the cases, it breaks when the URI contains a query part.
+         E.g.: `http://url.com/file.mp4?param=value` returns `mp4?param=value`
+         instead of `mp4`.
+         In this commit we use URI parser to read the path of the URI (in the example
+         above, that is `/file.mp4`) and read extension from that path.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1305>
+
+2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
+=== release 1.19.3 ===
+
+2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gstreamer.doap:
+       * meson.build:
+         Release 1.19.3
+
+2021-11-03 15:43:32 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.3
+
 2021-10-30 00:34:35 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst/gstinfo.c: