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

2020-06-23 01:54:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-hotdoc-plugins-scanner.c:
	  gst-hotdoc-plugins-scanner: serialize interfaces

2020-06-22 23:41:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-hotdoc-plugins-scanner.c:
	  gst-hotdoc-plugins-scanner: don't instantiate base classes

2020-06-21 02:00:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst-hotdoc-plugins-scanner.c:
	  gst-hotdoc-plugins-scanner: serialize parents in hierarchy when needed

2020-06-22 09:11:07 -0400  Thibault Saunier <tsaunier@igalia.com>

	* docs/gst-hotdoc-plugins-scanner.c:
	* docs/meson.build:
	  docs: Document signals and properties only for current type

2020-06-19 22:52:01 -0400  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Stop documenting properties from parents

2020-06-23 05:18:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstregistrychunks.c:
	  registry: Print the pointer when printing features
	  This is what we do everywhere else too, useful for debugging.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/542>

2020-06-23 03:43:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstregistry.c:
	  registry: Use a toolchain-specific registry file on Windows
	  If we load a plugin registry for MinGW plugins when running with MSVC,
	  we will have to write out the whole cache again, and vice-versa. Just
	  use separate cache files so that the cache is actually useful.
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/427
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/542>

2020-06-22 12:26:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstghostpad.c:
	* gst/gstghostpad.h:
	  ghostpad: Deprecate gst_ghost_pad_construct()
	  Instead do everything it did as part of GObject::constructed() and
	  change the function to always return TRUE.
	  gst_ghost_pad_construct() was meant to be called by subclasses right
	  after construction of the object to finish construction as it can fail
	  in theory. In practice it's impossible for it to fail, even more so if
	  called directly from GObject::constructed(): The only failure condition
	  is if the newly created proxy pad already has a parent, which is
	  impossible at this point as nothing else can have a reference to it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/540>

2020-05-19 22:54:20 +0200  Thor Andreassen <ta@toggle.be>

	* tools/gst-inspect-1.0.1:
	* tools/gst-inspect.c:
	  tools: gst-inspect, add option '--color' with short option '-C'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/498>

2020-06-18 13:46:29 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/gstinfo.c:
	* gst/gstinfo.h:
	  info: Add a printf extension for ClockTime/ClockTimeDiff pointers
	  Using both GST_TIME_FORMAT+GST_TIME_ARGS and friend is cumbersome, this
	  makes it sensibly more user friendly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/535>

2020-06-20 00:27:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development