=== release 1.24.0 ===

2024-03-04 23:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-26 09:27:40 +0100  Edward Hervey <edward@centricular.com>

	* README.md:
	* RELEASE:
	  docs: Use Discourse and Matrix as prefered communication channels
	  Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220

2024-02-26 09:26:44 +0100  Edward Hervey <edward@centricular.com>

	* .gitlab/issue_templates/Bug.md:
	  gitlab_template: Remove duplicate entry and remove mention of IRC
	  Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220

2024-02-21 12:20:19 +0100  Arnaud Vrac <avrac@freebox.fr>

	* plugins/elements/gstqueue2.c:
	  queue2: post 100% buffering message even when waiting for space to be freed
	  In the case where the queue shrinks due to a property change and the queue
	  becomes full, we would set the waiting_del flag, which would prevent posting the
	  100% buffering message on the bus. Since the pipeline is not aware of the new
	  buffering value, in the common case where the pipeline is paused during
	  buffering, it would never resume.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>

2024-02-21 12:17:45 +0100  Arnaud Vrac <avrac@freebox.fr>

	* plugins/elements/gstqueue2.c:
	  queue2: move gst_queue2_get_buffering_message code to the only call site
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>

2024-02-21 12:05:18 +0100  Arnaud Vrac <avrac@freebox.fr>

	* plugins/elements/gstqueue2.c:
	* plugins/elements/gstqueue2.h:
	  queue2: remove redundant check to avoid posting the same buffering value twice
	  Remove the percent_changed check to determine whether a buffering message should
	  be posted. The check on the last posted buffering value is sufficient, and the
	  removal doesn't introduce additional complexity.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>

2024-02-21 11:41:32 +0100  Arnaud Vrac <avrac@freebox.fr>

	* plugins/elements/gstqueue2.c:
	  queue2: consolidate buffering message posting code
	  No need to copy paste the code, simply call the common gst_queue2_post_buffering
	  function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>

2024-02-21 11:17:13 +0100  Arnaud Vrac <avrac@freebox.fr>

	* plugins/elements/gstqueue2.c:
	  queue2: make sure update_buffering is called with the lock taken
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>

=== release 1.23.90 ===

2024-02-23 18:20:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.23.90

2024-02-21 16:56:48 +0100  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* libs/gst/helpers/ptp/main.rs:
	  ptp-helper: Allow sync to master clock on same host
	  If we drop all messages with the same clock id as ours we will also
	  drop all messages coming from a PTP clock on our host since both clock
	  ids are build from the same MAC address.
	  At least for Linux we do not see our own messages anyway since the
	  network stack can well distinguish between multicast send from our
	  socket or from another socket on the same machine. To make sure that
	  this works for all supported platforms just drop delay requests since
	  this is the only message that is sent from the GStreamer PTP clock.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6172>

2023-01-28 01:11:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-inspect.c:
	  gst-inspect: print plugin error/warning/info status messages
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832>

2023-01-27 19:08:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/gst_private.h:
	* gst/gstplugin.c:
	* gst/gstplugin.h:
	* gst/gstregistrybinary.h:
	* gst/gstregistrychunks.c:
	* tests/check/gst/gstplugin.c:
	  plugin: add API for plugins to provide status info messages
	  This can be used to store informational messages, errors or
	  warnings which can later be shown to the user in gst-inspect-1.0,
	  which can be useful for plugins that expose elements dynamically
	  based on external libraries or hardware capabilities.
	  Status messages can then provide an indication as to why a
	  plugin doesn't have any elements listed, for example.
	  Plus unit test to make sure code paths are exercised a little.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832>

2024-01-29 19:47:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstobject.c:
	* gst/gstobject.h:
	* tests/check/gst/gstbin.c:
	  gstobject: add CONSTRUCTED flag
	  This can be used later by base class APIs to know whether they're
	  called from a subclass instance init function (where the object
	  isn't properly constructed yet and one should only really poke
	  at the instance structure but not much else) or after object
	  construction has been finished.
	  Fix up GstBin unit test for CONSTRUCTED flag addition.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2794
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6150>

2024-02-20 08:54:11 +0100  Edward Hervey <edward@centricular.com>

	* gst/gstmeta.c:
	  meta: Skip gst_meta_info_new in gir
	  ```
	  gstmeta.c:500: Warning: Gst: gst_meta_info_new: return value: Invalid
	  non-constant return of bare structure or union; register as boxed type or (skip)
	  ```
	  Skip this for now
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6147>

2024-02-19 12:25:01 +0000  Philippe Normand <philn@igalia.com>

	* gst/gstprotection.c:
	  protection: Document `original-media-type` caps field
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6142>

2024-02-16 17:06:52 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* docs/gst-hotdoc-plugins-scanner.c:
	  docs: initialize values when GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS is set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5491>

2024-02-15 09:21:15 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstbus.c:
	  bus: do not leak message on invalid handler return value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6124>

2024-02-15 09:15:50 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstbus.c:
	  bus: do not leak messages if there is no async handler
	  This does not typically happen because "enable-async" property is TRUE
	  by default. The only place where it is set to FALSE is in GstBin where a
	  sync handler is used and always returns GST_BUS_DROP.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6124>

2024-02-15 09:18:20 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstbus.c:
	  bus: warn when message queue grows too much
	  It usually means application is not handling messages causing memory
	  consumption to grow infinitely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3313>

2024-02-15 16:38:53 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.23.2 ===

2024-02-15 15:37:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.23.2

2024-02-14 00:35:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/LINGUAS:
	* po/fr.po:
	* po/lv.po:
	* po/nl.po:
	* po/sv.po:
	* po/tr.po:
	  gstreamer: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6113>

2024-02-03 11:51:27 +0000  Philippe Normand <philn@igalia.com>

	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	  taglist: Register new tag for container specific track ID
	  Unique identifier for the audio, video or text track this tag is associated
	  with. The mappings for several container formats are defined in the [Sourcing
	  In-band Media Resource Tracks from Media Containers into HTML
	  specification](https://dev.w3.org/html5/html-sourcing-inband-tracks).
	  Based on previous patch by Brendan Long.
	  Fixes #45
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>

2024-02-10 00:34:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstpluginloader-win32.c:
	  pluginloader-win32: Early terminate if plugin loader binary is not installed
	  External plugin loader support for Windows is introduced
	  in this dev cycle. Since helper binary was not required (useless)
	  before this version, people may not ship the binary
	  with new GStreamer version, then they will observe warning message.
	  Instead of displaying the warning at plugin loading time,
	  checks helper bin earlier and disable external plugin loader
	  if helper binary is not installed.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/448
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6083>

2023-12-18 15:39:07 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstmeta.c:
	* gst/gststructure.c:
	* gst/gststructure.h:
	* gst/gstvalue.c:
	* tests/check/gst/gststructure.c:
	  structure: Allow STRICT flag only in _serialize_full()
	  The STRICT flag makes _serialize() nullable which is an API break for
	  bindings. Forbid it and add _serialize_full() that accepts it and is
	  properly annotated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829>

2021-11-10 13:26:33 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: add FIXME 2.0 about automatic_eos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1334>

2024-02-06 18:09:02 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.23.1 ===

2024-02-06 16:37:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.23.1

2024-02-05 09:27:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson_options.txt:
	  meson_options.txt: fix meson warning about default bool values being a string

2024-02-05 18:37:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstpad.c:
	  pad: Copy over seqnum when creating a new segment event for applying pad offset
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6057>

2024-02-06 10:02:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstutils.c:
	  utils: Remove unnecessary const-removal casts from gst_util_filename_compare()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6063>

2024-02-06 09:48:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstutils.c:
	  utils: Annotate gst_util_filename_compare() parameters as filenames
	  They're not UTF-8 strings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6063>

2024-01-26 19:12:18 +0100  Piotr Brzeziński <piotr@centricular.com>

	* gst/gstmacos.m:
	  macos: Fix gst_macos_main() terminating whole process before returning a value
	  Removes the usage of [NSApp terminate] to avoid killing the process and thus never actually returning a value.
	  The new way is just to use [NSApp stop] and send an event, since stop only happens after an event is processed.
	  Unlike terminate, stop will only halt the event loop, not the whole process.
	  This uses an NSApplicationDelegate to listen for NSApp finishing the launch process, and then signals the 'main' thread
	  to proceed. That makes sure to never call [NSApp stop] before NSApp is actually running, which could happen if the
	  provided 'main' function finished quickly enough.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6005>

2024-01-29 16:10:38 -0300  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Lower verbosity  of often happening warning
	  decodebin(3) runs a scheduling query before pads are activated which
	  ultimately triggers basesrc->start which will automatically call
	  `gst_base_src_start_complete` for any source that is not marked as
	  'async'. This calls will harmlessly bail out in `not_activated_yet`
	  so we should not warn in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011>

2024-01-23 15:28:50 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gstpad.c:
	  core: pad: call tracer query-post hook after probes
	  Tracers are likely interested about the end result of the query, so
	  after probes have been caled.
	  Fix a bug where the buffer-lateness tracer was reporting a wrong latency
	  when pad probes increased the latency.
	  Also call the tracer hook if the pad has no query function.
	  Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/486
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5963>

2023-11-21 19:54:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/base/gstbasesink.c:
	  basesink: Preroll on out of segment buffers when not dropping them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5980>

2024-01-28 11:15:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: bump Meson requirement to >= 1.1 for all modules
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6002>

2023-08-31 18:55:58 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/helpers/gst_gdb.py:
	  gdb: Fix the way we wrap segments
	  Without that we end up with a reference to a GBoxed instead of the actual segment making the rest of the code fail
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>

2023-08-31 18:55:14 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/helpers/gst_gdb.py:
	  gdb: Fix issue with undeclared variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>

2023-08-31 18:53:46 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/helpers/glib_gobject_helper.py:
	* libs/gst/helpers/gst_gdb.py:
	  gdb: Handle the case where the fundamental type table is optimized out
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>

2023-08-31 18:52:58 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/helpers/glib_gobject_helper.py:
	* libs/gst/helpers/gst_gdb.py:
	  gdb: Fix python style
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>

2023-08-31 18:43:46 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/helpers/glib_gobject_helper.py:
	  gdb: Workaround optimized out quark_seq_id
	  On fedora 38 (and it was the case in previous releases), the
	  quark_seq_id is optimized out so getting quarks from the
	  global variable always failed. This patch works around that by assuming
	  it is a valid quark whenever the quark_seq_id is not accessible.
	  This issue often manifested as Python Exception <class 'TypeError'>:
	  can only concatenate str (not "NoneType") to str when debugging as
	  other parts of the code assume that getting the quark for a GType name
	  will work.
	  Same as https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3559
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>

2024-01-17 15:57:43 +0100  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* gst/gstutils.c:
	* gst/gstutils.h:
	  gstutils: Add g_util_filename_compare
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4491>

2023-04-24 09:28:22 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gstpipeline.c:
	* gst/gstpipeline.h:
	  core: pipeline: add gst_pipeline_get_configured_latency()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472>

2023-04-21 17:49:50 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gstpipeline.c:
	* gst/gstpipeline.h:
	  core: pipeline: add gst_pipeline_is_live()
	  Convenient API for applications wanting to check if a pipeline is live
	  or not. Save them from checking the change_state return value or sending
	  latency queries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472>

2023-04-21 17:44:43 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gstpipeline.c:
	  core: pipeline: protect priv->is_live with object lock
	  It's supposed to be according to the comment where it's defined.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472>

2023-08-30 10:56:19 -0600  Scott Moreau <oreaus@gmail.com>

	* tools/gst-launch.c:
	  gst-launch: accept option to set program name
	  The option --prog-name="PROGRAM-NAME" can be passed to set the program name.
	  The program name is used by gtk and gstreamer to set the class or app-id.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5263>

2023-04-05 08:48:36 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstobject.h:
	* gst/gstpad.h:
	* tests/check/gst/gstobject.c:
	  gstpad, gstobject: Add GMutexLocker helper
	  Add GST_OBJECT_AUTO_LOCK() and GST_PAD_STREAM_AUTO_LOCK() to simplify
	  g_autoptr(GMutexLocker) usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4300>

2024-01-05 14:32:00 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst/gstutils.c:
	* gst/gstutils.h:
	  gstutils: add gst_util_ceil_log2
	  Move ceil_log2 from nalutils.* to gstutils.*
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5888>

2023-12-29 10:15:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/io.rs:
	  ptp-helper: Allow unused `Stderr` export
	  It's not used when building tests and would otherwise cause a warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5872>

2023-12-18 16:33:07 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/gstbuffer.c:
	* gst/gstmeta.c:
	* gst/gstmeta.h:
	  meta: Add API to register metas in two steps
	  And also remove the specific registration APIs for
	  serializable meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830>

2023-12-18 13:40:53 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/gstbufferpool.c:
	* gst/gstmeta.c:
	* gst/gstmeta.h:
	  meta: Move the clear operation to its own vfunc
	  Some transforms always assumed that the transformation was some kind
	  of copy. So adding a "clear" operation didn't work out in practice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830>

2023-12-01 12:10:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* libs/gst/base/gstbaseparse.c:
	  doc: baseparse: Clarify consumed vs output size
	  When we finish a frame, we pass a size which semantic can easily be confused.
	  Improve the documentation to clarify that the parameter size is the amount of
	  input data being consumed and, if set, the output_buffer size can differ.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5754>

2023-12-15 17:47:02 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstmeta.c:
	  meta: gst_meta_serialize() is not introspectable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>

2023-09-18 19:24:35 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gst.h:
	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	* gst/gstbytearrayinterface.h:
	* gst/gstmeta.c:
	* gst/gstmeta.h:
	* gst/meson.build:
	* tests/check/gst/gstbuffer.c:
	* tests/check/gst/gstmeta.c:
	  meta: Add serialize/deserialize API
	  This allows metas to be serialized to be transmitted or stored. This is
	  intended to be used for example by gdppay or unixfdsink.
	  Implemented on GstCustomMeta, GstVideoMeta, GstReferenceTimestampMeta,
	  and GstAudioMeta.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>

2023-09-20 15:34:40 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gststructure.c:
	* gst/gststructure.h:
	* tests/check/gst/gststructure.c:
	  structure: Add GST_SERIALIZE_FLAG_STRICT
	  It makes serialization succeed only if all values have a type that can
	  be deserialized.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>

2023-09-24 14:48:36 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstbuffer.c:
	  buffer: Remove trailing space
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>

2023-12-01 08:21:03 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstplugin.c:
	  devenv: Whitelist all plugins to be able to run tests
	  Meson devenv already overrides GST_PLUGIN_PATH and
	  GST_PLUGIN_SYSTEM_PATH so only built plugins can be found. That means
	  unit tests are allowed to use every plugins.
	  This makes easier to run some unit tests under devenv instead of through
	  "meson test".
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5748>

2023-12-05 14:01:50 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Don't stop dropping when an internal queue is empty
	  It is racy and may cause us to accidentally keep forwarding data past
	  the EOS. The only reason to stop dropping would be when we encounter a
	  stream-start, segment, or segment-done event, either in push_one
	  (already queued) or in the sink pad's event function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5766>

2023-12-10 03:25:57 +1100  Jan Schmidt <jan@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Ignore queue fullness for most events
	  Use gst_data_queue_push_force() for most events so they
	  are immediately enqueued. Only gap events and actual buffer
	  data will now block when the queue is full.
	  This fixes a problem with non-flushing seek handling
	  where events following a segment-done event would block
	  if they precede the SEGMENT event, since only SEGMENT
	  events would clear the 'eos' state of the multiqueue
	  queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5801>

2023-12-12 23:55:04 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* libs/gst/base/gstaggregator.c:
	* tests/check/libs/aggregator.c:
	  aggregator: fix use-after-free in queries processing
	  Test included.
	  The problem appears when aggregator drops the query while
	  it's being proccessed by the klass->sink_query handler.
	  This can happen on FLUSH_START event. If the query is still
	  in the queue, it can be safely dropped, but if it's already
	  in the klass->sink_query() handler, then sink pad has no
	  choice and has to wait for the proccessing to complete.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5765>

2023-11-28 15:47:38 -0300  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Expose automatic-eos as a property
	  It is useful for appsrc for example and no good reason to not expose it as a property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5725>

2023-11-29 10:53:15 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/gstcontext.c:
	* gst/gstcontext.h:
	  gstcontext: Added gst_clear_context()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756>

2023-11-29 08:46:49 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/gstpromise.c:
	* gst/gstpromise.h:
	  gstpromise: Added gst_clear_promise()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756>

2023-11-28 14:43:13 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/gstpromise.h:
	  gstpromise: Added GST_IS_PROMISE() macro
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5728>

2023-07-25 14:16:09 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst/gst.c:
	* gst/meson.build:
	* meson_options.txt:
	  meson: fix gstreamer-full static mode on win32
	  Win32 was expecting the symbol gst_init_static_plugins in gstreamer-full
	  dynamic mode.
	  Add mode in gstreamer gstreamer-full options to tell if its a
	  gstreamer-full static or shared mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5098>

2023-11-27 13:16:47 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: Reset metadata for reverse playback fragment buffers
	  Don't let the adapter leak uncontrollable values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5718>

2023-11-27 12:29:08 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: Add missing gst_buffer_make_writable
	  When the subclass attempts to finish without an explicit `out_buffer`,
	  we take a buffer from our adapter. We need to make this buffer writable
	  before copying the metadata.
	  This led to data races such as in the following pipeline, which randomly
	  messed up the buffer PTS:
	  gst-launch-1.0 -e audiotestsrc timestamp-offset=5555 num-buffers=100 \
	  ! opusenc ! tee name=t ! queue ! opusparse ! fakesink silent=0 \
	  t. ! queue ! opusparse ! fakesink silent=0 -v | grep '0000, dur'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5718>

2023-09-01 17:29:50 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/gstbufferpool.c:
	* gst/gstmeta.c:
	* gst/gstmeta.h:
	  meta: Add a new "clear" transform to avoid re-allocations
	  In the buffer pool, try to clear metas before freeing them so we
	  avoid constant reallocations on every frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4962>

2023-08-03 17:05:17 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* libs/gst/check/gstcheck.c:
	  bad: Added W3C Media Source Extensions library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2992>

2023-11-17 14:32:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/gstreamer.supp:
	  valgrind: Supress racy cancellable source leak
	  Creating a socket source, creates a cancellable source internally. This
	  mechanism is racy and in order to workaround the race, the final unref
	  can be delayed. Unfortunatly, it seams that this is randomly leaked.
	  This affects users of glib 2.65 and up. Add a suppression on our side
	  in order to avoid this leak showing up randomly in our CI.
	  See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1400 for more
	  about the glib implementation detail. And follow this link for an
	  example of failing CI pipeline:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/jobs/51694889
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5688>

2023-11-13 16:27:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/args.rs:
	* libs/gst/helpers/ptp/main.rs:
	* libs/gst/net/gstptpclock.c:
	  ptp: Add `ttl` configuration to gst_ptp_init_full()
	  This allows configuring the TTL that is used for multicast packets sent
	  out on the sockets, and is defaulting to 1 as before. The default might
	  change at some point.
	  In some networks multiple hops are needed to reach the PTP clock and
	  this allows to configure GStreamer in a way that works in such networks.
	  At a later time, per-domain or per-interface TTL configurations might be
	  added when needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5649>

2023-11-13 16:14:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	* libs/gst/net/gstptpclock.h:
	  ptp: Add new gst_ptp_init_full()
	  This takes a free-form GstStructure as parameter that allows to easily
	  extend it with new configuration at a later time without having to add
	  new API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5649>

2023-11-15 10:03:52 +0000  Daniel Moberg <daniemob@axis.com>

	* gst/gstpad.c:
	  gstpad: Recheck pads when linking after temporary unlock
	  This commit makes sure that pads are valid for linking
	  after the pads has been temporarily unlocked in the linking process.
	  Not doing this opens up for a race condition where
	  pads potentially can be linked twice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5670>

2023-10-31 16:22:20 +0000  Philippe Normand <philn@igalia.com>

	* gst/gststreamcollection.c:
	  streamcollection: Fixup doc blurbs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5605>

2023-11-05 16:13:10 +0100  Fabian Orccon <cfoch.fabian@gmail.com>

	* tools/gst-inspect.c:
	  gst-inspect: Remove current caps print
	  At GST_STATE_NULL, all pads are deactivated and have no caps.
	  It can be observed with `gst-inspect-1.0 -a` that no element
	  is reaching this removed code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5604>

2023-09-18 14:38:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstallocator.c:
	* gst/gstallocator.h:
	  GstAllocator: Add GST_ALLOCATOR_FLAG_NO_COPY flag
	  Detail a bit the intention behind GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, even
	  if implementation does not currently fully follow that usage. Introduce
	  a new flag specifically for copying memories using the default system
	  allocator.
	  Sponsored-by: Netflix Inc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>

2023-11-02 00:03:28 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  meson: Fix MSVC build with GST_DISABLE_GST_DEBUG
	  MSVC does not understand Wno-unused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-11-01 16:24:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/ffi.rs:
	* libs/gst/helpers/ptp/main.rs:
	* libs/gst/helpers/ptp/net.rs:
	  ptp: Use SO_BINDTOIFINDEX / SO_BINDTODEVICE on Linux
	  This makes sure we really really really only get packets from the
	  desired interface as passing a device to IP_ADD_MEMBERSHIP apparently
	  does not have this effect alone.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5584>

2023-10-28 08:10:48 +0200  Fabian Orccon <cfoch.fabian@gmail.com>

	* tools/gst-inspect.c:
	  gst-inspect: Do not check for element clock
	  Clock is only set at GST_PLAYING state, not the case for gst-inspect
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5570>

2023-11-01 14:21:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Check once a second for timeouts
	  While the minimum timeout duration is 5s, checking only every 5s means
	  that we would notice this 4.9s too late in the worst case.
	  Checking once a second reduces this considerably while keeping the
	  number of wakeups still low.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5520>

2023-10-30 16:24:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Only warn if the clock id and interface of a timed out matches the current one
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5520>

2023-10-25 13:33:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Only time out SYNCs if we're actually waiting for a FOLLOW_UP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5520>

2023-10-20 14:25:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Downgrade clocks that don't send FOLLOW_UPs / DELAY_RESPs
	  This allows to select a different clock if there is one that is
	  for the same grandmaster clock and has fewer timeouts.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5520>

2023-10-20 14:20:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Don't switch domain's master clock if it is equivalent to the previous one
	  Otherwise it can happen that we regularly switch back and forth between
	  clocks under certain circumstances for no good reason.
	  Also remove redundant comparison when comparing the steps removed between two
	  clocks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5520>

2023-10-16 20:53:49 +0000  robert <robert.ayrapetyan@gmail.com>

	* docs/gst/running.md:
	  ximagesrc: fix compile-time warning and XInitThreads()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5493>

2023-10-27 09:59:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/gstreamer.supp:
	  valgrind: Use frame-level widlcard for getaddrinfo leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5565>

2023-10-26 15:03:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/misc/network-clock-utils.scm:
	* tests/misc/network-clock.scm:
	  gstreamer: misc: relicense network-clock scheme files to LGPL v2.1+
	  Permission to relicense granted by author by e-mail:
	  Message-Id: <155C6D51-7F74-4C40-814A-2ADDED7707FD@pobox.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5559>

2023-10-26 14:35:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/gstreamer.supp:
	  valgrind: Add getaddrinfo leak suppression
	  With Fedora 34 in our CI, we start seeing a sometime leak in getaddrinfo. At
	  first sight it looks like some TLS context being leaked. Could be a thread
	  teardown leak, just suppress it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5562>

2023-10-25 13:58:55 +0100  Philippe Normand <philn@igalia.com>

	* gst/gstdebugutils.c:
	  debugutils: Ensure we always expose a bin_to_dot_data implementation
	  Fixes a linking issue when building with `-Dgst_debug=false`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5550>

2023-10-25 00:40:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstpluginloader-win32.c:
	  pluginloader-win32: Increase plugin loading timeout
	  Some hardware plugin loading might take more than 10sec under
	  full CPU load condition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5545>

2023-10-19 19:44:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Allow passing unparented pads to gst_aggregator_pad_is_inactive()
	  It's very difficult to ensure that a pad is still child of the
	  aggregator during aggregation, so simply consider unparented pads as
	  inactive instead of asserting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5510>

2023-10-19 19:43:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Also release clipped buffer when releasing an aggregator pad
	  Instead of waiting until the pad is actually finalized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5510>

2023-10-19 19:43:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Take pad lock while releasing buffers when removing pads
	  Accessing the buffers in all other places requires the pad lock and not
	  taking it here can cause access to already freed buffers if there's
	  concurrent access from another thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5510>

2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstbus.c:
	* meson.build:
	  meson: Bump GLib requirement to >= 2.64
	  This includes fixes to make GstBus watches non-racy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2126>

2023-10-19 14:10:16 +0200  Loïc Le Page <llepage@igalia.com>

	* docs/gst/running.md:
	* docs/index.md:
	  gl: add support for surfaceless display in GstGL
	  Use of the EGL_MESA_platform_surfaceless EGL extension to create an EGL
	  display that is not depending on any kind of windowing system.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5511>

2023-10-05 23:18:53 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/elements/multiqueue.c:
	  tests: multiqueue: Add overrun test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5430>

2023-10-05 22:40:43 +0900  Seungha Yang <seungha@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Do not update time level on segment
	  Update time level decision logic to be identical to the queue/queue2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5430>

2023-10-03 17:38:18 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/elements/queue.c:
	* tests/check/elements/queue2.c:
	  tests: queue, queue2: Add more timelevel test
	  ... and update existing testcases for new timelevel measuring logic
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5430>

2023-10-03 02:05:23 +0900  Seungha Yang <seungha@centricular.com>

	* plugins/elements/gstqueue.c:
	* plugins/elements/gstqueue.h:
	* plugins/elements/gstqueue2.c:
	* plugins/elements/gstqueue2.h:
	  queue, queue2: Fix current-level-time report
	  Do not update timelevel on segment. Segment itself does not tell
	  anything about the amount of buffered time duration in the element
	  but buffer timestamp/duration is required to measure actual bufferred time.
	  Moreover, at the time when new segment is applied to sink/srcpad,
	  segment.position would point to random value.
	  Therefore calculating running time using the random value does not
	  make sense and it will result in wrong timelevel report.
	  This patch updates queue/queue2's timelevel measuring logic so that
	  it can be updated only on buffer/buffer-list/gap-event flow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5430>

2023-10-06 13:39:34 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/io.rs:
	  ptp: Fix a couple of stylistic clippy warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5441>

2023-09-04 14:02:25 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix start-time-selection=first on negative rate
	  When the property "start-time-selection" is set to "first", it
	  calculates the start time of the output from the buffer pts
	  (converting it to running time of the segment), but if the
	  rate is negative, the real start is not the pts, but the
	  pts + duration, because it plays from the end of the buffer
	  to it's start.
	  As a result of this bug, in the negative rate, when the
	  start-time-selection=first, the first frame is dropped
	  by the videoaggregator (reproduced on d3d11compositor).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5276>

2023-09-27 16:59:34 +0200  François Laignel <francois@centricular.com>

	* tools/gst-inspect.c:
	  tools: gst-inspect: add specific messages for CONSTRUCT_ONLY params
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5407>

2023-09-27 08:46:35 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* libs/gst/base/gstaggregator.c:
	  GstCustomMeta: Use simplified API where possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5385>

2023-09-23 13:12:57 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstmeta.c:
	* gst/gstmeta.h:
	  GstCustomMeta: simplify API
	  Move the GstStructure field into public struct for direct access, that's
	  easier than having to call a function to get it. It is not an API/ABI
	  breakage to extend the public structure of a GstMeta because they are
	  always allocated by inside GStreamer. The structure is exposed already
	  by gst_custom_meta_get_structure() which does not return a copy/ref, so
	  it is locked into holding a GstStructure forever anyway.
	  Also add gst_meta_register_custom_simple() because most of the time only
	  a name is required, tags and transform functions are more niche
	  use-case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5385>

2023-09-20 09:49:27 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/gstutils.h:
	  gstutils: Delete extra semicolon
	  Warning reported by GCC with -Wpedantic: ISO C does not allow extra
	  ‘;’ outside of a function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5359>

2023-08-01 17:08:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Delay unlocking so we can hold the STREAM_LOCK
	  unlock_stop() is expected to be run while the streaming thread is idle. To
	  guaranty this is the case, we should take the streamlock, but its not
	  possible to take this lock during state transitions from PAUSED to
	  PLAYING as the wait function that we want to terminate is holding it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4961>

2023-08-01 16:52:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Retry create() if we are back from pause
	  After a create() call, which may have returned FLUSHING or a filled buffer,
	  if it possible that we detect that we are now in pause. As live sourced
	  don't produce data in pause, drop the buffer is any and later retry creating
	  a buffer. This will ensure that we resume from pause while avoiding displaying
	  ancient frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4961>

2023-07-03 11:48:57 -0400  soak <oakasanj@yahoo.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Restore pause/resume in derived classes
	  When the pipeline goes from Playing to Paused, this change will invoke
	  unlock in the derived class. When the pipeline goes from Paused to
	  Playing, this change will invoke unlock_stop in the derived class.
	  This feature was removed in commit 523de1a9 and is now being restored.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4961>

2023-07-12 02:43:18 +0900  Seungha Yang <seungha@centricular.com>

	* plugins/elements/gstqueue.c:
	* plugins/elements/gstqueue2.c:
	* tests/check/elements/queue.c:
	* tests/check/elements/queue2.c:
	  queue, queue2: Flush internal queue on flow error
	  This is to fix an infinitely blocked upstream streaming thread if
