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

