=== release 1.16.2 ===

2019-12-03 10:57:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gstreamer.doap:
	* meson.build:
	  Release 1.16.2

2019-12-03 10:57:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coretracers.xml:
	  Update docs

2019-12-03 10:57:29 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/hu.po:
	  Update translations

2019-12-03 10:40:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/parse/grammar.y:
	* gst/parse/meson.build:
	  Revert "gst/parse: define pure-parser depending on bison version"
	  This reverts commit 77141834bb5d124fb5781ed3be6230cc66cb42de.
	  This breaks the autotools build and it seems too much effort to
	  fix that up just to fix a bison warning.

2019-11-27 15:47:32 +0100  Edward Hervey <bilboed@bilboed.com>

	* plugins/tracers/gstlatency.c:
	  tracers: Don't leak temporary GstStructure
	  CID: 1455462

2019-08-26 12:48:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/parse/grammar.y.in:
	* gst/parse/meson.build:
	  gst/parse: define pure-parser depending on bison version
	  After release bison 2.5 the declaration %pure-parser was deprecated
	  in favor of %define api.pure
	  Nonetheless, until bison 3.4, the declaration was treated as backward
	  compatibility, but now bison shows a warning:
	  warning: deprecated directive, use ‘%define api.pure’
	  The patch's approach is to handle both directives according with the
	  used bison's version, by string replacement at source configuration
	  stage.

2019-10-25 01:41:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gsttee.c:
	  tee: First deactivate the pad and then remove it when releasing pads
	  This reverts a96002bb28c21b30fb9338a4620ad20504c70aa5, which is not
	  necessary anymore. If we release the pad after removing it then none of
	  the deactivation code will actually be called because the pad has no
	  parent anymore, and we require a parent on the pad for deactivation to
	  happen.
	  This can then, among other things, cause a streaming thread to be still
	  stuck in a pad probe because the pad was never flushed, and waiting
	  there forever because now the pad will actually never be flushed anymore.

2019-10-25 01:39:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gsttee.c:
	  tee: Check for the removed pad flag also in the slow pushing path
	  If a pad is currently being released we don't want to forward the
	  FLUSHING flow return but instead consider it as NOT_LINKED. FLUSHING
	  would also cause upstream to be FLUSHING.
	  This part was missed in a3c4a3201a705eb1934ceeea34d1ca42d4571c07 and
	  resulted in a different (and wrong) workaround in
	  a96002bb28c21b30fb9338a4620ad20504c70aa5.

2019-10-25 01:39:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gsttee.c:
	  tee: Lock mutex before reading the removed flag of the pads
	  Otherwise we're not guaranteed to read the very latest value that
	  another thread might've written in there when the pad was released, and
	  could instead work with an old value.

2019-09-30 11:34:51 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbin.c:
	  bin: Drop need-context messages without source instead of crashing

2019-09-30 11:49:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbuffer.c:
	* gst/gstcaps.c:
	  gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar macros
	  The argument must be at least a GObject according to the GstLogFunction
	  definition, and while the default C log function handles miniobjects
	  just fine this is crashing bindings and user-supplied log functions that
	  (rightfully) don't expect anything but GObjects.

2019-08-20 01:02:48 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* tools/gst-launch.c:
	  gst-launch: Use gst_print* instead of g_print* to fix broken stdout on Windows
	  Concurrent Windows' colored debug message and g_print will print
	  string hard to read. Instead, use gst_print* which serialize
	  debug output and the APIs call.

2019-08-20 00:59:15 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst/gstinfo.c:
	  info: Take lock around all prinf on Windows
	  On Windows, concurrent colored gstreamr debug output and usual
	  stdout/stderr string will cause broken output on terminal.
	  Since it's OS specific behavior, that's hard to completely avoid it
	  but we can protect it at least among our printing interfaces side.

=== release 1.16.1 ===

2019-09-23 11:01:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gstreamer.doap:
	* meson.build:
	  Release 1.16.1

2019-09-23 11:01:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coretracers.xml:
	  Update docs

2019-09-23 11:01:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/bg.po:
	* po/de.po:
	* po/fr.po:
	* po/hr.po:
	* po/nb.po:
	* po/tr.po:
	  Update translations

2019-09-12 10:09:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstelementfactory.c:
	  element: Enforce that elements created by gst_element_factory_create/make() are floating
	  Bindings might have a hard time making sure that the reference is indeed
	  still floating after returning here.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444

2019-09-12 10:08:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstdevice.c:
	  device: Enforce that elements created by gst_device_create_element() are floating
	  Bindings might have a hard time making sure that the reference is indeed
	  still floating after returning here.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444

2019-09-12 10:03:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstdevice.c:
	  device: gst_device_create_element() is `transfer floating`, not `transfer full`
	  Fixing the annotation fixes leaking of the created element in all
	  bindings using GObject-Introspection.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444

2019-09-07 12:32:40 +0100  Jim Mason <jmason@ibinx.com>

	* plugins/elements/gstelements_private.c:
	  consolidated IOV_MAX/UIO_MAXIOV handling per GLib + legacy behaviour for osx/ios

2019-09-06 19:23:01 +0100  Jim Mason <jmason@ibinx.com>

	* plugins/elements/gstelements_private.c:
	  gst_writev: respect IOV_MAX for the writev iovec array #439

2019-09-03 10:38:13 +0200  David Svensson Fors <davidsf@axis.com>

	* gst/gstminiobject.c:
	  miniobject: free qdata array when the last qdata is removed
	  In cases with many long-lived buffers that have qdata only very
	  briefly, the memory overhead of keeping an array of 16 GstQData
	  structs for each buffer can be significant. We free the array when
	  the last qdata is removed, like it was done in 1.14.
	  Fixes #436

2019-09-03 13:44:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/gstbin.c:
	  bin: Fix minor race when adding to a bin
	  This patch simply add a null check around a case where a child may have
	  been unparented concurrently to the deep_add_remove operation. This was
	  found by accident in the form of an "IS_GST_OBJECT" assertion, but had
	  no other known side effect in that test.

2019-08-15 12:56:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/check/meson.build:
	  meson: fix warning about configure_file() install kwarg
	  The install kwarg on configure_file() was only added in
	  Meson 0.50 but we're targetting older versions as well,
	  which caused a warning. The install kwarg is not needed
	  here as we specify install_dir, so we can just drop it.
	  Fixes #379

2019-08-14 09:51:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Actually handle NEED_DATA return from update_src_caps()
	  The documentation says that this allows the subclass to signal that it
	  needs more data before it can decide on caps, so let's actually
	  implement it that way.

2019-08-13 19:57:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregatorPad or subclass thereof

2019-08-13 19:55:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Ensure that the source pad is created as a GstAggregatorPad if no type is given in the pad template
	  Otherwise we would create a GstPad and that causes invalid memory
	  accesses later.

2019-08-06 10:09:22 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* plugins/tracers/gstlatency.c:
	  latency: fix custom event leaks
	  If the element before the sink needs $n buffers to produce one output
	  buffer, we were reffing $n events and unreffing only one.
	  Prevent this by using g_object_set_qdata_full() to handle the event
	  unreffing so we're sure no ref will be lost.

2019-08-02 13:07:58 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* plugins/tracers/gstlatency.c:
	* plugins/tracers/gstrusage.c:
	* plugins/tracers/gststats.c:
	  tracers: set MAY_BE_LEAKED on tracer records
	  The records are static and so appear as false positives when using those
	  tracers with the leaks tracer as well.
	  The leaks tracer was already setting this flag on its record so let's
	  set it on the other ones as well.

2019-06-20 16:42:01 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* plugins/tracers/gstlatency.c:
	  latency: display event pointer in logs
	  This is quite useful for debugging when tracer is reporting the wrong
	  latency because of an element breaking the events/buffers ordering.

2019-07-22 15:06:20 +0000  Alicia Boya García <ntrrgc@gmail.com>

	* plugins/elements/gstdownloadbuffer.c:
	  downloadbuffer: Check for flush after seek
	  In gst_download_buffer_wait_for_data(), when a seek is made with
	  perform_seek_to_offset() the `qlock` is released temporarily. Therefore,
	  the flushing condition can be set during this period and should be
	  checked.
	  This was not being checked before, causing occasional deadlocks when
	  GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() was called.
	  GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() assumes that the caller has already
	  checked that we're not flushing before, since this is done when
	  acquiring the lock; so if we release it temporarily somewhere, we need
	  to check for flush again.
	  Without that check, the function would keep waiting for the condition
	  variable to be notified before checking for flushing condition again,
	  and that may very well never happen. This was reproduced when during pad
	  deactivation when running WebKit in gdb.

2019-08-08 13:49:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* gst/gstregistry.c:
	* meson.build:
	  registry: Use plugin directory from the build system for relocateable Windows builds
	  Instead of guessing something based on preprocessor defines and magic.

2019-08-06 00:05:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/gstmessage.h:
	  message: fix up enum value for GST_MESSAGE_DEVICE_CHANGED
	  This was added in 1.16 and accidentally duplicated the value of
	  the existing GST_MESSAGE_REDIRECT.
	  As the only known user of this message is GStreamer core itself,
	  and it is quite an obscure message, it seems best to just fix up
	  the enum value even if that technically breaks API.
	  Fixes #418

2019-07-30 21:40:47 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/gstinfo.c:
	  info: Fix deadlock in gst_ring_buffer_logger_log
	  gst_ring_buffer_logger_log calls several functions while formatting
	  the message which may in turn log a message while we already hold
	  the mutex. Do all formatting first before acquiring the mutex to
	  avoid this and reduce the time we hold the mutex.

2019-07-19 21:57:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* plugins/elements/gstidentity.c:
	  identity: Non-live upstream have no max latency
	  sync=TRUE implementation changes the latency query of a non-live
	  upstream into live, though it wrongly set the upstream max latency to 0.
	  As non-live sources won't loose data if we wait longer, this should have
	  been reported as have no max latency limite (-1).

2019-07-11 17:53:53 +0100  Philippe Normand <philn@igalia.com>

	* plugins/elements/gstidentity.c:
	  identity: Fix the ts-offset property getter
	  Previous code was a copy/paste from the property setter function.

2019-07-08 19:09:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: Make parsing of explicit sink pad names more robust
	  When passing "sink_%d" twice to aggregator before it would create two
	  pads called "sink_0", because it failed to parse "%d" as integer and
	  used 0 instead then.
	  Instead validate that parsing was actually successful and also don't
	  even try to parse if the requested pad name contains a '%'.

2019-06-29 09:22:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/gstbufferpool.c:
	* tests/check/gst/gstbufferpool.c:
	  bufferpool: Fix the buffer size reset code
	  The offset in gst_buffer_resize() is additive. So to move back the
	  offset to zero, we need to pass the opposite of the current offset. This
	  was raised through the related unit test failingon 32bit as on 64bit
	  the alignment padding was enough to hide the issue. The test was
	  modified to also fail on 64bit. This patch will remove spurious
	  assertions like:
	  assertion 'bufmax >= bufoffs + offset + size' failed
	  Fixes #316

2019-06-20 13:49:14 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* plugins/elements/gstelements_private.c:
	  gstelements_private: sync gst_buffer_get_flags_string() with new flags

2019-06-19 23:29:24 -0400  Thibault Saunier <tsaunier@igalia.com>

	* plugins/elements/gstmultiqueue.c:
	  multiqueue: never unref queries we do not own
	  The `query` argument of gst_pad_query is "transfer none".
	  Query objects are "borrowed" by the pad query handlers and those
	  should never unref them.
	  This was leading to double freed queries in a very racy way with nested
	  GESTimelines.

2019-06-04 17:55:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gstconcat.c:
	  concat: Reset last_stop on FLUSH_STOP too
	  Otherwise when seeking backwards we would keep the last_stop at the last
	  position we saw until playback passed the seek position again, and if
	  switching to the next pad happens in the meantime we would set the wrong
	  offset in the outgoing segment.

2019-06-04 17:56:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* plugins/elements/gstconcat.c:
	  concat: Improve debug output a bit

2015-07-29 11:48:33 +0100  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix flow-return boolean return type mismatch
	  Not that it matters, since we don't check the return value
	  anyway. Unclear why the aggregator pad flush function should
	  have a return value at all really, and perhaps it should be
	  called reset anyway. Spotted by dv on irc.

2019-05-13 16:42:04 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/gstpad.c:
	* tests/check/gst/gstpad.c:
	  gstpad: Probes that return HANDLED can reset the data info field
	  Before GST_PAD_PROBE_HANDLED was introduced, we had to handle the case
	  where some probes would reset the probe info data field to NULL. This would
	  be considered an invalid use-case.
	  But with GST_PAD_PROBE_HANDLED it is totally fine to reset that, since
	  the probe has "handled" it.

2019-05-13 13:24:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/meson.build:
	  meson: Link to objects instea of static helper library
	  Otherwise the objects from that static helper library are not included
	  in the gstreamer-1.0 static library. This was supposed to be fixed in
	  Meson, but the pull request hasn't been merged yet:
	  https://github.com/mesonbuild/meson/pull/3939
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398

2019-05-13 14:42:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/meson.build:
	  meson: Pass -DGST_STATIC_COMPILATION for static builds
	  This is only needed on Windows when building with MSVC, but it is safe
	  to pass it everywhere.
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398

2019-05-11 18:21:19 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* libs/gst/helpers/meson.build:
	  meson: set correct install path for gdb helper
	  The original version of the patch used glib-2.0 but that was later changed
	  to gstreamer-1.0 for autotools. The meson file was forgotten.
	  Fix the path to match the one used in libgstreamer-gdb.py.in.

2019-05-08 12:11:50 +0200  Niels De Graef <niels.degraef@barco.com>

	* gst/gstpromise.h:
	  gst: Add support for g_autoptr(GstPromise)

2019-05-01 15:46:56 +0200  Niklas Hambüchen <mail@nh2.me>

	* gst/parse/get_flex_version.py:
	  Make get_flex_version.py script executable
	  Like all other scripts in the same dir.
	  It has a hashbang, so it should be executable.

2019-04-24 18:22:06 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* tools/gst-inspect.c:
	  gst-inspect: fix unused-const-variable error in windows
	  ../tools/gst-inspect.c:44:20: error: 'DEFAULT_PAGER' defined but not used [-Werror=unused-const-variable=]

2019-04-23 17:33:34 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/base.h:
	  base: Include gstbitwriter.h in the single-include header

2019-04-23 18:00:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstbitwriter.h:
	  bitwriter: Fix inclusion of header in C++ code
	  ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h: In function 'gboolean _gst_bit_writer_check_remaining(GstBitWriter*, guint32)':
	  ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h:161:31: error: invalid conversion from 'gpointer' {aka 'void*'} to 'guint8*' {aka 'unsigned char*'} [-fpermissive]
	  bitwriter->data = g_realloc (bitwriter->data, (new_bit_size >> 3));
	  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2019-04-23 12:31:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstbitwriter.h:
	  bitwriter: Mark the whole type as Since: 1.16

2019-04-23 14:39:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstcaps.c:
	  caps: Add Since: 1.16 marker to gst_caps_copy()

2019-04-23 14:54:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstaggregator.h:
	  aggregator: Mark all public structs as Since: 1.14

2019-04-23 15:07:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* libs/gst/base/gstbaseparse.h:
	* libs/gst/base/gstbasetransform.h:
	* libs/gst/base/gstcollectpads.h:
	* libs/gst/controller/gstinterpolationcontrolsource.h:
	  libs: Fix various Since markers

2019-04-23 15:08:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstallocator.h:
	* gst/gstbin.h:
	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	* gst/gstbufferpool.h:
	* gst/gstclock.h:
	* gst/gstelement.h:
	* gst/gstelementfactory.h:
	* gst/gsterror.h:
	* gst/gstevent.h:
	* gst/gstmemory.h:
	* gst/gstmessage.h:
	* gst/gstminiobject.h:
	* gst/gstobject.h:
	* gst/gstpad.h:
	* gst/gstparse.h:
	* gst/gstplugin.h:
	* gst/gstsegment.h:
	* gst/gststructure.c:
	* gst/gstsystemclock.h:
	  gst: Fix various Since markers

2019-05-02 12:35:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitlab-ci.yml:
	  ci: use template from 1.16 branch

=== release 1.16.0 ===

2019-04-19 00:15:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* README:
	* RELEASE:
	* configure.ac:
	* gstreamer.doap:
	* meson.build:
	  Release 1.16.0

2019-04-19 00:15:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coretracers.xml:
	  Update docs

2019-04-19 00:15:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/zh_CN.po:
	  Update translations

2019-04-18 10:13:51 +0200  Olivier Crête <olivier.crete@collabora.com>

	* libs/gst/base/gstbasesrc.c:
	  basesrc: Downgrade EOS warning
	  In the case of pushfilesrc, this is the expected behaviour, so let's
	  downgrade the warning to a debug message to avoid confusing users.

2019-04-17 20:46:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* tests/check/libs/basesrc.c:
	  tests: basesrc: unref gst_bus_timed_pop_filtered return

2019-04-16 13:29:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/gst.c:
	* gst/gst_private.h:
	* gst/gstinfo.c:
	  gstinfo: clean up function pointer names hashtable
	  And add strduped function pointer names to the global quark
	  table, so that they don't get reported as lost by valgrind.
	  This allows us to use GST_DEBUG when running tests under
	  valgrind.

2019-04-16 23:50:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: fix doc chunk for new buffer-consumed signal
	  Fixes 'Warning: GstBase: incorrect number of parameters in
	  comment block, parameter annotations will be ignored.' from
	  g-ir-scanner.

2019-04-12 09:23:52 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Don't compare element name as element Id is already unique

2019-04-12 08:38:03 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Remove redundant if conditions

2019-04-12 08:34:49 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Make GST_DEBUG logs consistent

2019-04-12 08:28:22 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Fix bug when dropping sub-latency probe event
	  Fixes #373

2019-04-12 16:37:18 +0200  Philipp Zabel <p.zabel@pengutronix.de>

	* gst/gstevent.c:
	  event: fix seek event creation
	  Creating seek events segfaults on 32-bit ARM since commit 2fa15d53717c
	  ('event: add new seek parameter, "trickmode-interval"'), which missed
	  casting the trickmode-interval initializer in the variable argument list
	  to guint64.

2019-04-11 15:32:51 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tools/gst-inspect.c:
	  gst-inspect: Do not print warning if 'less' is missing

=== release 1.15.90 ===

2019-04-11 00:19:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gstreamer.doap:
	* meson.build:
	  Release 1.15.90

2019-04-11 00:19:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coretracers.xml:
	  Update docs

2019-04-10 09:17:01 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Fix typo bug

2019-04-10 09:13:53 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Fix bug when storing latency probe event
	  The pad name sotred in the latency event has no longer the name of the element,
	  so we have to get the element Id, element name and pad name values from the data
	  structure and compare all 3 values.

2019-04-10 10:18:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstcontrolbinding.c:
	  controlbinding: Check if the weak pointer was cleared before explicitly removing it
	  Otherwise we'll get an assertion if the object behind the weak pointer
	  was already destroyed in the meantime as we would pass NULL as first
	  argument to g_object_remove_weak_pointer().

2019-04-09 08:05:09 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	* tools/gst-stats.c:
	  tracer: latency: Show element id, element name and pad name

2019-03-25 15:36:08 +0100  Julian Bouzas <julian.bouzas@collabora.com>

	* tools/gst-stats.c:
	  gst-stats: Add element latency support
	  This will output latency information when parsing a log file with gst-stats that
	  has latency trace information. It will show the min, max and mean latency for
	  the pipeline and all its elements. It will also show the reported latency for
	  each element of the pipeline. Output example:
	  Latency Statistics:
	  pulsesrc0_src|fakesink0_sink: mean=190000043 min=190000043 max=190000043
	  Element Latency Statistics:
	  flacparse0_src: mean=45561281 min=654988 max=90467575
	  flacenc0_src: mean=89938883 min=81913512 max=97964254
	  flacdec0_src: mean=45804881 min=228962 max=91380801
	  Element Reported Latency:
	  pulsesrc0: min=10000000 max=200000000 ts=0:00:00.262846528
	  flacenc0: min=104489795 max=104489795 ts=0:00:00.262898616
	  flacparse0: min=0 max=0 ts=0:00:00.262927962

2019-03-21 10:37:34 +0100  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	* plugins/tracers/gstlatency.h:
	  tracer: latency: Show per-element reported latency

2019-03-20 12:20:48 +0100  Julian Bouzas <julian.bouzas@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Show element's source pad name instead of element's name
	  The full pad name gives more information than the element's name, which is very
	  useful when elements have multiple source pads.

2019-03-18 21:55:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* plugins/tracers/gstlatency.c:
	  latency: Dot not override already stored events
	  First, the event would be leaved, but also when an element takes
	  several buffers before producing one, we want the reported latency to be
	  the aggregation, so the distance from the oldest buffer.

2018-10-31 16:50:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* plugins/tracers/gstlatency.c:
	* plugins/tracers/gstlatency.h:
	  tracer: latency: Add parameter to select latency type
	  This sets back the default to trace only pipeline latency, and add flags
	  to enabled element tracing. It is now possible to only trace element
	  latency, only trace pipeline latency, trace both or none.

2018-07-06 17:08:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: latency: Add per element latency tracer
	  This adds per element latency tracing.

2018-07-04 14:18:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* plugins/tracers/gstlatency.c:
	  tracer: Don't pass pads inside GstEvent
	  This removes the passing of pad inside of a GstEvent. While this is not
	  a bug, it may affect the live time of the pad, hense change the pipeline
	  behaviour.

2018-11-13 21:19:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstbasesrc.c:
	* tests/check/libs/basesrc.c:
	  basesrc: do not send EOS when automatic_eos is FALSE

2019-04-01 12:22:49 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: add buffer-consumed pad signal
	  The signal will be emitted when a buffer was consumed on
	  a pad, if the newly-added "emit-signals" property has been
	  set to TRUE.
	  Handlers connected to the signal will receive a valid reference on
	  the consumed buffer, allowing for example the retrieval of metas in
	  order to forward them once an output buffer is pushed out.

2019-04-05 11:43:53 +0200  Antonio Ospite <antonio.ospite@collabora.com>

	* tools/gst-inspect.c:
	  gst-inspect: fix printing the first field of a GstStructure
	  When printing a GstStructure property (e.g. the "stats" property in
	  rtpsession) the first field is printed on the same line of the type
	  description, and this is both inconsistent compared to  how Enum values
	  are printed and confusing as the reader might miss the first field.
	  To fix this, add a newline before printing GstStructure fields in
	  properties.
	  NOTE: this does not change the existing inconsistent behavior of an
	  extra newline *after* a GstStructure property, but the latter is not as
	  annoying and it would take more effort to fix because GstStructure
	  fields are printed in CAPS descriptions too.

2019-04-01 18:34:07 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstquark.c:
	* gst/gstquark.h:
	* tests/check/gst/gstevent.c:
	  event: add new seek parameter, "trickmode-interval"
	  When performing a key unit trickmode seek, it may be useful to
	  specify a minimum interval between the output frames, either
	  in very high rate cases, or as a protection against streams
	  that may contain an overly large amount of key frames.
	  One use case is ONVIF Section 6.5.3:
	  <https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>

2019-03-22 17:46:03 +0100  Antonio Ospite <antonio.ospite@collabora.com>

	* tests/check/gstreamer.supp:
	  tests: add the valgrind suppression file from the "common" module
	  Other gstreamer repositories have their own valgrind suppression file
	  directly in the repository.
	  Add a suppression file to the core gstreamer repository too, this makes
	  it easier to use it with gst-build which does not check out the common
	  module.
	  This is also a little step towards the removal of the common submodule.
	  NOTE: the added file is the latest version from the "common" repository
	  but it has been renamed from gst.supp to gstreamer.supp for symmetry
	  with the suppression files in the other repositories.

2019-03-23 18:31:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  g-i: pass --quiet to g-ir-scanner
	  This suppresses the annoying 'g-ir-scanner: link: cc ..' output
	  that we get even if everything works just fine.
	  We still get g-ir-scanner warnings and compiler warnings if
	  we pass this option.

2019-03-23 18:17:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/check/gstcheck.c:
	  check: suppress some g-i warnings
	  gstcheck.c:142: Warning: GstCheck: gst_check_add_log_filter: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
	  gstcheck.h:178: Warning: GstCheck: gst_check_run_suite: argument suite: Unresolved type: 'Suite*'

2019-03-23 17:53:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  g-i: silence 'nested extern' compiler warnings when building scanner binary
	  We need a nested extern in our init section for the scanner binary
	  so we can call gst_init to make sure GStreamer types are initialised
	  (they are not all lazy init via get_type functions, but some are in
	  exported variables). There doesn't seem to be any other mechanism to
	  achieve this, so just remove that warning, it's not important at all.

2019-03-23 17:53:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* libs/gst/base/gstbitwriter.c:
	  bitwriter: mark as 'skip' for gobject-introspection
	  Silences g-ir-scanner warnings. We do the same for ByteWriter.

2019-03-21 18:55:16 +1100  Matthew Waters <matthew@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: don't leak gap buffer when out of segment

2019-03-21 18:47:04 +1100  Matthew Waters <matthew@centricular.com>

	* libs/gst/base/gstaggregator.c:
	  aggregator: take the pad lock around queue gap event removal
	  As is done for every other queue interaction

2019-03-20 17:43:02 +1100  Matthew Waters <matthew@centricular.com>

	* libs/gst/base/gstbaseparse.c:
	  baseparse: don't reset the disable-passthrough property value
	  Resetting as a result of _reset() on PAUSED->READY is unexpected.

2019-03-14 11:59:43 +0100  Stephane Cerveau <scerveau@fluendo.com>

	* gst/gstelement.c:
	  gst_element_get_factory: update documentation
	  Inform about a potential NULL result.

2019-03-13 18:46:14 +0100  Stephane Cerveau <scerveau@fluendo.com>

	* gst/gstelementfactory.c:
	  gst_element_factory_get_metadata: protect from null factory

2019-03-12 21:19:23 +0000  Damian Vicino <sdavtaker@gmail.com>

	* README:
	  Update README

2019-03-12 20:12:37 +0000  Damian Vicino <sdavtaker@gmail.com>

	* README:
	  Update README to have correct name of the license file documented (COPYING). There is no LICENSE file in the root directory, and COPYING file content is a license file.

2019-03-10 15:35:39 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* tests/check/meson.build:
	  tests: fdsrc: Exclude unit test on Windows
	  Since elements_fdsrc.test_num_buffers uses blocking pipe on Windows,
	  the test will never be finished. But emulating non-blocking fd without
	  win32 APIs on Windows is a little tricky.

2019-03-08 16:19:29 +0100  Santiago Carot-Nemesio <scarot@twilio.com>

	* gst/gsttaskpool.c:
	  gsttaskpool: Do not block tasks while cleaning up the taskpool
	  There is a deadlock if any thread from the pool tries to push
	  a new task while other thread is waiting for the pool of threads
	  to finish. With this patch the thread will get an error when it
	  tries to add a new task while the taskpool is being cleaned up.

2019-03-06 19:46:46 +0100  Marco Trevisan (Treviño) <mail@3v1n0.net>

	* gst/gsturi.c:
	  gsturi: Fix annotation on get_path to return a nullable
	  Use proper syntax or the (nullable): part will be part of the description

2019-03-06 19:34:12 +0100  Marco Trevisan (Treviño) <mail@3v1n0.net>

	* gst/gstmessage.c:
	  gstmessage: Fix annotations on details
	  Details argument should be nullable, but the docstring uses a wrong syntax.

2019-03-06 09:04:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/gst/gstbuffer.c:
	  tests: fix leak in buffer test_wrapped_bytes test

2019-03-01 11:59:14 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/gstbuffer.c:
	* tests/check/gst/gstmeta.c:
	  gstbuffer: store meta in add order
	  The previous implementation of add was implemented as a prepend,
	  switch to append as that seems like the expected order.

2019-03-04 09:01:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coretracers.xml:
	* meson.build:
	  Back to development

2019-02-28 16:48:57 +0100  Santiago Carot-Nemesio <sancane@gmail.com>

	* gst/gsttaskpool.c:
	  taskpool: Set error in case something goes wrong in the default handlers

=== release 1.15.2 ===

2019-02-26 11:38:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gstreamer.doap:
	* meson.build:
	  Release 1.15.2

2019-02-26 13:23:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/parse/Makefile.am:
	  meson: dist get_flex_version.py

2019-02-26 11:38:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coretracers.xml:
	  Update docs

2019-02-26 11:37:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/af.po:
	* po/ast.po:
	* po/az.po:
	* po/be.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/fur.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/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:
	  Update translations

2019-02-25 13:49:43 +0100  Philipp Zabel <p.zabel@pengutronix.de>

	* gst/gstplugin.c:
	  plugin: add 0BSD as valid license
	  Add the zero-clause BSD license, which is an alteration of the ISC
	  license, to the list of valid licenses.

2019-02-25 13:48:38 +0100  Philipp Zabel <p.zabel@pengutronix.de>

	* gst/gstplugin.c:
	  plugin: fix link to 3-clause BSD license
	  The current link points to the 2-clause BSD license,
	  explicitly link to the 3-clause version of the license.

2019-02-20 17:51:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstmacros.h:
	  gstmacros.h: Fix restrict definition on MSVC
	  Turns out it's exposed as `__restrict`, not as `restrict`.
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/95#note_120782

2019-02-20 01:25:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/gstmacros.h:
	  gstmacros.h: Fix check for 'restrict' keyword
	  MSVC also defines it as a keyword. Fixes build errors in projects that
	  include MSVC's xkeycheck.h which ensures that keywords aren't overriden
	  with a define.

2019-02-18 09:58:19 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst/gstbuffer.c:
	  buffer: Don't miss return value on Windows build
	  ... and use InterlockedExchangeAdd64 for the 64bit value.
	  InterlockedExchangeAdd is 32bit version.

2019-02-15 13:23:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gstbus.c:
	  bus: Make removing of signal/bus watches thread-safe
	  Between getting the GSource with the mutex and destroying it, something
	  else might've destroyed it already and we would have a dangling pointer.
	  Keep an additional reference just in case.

2019-02-15 13:20:27 +0200  Sebastian Dröge <sebastian@centricular.com>

