=== release 1.22.9 ===

2024-01-24 18:21:13 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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/5958>

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/5954>

2023-12-18 13:52:12 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.8 ===

2023-12-18 12:09:37 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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/5720>

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/5720>

2023-03-15 09:11:51 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstbuffer.c:
	* tests/check/gst/gstbufferpool.c:
	  gstbuffer: Add parent meta when a copy shares memory with parent
	  When copying a buffer, for example with gst_buffer_make_writable(), the
	  new buffer might reference the same GstMemory as the src buffer,
	  making those memories not writable. If the src buffer gets disposed
	  first it should return to its buffer pool, but since some of its
	  memories are not writable it gets discarded and new buffer/memory gets
	  allocated.
	  Solves this by making the new buffer keep a reference to the src buffer,
	  that ensures that by the time the src buffer gets disposed no other
	  buffer are referencing its memories and it can thus return safely to its
	  pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5696>

2023-03-09 22:18:12 -0800  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstbuffer.c:
	* tests/check/gst/gstbufferpool.c:
	  gstbuffer: Unref memories before metas
	  gst_buffer_add_parent_buffer_meta() is used when a GstBuffer uses
	  GstMemory from another buffer that was allocated from a pool. In that
	  case we want to make sure the buffer returns to the pool when the memory
	  is writable again, otherwise a copy of the memory is created. That means
	  the child buffer must drop its ref to the memory first, then drop the
	  ref to parent buffer so it can return to the pool when it is the only
	  owner of the memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5696>

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/5678>

2023-11-13 14:57:09 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.7 ===

2023-11-13 11:04:22 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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/5563>

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/5553>

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/5553>

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/5553>

2023-09-20 19:41:00 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.6 ===

2023-09-20 18:10:57 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2023-03-28 19:58:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-inspect.c:
	  tools: gst-inspect: print action signals as emit_by_name() invocations
	  It's quite confusing to print a function callback signature for
	  action signals when people need to do a g_signal_by_name() invocation
	  in order to use this feature. Requires too much background knowledge
	  about how GObject works under the hood to make sense of that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5206>

2023-03-29 16:46:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-inspect.c:
	  tools: gst-inspect: prettify type names for strings
	  'gchararray' and 'GStrv' are not types used anywhere else
	  and are just confusing. Map that to 'const gchar *' and 'gchar *'
	  etc. depending on context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5206>

2023-03-28 19:56:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-inspect.c:
	  tools: gst-inspect: add vertical spacing between properties and signals
	  Makes it easier to read and less squashed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5206>

2023-08-15 16:01:28 +0200  Piotr Brzeziński <piotr@centricular.com>

	* tools/gst-launch.c:
	  tools: Disable fault signal handlers in gst-launch/gst-validate on macOS
	  By default, macOS attempts to run lldb against a misbehaving process to handle the crash. This does not play well
	  with the SISEGV/SIGQUIT handler we add in gst-launch/gst-validate. The 'spinning' mechanism causes the lldb
	  and debugserver processes ran by macOS to misbehave, taking 100% CPU and rendering both themselves and the GStreamer
	  instance frozen and very hard to effectively kill. macOS's Activity Monitor is also unusable while this is happening.
	  This patch takes the quickest possible solution of just disabling those signal handlers entirely on macOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5201>

2023-07-20 16:57:47 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.5 ===

2023-07-20 15:22:48 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2023-07-17 15:18:39 +0100  Philippe Normand <philn@igalia.com>

	* gst/gstquery.c:
	  query: Add a quark for SELECTABLE query type
	  So that `gst_query_type_get_name()` won't return "unknown" for this type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5067>

2023-03-26 16:40:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gsttaglist.c:
	  taglist, plugins: fix compiler warnings with GLib >= 2.76
	  Fix compiler warnings about not using the return value when
	  freeing the GString segment with g_string_free(.., FALSE):
	  ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
	  which we get with newer GLib versions. These were all harmless.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5015>

2023-07-06 18:08:57 +0200  Théo Maillart <tmaillart@freebox.fr>

	* plugins/elements/gstinputselector.c:
	  inputselector: fix playing variable is never set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4988>

2023-02-16 13:44:50 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/gsttracerutils.c:
	  tracerutils: allow casting parameters types
	  It was impossible to have an u32 parameter such as
	  'max-buffer-size=(uint)5' because the parentheses were not properly
	  parsed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4941>

2023-06-20 19:10:38 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.4 ===

2023-06-20 17:42:25 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2023-06-09 17:51:28 +0800  Elliot Chen <elliot.chen@nxp.com>

	* libs/gst/base/gsttypefindhelper.c:
	  typefindhelper: avoid printing error log
	  some plugins such as wavparse may need find if type of media
	  contained in the given data and will print error log if there
	  is no matching factory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4859>

2023-06-09 10:28:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/gst-ptp-helper.c:
	  ptp: Correctly parse clock ID from the commandline parameters in the helper
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2652
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4813>

2023-06-08 20:52:21 +0900  Seungha Yang <seungha@centricular.com>

	* plugins/elements/gstelements_private.c:
	* tests/check/elements/filesink.c:
	  filesink: Fix buffered mode writing
	  Fixing miscalculated buffer index when a buffer holds multiple
	  memories and it's not aligned to the vector size 16
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4817>

2023-06-06 20:44:02 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/libs/basesink.c:
	  tests: basesink: Add STREAM-START after EOS test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4797>

2023-06-06 04:42:05 +0900  Seungha Yang <seungha@centricular.com>

	* libs/gst/base/gstbasesink.c:
	  basesink: Clear EOS flag on STREAM-START event
	  EOS -> STREAM-START -> new data flow is valid scenario
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4797>

2023-06-01 14:49:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstinfo.c:
	  docs: Use backticks to escape * in markdown
	  Otherwise it's interpreted as emphasis.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4763>

2023-05-17 10:01:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Work around bug in ptpd in default configuration
	  ptpd is defaulting to the hybrid mode, and was sending invalid multicast
	  PTP messages in that configuration until ce96c742a88792a8d92deebaf03927e1b367f4a9.
	  While this commit was made in 2015 there was no release in the meantime.
	  Work around this by detecting this case and defaulting to the default
	  values for the given intervals as given by the PTP standard.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4683>

2023-05-19 12:36:19 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.3 ===

2023-05-19 09:23:19 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2023-05-12 18:35:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/parse/grammar.y.in:
	  parse/grammar: fix missing unref of looked up child
	  the target parameter of gst_child_proxy_lookup() is (transfer full)
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2560
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4624>

2023-03-28 16:13:51 +0200  Juan Navarro <juan.navarro@gmx.es>

	* gst/gstutils.c:
	  gstutils: Add category and object to most logging messages
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4615>

2023-04-12 10:58:31 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gst.c:
	  gst: tracer: Initialize tracing infrastructure even if the debug system is not compiled in
	  There is a separate #define for the tracing infrastructure.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2467
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4424>

2023-04-12 00:31:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.22.2 ===

2023-04-11 17:29:28 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2023-04-10 13:49:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/sr.po:
	  gstreamer: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4390>

2023-03-31 04:40:58 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-inspect.c:
	* tools/gst-launch.c:
	* tools/gst-stats.c:
	* tools/gst-typefind.c:
	  tools: Count argc after parsing GOption on Windows
	  Existing codes rely on modified argc value by g_option_context_parse()
	  but g_option_context_parse_strv() is used in case of Windows.
	  Count arguments after the option parsing manually.
	  Fixing command "gst-inspect-1.0.exe -b"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4322>

2023-03-24 18:34:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstdatetime.c:
	  datetime: Return G_MAXFLOAT instead of G_MAXDOUBLE for no timezone offset
	  Returning G_MAXDOUBLE from a function returning a float is not going to
	  work well and MSVC also correctly warns about this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4285>

2023-03-16 12:38:23 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* plugins/elements/gstinputselector.c:
	  inputselector: Wake up streaming thread before PLAYING_TO_PAUSED transition
	  Also take object lock before iterating the pads.
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1772
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4196>

2023-03-04 16:13:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.22.1 ===

2023-03-04 13:42:32 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2023-03-02 15:51:08 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* plugins/elements/gstinputselector.c:
	* plugins/elements/gstinputselector.h:
	  inputselector: Avoid deadlock when shutting down
	  Transition from PLAYING to PAUSED unschedules any pending clock wait,
	  but there was no guard that prevented another input buffer then waiting
	  again while in PAUSED before dataflow stops. Use a new `playing` flag to
	  avoid this, and exit the chain function if instead of playing we're now
	  flushing. Basically the same as the clocksync element.
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1772
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4099>

2023-01-28 02:32:13 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-inspect.c:
	* tools/gst-launch.c:
	* tools/gst-stats.c:
	* tools/gst-typefind.c:
	  tools: Make sure UTF-8 encoded command line arguments on Windows
	  On Windows, arguments passed in main() are system codepage
	  encoded and might not be valid UTF-8 string.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4072>

2023-02-21 20:13:57 -0700  James Hilliard <james.hilliard1@gmail.com>

	* gst/gstbuffer.c:
	  buffer: fix copy meta reference debug log formatting
	  Fixes the following valgrind error:
	  ==616== Conditional jump or move depends on uninitialised value(s)
	  ==616==    at 0x4900E34: gst_debug_print_object (gstinfo.c:1143)
	  ==616==    by 0x49010B6: gst_info_printf_pointer_extension_func (gstinfo.c:1215)
	  ==616==    by 0x4959FDB: __gst_printf_pointer_extension_serialize (printf-extension.c:47)
	  ==616==    by 0x495A487: printf_postprocess_args (vasnprintf.c:258)
	  ==616==    by 0x495A52C: __gst_vasnprintf (vasnprintf.c:290)
	  ==616==    by 0x4959F8F: __gst_vasprintf (printf.c:154)
	  ==616==    by 0x4901C1F: gst_debug_message_get (gstinfo.c:791)
	  ==616==    by 0x4901C75: _gst_debug_log_preamble (gstinfo.c:1431)
	  ==616==    by 0x4903208: gst_debug_log_default (gstinfo.c:1575)
	  ==616==    by 0x49020BA: gst_debug_log_full_valist (gstinfo.c:624)
	  ==616==    by 0x490211D: gst_debug_log_valist (gstinfo.c:656)
	  ==616==    by 0x49021AD: gst_debug_log (gstinfo.c:533)
	  ==616==    by 0x48DDC11: gst_buffer_copy_into (gstbuffer.c:693)
	  ==616==    by 0x48DF5F1: gst_buffer_copy_with_flags (gstbuffer.c:727)
	  ==616==    by 0x48DF640: gst_buffer_copy_deep (gstbuffer.c:756)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4038>

2023-02-22 11:51:58 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/fur.po:
	  gstreamer: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4041>

2023-02-09 13:53:48 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/gstpad.c:
	  pad: Don't leak user_data in gst_pad_start_task
	  When the task already exists, we forgot to free the passed `user_data`.
	  This wasn't an issue for most C code, which doesn't pass a
	  `GDestroyNotify`, but bindings such as gstreamer-rs do!
	  That said, allocating a trampoline in gstreamer-rs just for it to get
	  thrown away again is awkward. Maybe we need a `gst_pad_resume_task`?
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3925>

2023-02-07 13:43:06 +0000  medithe <medithe@gmx.at>

	* gst/gstbin.c:
	  gstreamer: bin: Don't unlock unlocked mutex in gst_bin_remove_func()
	  Calling `g_mutex_unlock(mutex)` leads to an undefined behavior if the
	  mutex is not locked by the current thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3910>

2023-01-27 19:29:24 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstbasesrc.h:
	  BaseSrc: fix transfer annotation for fixate virtual method
	  The fixate virtual method has the same semantics as gst_caps_fixate(),
	  so the caps parameter must be marked as (transfer full).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3839>

2023-01-26 15:42:18 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstbasesrc.h:
	* libs/gst/base/gstpushsrc.h:
	  BaseSrc, PushSrc: add nullable annotations to virtual methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3833>

2023-01-26 10:33:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Warn about the right segment's format
	  We were checking the head segment here, not the current segment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3819>

2020-09-02 17:59:30 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Always lock aggpad around update_time_level
	  `aggpad->segment` is protected by the `aggpad`'s object lock. We need to
	  take the lock before calling `update_time_level`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3819>

2023-01-25 13:26:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gsttypefind.c:
	  gst: Fix gst_type_find_peek() return value annotation
	  It's not possible to annotate a in-parameter for a return value array as
	  the array length. Both are assumed to have the same direction and the
	  current annotation causes the size parameter to be considered an out
	  parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3814>

2023-01-23 17:26:07 +0100  Edward Hervey <edward@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Handle use-interleave latency live pipelines
	  Due to the dynamic nature of multiqueue, when `use-interleave` is used we can't
	  report a maximum tolerated latency (when queried) since it is calculated
	  dynamically.
	  When in such live pipelines, we need to make sure multiqueue can handle the
	  lowest global latency (provided by this event). Failure to do that would
	  result in not providing enough buffering for a realtime pipeline.
	  Fixes #1732
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3810>

2023-01-25 16:46:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.22.0 ===

2023-01-23 19:29:34 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2023-01-23 16:27:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/bg.po:
	* po/de.po:
	* po/es.po:
	* po/hr.po:
	* po/id.po:
	* po/nb.po:
	* po/pl.po:
	* po/ro.po:
	* po/ru.po:
	* po/uk.po:
	* po/zh_CN.po:
	  gstreamer: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

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

	* gst/gstquery.c:
	  gst: Mark caps parameters in ALLOCATION query API as nullable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3752>

2023-01-18 16:07:39 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* plugins/elements/gstinputselector.c:
	  input-selector: Take the object lock while iterating sinkpads
	  Otherwise we can race with pad removal and crash from use-after-free.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1717
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3745>

=== release 1.21.90 ===

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

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

2023-01-11 15:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/LINGUAS:
	* po/af.po:
	* po/ast.po:
	* po/az.po:
	* po/be.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/fur.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/ka.po:
	* po/ko.po:
	* po/lt.po:
	* po/nb.po:
	* po/nl.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/rw.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* po/zh_TW.po:
	  gstreamer: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

2023-01-11 14:53:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* scripts/dist-translations.py:
	* scripts/meson.build:
	  Fix translation pot files when creating dist tarballs
	  Add version as per Translation Project requirements and
	  also add a .pot file without the ABI suffix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

2023-01-11 12:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-inspect.c:
	* tools/gst-launch.c:
	* tools/gst-typefind.c:
	  tools: Use `gst_macos_main()` on macOS
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1673
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3709>

2023-01-04 21:37:55 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: explicitly declare gir build dependencies
	  As the path to the gir file is passed to hotdoc.generate_doc() and
	  not the build target itself, meson doesn't know about the dependency.
	  In turn, as the CI doesn't build everything before building the
	  documentation target, some gir files might not exist, for instance
	  in the case of gst-rtsp-server, causing the output documentation to
	  be empty.
	  The error occurred silently because hotdoc accepts wildcards for
	  *-sources arguments, thus it won't warn about a missing gir file as
	  it is legitimate for glob matching to resolve to nothing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3686>

2022-12-29 18:16:31 +0000  Philippe Normand <philn@igalia.com>

	* gst/gstevent.c:
	  event: Fix gst_event_parse_stream_collection annotation
	  The output parameter ownership is passed to the caller.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3659>

2022-12-28 17:42:31 +0000  Philippe Normand <philn@igalia.com>

	* tests/check/gst/gstelement.c:
	  tests: gstelement: Fix test_add_pad_while_paused flakiness
	  `gst_element_remove_pad()` doesn't automatically deactivate the pad, it has to
	  be done explicitly beforehand, otherwise the pad task might be left dangling,
	  exposed to undefined behaviour.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3653>

2019-05-04 03:54:44 +0200  Alicia Boya García <aboya@igalia.com>

	* gst/gstelement.c:
	* tests/check/gst/gstelement.c:
	  gstelement: fix deadlock in gst_element_add_pad() when >=PAUSED
	  gst_element_add_pad() is supposed to activate the pad if the element
	  state is >= PAUSED and the pad is not already active.
	  Unfortunately, before this patch, the activation was performed while the
	  element lock was still taken, which ended causing a deadlock in
	  gst_pad_start_task() as it attempted to post `stream-status` message in
	  the element, which also requires the element lock.
	  Elements could work around this bug by activating the pad manually
	  before adding it to the element.
	  This patch fixes the problem by performing pad activation only after the
	  element lock has been released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3635>

2022-12-14 23:30:54 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Fix potential deadlock with parallel release_pad calls
	  Commit d3a66f9851ea introduced a potential deadlock with two parallel release_pad
	  calls, where one could release the main multiqueue lock (qlock) while still
	  holding the reconf_lock and then calling other routines which in some conditions
	  may try to acquire qlock again. The second release_pad could already acquire the
	  qlock and then start waiting on reconf_lock, which may never be possible because
	  because the first one isn't releasing it until it can acquire qlock.
	  Fix it by holding reconf_lock for the whole durationg of qlock, making this
	  particular deadlock impossible.
	  Fixes #1642
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3571>

2022-12-20 03:54:46 +0900  Hiero32 <unnoh@tkd.att.ne.jp>

	* plugins/elements/gstfdsink.c:
	* plugins/elements/gstfdsrc.c:
	  fdsrc,fdsink: Set binary mode on FD
	  Default mode of STD handles on Windows is text mode, and OS will
	  insert CRLF sequence by default.
	  Co-authored-by: Seungha Yang <seungha@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3070>

2022-12-20 03:51:45 +0900  Hiero32 <unnoh@tkd.att.ne.jp>

	* plugins/elements/gstcoreelementselements.h:
	* plugins/elements/gstcoreelementsplugin.c:
	* plugins/elements/gstelements_private.c:
	* plugins/elements/gstfdsink.c:
	* plugins/elements/gstfdsrc.c:
	  coreelements: Use G_OS_WIN32 macro
	  * HAVE_WIN32 is not defined elsewhere
	  * Enables fdsrc/fdsink for MinGW build as well
	  Co-authored-by: Seungha Yang <seungha@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3070>

2022-12-13 08:58:43 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/gstconfig.h.in:
	* libs/gst/check/libcheck/meson.build:
	* meson.build:
	  Fix API visibility macros
	  This copies the logic from GLib discussed there:
	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2936
	  Beside being simpler, it also fix all public symbols being annotated
	  with dllexport when doing a static build, as discovered there:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3540#note_1678335
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3567>

2022-12-17 00:36:49 +0000  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: respect FIXED_CAPS flag in caps query implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3590>

2022-07-28 00:43:42 +0900  Hosang Lee <hosang10.lee@lge.com>

	* gst/gststreams.c:
	* tests/check/gst/gststream.c:
	  gst: handle combinations in gst_stream_type_get_name()
	  This should handle the majority of the valid stream cases.
	  The element setting the stream type may set each type separately.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2804>

2022-12-13 18:42:11 +0100  Piotr Brzeziński <piotr@centricular.com>

	* gst/gst.h:
	* gst/gstmacos.h:
	* gst/gstmacos.m:
	* gst/meson.build:
	* meson.build:
	  macos: Add wrapper API to run a NSApplication in the main thread
	  On macOS, a Cocoa event loop is needed in the main thread to ensure
	  things like opening a GL window work correctly. In the past, this was
	  patched into glib via Cerbero, but that prevented us from updating it.
	  This workaround simply runs an NSApplication and then calls the
	  main function on a secondary thread, allowing GStreamer to correctly
	  display windows and/or system permission prompts, for example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3532>

2022-12-12 11:34:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstsystemclock.c:
	* meson.build:
	  systemclock: Use `futex_time64` syscall if available (32-bit systems) and use correct `struct timespec` definition
	  See also https://gitlab.gnome.org/GNOME/glib/-/issues/2634
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1648
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3561>

2020-08-15 12:53:13 +0000  sezanzeb <to.213692@protonmail.ch>

	* gst/gst.c:
	  gst_init: Removed wrong warning in docstring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3562>

2022-12-07 21:57:31 +0000  Hugo Svirak <hugosvirak@gmail.com>

	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	* gst/gstmemory.c:
	* gst/gstmemory.h:
	* gst/gstminiobject.c:
	  docs: specify possibility of a NULL return
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3546>

2022-12-10 11:33:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: update for renamed log id macros
	  See #1635.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3553>

2022-12-10 11:32:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstinfo.h:
	  info: rename new log macros from GST_*_OBJECT_ID -> GST_*_ID
	  Fixes #1635
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3553>

2022-12-10 03:54:23 +1100  Jan Schmidt <jan@centricular.com>

	* gst/gstplugin.c:
	  gstplugin: Handle static plugins in gst_plugin_load_by_name()
	  gst_plugin_load_by_name() assumed a plugin has a filename,
	  which isn't true for static plugins, leading to criticals.
	  If a plugin is already loaded, just return the loaded plugin,
	  which makes it work for static plugins as well as saving a
	  moment for already-loaded dynamic plugins.
	  Add locking in gst_plugin_is_loaded(), as a plugin may be
	  still being loaded in another thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3552>

2022-12-07 11:49:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: fix check for pthread_setname_np()
	  Need to define _GNU_SOURCE.
	  Fixes #1542
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3538>

2022-11-29 15:12:51 +0100  Edward Hervey <edward@centricular.com>

	* gst/gstinfo.c:
	  gstinfo: Minor modification to avoid gst-indent pain
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3483>

2022-11-29 10:03:14 +0100  Edward Hervey <edward@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Use new id-based debugging methods
	  Clarifies the debug logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3483>

2022-11-29 09:37:00 +0100  Edward Hervey <edward@centricular.com>

	  gstinfo: Allow passing a string identifier for debugging
	  This adds "id" variants to most debugging functions, and allows providing a
	  string identifier instead of a GObject.
	  This allows providing unified and clearer debug logs for all the
	  non-gobject-based items, and opens the way for more unified logging.
	  As an extension, copying the object name is avoided as much as possible, by
	  using it directly instead of going through another copy.
	  * API : gst_debug_message_get_object_id
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3483>

2022-12-05 02:29:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.21.3 ===

2022-12-05 01:28:21 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2022-12-04 12:25:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* docs/random/ChangeLog-0.8:
	* docs/random/old/ChangeLog.gst-plugins:
	* docs/random/old/ChangeLog.gstreamer:
	  Remove ChangeLog files from git repository
	  This information is tracked fully in the git repository, so
	  no point having the ChangeLog duplicate it, and it interferes
	  with grepping the repository.
	  We are going to create the ChangeLogs on the fly when generating
	  tarballs going forward (with a limited history), since it's still
	  valuable for tarball consumers to be able to easily see a list of
	  recent changes.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>

2022-11-07 00:10:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/gen-changelog.py:
	  meson: Generate ChangeLog files for release tarballs on dist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>

2022-11-30 16:16:53 +0100  Edward Hervey <edward@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Handle gapless with flushing
	  Don't reset the stream-start group-id when stop/pausing single queues. They are
	  only resetted when re-used (in READY->PAUSED).
	  Fixes #1586
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487>

2022-12-01 08:16:45 +0100  Edward Hervey <edward@centricular.com>

	* gst/gstinfo.c:
	  gstinfo: Optimize color escape code creation
	  When coloring is in use, those escape codes are going to be created many times
	  for almost all debug lines.
	  Don't create plenty of temporary allocations, and instead build the escape code
	  ourselves statically
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3498>

2022-11-30 09:59:09 +0100  Edward Hervey <edward@centricular.com>

	* tools/gst-inspect.c:
	  gst-inspect: Don't leak list
	  Just iterate the list instead of trying to be smart...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3497>

2022-10-24 18:02:27 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* docs/plugins/gst_plugins_cache.json:
	* plugins/elements/gstinputselector.c:
	* plugins/elements/gstinputselector.h:
	  inputselector: Add drop-backwards property
	  When sync-streams=true, drop backwards buffers on pad switch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3256>

2022-10-24 16:49:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* plugins/elements/gstinputselector.c:
	* plugins/elements/gstinputselector.h:
	  inputselector: Fix waiting on sync-mode=clock
	  Basically copy over what clocksync does, but taking into account that we
	  have multiple upstream latencies.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3256>

2022-11-19 02:04:13 +1100  Jan Schmidt <jan@centricular.com>

	* gst/gstevent.c:
	  event: Add transfer none annotation to gst_event_new_stream_collection()
	  Update the documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387>

2022-11-11 22:57:38 +1100  Jan Schmidt <jan@centricular.com>

	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstpad.c:
	* tests/check/gst/gstpad.c:
	  pad: Fix sticky event ordering for instant-rate-change
