=== release 1.24.11 ===

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

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

2024-12-03 23:39:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.10

=== release 1.24.10 ===

2024-12-03 23:29:07 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-08-30 13:21:30 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst/gstutils.c:
	* tests/check/gst/gstutils.c:
	  utils: improve gst_util_ceil_log2
	  According to the following comparison of algorithms, the value
	  for 0 and 1 was giving an incorrect result.
	  https://gist.github.com/ceyusa/6061b33ac109a68bcd222f6919968c9a
	  More information here:
	  https://github.com/rofrol/codeforces/blob/master/ceil_log2.c
	  Use a different algorithm which offers better result and keep the
	  performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7905>

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

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

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

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

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

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

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

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

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

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

2024-10-09 13:35:33 -0400  Alicia Boya García <aboya@igalia.com>

	* gst/gstpad.c:
	  pad: Never push sticky events in response to a FLUSH_STOP
	  FLUSH_STOP is meant to clear the flushing state of pads and elements
	  downstream, not to process data. Hence, a FLUSH_STOP should not
	  propagate sticky events. This is also consistent with how flushes are a
	  special case for probes.
	  Currently this is almost always the case, since a FLUSH_STOP is
	  __usually__ preceded by a FLUSH_START, and events (sticky or not) are
	  discarded while a pad has the FLUSHING flag active (set by FLUSH_START).
	  However, it is currently assumed that a FLUSH_STOP not preceded by a
	  FLUSH_START is correct behavior, and this will occur while autoplugging
	  pipelines are constructed. This leaves us with an unhandled edge case!
	  This patch explicitly disables sending sticky events when pushing a
	  FLUSH_STOP, instead of relying on the flushing flag of the pad, which
	  will break in the edge case of a FLUSH_STOP not preceded by a
	  FLUSH_START.
	  If sticky events are propagated in response to a FLUSH_STOP, the
	  flushing thread can end up deadlocked in blocking code of a downstream
	  pad, such as a blocking probe. Instead, those events should be
	  propagated from the streaming thread of the pad when handling a
	  non-flushing synchronized event or buffer.
	  This fixes a deadlock found in WebKit with playbin3 when seeks occur
	  before preroll, where the seeking thread ended up stuck in the blocking
	  probe of playsink:
	  https://github.com/WebPlatformForEmbedded/WPEWebKit/issues/1367
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8003>

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

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

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

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

2024-11-18 08:47:12 +0100  Robert Rosengren <robertr@axis.com>

	* gst/gstdeviceprovider.c:
	  gstdeviceprovider: fix leaking hidden providers
	  Free list of hidden providers upon stop and dispose.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7915>

2024-11-07 15:44:25 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* libs/gst/helpers/ptp/ffi.rs:
	* libs/gst/helpers/ptp/net.rs:
	  ptp: use ip_mreq instead of ip_mreqn for macOS
	  To join a multicast the macOS still uses the interface address
	  from the ip_mreq instead of the ip_mreqn unlike other Linux systems.
	  So add a new conditional block for macOS to use ip_mreq for IP_ADD_MEMBERSHIP
	  and ip_mreqn for IP_MULTICAST_IF
	  This is similar to the fix in the glib for multicast join/leave
	  operation on macOS
	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4333
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7864>

2024-11-03 17:36:22 +0000  Tim-Philipp Müller <tim@centricular.com>

	* 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/lv.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/7820>

2024-10-30 20:40:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.9

=== release 1.24.9 ===

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

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

2024-10-28 10:41:08 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Do not unref the query we get in pad->query
	  We do not own any ref to queries when running them.
	  If we end up processing the query from the streaming thread, it means that it was
	  a serialized query, and the query is being waited to be processed on the sinkpad
	  streaming thread, thread which owns the reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7796>

2024-10-25 19:12:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix start time selection first with force-live
	  When force-live is true, we don't want to wait for a first buffer
	  to select a start time.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1783
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7778>

2024-10-23 16:14:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix live query when force-live is TRUE
	  When force-live is TRUE, aggregator will correctly change its state with
	  NO_PREROLL, but unless something upstream is live did not previously set
	  live to TRUE on the latency query.
	  Fix this by or'ing force_live into the result.
	  Also improve debug
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7723>

2024-10-01 12:26:40 +0000  Corentin Damman <c.damman@intopix.com>

	* gst/gstmacos.m:
	  macos: Fix race conditions
	  This commit fixes two issues:
	  - The event must be posted *after* calling stop, otherwise a race condition can occur and the app never stops
	  - isFinishedLaunching and applicationDidFinishLaunching are not always synchronized, causing sometimes
	  a deadlock on the g_cond_wait never catching the g_cond_signal
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7608>

2024-09-16 08:48:47 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/parse/grammar.y.in:
	  gstreamer: parse: Use child proxy for deferred property setting
	  We use that mechanism for the non-deferred path, and this makes sure we are
	  consistent for deferred set too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7561>

2024-09-15 06:39:40 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/parse/grammar.y.in:
	  gstreamer: parse: Minor whitespace fixups
	  Mostly replacing some tabs with spaces.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7561>

2024-09-13 13:55:27 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/parse/grammar.y.in:
	  gstreamer: parse: Make sure children are bins before recursing in
	  A deferred set of the form parentbin::childelement::pad works in the
	  non-deferred property setting path, but the deferred path assumes that all
	  non-root non-leaf children specify bins. We already have a bin check on the
	  root, so let's add one for other non-leaves to avoid a critical.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3806
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7561>

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

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

=== release 1.24.8 ===

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

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

2024-09-14 04:01:42 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst/gstmeta.h:
	  meta: Add missing include of gststructure.h
	  This avoids the following error when only including gstmeta.h:
	  /usr/include/gstreamer-1.0/gst/gstmeta.h:146:3: error: unknown type
	  name 'GstStructure'
	  146 |   GstStructure *structure;
	  |   ^~~~~~~~~~~~
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7525>

2024-09-13 10:58:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Immediately return NONE from simple_get_next_time() on non-TIME segments
	  Otherwise this gives critical warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7514>

2024-09-10 16:03:05 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/gstpad.c:
	  pad: Check data NULL-ness when probes are stopped
	  We were correctly handling this for buffers, but not events and queries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7506>

2024-08-26 19:13:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstutils.c:
	  clock: Fix calculation for number of bits needed to store a 64 bit value
	  It was using log2(n) but what actually is needed is log2(n) + 1. Also add a
	  fast-path that uses __builtin_clzll() on gcc/clang.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7431>

2024-08-23 15:56:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstutils.c:
	* tests/check/gst/gstutils.c:
	  clock: Fix unchecked overflows in linear regression code
	  The initial calculation for the precision shift was wrong and would allow for
	  overflows during the calculations which were not detected and lead to wrong
	  results.
	  Also add a test for a case where overflows where previously not detected and
	  caused a completely wrong result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7431>

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

	* meson.build:
	  Back to development after 1.24.7

=== release 1.24.7 ===

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

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

2024-05-28 16:27:39 +0300  Jan Schmidt <jan@centricular.com>

	* gst/gstutils.c:
	  core: Log pad name, not just the pointer
	  Change a debug statement that was just logging a pad pointer where
	  it could log the pad name more usefully.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7336>

2024-08-05 17:34:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbin.c:
	  bin: Don't keep the object lock while setting a GstContext when handling NEED_CONTEXT
	  This can potentially deadlock.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3707
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7310>

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

	* meson.build:
	  Back to development after 1.24.6

=== release 1.24.6 ===

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

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

2024-07-03 09:05:06 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstdownloadbuffer.c:
	  downloadbuffer: send EOS in push mode
	  gst_download_buffer_read_buffer() returns FLOW_EOS but it was not
	  handled in the 'out_flushing' goto block which uses srcresult,
	  so EOS was not sent downstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>

2024-07-03 09:16:47 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstdownloadbuffer.c:
	  downloadbuffer: initialize upstream_size when activated in push mode
	  Push mode flow relies on upstream_size but it was not initialized when
	  activated as it is when activated in pull mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>

2024-07-03 09:13:27 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstdownloadbuffer.c:
	  downloadbuffer: init upstream_size to -1
	  Code in check_upstream_size() is checking for -1 to check if
	  upstream_size has been set or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>

2024-07-03 09:03:59 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstdownloadbuffer.c:
	  downloadbuffer: properly log when receiving events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>

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

	* gst/gstinfo.c:
	  info: remove unused valgrind header include
	  Follow-up to commit a2cbf75523cdf8a4df1baa7007d86ef455972245.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7129>

2024-07-01 09:24:28 +0200  Edward Hervey <edward@centricular.com>

	* tests/validate/gst-tester.c:
	  gstreamer/gst-tester: Don't leak thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7123>

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

	* tools/gst-inspect.c:
	  gst-inspect: Fix leak of plugin/feature
	  Reordering changes the initial list head
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7123>

2024-06-20 15:13:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	* plugins/elements/gstqueue.c:
	* plugins/elements/gstqueue2.c:
	  queue, queue2, multiqueue: Timestamps of gap events must be valid
	  This is checked in gst_event_new_gap() so doesn't have to be checked again here,
	  but simply can be asserted with a g_return_if_fail().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7075>

2024-06-20 15:10:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	* plugins/elements/gstqueue.c:
	* plugins/elements/gstqueue2.c:
	  queue: queue2: multiqueue: Don't work with segment.position if buffers have no timestamps
	  If the first buffers have no timestamp then the sink position would be
	  initialized to 0. The source pad might output this buffer, which would then
	  initialize the source position to 0 too.
	  Afterwards two buffers with a valid but huge timestamp might arrive before any
	  of them are output on the source pad. The first one would set the sink position
	  to a huge value, the second one would notice that the difference between the
	  huge value and 0 is certainly larger than max-size-time and consider the queue
	  as full.
	  Instead, simply don't update the times from buffers without timestamps and
	  assume whatever was set before is still valid, i.e. the buffer has the same
	  timestamp as the previous one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7075>

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

	* meson.build:
	  Back to development after 1.24.5

=== release 1.24.5 ===

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

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

2024-06-05 10:38:57 +0200  Edward Hervey <edward@centricular.com>

	* gst/gstpromise.c:
	* tests/check/gst/gstpromise.c:
	  gstpromise: Don't use g_return_* for internal checks
	  If assertion/checks are disabled bad things will happen and the function won't
	  return as expected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6998>

2024-05-30 12:08:57 +0200  Martin Nordholts <martn@axis.com>

	* gst/gstinfo.c:
	  gst_debug: Add missing gst_debug_log_id_literal() dummy with gst_debug=false
	  E.g. gst_debug_log_literal() already has a dummy variant.
	  gst_debug_log_id_literal() is simply missing, which can
	  cause link errors for project using gstreamer with
	  gst_debug=false.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6979>

2024-05-30 01:07:30 +0200  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* libs/gst/helpers/ptp/clock.rs:
	* libs/gst/helpers/ptp/ffi.rs:
	* libs/gst/helpers/ptp/meson.build:
	* libs/gst/helpers/ptp/net.rs:
	  ptp-helper: Add GNU/Hurd support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6974>

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

	* meson.build:
	  Back to development after 1.24.4

=== release 1.24.4 ===

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

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

2024-05-28 13:17:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/parse/grammar.y.in:
	  gstreamer: parse: Don't assume that child proxy child objects are GstObjects
	  The name is already passed via the signal parameters so it doesn't have
	  to be retrieved again via GstObject API, which would crash on other
	  GObjects. Child proxy child objects can be any kind of GObject and the
	  code here otherwise handles this correctly already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6951>

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

	* libs/gst/helpers/ptp/ffi.rs:
	  gstreamer: ptp-helper: Use u64 instead of c_ulong for ifa_flags on Solaris/Illumos
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3553#note_2429400
	  Patch by Marcel Telka <marcel@telka.sk>.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6950>

2024-05-26 12:33:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/ffi.rs:
	  gstreamer: ptp-helper: Use `if_nametoindex` and `setsockopt` on Solaris / Illumos too
	  Patch by Marcel Telka <marcel@telka.sk>.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3552
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>

2024-05-26 12:31:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/net.rs:
	  gstreamer: ptp-helper: Don't import `Context` trait multiple times unnecessarily
	  This only affected the Solaris / Illumos code path.
	  Patch by Marcel Telka <marcel@telka.sk>.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3551
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>

2024-05-26 12:27:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/ffi.rs:
	* libs/gst/helpers/ptp/net.rs:
	  gstreamer: ptp-helper: Use `c_ulong` for `ifa_flags` on Solaris/Illumos
	  Based on a patch by Marcel Telka <marcel@telka.sk>.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3553
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>

2024-05-26 12:24:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/meson.build:
	* libs/gst/net/meson.build:
	* meson.build:
	* tests/check/meson.build:
	* tests/misc/meson.build:
	  gstreamer: Solaris/Illumos require linking to libnsl / libsocket for various socket APIs
	  Patch by Tim Mooney <Tim.Mooney@ndsu.edu> from OpenIndiana/oi-userland
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>

2024-05-17 11:03:51 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstclock.h:
	  clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_TIMESPEC
	  On various 32 bit systems, time_t is actually 64 bits while long is
	  still only 32 bits. The macro would wrongly trigger its assertion in
	  this case if a value with more than 68 years worth of seconds is
	  converted.
	  Examples are various newer 32 bit platforms and old ones that are
	  compiled with -D_TIME_BITS=64.
	  Also statically assert that time_t is either 32 or 64 bits. Other values
	  might need adjustments in the macro.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6919>

2024-05-21 21:50:47 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst/gststructure.c:
	  tests/check: Avoid using "bool" for the variable name
	  Glib 2.82 will be aliasing [1] TRUE and FALSE to the C99
	  definitions, which means it will be including stdbool.h
	  As such, having variables named "bool" causes issues
	  since it conflicts with the symbol defined in stdbool.h
	  [1] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4001
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6896>

2024-05-17 23:03:19 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	* plugins/elements/gstfilesrc.c:
	  filesrc: Don't abort on _get_osfhandle()
	  _get_osfhandle() expects valid fd and CRT will abort program
	  if given paramerter is invalid. The fd can be invalidated
	  in various way, file was deleted by other process after
	  we open a file. To avoid it, our own exception
	  handler must be installed so that _get_osfhandle() can return
	  INVALID_HANDLE_VALUE if fd is invalid.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6879>

2024-05-14 23:30:56 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/gstsystemclock.c:
	  systemclock: fix usage of __STDC_NO_ATOMICS__
	  __STDC_NO_ATOMICS doesn't seem to exist. In fact the only compiler
	  I've found that sets any of those is msvc, but it sets
	  __STDC_NO_ATOMICS__, not __STDC_NO_ATOMICS.
	  __STDC_NO_ATOMICS__ is the one documented by C11 standard.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6856>

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

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

=== release 1.24.3 ===

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

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

2024-04-10 16:29:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/parse.rs:
	  ptp: Silence warning about some unused trait methods
	  These are not used yet but will likely be useful in the future.
	  Rust 1.79 (nightly) is warning about them being unused.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6606>

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

	* meson.build:
	  Back to development after 1.24.2

=== release 1.24.2 ===

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

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

2024-04-02 11:54:52 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* plugins/elements/gstclocksync.c:
	  clocksync: Proxy allocation queries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6525>

2024-03-27 16:55:10 +0000  L. E. Segovia <amy@centricular.com>

	* gst/gstsystemclock.c:
	* meson.build:
	  gst: clock: Block futex_time64 usage on Android API level < 30
	  This syscall is seccomp blocked on all lower API levels:
	  https://github.com/aosp-mirror/platform_bionic/commit/ee7bc3002dc3127faac110167d28912eb0e86a20
	  While at it, also fix all direct tests on __NR_futex_time64 and
	  __NR_futex so that they refer to the results available in
	  config.h.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6518>

2024-03-26 19:40:04 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* libs/gst/net/gstptpclock.c:
	  net/gstptpclock: fix double free of domain data during deinit
	  The attempt to free the domain data is happeing twice during the ptp deinit.
	  Once while iterating through the list domain_data and second while iterating
	  through the list domain_clocks, so this is crashing the application
	  trying to gst_ptp_deinit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6457>

2024-03-27 17:05:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Clear submitted buffer lists consistently with buffers
	  And handle the case of a NULL buffer being returned cleanly, which is
	  valid as long as a buffer list is returned instead. Previously this
	  would cause an assertion because of calling gst_buffer_unref() with
	  NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6463>

2024-03-26 14:28:28 +0100  Arnaud Vrac <avrac@freebox.fr>

	* plugins/elements/gstinputselector.c:
	  inputselector: fix possible clock leak on shutdown
	  Avoid leaking a GstClock object on shutdown, bail out before taking the ref when
	  not playing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6455>

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

	* meson.build:
	  Back to development

=== release 1.24.1 ===

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

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

2024-03-19 08:57:43 -0400  Thomas Goodwin <thomas.goodwin@laerdal.com>

	* tests/check/tools/gstinspect.c:
	* tools/gst-inspect.c:
	  gst-inspect: fix --atleast-version to be implicitly applied to --exists
	  The --atleast-version implies --exists, but the implementation in
	  earlier commits had the version check applied any time the --exists was
	  checked, and the default value of the major and minor versions were set
	  to the GStreamer major and minor versions.  The resulting behavior would
	  have gst-inspect return '1' if the plugin's version didn't match
	  gstreamer's even when --atleast-version was not specified in the command
	  line args.  The change in this patch removes that behavior and adds
	  tests to verify that if --exists is specified WITHOUT --atleast-version
	  the version check will NOT be applied.  If both arguments are specified
	  and the version does not match the arg-supplied version number, a new
	  return code of '2' is used to uniquely identify the failure.
	  Fixes #3246
	  Signed-off-by: Thomas Goodwin <thomas.goodwin@laerdal.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6414>

2024-03-13 19:12:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  ptp: Initialize expected DELAY_REQ seqnum to an invalid value
	  This allows distinguishing pending syncs that didn't have a DELAY_REQ
	  sent from ones that did but used a seqnum of 0, like the very first one.
	  Specifically, if the first one or more syncs are still pending and we
	  send the first DELAY_REQ for a later pending sync, then the DELAY_RESP
	  would've been wrongly associated to the very first pending sync because
	  of the seqnum.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3383
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6365>

2024-03-11 15:10:25 +0100  Antonio Larrosa <alarrosa@suse.com>

	* gst/gstregistry.c:
	* libs/gst/net/gstptpclock.c:
	  registry, ptp: Canonicalize the library path returned by dladdr
	  On systems using UsrMerge (like openSUSE or Fedora), /lib64 is
	  a symlink to /usr/lib64. So dladdr is returning the path to
	  the gstreamer library in /lib64 in priv_gst_get_relocated_libgstreamer.
	  Later gst_plugin_loader_spawn tries to build the path to the
	  gst-plugin-scanner helper from /lib64 and ends up trying to use
	  /lib64/../libexec/gstreamer-1.0/gst-plugin-scanner which doesn't exist.
	  By canonicalizing the path with a call to realpath, gst-plugin-scanner
	  is found correctly under
	  /usr/lib64/../libexec/gstreamer-1.0/gst-plugin-scanner
	  Similar change applied to gstreamer/libs/gst/net/gstptpclock.c
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6343>

2024-02-27 18:59:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gsturi.c:
	  gsturi: Sort by feature name to break a feature rank tie
	  This matches autoplug in other places such as decodebin, otherwise we
	  will pick "randomly" based on the order in which plugins are
	  registered, which is mostly dependent on the order in which readdir()
	  returns items.
	  So let's make it predictable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6342>

2024-03-08 17:05:34 +1100  Jan Schmidt <jan@centricular.com>

	* plugins/elements/gstidentity.c:
	  identity: Don't refuse seeks unless single-segment=true
	  identity only needs to configure the internal seek segment if it's
	  aggregating upstream segments into 1. If it's not, don't break
	  other seek behaviour by refusing (for example) instant-rate change
	  seeks.
	  Fixes: #3363
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6314>

2024-02-25 04:26:21 +1100  Jan Schmidt <jan@centricular.com>

	* gst/gstsegment.c:
	  gstsegment: Don't use g_return_val_if_fail()
	  Don't use g_return_val_if_fail() to catch the
	  open-ended segment or empty segment cases in
	  gst_segment_to_running_time_full()
	  g_return_val_if_fail() is for programmer errors,
	  and can be compiled out with a flag.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6275>

2024-03-05 15:10:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/ptp/meson.build:
	  ptp: Don't install test executable
	  And handle it like all our other test executables.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6268>

2024-03-05 13:45:27 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== 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:
