=== release 1.20.0 ===

2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README:
	* RELEASE:
	* gstreamer.doap:
	* meson.build:
	  Release 1.20.0

2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.0

2022-02-02 18:06:49 +1100  Matthew Waters <matthew@centricular.com>

	* gst/gst.c:
	* gst/gst_private.h:
	* gst/gstpluginloader.c:
	* gst/gstregistry.c:
	  registry/macos: retrieve plugins relative to location of libgstreamer.dylib
	  Provides a relocatable directory structure for running GStreamer
	  applications as used in GStreamer.framework.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627>

=== release 1.19.90 ===

2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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

	* ChangeLog:
	  Update ChangeLogs for 1.19.90

2021-12-23 00:24:03 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: don't forward reconfigure events
	  Those will cause us to renegotiate at the next aggregate cycle,
	  and while at that point we may decide to reconfigure upstream
	  branches (in practice we don't as this is inherently racy,
	  and that's the reason why mixer subclasses perform conversion
	  internally), we certainly don't want to just forward the event
	  willy-nilly to all our sinkpads.
	  An actual issue this is fixing is when caps downstream of a
	  compositor are changed at every samples-selected signal emission,
	  for the purpose of interpolating the output geometry, and the
	  compositor has a non-zero latency, the reconfigure events were
	  forwarded to basesrc, which triggered an allocation query, which
	  in turn caused aggregator to have to drain (thus not being able
	  to queue <latency> frames), leading to disastrous effects
	  (choppy output as compositor couldn't consume frames fast enough,
	  the higher the latency the choppier the output)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1464>

2022-01-27 01:37:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/LINGUAS:
	* po/de.po:
	* po/fr.po:
	* po/ro.po:
	  gstreamer: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>

2022-01-26 02:46:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstplugin.c:
	  gstplugin: Fix for UWP build
	  SetThreadErrorMode() API is available on UWP but flag values
	  are desktop API only. Since error dialogs don't exist on UWP,
	  we don't need to suppress it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1569>

2022-01-20 10:59:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstcapsfeatures.c:
	  gstreamer: capsfeatures: Fix docs of `gst_caps_features_new_single()`
	  They were just a copy of the `new_any()` docs before.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1542>

2022-01-19 20:58:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstplugin.c:
	  gstplugin: Better warnings on plugin load failure on Windows
	  It is an extremely common mistake on Windows to have incorrect PATH
	  values when loading a plugin, and the error from g_module_error()
	  (which just calls FormatMessageW()) is very confusing in this case:
	  The specified module could not be found.
	  https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-#ERROR_MOD_NOT_FOUND
	  It implies the plugin itself could not be found. The actual issue is
	  that a DLL dependency could not be found. We need to detect this case
	  and print a more useful error message.
	  We should still print the error fetched from FormatMessage() so that
	  people are able to google for it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1540>

2022-01-14 04:45:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstpluginfeature.c:
	  pluginfeature: Fix object leak
	  Need to release GstPluginFeature object after use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1521>

2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/meson.build:
	* gst/parse/meson.build:
	* meson.build:
	  meson: Add explicit check: kwarg to all run_command() calls
	  This is required since Meson 0.61.0, and causes a warning to be
	  emitted otherwise:
	  https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
	  https://github.com/mesonbuild/meson/issues/9300
	  This exposed a bunch of places where we had broken run_command()
	  calls, unnecessary run_command() calls, and places where check: true
	  should be used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>

2021-12-20 21:43:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  audio: Add logging that was useful in figuring out the last commit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>

2021-12-08 12:27:04 +0100  Corentin Noël <corentin.noel@collabora.com>

	* gst/gstelementfactory.c:
	  elementfactory: Annotate create_full and make_full to take arrays
	  We need the array annotation for it to be usable from the introspection side.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1427>

2018-04-25 14:30:51 +0200  Danny Smith <dannys@axis.com>

	* libs/gst/net/gstnetclientclock.c:
	  gstnetclockclient: signal lost sync if remote time resets
	  When detecting the remote time has been reset which may occur if remote
	  device providing the clock server has been power reset, then clock is
	  no longer synced. Setting clock state will trigger a signal to client
	  informing on sync lost making it possibility to take appropriate action.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/975>

2021-11-26 10:13:08 +0100  Corentin Noël <corentin.noel@collabora.com>

	* libs/gst/base/gstbasesink.h:
	  basesink: Add missing annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>

2021-11-26 10:12:50 +0100  Corentin Noël <corentin.noel@collabora.com>

	* libs/gst/base/gstpushsrc.h:
	  pushsrc: Add missing annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>

2021-11-26 10:12:32 +0100  Corentin Noël <corentin.noel@collabora.com>

	* libs/gst/base/gstbitwriter.c:
	  bitwriter: Add missing annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>

2021-11-26 10:11:53 +0100  Corentin Noël <corentin.noel@collabora.com>

	* libs/gst/base/gstbaseparse.c:
	* libs/gst/base/gstbaseparse.h:
	  baseparse: Add missing annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>

2021-11-23 08:08:36 +0100  Corentin Noël <corentin.noel@collabora.com>

	* libs/gst/base/gstbasesrc.h:
	  basesrc: Add annotation to virtual methods with (out) parameters
	  This allows to actually use these virtual methods from the GObject introspection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1376>

2021-10-21 19:04:43 +0900  Seungha Yang <seungha@centricular.com>

	* docs/gst-hotdoc-plugins-scanner.c:
	* gst/gstelement.c:
	* gst/gstelementfactory.c:
	* gst/gstelementfactory.h:
	  gst: Add APIs to allow documentation for element to be skipped
	  Dynamically registered elements (hardware element in most cases)
	  may or may not be available on a system and properties may be different
	  per system.
	  This new API will make documentation skipping possible in programmable way.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>

2021-11-16 18:05:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstinfo.c:
	* gst/gstinfo.h:
	  gstinfo: Add gst_debug_log_literal() function
	  This takes a plain message string and not a format string, and as a
	  result doesn't have to be passed through vasprintf() and lead to further
	  unnecessary allocations. It can also contain literal `%` because of
	  that.
	  The new function is mostly useful for bindings that would have to pass a
	  full string to GStreamer anyway and would do formatting themselves with
	  language-specific functionality.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1356>

2021-11-15 11:04:25 +0100  Daniel Knobe <daniel-knobe@web.de>

	* gst/gstcaps.c:
	  caps: fix type of return value if string is null in gst_caps_from_string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1348>

2021-11-11 19:11:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/gst.c:
	* gst/gstelementfactory.c:
	* gst/gstinfo.c:
	* gst/gstiterator.c:
	* gst/gstmessage.c:
	* gst/gstpadtemplate.c:
	* gst/gstquery.c:
	* gst/gsttypefindfactory.c:
	* libs/gst/base/gstbasesink.c:
	* libs/gst/base/gstbasesrc.c:
	  docs: fix unnecessary ampersand, < and > escaping in code blocks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>

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

	* gst/gstbin.c:
	  bin: Don't check twice for adding a bin to itself or removing it from itself
	  This is already covered by a `g_return_val_if_fail()` in the calling
	  function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1320>

2021-11-08 15:30:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbin.c:
	  bin: Switch `g_warning()`s to `GST_WARNING_OBJECT()`s when adding/removing an element to a bin fails
	  The failure conditions can be overidden by subclasses, and a boolean
	  return value is provided to the caller whether adding/removing the child
	  element has actually worked. The caller can then handle this
	  accordingly but flooding stderr with this is not very useful.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1320>

2021-09-24 08:19:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/gstinfo.c:
	  gstinfo: Fix leak in generate_backtrace_trace
	  Spotted by Laurent Pinchart.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/901>

2021-11-04 13:24:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* libs/gst/helpers/gst-ptp-helper.c:
	  gst-ptp-helper: Do not disable multicast loopback
	  Otherwise we cannot run gst-ptp-helper if the PTP master is on the
	  same device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1306>

2021-11-04 09:30:31 +0000  Marcin Kolny <marcin.kolny@gmail.com>

	* plugins/elements/gsttypefindelement.c:
	  typefind: fix reading file extension from URI
	  Currently reading extension relies on the fact that everything after the
	  last"." character is a file extension. Whereas that works fine for most
	  of the cases, it breaks when the URI contains a query part.
	  E.g.: `http://url.com/file.mp4?param=value` returns `mp4?param=value`
	  instead of `mp4`.
	  In this commit we use URI parser to read the path of the URI (in the example
	  above, that is `/file.mp4`) and read extension from that path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1305>

2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.19.3 ===

2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2021-11-03 15:43:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.19.3

2021-10-30 00:34:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstinfo.c:
	  Use g_pattern_spec_match() instead of g_pattern_match() which is deprecated since glib 2.70
	  Fixes compiler warnings with glib 2.70
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>

2021-10-29 13:27:37 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* plugins/elements/gstidentity.c:
	  identity: Fix crash when receiving a gap event outside the current segment
	  We were checking if the start time of the gap event was
	  GST_CLOCK_TIME_NONE, which is superfluous because that cannot happen,
	  and then not checking if it was NONE after gst_segment_to_running_time,
	  which caused a crash if an identity received a gap event fully or
	  partially outside the current segment.
	  This patch was done in cooperation with:
	  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1269>

2021-10-25 21:55:25 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/gstdevicemonitor.c:
	  devicemonitor: g_queue_clear_full introduced in glib 2.60
	  The GStreamer dependency is glib >=2.56.0. Therefore, define
	  g_queue_clear_full if glib < 2.60.
	  Issue added in commit 1912bcbc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1251>

2021-10-19 13:39:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstdevicemonitor.c:
	  devicemonitor: Only fail start() if no provider at all could be started
	  Also refactor various internals of the monitor code:
	  - Don't allow starting twice but just return directly when starting a
	  second time.
	  - Don't end up in an inconsistent state if call start() a second time
	  while the monitor is starting up.
	  - Remove complicated cookie code: it was not possible to add/remove
	  filters while the monitor was started anyway so this was only useful
	  in the very small time-window while starting the monitor or while
	  getting the devices. Instead disallow adding/removing filters while
	  the monitor is starting, and when getting devices work on a snapshot
	  of providers/filters.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/667
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1189>

2021-10-25 01:01:28 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2021-10-22 11:00:06 -0400  Pascal Hache <hacpa@touchtunes.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: fix invalid avg_bitrate after reset
	  gst_base_parse_reset() does not reset data_bytecount to 0, so
	  gst_base_parse_update_bitrates() uses a wrong value to calculate
	  the average bitrate on subsequent pipeline starts. This leads to an
	  excessive amount of "tag" events being pushed. These events include
	  very high "bitrate" values that diminish over time, and are produced
	  until the average bitrate is back to sane values.
	  Fixes #840
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1228>

2021-10-20 11:20:13 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* plugins/elements/gstconcat.c:
	  concat: fix qos event handling
	  We were shadowing the sinkpad variable resulting in:
	  - the QoS event to be send to all sink pads instead of the active one
	  - the pad to be leaked
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1208>

2021-10-18 16:55:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/parse/meson.build:
	* libs/gst/helpers/meson.build:
	  meson: fix use of deprecated meson api external_program.path()
	  Just using .full_path() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>

2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	* tests/validate/meson.build:
	  meson: update for meson.build_root() and .build_source() deprecation
	  -> use meson.project_build_root() or .global_build_root() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>

2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: update for dep.get_pkgconfig_variable() deprecation
	  ... in favour of dep.get_variable('foo', ..) which in some
	  cases allows for further cleanups in future since we can
	  extract variables from pkg-config dependencies as well as
	  internal dependencies using this mechanism.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>

2021-10-18 00:03:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: clean up conditional paths after version bump
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>

2021-05-28 07:54:32 +0200  Edward Hervey <edward@centricular.com>

	* gst/gststreams.c:
	  stream: Set the object name to the stream id
	  Makes it more meaningful in debug logs (instead of streamNNNNN)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1187>

2021-10-19 10:24:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/meson.build:
	  Revert "meson: Link to objects instea of static helper library"
	  This reverts commit b19de413b94d228b1460b0899f9b41b2b5233943.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1194>

2021-10-17 11:39:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/meson.build:
	  tools: Define G_LOG_DOMAIN for various tools as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>

2021-10-01 15:29:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gst.c:
	* gst/gst_private.h:
	* gst/meson.build:
	* libs/gst/base/meson.build:
	* libs/gst/check/meson.build:
	* libs/gst/controller/meson.build:
	* libs/gst/net/meson.build:
	  gstreamer: define G_LOG_DOMAIN for all libraries
	  And get rid of weird way the define was done for core.
	  Fixes #634
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>

2021-10-06 01:30:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/check/gstcheck.c:
	  libs: check: handle criticals and warnings for new gstreamer log domains
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>

2021-10-18 15:56:31 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	* libs/gst/base/gstaggregator.h:
	  aggregator: expose API for ignoring inactive pads
	  An inactive pad is a pad which, in live mode, hasn't yet received
	  a first buffer, but has been waited on at least once.
	  Exposing API to support this behaviour allows users of aggregator
	  subclasses to request pads, and not start pushing data on those
	  immediately, while avoiding systematic timeouts.
	  Subclasses must check in explicitly to this behavior, most likely
	  by exposing a user-facing property, and must check whether a pad
	  needs ignoring when aggregating. That is because by design,
	  aggregator subclasses don't get a list of "ready" pads, but instead
	  directly iterate element->sinkpads.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/867>

2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: bump meson requirement to >= 0.59
	  For monorepo build and ugly/bad, for advanced feature
	  option API like get_option('xyz').required(..) which
	  we use in combination with the 'gpl' option.
	  For rest of modules for consistency (people will likely
	  use newer features based on the top-level requirement).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>

2020-06-27 00:39:00 -0400  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	* gst/meson.build:
	* libs/gst/base/meson.build:
	* libs/gst/check/libcheck/meson.build:
	* libs/gst/check/meson.build:
	* libs/gst/controller/meson.build:
	* libs/gst/net/meson.build:
	* meson.build:
	  meson: List libraries and their corresponding gir definition
	  Introduces a `libraries` variable that contains all libraries in a
	  list with the following format:
	  ``` meson
	  libraries = [
	  [pkg_name, {
	  'lib': library_object
	  'gir': [ {full gir definition in a dict } ]
	  ],
	  ....
	  ]
	  ```
	  It therefore refactors the way we build the gir so that we can reuse the
	  same information to build them against 'gstreamer-full' in gst-build
	  when linking statically
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>

2020-06-27 00:37:39 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/meson.build:
	* libs/gst/base/meson.build:
	* libs/gst/check/libcheck/meson.build:
	* libs/gst/check/meson.build:
	* libs/gst/controller/meson.build:
	* libs/gst/net/meson.build:
	  meson: Mark files as files()
	  Making it more robust and future proof
	  And fix issues that it creates
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>

2021-10-08 13:56:02 +0300  Veronika Kremneva <kremneva@synopsys.com>

	* gst/gstconfig.h.in:
	  gstreamer/gst/gstconfig.h.in: Add support for ARC64 architecture
	  Signed-off-by: Veronika Kremneva <kremneva@synopsys.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1161>

2021-09-25 23:51:52 -0300  Thibault Saunier <tsaunier@igalia.com>

	* tests/check/libs/aggregator.c:
	  tests: aggregator: Take `TIMEOUT_FACTOR` env var into account
	  This env var is set in the CI so we grow the timeout as required
	  (when running in valgrind for example).
	  Trying to avoid hitting wrong timeout in valgrind job like in:
	  https://gitlab.freedesktop.org/tpm/gstreamer/-/jobs/14009456
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1113>

2021-10-01 23:36:39 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/gst/gstmeta.c:
	  tests: gstmeta: Fix failure on Windows
	  Windows doesn't support fork so every test will be performed in
	  one process. So the test_meta_custom_transform() is being
	  failed because "test-custom" custom meta is being used/defined in
	  another test test_meta_custom() as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1086>

2021-09-23 17:07:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/meson.build:
	  meson: Fix gst-launch build on UWP
	  The APIs we need from WinMM for higher timer resolution are only
	  available for non-UWP apps. The winmm library itself is still
	  available, so we need to disable the check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/890>

2021-10-05 08:51:08 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tools/gst-indent:
	  ci: Fix gst-indent path
	  It used to be downloaded into PATH, but we can now instead run it from
	  git. Also move it to top source dir instead of gstreamer subproject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>

2021-09-24 15:24:15 +0200  Robert Rosengren <robertr@axis.com>

	* docs/gst/running.md:
	  docs/running: Describe GST_REGISTRY_MODE
	  Change-Id: I45e9fe90137d4a8306c3a5e4f636fa43425b978f
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/825>

2021-05-10 12:50:18 +0200  Robert Rosengren <robertr@axis.com>

	* gst/gstregistrybinary.c:
	  registrybinary: registry file mode via GST_REGISTRY_MODE
	  In an embedded system where all services run as seperate users it is
	  useful to have the gstreamer registry readable by all so it can be
	  re-used, in similar manner as a host system where one user have seperate
	  applications running but all share same registry.
	  To make this possible introducing GST_REGISTRY_MODE for adjusting the
	  changing mode of the registry binary when finishing up with the
	  temporary file (which has restricted access).
	  Fixes: #692
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/825>

2021-10-04 13:49:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Fix query unref race on flush
	  If the query has already been destroyed at this point, GST_IS_QUERY will
	  read garbage, can return false and we will try to unref it again.
	  Instead, make note of whether the item is a query when we dequeue it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1029>

2021-09-29 11:23:38 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* plugins/tracers/gstfactories.c:
	  core: remove outdated mention to gst-build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/956>

2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>

	* README:
	* RELEASE:
	  doc: update IRC links to OFTC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>

2021-09-25 18:48:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst/running.md:
	  gstreamer: docs: document GST_DEBUG env var evaluation order
	  Fixes #716
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/923>

2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2021-09-25 01:53:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/gstbin.c:
	* gst/gstvalue.h:
	  docs: link to concrete types rather than type macros
	  Latest hotdoc version extended the ignored, boilerplate macros
	  to now include TYPE macros for records as well
	  Linking to the concrete type is more informative
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>

=== release 1.19.2 ===

2021-09-23 01:32:32 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2021-06-23 16:41:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gstclocksync.c:
	  clocksync: Add some debug output to the clock waiting code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/841>

2021-09-20 13:12:12 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstevent.c:
	* gst/gstmessage.c:
	  gst: Initialize optional event/message fields when parsing
	  These might not exist inside the structure and then we would potentially
	  keep around uninitialized memory from the caller in the out parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/887>

2021-09-19 21:01:21 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/bitwriter.c:
	  test: bitwriter: Add a test for reset_and_get_data when not byte unaligned.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886>

2021-09-19 22:39:09 +0800  He Junyan <junyan.he@intel.com>

	* libs/gst/base/gstbitwriter.c:
	  bitwriter: Fix a memory leak in reset_and_get_buffer.
	  We should record the ownership of the data before we reset the bitwriter.
	  Or we will always dup the buffer data and leak the memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886>

2021-09-19 00:19:43 +0800  He Junyan <junyan.he@intel.com>

	* libs/gst/base/gstbitwriter.c:
	  bitwriter: Fix the trailing bits lost when getting its data.
	  In reset_and_get_data and reset_and_get_buffer, it fails to include
	  the trailing bits less than 8. So, when the bit_size is not byte
	  aligned, the trailing bits are lost in the return buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886>

2021-09-10 01:43:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: fix obsolete comment re initial flow status
	  The initial single queue srcresult is OK, it hasn't been
	  NOT_LINKED since 2007.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885>

2021-09-09 20:25:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: never consider a queue that is not waiting
	  .. when computing the high id.
	  After a flush for instance, sq->srcresult is reset to OK,
	  yet it doesn't make sense to pick a non-existing position
	  id as the high id when a queue doesn't contain any items
	  in that situation either.
	  It is in any case completely OK to let the not-linked stream
	  get consumed without throttling at this stage, as any
	  first packet arriving on other single queues will get assigned
	  a higher position id.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885>

2021-09-09 04:08:22 +0000  Andika Triwidada <andika@gmail.com>

	* tools/gst-inspect.c:
	  add missing space
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/884>

2021-09-06 01:43:57 +1000  Jan Schmidt <jan@centricular.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: Use running time of gap events for wakeups.
	  Use gap events to update the next_time of a queue the same
	  as buffers or segment events. Fixes problems where a group
	  consisting only of sparse streams primarily driven by
	  gap events would stall with a full multiqueue because
	  unlinked streams in the group were not being woken to
	  push data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/879>

2021-08-27 13:51:07 +1000  Matthew Waters <matthew@centricular.com>

	* gst/gstelement.c:
	  element: NULL the lists of contexts in dispose()
	  If dispose() is called more than once, we may double unref the list of
	  GstContext's.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/875>

2021-08-24 14:53:30 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/gstpad.c:
	  pad: Keep IDLE probe hook alive during immediate callback
	  When the probe returns GST_PAD_PROBE_REMOVE and gets called concurrently
	  from the streaming thread while we're in the callback here, the hook has
	  already been destroyed by the time we've reacquired the object lock.
	  Consequently, cleanup_hook gets passed an invalid pointer.
	  Keep another reference to the hook alive to avoid this situation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/873>

2021-08-20 16:34:16 +0200  Edward Hervey <edward@centricular.com>

	* plugins/elements/gstconcat.c:
	  concat: Properly propagate seqnum of segment events
	  Was broken by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/871>

2021-01-10 23:37:21 +0100  Théo MAILLART <tmaillart@gmail.com>

	* tests/check/gst/gstelementfactory.c:
	  tests: elementfactory: add element creation tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/736>

2021-01-29 20:36:51 +0100  Théo MAILLART <tmaillart@gmail.com>

	* gst/gstelementfactory.c:
	* gst/gstelementfactory.h:
	  elementfactory: enable construct only property passing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/736>

2021-03-31 18:36:00 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* plugins/tracers/gstfactories.c:
	* plugins/tracers/gstfactories.h:
	* plugins/tracers/gsttracers.c:
	* plugins/tracers/meson.build:
	* tools/gst-stats.c:
	  tracer: Add new tracer to list loaded elements and other features
	  This new tracer will list loaded elements and plugins. This should
	  make it easier to generate minimal builds of GStreamer.
	  This also traces other features such as typefind functions, device
	  providers and dynamic types.
	  The format of the output of gst-stats should match the parameters
	  expected by the meson based gst-build system.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/782>

2021-04-23 15:34:26 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/gstpluginfeature.c:
	* gst/gsttracerutils.c:
	* gst/gsttracerutils.h:
	  tracers: Add tracepoint when a plugin feature it loaded
	  This makes it possible to trace which ones are loaded in a specific
	  program to make nice statistics.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/782>

2021-08-18 10:23:38 +0200  Edward Hervey <edward@centricular.com>

	* gst/gstpad.c:
	* tests/check/gst/gstpad.c:
	  pad: Ensure last flow return is set on sink pads in push mode
	  The last flow return field was never updated on sink pads in push mode. This
	  fixes it and makes it consistent.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/868>

2021-08-13 19:21:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstbuffer.c:
	  gstbuffer: Use g_memdup2 instead of g_memdup
	  This was added in !826 which was created after !803 (which changes
	  g_memdup -> g_memdup2), but merged before it, so it slipped through.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/866>

2021-08-10 13:35:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstplugin.c:
	  plugin: load plugins with unknown license strings
	  We shouldn't fail to load plugins just because we don't
	  recognise the license string. It's not our job to validate
	  licenses, and the license list is outdated and ambiguous
	  anyway.
	  Also add MPL-2.0 to the list, and fix some defunct license
	  URLs in the code comments.
	  Get rid of the hard-coded skip index, doesn't really buy us
	  much versus just skipping with a few strlens, and is harder
	  to maintain.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/864>

2021-08-02 14:23:58 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* plugins/elements/gstidentity.c:
	  identity: provide a log to check the buffers
	  In order to not rely only on app to display the
	  message from identity, display the message in the logs
	  too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/863>

2021-08-01 03:36:31 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/controller/controller-graph.c:
	  examples: controller-graph: Fix build with MSVC
	  To use macros in math.h, one needs to define _USE_MATH_DEFINES
	  before including the math.h file. Use glib's math define instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/862>

2021-05-12 00:54:43 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-launch.c:
	* tools/meson.build:
	  gst-launch: Enable Windows high-resolution clock
	  Default timer precision of Windows is dependent on system, but
	  usually it's known to be about 15ms in worst case.
	  That's not an enough precision for multimedia application.
	  Enable high-resolution clock in gst-launch to demonstrate
	  the usage of Windows high-precision clock for application developers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/817>

2021-07-23 16:20:20 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* plugins/elements/gstinputselector.c:
	  input-selector: Use proper segments when cleaning cached buffers
	  We need to use the segment associated with the cached buffer, not the
	  current segment of the pad, otherwise we miscalculate the running time
	  of cached buffers from before a segment change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/859>

2021-07-20 09:51:04 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* .gitlab/issue_templates/Bug.md:
	  gitlab: update bug template
	  Finetune the bug description.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/854>

2021-05-09 11:45:49 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* gst/gsturi.c:
	  gsturi: Set GError if uri is invalid
	  GError should be set if function call failed and the failed reason is
	  not a programmer error.
	  Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1380
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/816>

2021-05-09 11:13:48 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* gst/gsturi.c:
	  gsturi: Don't treat invalid format of uri as critical error
	  Normally uri is get from user input and invalid user input should not
	  be treated as critical error. Moved gst_uri_is_valid outside of
	  g_return_val_if_fail.
	  NULL uri is checked inside of gst_uri_is_valid and is correctly
	  treated as critical error, removed unneeded checks of NULL uri outside
	  of gst_uri_is_valid function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/816>

2021-07-20 16:52:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst/gstsystemclock.c:
	  systemclock: Restore default clock mode to monotonic for non-linux system
	  Before the MR https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829
	  Windows and macOS system clock used monotonic clock regardless of
	  selected clock mode. And because of clock resolution, we should prefer
	  monotonic over realtime unless realtime clock is selected explicitly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/855>

2021-07-07 20:11:13 +0900  Seungha Yang <seungha@centricular.com>

	* libs/gst/base/gstbasesink.c:
	  basesink: Don't swap rstart/rstop when stepping
	  Step handling is implemented based on unmodified start/stop
	  segment running time, and basesink takes rate into account for
	  stepping. This commit is partially undoing new behavior introduced by
	  the commit of 39b9cc554c960fec8d41f8394c41390883cadeed when stepping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/848>

2021-07-19 20:04:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* libs/gst/net/gstptpclock.c:
	  gstptpclock: Don't leak the GList
	  120 bytes in 5 blocks are definitely lost in loss record 7,615 of 9,510
	  at 0x484486F: malloc (vg_replace_malloc.c:380)
	  by 0x58A2938: g_malloc (gmem.c:106)
	  by 0x58BA1F4: g_slice_alloc (gslice.c:1069)
	  by 0x588F059: g_list_prepend (glist.c:335)
	  by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756)
	  by 0x5B9CA8E: cleanup_cb (gstptpclock.c:1930)
	  by 0x589AD20: g_timeout_dispatch (gmain.c:4889)
	  by 0x589A4CE: UnknownInlinedFun (gmain.c:3337)
	  by 0x589A4CE: g_main_context_dispatch (gmain.c:4055)
	  by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131)
	  by 0x5899A92: g_main_loop_run (gmain.c:4329)
	  by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980)
	  by 0x58C8C31: g_thread_proxy (gthread.c:826)
	  576 bytes in 24 blocks are definitely lost in loss record 8,782 of 9,510
	  at 0x484486F: malloc (vg_replace_malloc.c:380)
	  by 0x58A2938: g_malloc (gmem.c:106)
	  by 0x58BA1F4: g_slice_alloc (gslice.c:1069)
	  by 0x588F059: g_list_prepend (glist.c:335)
	  by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756)
	  by 0x5B9EFA0: handle_announce_message (gstptpclock.c:934)
	  by 0x5B9EFA0: handle_ptp_message (gstptpclock.c:1765)
	  by 0x5B9EFA0: have_stdin_data_cb (gstptpclock.c:1851)
	  by 0x589A4CE: UnknownInlinedFun (gmain.c:3337)
	  by 0x589A4CE: g_main_context_dispatch (gmain.c:4055)
	  by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131)
	  by 0x5899A92: g_main_loop_run (gmain.c:4329)
	  by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980)
	  by 0x58C8C31: g_thread_proxy (gthread.c:826)
	  by 0x5DA4298: start_thread (pthread_create.c:481)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/852>

2021-07-06 13:04:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstpad.c:
	  gstpad: Don't spam INFO when default-chaining a buffer list
	  This is being logged for each buffer, so it should not use INFO.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/853>

2021-06-15 10:23:33 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* .gitlab/issue_templates/Bug.md:
	  gitlab: add bug template
	  To clarify what is expected in an issue description and avoid
	  issue which is just an usage issue, add a bug template in gitlab.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/836>

2021-07-08 11:48:58 +0200  Kasper Steensig Jensen <kasper.steensig@gmail.com>

	* meson_options.txt:
	  Add meson description for tracer_hooks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/849>

2020-05-28 08:06:59 +0200  Edward Hervey <edward@centricular.com>

	* gst/gstinfo.c:
	  gstinfo: Improve usage of libdw for backtraces
	  When getting backtraces, we were always creating a new Dwfl context and then
