=== release 1.18.3 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.18.3

2021-01-13 03:01:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gsturi.h:
	  uri: Remove leftover documentation
	  Follow-up from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/728
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/731>

2021-01-08 20:23:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	* gst/gstbufferlist.c:
	* gst/gstbufferlist.h:
	* gst/gstcaps.c:
	* gst/gstcaps.h:
	* gst/gstcontext.c:
	* gst/gstcontext.h:
	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstmemory.c:
	* gst/gstmemory.h:
	* gst/gstmessage.c:
	* gst/gstmessage.h:
	* gst/gstpromise.c:
	* gst/gstpromise.h:
	* gst/gstquery.c:
	* gst/gstquery.h:
	* gst/gstsample.c:
	* gst/gstsample.h:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	* gst/gsturi.c:
	* gst/gsturi.h:
	* gst/meson.build:
	  gst: Add non-inline methods for bindings to able to use core APIs
	  Provide non-inline version of refcounting APIs so that it can be
	  consumed by bindings
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/issues/46
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/731>

2020-12-11 16:01:27 +0100  Jakub Adam <jakub.adam@collabora.com>

	* libs/gst/check/gstharness.c:
	  harness: don't use GST_DEBUG_OBJECT with GstHarness
	  GstHarness is not a GObject. Fixes assert on recently added check in
	  gst_debug_log_valist() if GST_ENABLE_EXTRA_CHECKS is enabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/721>

2020-12-06 23:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.2 ===

2020-12-06 13:21:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.18.2

2020-12-03 19:22:43 +0100  Marijn Suijten <marijns95@gmail.com>

	* libs/gst/check/gsttestclock.c:
	  check: gst_test_clock_process_next_clock_id returns nullable
	  It is possible there are no more pending clocks in the chain, in which
	  case this function returns null.
	  See also tests like test_single_shot_async_future that validate NULL
	  returns.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/716>

2020-12-02 09:22:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gststreams.c:
	  streams: gst_stream_type_get_name() is not nullable
	  It takes an enum and only the defined values are valid to pass in here
	  as it's not extensible from the outside.
	  Add a g_return_val_if_reached() for the unreachable case and return
	  "invalid".
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/713>

2020-11-03 22:58:26 -0800  Khem Raj <raj.khem@gmail.com>

	* gst/gst_private.h:
	  gst_private.h: increse padding in struct _GstClockEntryImpl
	  When compiling for 32bit architectures with 64bit time_t e.g. riscv32,
	  the static assert that the GstClockEntryImpl smaller or
	  equal to the struct _GstClockEntryImpl triggered.
	  (they were 12bytes off).
	  To fix this, the padding is increased by 8 bytes (on 32bit).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/695>

2020-11-02 17:43:42 +0800  Bing Song <bing.song@nxp.com>

	* plugins/elements/gstclocksync.c:
	* plugins/elements/gstidentity.c:
	  identity/clocksync: Also provide system clock if sync=false
	  identity should provide when sync=true. Don't provide when sync=false.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/630
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/697>

2020-11-10 21:39:13 +1000  Jonathan Matthew <jonathan@d14n.org>

	* plugins/elements/gsttypefindelement.c:
	* plugins/elements/gsttypefindelement.h:
	  typefind: copy seqnum to new segment event
	  Fixes: #635
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/701>

2020-10-17 12:34:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbufferpool.c:
	* gst/gstdatetime.c:
	* gst/gstdeviceprovider.c:
	* gst/gstelement.c:
	* gst/gstparse.c:
	* gst/gstplugin.c:
	* gst/gstregistry.c:
	* gst/gststreamcollection.c:
	* gst/gsttypefind.c:
	* gst/gsttypefindfactory.c:
	* gst/gsturi.c:
	* gst/gstutils.c:
	* libs/gst/base/gstaggregator.c:
	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstbasetransform.c:
	  Add some missing nullable annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/699>

2020-11-03 22:39:54 +1000  Jonathan Matthew <jonathan@d14n.org>

	* plugins/elements/gstqueue2.c:
	  queue2: Fix modes in scheduling query handling
	  Create a new query to send upstream and copy the flags across from it,
	  rather than reusing the same query, as this allows us to prevent use
	  of pull mode when we don't have a download file.
	  Fixes: #629
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/696>

2020-10-31 15:10:23 -0400  Chris White <cxwembedded@gmail.com>

	* gst/gstinfo.c:
	  gstinfo: colorize PIDs in log messages
	  The PIDs on log lines were supposed to be colorized before, but the
	  escape sequence was incorrect.  With this change, the code uses the
	  correct sequence to colorize those PIDs.  E.g., instead of `\033[334m`
	  (incorrect), use `\033[34m` (correct).
	  This makes the log messages easier to read.  It also reduces the chance
	  that a buggy terminal will choke on the invalid escape sequence.
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/624
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/691>

2020-10-30 23:46:07 +1100  Jan Schmidt <jan@centricular.com>

	* libs/gst/check/gstharness.c:
	* tests/check/libs/gstharness.c:
	  harness: Handle element not being set cleanly.
	  If a harness is created with gst_harness_new_empty(), there
	  might not be an internal element to unref on cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/687>

2020-10-30 00:45:42 +1100  Jan Schmidt <jan@centricular.com>

	* gst/gstbin.c:
	* tests/check/gst/gstbin.c:
	  bin: When removing a sink, check if the EOS status changed.
	  Removing a sink that hasn't posted EOS might change the bin itself
	  to EOS if it's the last remaining non-EOSed sink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/685>

2020-10-16 10:39:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Include min-upstream-latency in buffering time
	  While we can fixe the upstream latency using the min-upstream-latency, we
	  are now forced to use queues (hence more thread) in order to store the pending
	  data whenever we have an upstream source that has lower latency.
	  This fixes the issue by allowing to buffer the fixed upstream latency. This is
	  particularly handy on single core systems were having too many threads can
	  cause serious performance issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/684>

2020-10-27 12:33:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.1 ===

2020-10-26 11:08:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.18.1

2020-09-01 00:26:31 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	* tests/check/libs/aggregator.c:
	  aggregator: make peek() has() pop() drop() buffer API threadsafe
	  Enforce that the last buffer that was peeked (or had its existence
	  checked) on a pad is the one that gets popped / dropped, resetting
	  at the end of each aggregation cycle.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/603
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/675>

2020-10-13 01:19:47 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/gstvalue.c:
	  gstvalue: don't write to const char *
	  Our various deserializing functions require NULL terminators
	  to not over consume substrings (eg fields of an array). Instead
	  of writing a NULL terminator to the passed-in string, which may
	  result in segfaults, make a copy of the substring we're interested
	  in.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/446
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/673>

2020-10-10 00:53:42 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  meson: Disallow DbgHelp for UWP build
	  Most symbols in DbgHelp.h are not allowed for UWP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/670>

2020-10-07 03:49:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstinfo.c:
	  info: Fix build on Windows ARM64 device
	  gstinfo.c(3086): error C2094: label 'done' was undefined
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/668>

2020-10-09 12:13:15 +1100  Matthew Waters <matthew@centricular.com>

	* meson.build:
	  build: use cpu_family for arch checks
	  e.g. on 32-bit arm, we may have armv6, armv7l, armv7hf, etc which all
	  generally have the same layouts.  cpu_family() groups all of these into
	  just 'arm' that the ABI check table is expecting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/667>

2020-10-08 13:37:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* libs/gst/base/gstbasetransform.c:
	  basetransform: Fix in/outbuf confusion of _default_transform_meta
	  The default implementation doesn't actually use its buffer parameters,
	  but this error might have been the cause of some actual confusion in
	  the plugins code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/666>

2020-09-26 09:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/gstpadtemplate.c:
	  padtemplate: add missing annotation
	  Adds missing "transfer full" annotation for caps parameter in
	  gst_pad_template_set_documentation_caps()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/660>

2020-09-16 02:16:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/gstmeta.c:
	  gstmeta: intern registered impl string
	  Subsequent lookups in the hashtable are probably better done
	  on memory we're confident is allocated to us :)
	  It was easy to trigger invalid reads by calling gst_meta_register
	  with dynamically allocated memory, freeing that memory, then
	  calling gst_meta_get_info()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/657>

2020-09-15 21:07:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstinfo.c:
	* meson.build:
	  info: Load DbgHelp.dll using g_module_open()
	  ... and update meson file so that enable it only using required headers.
	  "dependency(...)" is unlikely successful for Windows SDK libraries
	  since it doesn't ship pkg-config file. So it needs to be changed
	  to "find_library()" to link corresponding .lib file. That would
	  result to most MSVC build system will link dbghelp.dll. However,
	  one drawback of the change is that gstreamer-1.0.dll will mandate
	  dbghelp.dll although it should be optional. So g_module_open() way
	  can be the most safe way in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/659>

2020-09-30 11:56:40 +1000  Matthew Waters <matthew@centricular.com>

	* gst/gstpadtemplate.c:
	  padtemplate: mark documentation caps as may be leaked
	  The template itself is already marked as such and the caps, the
	  documentation caps are a logical extension of those two.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/658>

2020-09-18 09:59:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Hold SRC_LOCK while unblocking via SRC_BROADCAST()
	  Otherwise the clock id we access might not be a valid pointer anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/656>

2020-09-08 12:45:42 +0100  Tom Schoonjans <Tom.Schoonjans@rfi.ac.uk>

	* libs/gst/helpers/ptp_helper_post_install.sh:
	  ptp_helper_post_install.sh: deal with none
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/655>

2020-09-09 01:23:11 +0800  Xℹ Ruoyao <xry111@mengyan1223.wang>

	* tests/check/meson.build:
	  skip elements/leak.c if tracer is not available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/654>

2020-08-20 11:09:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Wake up source pad in PAUSED<->PLAYING transitions
	  When going to PLAYING we will now have a clock and can stop waiting on
	  the condition variable and instead start waiting on the clock if
	  necessary for the current configuration.
	  In the other direction when going to PAUSED the clock might have
	  disappeared and we might need to wait on the condition variable again
	  instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/653>

2020-08-24 11:59:51 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gstinputselector.c:
	  input-selector: Wake up blocking pads when releasing them
	  Otherwise deactivating them will cause a deadlock as they're blocking
	  inside the streaming thread.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/601
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/652>

2020-09-08 13:40:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/meson.build:
	  ptp: Also handle gnu/kfreebsd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/651>

2020-09-08 17:44:00 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.0 ===

2020-09-08 00:01:33 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitlab-ci.yml:
	* ChangeLog:
	* NEWS:
	* README:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.18.0

2020-09-07 20:22:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/dist-translations.py:
	* scripts/meson.build:
	  meson: dist pot file in tarballs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/618>

2020-08-21 11:06:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Document that samples_selected() must only be called from the aggregate() function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/607>

2020-08-20 10:54:12 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Don't automatically adjust segment if subclass provided one
	  On the first buffer the base class would update the segment position
	  based on the start-time-selection. If the subclass provides its own
	  segment this will caused unexpected behaviour and override segment
	  information that was explicitly set by the subclass.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/600>

=== release 1.17.90 ===

2020-08-20 16:08:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.17.90

2020-08-10 22:42:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix documentation for samples-selected and buffer-consumed
	  GI expects the instance parameter to be documented, omitting it
	  leads to a msismatched output in the gir.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/592>

2020-08-07 09:30:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	* libs/gst/base/gstaggregator.h:
	  aggregator: Add optional GstStructure info parameter to "samples-selected" signal
	  Subclasses can use this to provide more information, for example
	  audioaggregator could provide the offset into the output buffer where
	  the next data is going to be filled.
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/805
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/590>

2020-08-05 16:54:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	* libs/gst/base/gstaggregator.h:
	  aggregator: add segment, pts, dts and duration to samples-selected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/588>

2020-08-04 07:10:03 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/validate/meson.build:
	  Meson: Override gst-tester-1.0 program to find it in other modules
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/586>

2020-08-03 16:26:58 +0300  Jordan Petridis <jordan@centricular.com>

	* gst/gstcaps.c:
	* gst/gstdeviceproviderfactory.c:
	* gst/gstelementfactory.c:
	* gst/gstminiobject.c:
	* gst/gstobject.c:
	* gst/gststructure.c:
	  fix clang 10 warnings
	  the typesystem checks in g_atomic_pointer_compare_and_exchange
	  seem to trigger some false positives with clang 10
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/584>

2020-08-04 11:13:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix iteration direction in skip_buffers
	  Subclasses use the pad segment to determine whether a buffer
	  should be skipped, we thus don't want to check if a buffer
	  needs to be skipped before processing the segment it's part
	  of.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/585>

2020-07-30 19:31:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gsturi.c:
	* gst/gsturi.h:
	* tests/check/gst/gsturi.c:
	  gsturi: Add new API for storing unmodified userinfo / fragment
	  New API: gst_uri_from_string_escaped()
	  Identical to gst_uri_from_string() except that the userinfo and
	  fragment components of the URI will not be unescaped while parsing.
	  This is needed for correctly parsing usernames or passwords with `:`
	  in them such as reported at:
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/831
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/583>

2020-08-01 01:57:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/gst/gsturi.c:
	  tests: Add more tests for gsturi
	  Add tests that exercise unescaping of userinfo and fragments.
	  Also convert to a modular macro-based definition so that we can reuse
	  the list of tests in the next commit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/583>

2020-07-30 19:53:10 -0400  Thibault Saunier <tsaunier@igalia.com>

	* tools/gst-inspect.c:
	  inspect: Print preset description when available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/582>

2020-06-30 21:10:05 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	* libs/gst/base/gstaggregator.h:
	  aggregator: expose sample selection API
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/771
	  for context.
	  This exposes new API that subclasses must call from their
	  aggregate() implementation to signal that they have selected
	  the next samples they will aggregate: gst_aggregator_selected_samples()
	  GstAggregator will emit a new signal there, `samples-selected`,
	  handlers can then look up samples per pad with the newly-added
	  gst_aggregator_peek_next_sample.
	  In addition, a new FIXME is logged when subclasses haven't actually
	  called `selected_samples` from their aggregate() implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/549>

2020-07-28 10:59:35 +0900  Hosang Lee <hosang10.lee@lge.com>

	* gst/gsturi.c:
	* tests/check/gst/gsturi.c:
	  gsturi: unescape '=' in http query
	  Don't use percent-encoding for '=' in http queries.
	  '=' in the following kind of http query should be maintained.
	  example:
	  ?token=exp=123~acl=/QualityLevels(*~hmac=0cb ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/580>

2020-07-24 13:31:47 +0200  Camilo Celis Guzman <camilo@pexip.com>

	* libs/gst/base/gstbasetransform.c:
	* tests/check/libs/test_transform.c:
	* tests/check/libs/transform1.c:
	  basetransform: handle invalid subclass implementation for fixate_caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/575>

2020-07-24 17:53:00 -0400  Olivier Crête <olivier.crete@collabora.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: Don't push pointless new segment events
	  In 1.0, there is no concept of segment update, so don't push new
	  identical segments.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/578>

2020-07-24 11:38:28 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: Fix seqnum handling in pull mode
	  After a seek in pull mode, we should use the seek seqnum for all
	  following operations, not some random seqnums
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/577>

2020-07-26 15:30:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/check/gstcheck.h:
	  check: suppress g-ir-scanner warnings
	  Make g-ir-scanner skip all those check macros that are
	  not useful for or usable from bindings.
	  gstcheck.h:209: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_message_error'
	  gstcheck.h:212: Warning: GstCheck: Unknown namespace for symbol 'assert_message_error'
	  gstcheck.h:251: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int'
	  gstcheck.h:267: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int'
	  gstcheck.h:280: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int_hex'
	  gstcheck.h:299: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int_hex'
	  gstcheck.h:310: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int64'
	  gstcheck.h:327: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int64'
	  gstcheck.h:340: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int64_hex'
	  gstcheck.h:358: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int64_hex'
	  gstcheck.h:369: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_uint64'
	  gstcheck.h:386: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_uint64'
	  gstcheck.h:399: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_uint64_hex'
	  gstcheck.h:417: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_uint64_hex'
	  gstcheck.h:428: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_string'
	  gstcheck.h:444: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_string'
	  gstcheck.h:455: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_float'
	  gstcheck.h:474: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_float'
	  gstcheck.h:487: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_pointer'
	  gstcheck.h:506: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_pointer'
	  gstcheck.h:517: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_clocktime'
	  gstcheck.h:534: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREADS'
	  gstcheck.h:547: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREAD_FUNCTIONS'
	  gstcheck.h:555: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREAD_FUNCTION'
	  gstcheck.h:626: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CRITICAL'
	  gstcheck.h:628: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CRITICAL'
	  gstcheck.h:640: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_WARNING'
	  gstcheck.h:652: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_OBJECT_REFCOUNT'
	  gstcheck.h:661: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_OBJECT_REFCOUNT_BETWEEN'
	  gstcheck.h:676: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CAPS_REFCOUNT'
	  gstcheck.h:679: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_BUFFER_REFCOUNT'
	  gstcheck.h:682: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_MINI_OBJECT_REFCOUNT'
	  gstcheck.h:690: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_SET_STATE'
	  gstcheck.h:729: Warning: GstCheck: Unknown namespace for symbol 'tcase_skip_broken_test'
	  gstcheck.h:740: Warning: GstCheck: Unknown namespace for symbol 'tcase_skip_broken_loop_test'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>

2020-07-26 14:52:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstutils.h:
	  utils: silence g-ir-scanner warnings about float conversion macros
	  663: Warning: Gst: symbol='GFLOAT_TO_LE': Unknown namespace for symbol 'GFLOAT_TO_LE'
	  664: Warning: Gst: symbol='GFLOAT_TO_BE': Unknown namespace for symbol 'GFLOAT_TO_BE'
	  665: Warning: Gst: symbol='GDOUBLE_TO_LE': Unknown namespace for symbol 'GDOUBLE_TO_LE'
	  666: Warning: Gst: symbol='GDOUBLE_TO_BE': Unknown namespace for symbol 'GDOUBLE_TO_BE'
	  669: Warning: Gst: symbol='GFLOAT_TO_LE': Unknown namespace for symbol 'GFLOAT_TO_LE'
	  670: Warning: Gst: symbol='GFLOAT_TO_BE': Unknown namespace for symbol 'GFLOAT_TO_BE'
	  671: Warning: Gst: symbol='GDOUBLE_TO_LE': Unknown namespace for symbol 'GDOUBLE_TO_LE'
	  672: Warning: Gst: symbol='GDOUBLE_TO_BE': Unknown namespace for symbol 'GDOUBLE_TO_BE'
	  678: Warning: Gst: symbol='GFLOAT_FROM_LE': Unknown namespace for symbol 'GFLOAT_FROM_LE'
	  679: Warning: Gst: symbol='GFLOAT_FROM_BE': Unknown namespace for symbol 'GFLOAT_FROM_BE'
	  680: Warning: Gst: symbol='GDOUBLE_FROM_LE': Unknown namespace for symbol 'GDOUBLE_FROM_LE'
	  681: Warning: Gst: symbol='GDOUBLE_FROM_BE': Unknown namespace for symbol 'GDOUBLE_FROM_BE'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>

2020-07-26 14:48:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/math-compat.h:
	  math-compat.h: silence g-ir-scanner warnings
	  Easier to just make g-ir-scanner skip this header via #ifndef __GI_SCANNER__
	  than maintain different sets of headers in the meson.build file.
	  Warning: Gst: symbol="rint": Unknown namespace for symbol "rint"
	  Warning: Gst: symbol="rintf": Unknown namespace for symbol "rintf"
	  Warning: Gst: symbol="isnan": Unknown namespace for symbol "isnan"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>

2020-07-26 14:42:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstevent.h:
	* gst/gstquery.h:
	  event, query: fix g-ir-scanner warnings
	  gstevent.h:72: Warning: Gst: symbol='FLAG': Unknown namespace for symbol 'FLAG'
	  gstquery.h:76: Warning: Gst: symbol='FLAG': Unknown namespace for symbol 'FLAG'
	  Use _FLAG(xyz) instead of FLAG(xyz) to silence g-ir-scanner
	  warnings about this internal helper define.
	  It's also slightly more hygienic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>

2020-07-24 13:30:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gsttracer.c:
	* gst/gsttracer.h:
	* gst/gsttracerrecord.c:
	* gst/gsttracerrecord.h:
	* gst/gsttracerutils.c:
	* gst/meson.build:
	* plugins/tracers/meson.build:
	* tests/check/meson.build:
	  tracer: declare GstTracer API stable
	  It's been around for more than 4 years and people have built
	  lots of stuff on top of it, doesn't really make sense to keep
	  it marked as unstable. We're unlikely to change it now, and
	  we can always deprecate it and make a new one if needed.
	  This stabilises the following API:
	  - gst_tracer_register()
	  - gst_tracing_get_active_tracers()
	  - gst_tracing_register_hook()
	  - gst_tracer_record_new()
	  - gst_tracer_record_log()
	  Might also help a bit with #424
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/576>

2020-07-23 14:51:51 +1000  Matthew Waters <matthew@centricular.com>

	* libs/gst/check/gstharness.c:
	  harness: unref sink/src caps after deactivating pads
	  Otherwise, access to the harness' sink/src caps is racy between any caps
	  query performed by an element and gst_harness_teardown().
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/794
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/574>

2020-07-22 12:44:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* libs/gst/check/libcheck/check.c:
	* libs/gst/check/libcheck/check.h.in:
	  check: Always mark _ck_assert_failed as noreturn
	  So that we can use `fail` like `g_assert_not_reached`.
	  The comment is apparently wrong or outdated, as GCC considers it legal
	  for noreturn-marked functions to return using longjmp.
	  See the thread at
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59#note_576422
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/573>

2020-07-14 12:15:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstbuffer.c:
	  buffer: improve seqnum fallback warning message
	  Print target CPU we're building for.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/565>

2020-07-14 12:11:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstbuffer.c:
	  buffer: fix meta sequence number fallback on rpi
	  The global seqnum variable wasn't actually increased in
	  the fallback code path, leading to all buffers getting
	  a seqnum of 0. Which also made the unit test fail.
	  This affects platforms/toolchains that don't have
	  64-bit atomic ops such as when compiling for armv7 rpi.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/565>

2020-07-09 09:46:07 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* meson.build:
	  meson: add a plugin summary
	  This summary displays a list of plugins which
	  have been enabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/560>

2020-07-22 10:51:54 +0300  Eero Nurkkala <eero.nurkkala@offcode.fi>

	* tools/gst-inspect.c:
	  gst-inspect: fix memory leak
	  With meson configure option: -Db_sanitize=address, the following
	  issue is seen while running the test "tools_gstinspect":
	  Running suite(s): gst-inspect
	  =================================================================
	  ==20880==ERROR: LeakSanitizer: detected memory leaks
	  Direct leak of 51 byte(s) in 9 object(s) allocated from:
	  #0 0x7ffb4dbb0b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
	  #1 0x7ffb4cdf1ab8 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x51ab8)
	  SUMMARY: AddressSanitizer: 51 byte(s) leaked in 9 allocation(s).
	  0%: Checks: 1, Failures: 0, Errors: 1
	  GOptionEntry man page states that: "Please note that parsed arguments need to be freed separately (see GOptionEntry)."
	  Thus, free the 'min_version' string that has been allocated but never freed.
	  Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/572>

2020-07-20 17:08:32 +1000  Matthew Waters <matthew@centricular.com>

	* gst/gstbufferpool.c:
	  gst/bufferpool: only resize in reset when maxsize is larger
	  Only resize the buffer if the maxsize is larger then the configued pool
	  size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/570>

2020-07-16 23:03:35 +1000  Matthew Waters <matthew@centricular.com>

	* plugins/tracers/meson.build:
	  build/coretracers: add dep on threads
	  Fixes the following build error and missing '-pthread' argument when
	  linking:
	  subprojects/gstreamer/plugins/tracers/libgstcoretracers.so.p/gstleaks.c.o: In function `gst_leaks_tracer_setup_signals':
	  /work/build32/../subprojects/gstreamer/plugins/tracers/gstleaks.c:919: undefined reference to `pthread_atfork'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/571>

2020-07-14 00:03:18 -0400  Thibault Saunier <tsaunier@igalia.com>

	* libs/gst/controller/gstdirectcontrolbinding.c:
	* tests/check/libs/controller.c:
	  directcontrolbinding: Properly initialize default `last_value`
	  It was zero and in some condition it means that the control binding
	  values where ignored (as shown in the test). Setting it to MAXDOUBLE
	  so that the first time we sync the values from a a timestamp in the
	  right range the proper value is computed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/564>

2020-07-16 18:55:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstinfo.c:
	  info: Fix possible broken debug output on Windows
	  Depending on Windows codepage setting, some characters could
	  be broken when printing on terminal. Fortunatly g_print* family will
	  take care Windows codepage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/566>

2020-07-16 16:34:05 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/gstpad.h:
	  pad: More explicitly explain how to post errors on GST_FLOW_ERROR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/568>

2020-07-15 16:12:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* plugins/tracers/gstlatency.c:
	  latency tracer: Fix leaks in the reported latency trace
	  The stack item was not freed as it was supposed, causing leaks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/269>

2019-08-30 23:59:42 +1000  Jan Schmidt <jan@centricular.com>

	* plugins/tracers/gstlatency.c:
	  latency tracer: Fix unsafe and NULL pointer accesses
	  Use thread-safe accesses to pad peers and parent objects. This
	  fixes some crashers and all the non-safe access patterns I could
	  spot. There's still some weirdness when using the latency
	  tracer on pipeline chains that aren't yet linked, but this
	  at least stops it segfaulting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/269>

2020-07-13 08:00:15 +0200  Edward Hervey <edward@centricular.com>

	* gst/gstinfo.h:
	  Revert "gstinfo: Check threshold for category from macro"
	  This reverts commit dcece2a878b88335fd1990dbeeb88bdeacba0f06.
	  This increased the code size and number of branches for all debug statements.
	  Fixes #564
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/563>

2020-07-10 17:11:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	* libs/gst/base/gstaggregator.h:
	  aggregator: expose gst_aggregator_finish_buffer_list API
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1276
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/562>

2020-07-06 11:55:38 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* tests/check/elements/leaks.c:
	  tests/elements/leaks.c: check get_tracer_by_name return value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/557>

2020-05-18 19:45:35 +0900  Seungha Yang <seungha@centricular.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Deprecate gst_base_src_new_seamless_segment()
	  It can be replaced by gst_base_src_new_segment()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/490>

2020-05-17 00:08:56 +0900  Seungha Yang <seungha@centricular.com>

	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstbasesrc.h:
	  basesrc: Add new API for handling GstSegment update by subclass
	  Add API gst_base_src_new_segment() for subclass to be able to
	  signalling new GstSegment which should be applied to following
	  buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/490>

2020-07-09 07:57:01 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	  taglist: Stop inlining gst_tag_list_copy
	  This way it gets exposed to bindings through GObject Introspection.
	  Same logic as with d1b2d3429c66d80b8d38f9afc6a8dfca49f3a71a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/561>

2020-07-08 05:15:28 +0900  Seungha Yang <seungha@centricular.com>

	* libs/gst/check/gstcheck.h:
	  check: Use g_thread_yield instead of g_usleep(1)
	  Since the commit
	  https://gitlab.gnome.org/GNOME/glib/-/commit/01c02ac08b682de622930b1278c9c14d0ffe6c49,
	  g_usleep(1) will be translated to Sleep(1) on Windows which means
	  sleep in 1 millisecond. But GLib provides g_thread_yield() API
	  which is exactly what we required here for thread context switching.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/559>

2020-01-08 19:38:45 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/gstdevicemonitor.c:
	* gst/gstdeviceprovider.c:
	* tests/check/gst/gstdevice.c:
	  deviceprovider: Do static probe on start as fallback
	  For providers that don't support dynamic probing, just fall back to doing
	  a static one on start() to make the UI developers life easier.
	  This also means that the monitor doesn't need to call _can_monitor() before
	  calling start.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/353>

2018-05-02 13:05:21 +0200  Christoph Reiter <reiter.christoph@gmail.com>

	* gst/gstelementfactory.c:
	  gstelementfactory: Fix missing features in case a feature moves to another filename
	  In case a plugin filename was renamed with the plugin being in the registry cache
	  the features were not loaded after the rename:
	  1) Cache of old/gone filename was loaded, features added
	  2) New filename was loaded, features where not added because
	  they were already found in the registry.
	  3) In the end stale cache entries for files which are no longer there
	  are removed, including the wanted features.
	  4) The cache gets updated without the features.
	  Fix this by also checking at (2) that the found feature is from the loaded plugin
	  and not from some stale cache entry.
	  This affected directsoundsink where libgstdirectsoundsink.dll was renamed
	  to libgstdirectsound.dll, losing the directsoundsink element in the process.
	  Fixes #290
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/102>

2020-07-04 16:59:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/extract-release-date-from-doap-file.py:
	  meson: set release date from .doap file for releases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/555>

2020-07-05 18:17:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/POTFILES:
	  po: update POTFILES
	  xgettext: error while opening "gst/parse/grammar.y" for reading: No such file or directory
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/586
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/556>

2020-07-03 11:45:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/helpers/meson.build:
	  ptp: Add GNU Hurd to the list of supported platforms and fix the Solaris name
	  https://mesonbuild.com/Reference-tables.html#operating-system-names has
	  the table of all supported names right now.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/583
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/554>

2020-07-02 11:21:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstelement.c:
	  element: When removing a ghost pad also unset its target
	  Otherwise the proxy pad of the ghost pad still stays linked to some
	  element inside the bin, which is not allowed anymore according to the
	  topology.
	  In 2.0 this should be fixed more generically from inside GstGhostPad but
	  currently there is no way to get notified that the ghost pad is
	  unparented.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/553>

2020-07-03 02:03:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.17.2 ===

2020-07-03 00:22:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.17.2

2020-07-01 20:20:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gststreams.c:
	  stream: Don't use GST_FIXME_OBJECT() when generating a random stream id if the caller didn't provide one
	  That would call into gst_info_describe_stream(), which takes the same
	  mutex a second time and then deadlocks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/552>

2020-05-11 17:44:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/gstutils.c:
	  gstutils: fix link in parse_bin_from_description_full doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/475>

2020-06-26 00:50:44 +1000  Jan Schmidt <jan@centricular.com>

	* gst/gstbin.h:
	  gstbin: Fix docs typo
	  element-added-deep -> deep-element-added in the GstBin doc header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/547>

2020-06-25 02:14:56 +0900  Seungha Yang <seungha@centricular.com>

	* docs/gst-plugins-doc-cache-generator.py:
	  docs: Specify UTF-8 encoding everywhere
	  Otherwise some non-English character might be broken depending on
	  OS and/or locale.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/545>

2020-06-25 01:37:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* hooks/pre-commit.hook:
	  hooks: add opt-in cache update hook
	  CI now checks that plugin caches are up to date, for example
	  when adding a new property to an element.
	  This is something pretty easy to forget, and it can be checked
	  in a pre-commit hook provided the cache generator generates no
	  unnecessart diff on the developer's machine. This is now the
	  case for me in core, -base and -good, and eventually all the
	  repositories should behave appropriately, at least on my
	  development machine.
	  The new check in the pre-commit hook is only performed when
	  the user is in the development environment (it checks
	  $MESON_BUILD_ROOT to determine that), and when the developer
	  has opted-in by setting `GST_CACHE_HOOK=enabled`. That is
	  because the hook will actually rebuild the cache with ninja,
	  and modify it in the source directory, that's not a behaviour
	  we want to enable by default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/546>

2020-06-24 22:51:48 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-inspect.c:
	  gst-inspect: Use gst_info_strdup_vprintf to print string
	  g_vprintf() will write a string binary to stdout directly using fwrite().
	  So, depending on character in the string, fwrite to stdout can
	  print broken one but printf family might not cause the issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/544>

2020-06-24 07:54:42 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/gstbus.c:
	* tests/check/gst/gstbus.c:
	  bus: clear bus->priv->signal_watch immediately when the source is removed
	  There is a race-condition that can trigger the assertion in
	  gst_bus_add_signal_watch_full():
	  If gst_bus_add_signal_watch_full() is called immediately after
	  gst_bus_remove_signal_watch() then bus->priv->signal_watch may still be set
	  because gst_bus_source_dispose() or gst_bus_source_finalize() was not yet
	  called.
	  This happens if the corresponding GMainContext has the source queued for
	  dispatch. In this case, the following dispatch will only unref and delete
	  the signal_watch because it was already destroyed. Any pending messages
	  will remain until a new watch is installed.
	  So bus->priv->signal_watch can be cleared immediately when the watch is
	  removed. This avoid the race condition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/543>
