Merge tag 'upstream/1.5.1' into debian-experimental

Upstream version 1.5.1
diff --git a/ChangeLog b/ChangeLog
index d1b0644..fc519c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,4836 @@
-=== release 1.4.0 ===
+=== release 1.5.1 ===
 
-2014-07-19  Sebastian Dröge <slomo@coaxion.net>
+2015-06-07  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.4.0
+	  releasing 1.5.1
+
+2015-06-07 09:33:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/cs.po:
+	* po/de.po:
+	* po/fr.po:
+	* po/tr.po:
+	  po: Update translations
+
+2015-06-07 09:32:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Add Since marker to the docs for gst_ntp_clock_new()
+
+2015-06-07 09:32:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.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/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 .po files
+
+2015-06-07 09:08:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/gst/gstmemory.c:
+	  memory: Fix compiler warnings in unit test
+	  gst/gstmemory.c:570:38: error: implicit conversion from enumeration type 'GstMapFlags' to different enumeration
+	  type 'GstLockFlags' [-Werror,-Wenum-conversion]
+	  fail_unless (gst_memory_lock (mem, GST_MAP_WRITE));
+	  ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
+
+2015-06-07 08:59:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: Use the current path delay for calculation the local/remote clock times
+	  The mean might currently be changing, and the current path delay is the
+	  closest we can get to the actual delay around the current SYNC message.
+
+2015-06-06 23:05:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Add some copyright stuff
+
+2015-06-06 21:43:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/net/Makefile.am:
+	* libs/gst/net/gstnetclientclock.c:
+	* libs/gst/net/gstnetclientclock.h:
+	* libs/gst/net/gstntppacket.c:
+	* libs/gst/net/gstntppacket.h:
+	* win32/common/libgstnet.def:
+	  netclientclock: Add NTPv4 support
+	  This uses all of the netclientclock code, except for the generation and
+	  parsing of packets. Unfortunately some code duplication was necessary
+	  because GstNetTimePacket is public API and couldn't be extended easily
+	  to support NTPv4 packets without breaking API/ABI.
+
+2015-06-06 20:39:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Preparation for NTPv4 support
+	  We extend our calculations to work with local send time, remote receive time,
+	  remote send time and local receive time. For the netclientclock protocol,
+	  remote receive and send time are assumed to be the same value.
+	  For the results, this modified calculation makes absolutely no difference
+	  unless the two remote times are different.
+
+2015-06-06 19:01:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock. Fix last commit
+	  Apparently I failed at git add -i.
+
+2015-06-06 18:42:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Make gst_net_client_clock_new() a thing wrapper around g_object_new()
+	  Bindings will like this, and also it fixes a FIXME comment.
+
+2015-06-06 14:34:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: Use #define everywhere instead of G_N_ELEMENTS()
+
+2015-06-06 14:31:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Filter RTTs based on the median of the last RTTs before considering them at all
+	  This improves accuracy on wifi or similar networks, where the RTT can go very
+	  high up for a single observation every now and then. Without filtering them
+	  away completely, they would still still modify the average RTT, and thus all
+	  clock estimations.
+
+2015-06-06 14:19:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: Use a system clock for the time observations instead of gst_util_get_timestamp()
+	  They don't necessarily use the same underlying clocks (e.g. on Windows), or
+	  might be configured to a different clock type (monotonic vs. real time clock).
+	  We need the values a clean system clock returns, as those are the values used
+	  by the internal clocks.
+
+2015-06-06 12:35:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: Fix documentation a bit
+
+2015-06-05 19:35:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/fakesink.c:
+	  tests: fakesink: test notify::last-message and deep-notify::last-message
+	  deep-notify::last-message seems to cause some problems, so disable for now.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681642
+
+2015-06-05 10:02:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Post an error if we can't typefind the data until EOS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750439
+
+2015-06-04 19:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/helpers/gst-ptp-helper.c:
+	  ptp-helper: Make sure to use g_poll() for the main context
+	  The modified main context from https://bugzilla.gnome.org/show_bug.cgi?id=741054
+	  somehow calls setugid(), which abort()s setuid root applications on OSX.
+
+2015-06-04 18:32:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/helpers/gst-ptp-helper.c:
+	  ptp-helper: Make sure that we are running setuid root if configured that way
+
+2015-06-04 18:00:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/helpers/gst-ptp-helper.c:
+	  ptp-helper: Fix interface listing and MAC retrieval on OSX
+
+2015-06-03 19:04:15 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* tools/gst-indent:
+	  gst-indent: Add support for gindent as executable name
+	  gst-indent used to support gnuindent and indent as executable names.
+	  However, on OSX one can "brew install gnu-indent" and then the
+	  executable name will be gindent. Added support for that.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750351
+
+2015-06-03 16:42:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* libs/gst/helpers/.gitignore:
+	  gitignore: add libs/gst/helpers/gst-ptp-helper
+
+2015-06-03 16:34:58 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  ptp: ignore permission errors in Makefile
+	  To satisfy the buildslaves ignore permission errors in chown, chmod and setcap
+
+2015-06-03 17:06:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/helpers/gst-ptp-helper.c:
+	  ptp: Don't use SIOCGIFHWADDR on Apple
+	  Just #ifdef the code for now, this should be implemented around
+	  IOKit later instead of using ioctls.
+
+2015-06-03 16:28:44 +0200  Philippe Normand <philn@igalia.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  build: make install-exec-hooks depend on install-helpersPROGRAMS
+	  To avoid race conditions where make would try to change ownership and
+	  permissions of the not-yet-installed ptp helper.
+
+2015-06-03 16:08:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptp: Fix debug output to print the difference instead of absolute values
+
+2015-06-03 15:22:31 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: fix compilation
+	  Don't put code between declarations.
+	  Fix use of uninitialized variables
+
+2015-06-03 11:04:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptp: Add median based pre-filtering of delays
+	  If the delay measurement is too far away from the median of the window of last
+	  delay measurements, we discard it. This increases accuracy on wifi a lot.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
+
+2015-06-02 15:24:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptp: Add #define to only use SYNC messages for which we can send DELAY_REQ
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
+
+2015-05-15 16:58:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstptpclock.c:
+	  ptp: Add #defines to enable/disable improvements for unreliable networks
+	  We should do some more measurements with all these and check how much sense
+	  they make for PTP. Also enabling them means not following IEEE1588-2008 by the
+	  letter anymore.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
+
+2015-05-14 12:18:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* docs/libs/gstreamer-libs-docs.sgml:
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/helpers/Makefile.am:
+	* libs/gst/helpers/gst-ptp-helper.c:
+	* libs/gst/net/Makefile.am:
+	* libs/gst/net/gstptp_private.h:
+	* libs/gst/net/gstptpclock.c:
+	* libs/gst/net/gstptpclock.h:
+	* libs/gst/net/net.h:
+	* tests/examples/Makefile.am:
+	* tests/examples/ptp/.gitignore:
+	* tests/examples/ptp/Makefile.am:
+	* tests/examples/ptp/ptp-print-times.c:
+	* win32/common/libgstnet.def:
+	  ptp: Initial implementation of a PTP clock
+	  GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in
+	  slave-only mode, that allows a GStreamer pipeline to synchronize
+	  to a PTP network clock in some specific domain.
+	  The PTP subsystem can be initialized with gst_ptp_init(), which then
+	  starts a helper process to do the actual communication via the PTP
+	  ports. This is required as PTP listens on ports < 1024 and thus
+	  requires special privileges. Once this helper process is started, the
+	  main process will synchronize to all PTP domains that are detected on
+	  the selected interfaces.
+	  gst_ptp_clock_new() then allows to create a GstClock that provides the
+	  PTP time from a master clock inside a specific PTP domain. This clock
+	  will only return valid timestamps once the timestamps in the PTP domain
+	  are known. To check this, the GstPtpClock::internal-clock property and
+	  the related notify::clock signal can be used. Once the internal clock
+	  is not NULL, the PTP domain's time is known. Alternatively you can wait
+	  for this with gst_ptp_clock_wait_ready().
+	  To gather statistics about the PTP clock synchronization,
+	  gst_ptp_statistics_callback_add() can be used. This gives the
+	  application the possibility to collect all kinds of statistics
+	  from the clock synchronization.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
+
+2015-06-03 13:16:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstclock.c:
+	* gst/gstclock.h:
+	* win32/common/libgstreamer.def:
+	  clock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related API
+	  gst_clock_wait_for_sync(), gst_clock_is_synced() and gst_clock_set_synced()
+	  plus a signal to asynchronously wait for the clock to be synced.
+	  This can be used by clocks to signal that they need initial synchronization
+	  before they can report any time, and that this synchronization can also get
+	  completely lost at some point. Network clocks, like the GStreamer
+	  netclientclock, NTP or PTP clocks are examples for clocks where this is useful
+	  to have as they can't report any time at all before they're synced.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
+
+2015-06-03 18:03:36 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst/gstallocator.h:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	  memory: provide a mem_unmap function that takes the flags to unmap
+	  There are gstmemory's available that operate in two memory domains
+	  and need to ensure consistent access between these domains.
+	  Imagine a scenario where e.g. the GLMemory is mapped twice in both
+	  the GPU and the CPU domain.  On unmap or a subsequent map, it would
+	  like to ensure that the most recent data is available in the memory
+	  domain requested.  Either by flushing the writes and/or initiating a
+	  DMA transfer.  Without knowing which domain is being unmapped, the
+	  memory does not know where the most recent data is to transfer to
+	  the other memory domain.
+	  Note: this still does not allow downgrading a memory map.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750319
+
+2015-06-02 16:14:50 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst/gstmemory.c:
+	* tests/check/gst/gstmemory.c:
+	  memory: gst_memory_share may fail to exclusively lock the parent memory
+	  Now that locking exclusively dows not always succeed, we need to signal
+	  the failure case from gst_memory_init.
+	  Rather than introducing an API or funcionality change to gst_memory_init,
+	  workaround by checking exclusivity in the calling code.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750172
+
+2015-06-02 00:23:37 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst/gstbuffer.c:
+	* tests/check/gst/gstbuffer.c:
+	  buffer: locking memory exclusively may fail
+	  Attempt to return a copy of the memory instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750172
+
+2015-05-31 21:25:23 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst/gstminiobject.c:
+	* tests/check/gst/gstmemory.c:
+	  miniobject: disallow a double write/exclusive lock
+	  gst_memory_lock (mem, WRITE | EXCLUSIVE);
+	  gst_memory_lock (mem, WRITE | EXCLUSIVE);
+	  Succeeds when the part-miniobject.txt design doc suggests that this should fail:
+	  "A gst_mini_object_lock() can fail when a WRITE lock is requested and
+	  the exclusive counter is > 1. Indeed a GstMiniObject object with an
+	  exclusive counter 1 is locked EXCLUSIVELY by at least 2 objects and is
+	  therefore not writable."
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750172
+
+2015-06-02 20:32:35 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gsturi.c:
+	  uri: match return type of get_uri_type() implementation to declaration
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750292
+
+2015-06-03 00:12:36 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstbuffer.c:
+	  gstbuffer: Add a note about metas needing to be copied last
+
+2015-05-27 22:23:00 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstvalue.c:
+	* tests/check/gst/gstvalue.c:
+	  gstvalue: Implement gst_value_is_subset() for flagsets
+
+2015-06-02 16:33:48 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/check/gst/gstprotection.c:
+	  check: Use GST_CHECK_MAIN macro
+
+2015-05-20 21:18:08 +0900  eunhae choi <eunhae1.choi@samsung.com>
+
+	* plugins/elements/gstdownloadbuffer.c:
+	  downloadbuffer: release lock before posting msg
+	  to avoid the deadlock in playbin2,
+	  send msg after release the download buffer lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749535
+
+2015-05-31 20:21:42 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst/gststructure.c:
+	  structure: add note about missing field creation on _set()
+
+2015-05-30 13:01:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstcaps.c:
+	* tests/check/gst/gststructure.c:
+	  tests: fix some leaks in new flagset checks
+
+2015-05-30 12:39:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstqueuearray.c:
+	  queuearray: remove duplicate assignment
+	  We've already done this earlier in the function,
+	  and nothing has changed since we first read it.
+
+2015-05-27 17:22:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/gst.c:
+	  gst/gst.c: Add a warning about DllMain to prevent misuse
+	  DllMain should not be relied on for anything except storing the DLL handle.
+	  It should also not be defined for static builds, but doing so is not
+	  straightforward and is mostly harmless, so let's just add a comment about that
+	  for now.
+
+2015-05-27 13:54:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstfunnel.c:
+	  funnel: Improve debug output a bit
+
+2015-05-26 14:46:16 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* docs/design/draft-klass.txt:
+	  docs: fix typo in draft-klass.txt
+
+2015-05-26 14:03:25 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* docs/code-reviews/README:
+	* docs/code-reviews/gstbin.c-1.41:
+	  code-reviews: remove obsolete code reviews
+	  This obsolete folder hasn't been touched since 2001 and has no purpose. It
+	  confuses new developers.
+
+2015-05-25 21:02:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: use the slightly more correct take_sample for last-sample
+	  gst_value_take_buffer() and gst_value_take_sample() both resolve to
+	  g_value_take_boxed().  Use the method with the correct name if we
+	  ever change that.
+
+2015-05-25 16:23:33 +1000  Jan Schmidt <jan@centricular.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gststructure.c:
+	* gst/gststructure.h:
+	* gst/gstvalue.c:
+	* gst/gstvalue.h:
+	* tests/check/gst/capslist.h:
+	* tests/check/gst/gstcaps.c:
+	* tests/check/gst/gststructure.c:
+	* tests/check/gst/gstvalue.c:
+	* win32/common/libgstreamer.def:
+	  gstvalue: Add GstFlagSet type
+	  GstFlagSet is a new type designed for negotiating sets
+	  of boolean capabilities flags, consisting of a 32-bit
+	  flags bitfield and 32-bit mask field. The mask field
+	  indicates which of the flags bits an element needs to have
+	  as specific values, and which it doesn't care about.
+	  This allows efficient negotiation of arrays of boolean
+	  capabilities.
+	  The standard serialisation format is FLAGS:MASK, with
+	  flags and mask fields expressed in hexadecimal, however
+	  GstFlagSet has a gst_register_flagset() function, which
+	  associates a new GstFlagSet derived type with an existing
+	  GFlags gtype. When serializing a GstFlagSet with an
+	  associated set of GFlags, it also serializes a human-readable
+	  form of the flags for easier debugging.
+	  It is possible to parse a GFlags style serialisation of a
+	  flagset, without the hex portion on the front. ie,
+	  +flag1/flag2/flag3+flag4, to indicate that
+	  flag1 & flag4 must be set, and flag2/flag3 must be unset,
+	  and any other flags are don't-care.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746373
+
+2015-05-20 20:19:29 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/gstvalue.c:
+	  gstvalue: Add a comparision function for GstStructures
+
+2015-05-19 14:34:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	* libs/gst/net/gstnettimeprovider.c:
+	  net: keep GCancellable fd around instead of re-creating it constantly
+	  Just create the cancellable fd once and keep it around instead
+	  of creating/closing it for every single packet. Since we spend
+	  most time waiting for packets, an fd is alloced and in use pretty
+	  much all the time anyway.
+
+2015-05-18 12:52:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfdsrc.c:
+	  Revert "doc: Workaround gtkdoc issue"
+	  This reverts commit 460a7bf68292d057c77e84d1ea86b8e73fc081f3.
+	  This should be fixed by the gtk-doc 1.23 release.
+	  <para> cannot contain <refsect2>:
+	  http://www.docbook.org/tdg/en/html/para.html
+	  http://www.docbook.org/tdg/en/html/refsect2.html
+
+2015-05-11 10:52:23 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* plugins/elements/gstsparsefile.c:
+	  sparsefile: small cleanup
+	  The error path unrefs file->file so make sure we only go there when
+	  there is a non-NULL file->file.
+
+2015-05-16 23:29:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* plugins/elements/gstfdsrc.c:
+	  doc: Workaround gtkdoc issue
+	  With gtkdoc 1.22, the XML generator fails when a itemizedlist is
+	  followed by a refsect2. Workaround the issue by wrapping the refsect2
+	  into para.
+
+2015-05-13 13:28:05 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* docs/design/part-negotiation.txt:
+	  docs/design/part-negotiation.txt: minor corrections
+
+2015-05-16 12:57:12 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* libs/gst/controller/gsttimedvaluecontrolsource.c:
+	  timedvaluecontrolsource: Check that the only iter is the end iter in the GSequence
+	  Previous patch was assuming that if the returned iter was the last iter
+	  the GSequence was empty, which is obviously wrong.
+
+2015-05-16 11:17:40 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* libs/gst/controller/gsttimedvaluecontrolsource.c:
+	  timedvaluecontrolsource: Fix removing all keyframes, and adding one back
+	  We were segfaulting because g_sequence_search was returning the iter_end,
+	  and that iterator does not contain anything and thus should not be used
+	  directly
+
+2015-05-15 20:44:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfakesrc.c:
+	  fakesrc: fix property description
+	  We're enterprise now folks.
+
+2015-05-15 14:57:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: bump chain function call logs from LOG to DEBUG
+	  They're really useful compared to other LOG stuff in there, so
+	  there is value is including them and not the rest.
+
+2015-05-15 13:43:12 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstobject.c:
+	* gst/gstobject.h:
+	* tests/check/gst/gstobject.c:
+	* win32/common/libgstreamer.def:
+	  gstobject: add gst_object_has_as_ancestor and deprecate previous function
+	  The old gst_object_has_ancestor will call the new code. This establishes the
+	  symetry with the new gst_object_has_as_parent.
+	  API: gst_object_has_as_ancestor()
+
+2015-05-15 08:05:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstobject.c:
+	* gst/gstobject.h:
+	* tests/check/gst/gstobject.c:
+	* win32/common/libgstreamer.def:
+	  gstobject: rename gst_object_has_parent to gst_object_has_as_parent
+	  This avoid confusion with a potential punction that check if a gstobject has-a
+	  parent.
+	  API: gst_object_has_as_parent()
+
+2015-05-14 15:49:43 +0800  Jian <Jian.Li@freescale.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs
+	  In basesink functions gst_base_sink_chain_unlocked(), below code is used to
+	  checking if buffer is late before doing prepare call to save some effort:
+	  if (syncable && do_sync)
+	  late =
+	  gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
+	  GST_CLOCK_EARLY, 0, FALSE);
+	  if (G_UNLIKELY (late))
+	  goto dropped;
+	  But this code has problem, it should calculate jitter based on current media
+	  clock, rather than just passing 0. I found it will drop all the frames when
+	  rewind in slow speed, such as -2X.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749258
+
+2015-05-11 17:14:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* plugins/elements/gstfdsrc.c:
+	  fdsrc: docs: fix and update documentation
+	  Update example to use gst-launch-1.0 and fix a paragraph.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749233
+
+2015-05-09 11:53:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	  Add removed example directories to CRUFT_DIRS
+
+2015-05-08 14:08:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstparse.c:
+	* plugins/elements/gstcapsfilter.c:
+	* plugins/elements/gstfakesink.c:
+	* plugins/elements/gstfakesrc.c:
+	* plugins/elements/gstfilesink.c:
+	* plugins/elements/gstfilesrc.c:
+	* plugins/elements/gsttee.c:
+	  docs: gst-launch -> gst-launch-1.0 in example pipelines
+	  And some small example pipeline fix-ups.
+
+2015-05-09 22:10:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* docs/design/part-conventions.txt:
+	  docs/design/part-conventions.txt: minor corrections
+
+2015-05-09 22:04:52 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* docs/design/part-context.txt:
+	  docs/design/part-context.txt: minor corrections
+
+2015-05-09 22:01:04 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* docs/design/part-clocks.txt:
+	  docs/design/part-clocks.txt: minor corrections
+
+2015-05-02 17:16:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/manual/appendix-porting.xml:
+	* docs/random/porting-to-1.0.txt:
+	  docs: update porting guides to mention new device probing API
+
+2015-05-01 20:37:18 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* docs/design/part-states.txt:
+	  docs/design/part-states.txt: minor corrections
+
+2015-05-01 18:32:26 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* gst/gstevent.h:
+	  event: remove duplicated include
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748739
+
+2015-04-28 19:59:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* tests/examples/Makefile.am:
+	* tests/examples/launch/.gitignore:
+	* tests/examples/launch/Makefile.am:
+	* tests/examples/launch/mp3parselaunch.c:
+	* tests/examples/metadata/.gitignore:
+	* tests/examples/metadata/Makefile.am:
+	* tests/examples/metadata/read-metadata.c:
+	* tests/examples/queue/.gitignore:
+	* tests/examples/queue/Makefile.am:
+	* tests/examples/queue/queue.c:
+	* tests/examples/typefind/.gitignore:
+	* tests/examples/typefind/Makefile.am:
+	* tests/examples/typefind/typefind.c:
+	  tests: remove some pointless ancient code examples
+
+2015-04-28 17:54:51 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: fix GST_BASE_PARSE_FLAG_LOST_SYNC
+	  Since frame->priv->discont was cleared earlier,
+	  GST_BASE_PARSE_FLAG_LOST_SYNC was never being set.
+	  Take the chance to refactor the frame creation a bit to
+	  organize the flags setting and reset.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738237
+
+2015-03-09 19:31:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: respect DISCONT flag on buffers
+	  Drain the parser when a DISCONT buffer is received and then mark
+	  the next buffer to be pushed as a DISCONT one
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745927
+
+2015-04-28 15:50:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsttaglist.c:
+	  taglist: Copy the tag scope too when copying tag lists
+
+2015-04-20 20:02:51 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* plugins/elements/gstidentity.c:
+	  identity: Also synchronize GAP events in sync=1
+	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
+
+2015-04-20 19:31:37 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* plugins/elements/gstidentity.c:
+	* plugins/elements/gstidentity.h:
+	  identity: With sync=true, don't pre-roll
+	  To act like a real live element, block the streaming when paused, and
+	  return NO_PREROLL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
+
+2015-04-20 19:24:45 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* plugins/elements/gstidentity.c:
+	* plugins/elements/gstidentity.h:
+	  identity: Take upstream latency into account for sync=1
+	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
+
+2015-04-20 19:07:27 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* plugins/elements/gstidentity.c:
+	  identity: Handle PTS and DTS separately
+	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
+
+2015-04-26 17:05:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* .gitignore:
+	* Android.mk:
+	* gst/Makefile.am:
+	* gst/parse/Makefile.am:
+	* libs/Makefile.am:
+	* libs/gst/Makefile.am:
+	* libs/gst/base/Makefile.am:
+	* libs/gst/controller/Makefile.am:
+	* libs/gst/helpers/Makefile.am:
+	* libs/gst/net/Makefile.am:
+	* plugins/Makefile.am:
+	* plugins/elements/Makefile.am:
+	* tests/examples/controller/Makefile.am:
+	* tools/Makefile.am:
+	  Remove obsolete Android build cruft
+	  This is not needed any longer.
+
+2015-04-24 16:51:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  inputselector: Only try to push the first EOS received
+	  Subsequent EOS will push on the source pad that already received
+	  EOS and that will make the event function return FALSE. It needs
+	  only to push the first one and only return TRUE for the subsequent
+	  ones.
+
+2015-04-24 15:19:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstprintf.c:
+	  tests: printf: add unit test for %%
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748414
+
+2015-04-24 15:16:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/printf/vasnprintf.c:
+	  printf: fix invalid memory access in case of %%
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748414
+
+2015-04-23 15:55:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	  tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
+
+2015-04-23 15:54:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/check/gstcheck.h:
+	  check: optionally check env var for us to make sure test env is set up
+	  If GST_CHECK_TEST_ENVIRONMENT_BEACON is defined, check if the
+	  environment variable it is defined to is set up at the start
+	  of each test.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-23 09:06:42 +0900  Changbok Chea <changbok.chea@gmail.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Remove unused assignment in perform_seek()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748345
+
+2015-04-22 11:44:00 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
+
+	* tests/check/gst/gstmemory.c:
+	  test: memory: Added test to verify the allocation params
+	  New test added to verify the allocation params for the memory
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748277
+
+2015-04-22 11:04:06 -0600  Jason Litzinger <jlitzinger@control4.com>
+
+	* tests/check/gst/gstinfo.c:
+	  tests: info: add test case to reproduce infinite loop
+	  gst_debug_unset_threshold_for_name() used to go into an
+	  infinite loop when there was more than one category in
+	  the list.  This test captures the problem by failing
+	  via timeout.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748321
+
+2015-04-22 12:03:33 -0600  Jason Litzinger <jlitzinger@control4.com>
+
+	* gst/gstinfo.c:
+	  gstinfo: fix infinite loop in gst_debug_unset_threshold_for_name()
+	  Ensure iterator is advanced. The current list iteration code only
+	  advances the iterator (walk) if a match is found, which results
+	  in an infinite loop when more than one entry exists in the list.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748321
+
+2015-04-22 10:14:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* scripts/create-uninstalled-setup.sh:
+	  scripts: create-uninstalled-setup: miscellaneous fixes
+	  Error out if required build tools (flex, bison, pkg-config)
+	  are not present, instead of printing a message and then
+	  continuing.
+	  Check out submodules when fetching the repositories, so
+	  they're already there and ready later.
+	  Remove some 0.10 cruft.
+
+2015-04-22 09:59:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* .gitignore:
+	  Add INSTALL to .gitignore
+
+2015-04-22 09:56:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/generic/states.c:
+	  tests: error out if test environment is not actually set up properly
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-22 09:52:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: can use AM_SILENT_RULES unconditionally now
+	  https://autotools.io/automake/silent.html
+
+2015-04-22 09:47:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: bump automake requirement to 1.14 and autoconf to 2.69
+	  This is only required for builds from git, people can still
+	  build tarballs if they only have older autotools.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-22 10:32:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* INSTALL:
+	  Remove INSTALL file
+	  autotools automatically generate this, and when using different versions
+	  for autogen.sh there will always be changes to a file tracked by git.
+
+2015-04-20 22:07:34 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* scripts/gst-uninstalled:
+	  gstreamer-uninstalled: Update path to the GstValidate scenarios
+
+2015-04-20 09:23:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbuffer.c:
+	  buffer: Check return value of meta transform function in gst_buffer_copy_into()
+	  ... by printing some debug output whenever copying a GstMeta fails.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748119
+
+2015-04-18 12:31:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstevent.h:
+	  event: fix header formatting
+
+2015-04-18 12:28:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstprotection.c:
+	  tests: protection: fix leak in unit test
+
+2015-04-18 12:27:46 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gst.h:
+	  gst.h: include the new gstprotection.h header
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
+
+2015-04-15 15:33:31 +0100  Alex Ashley <bugzilla@ashley-family.net>
+
+	* docs/gst/gstreamer-docs.sgml:
+	* docs/gst/gstreamer-sections.txt:
+	* gst/Makefile.am:
+	* gst/gst_private.h:
+	* gst/gstinfo.c:
+	* gst/gstprotection.c:
+	* gst/gstprotection.h:
+	* tests/check/Makefile.am:
+	* tests/check/gst/.gitignore:
+	* tests/check/gst/gstprotection.c:
+	* win32/common/libgstreamer.def:
+	  protection: add GstProtectionMeta to support protected content
+	  In order to support some types of protected streams (such as those
+	  protected using DASH Common Encryption) some per-buffer information
+	  needs to be passed between elements.
+	  This commit adds a GstMeta type called GstProtectionMeta that allows
+	  protection specific information to be added to a GstBuffer. An example
+	  of its usage is qtdemux providing information to each output sample
+	  that enables a downstream element to decrypt it.
+	  This commit adds a utility function to select a supported protection
+	  system from the installed Decryption elements found in the registry.
+	  The gst_protection_select_system function that takes an array of
+	  identifiers and searches the registry for a element of klass Decryptor that
+	  supports one or more of the supplied identifiers. If multiple elements
+	  are found, the one with the highest rank is selected.
+	  This commit adds a unit test for the gst_protection_select_system
+	  function that adds a fake Decryptor element to the registry and then
+	  checks that it can correctly be selected by the utility function.
+	  This commit adds a unit test for GstProtectionMeta that creates
+	  GstProtectionMeta and adds & removes it from a buffer and performs some
+	  simple reference count checks.
+	  API: gst_buffer_add_protection_meta()
+	  API: gst_buffer_get_protection_meta()
+	  API: gst_protection_select_system()
+	  API: gst_protection_meta_api_get_type()
+	  API: gst_protection_meta_get_info()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
+
+2015-03-16 12:35:27 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* tests/check/gst/gstevent.c:
+	* win32/common/libgstreamer.def:
+	  event: add new GST_EVENT_PROTECTION
+	  In order for a decrypter element to decrypt media protected using a
+	  specific protection system, it first needs all the protection system
+	  specific  information necessary (E.g. information on how to acquire
+	  the decryption keys) for that stream.
+	  The GST_EVENT_PROTECTION defined in this commit enables this information
+	  to be passed from elements that extract it (e.g. qtdemux, dashdemux) to
+	  elements that use it (E.g. a decrypter element).
+	  API: GST_EVENT_PROTECTION
+	  API: gst_event_new_protection()
+	  API: gst_event_parse_protection()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
+
+2015-04-18 11:42:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gsttee.c:
+	  tee: fix use of possibly-freed pad in debug statement
+	  The gst_object_unref() in the block above may be dropping
+	  the last ref to the pad and free the pad. Set pad pointer
+	  to NULL here, so that we don't accidentally use a
+	  possibly-freed pad pointer in the debug log statements
+	  further below, and also use the tee element as log object
+	  since that's more appropriate anyway.
+	  Fixes valgrind warnings and crashes in tee test_stress
+	  unit test when debug logging is enabled.
+
+2015-04-18 12:00:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstinfo.c:
+	  tests: info: fix unit test when run with GST_DEBUG=*:9
+	  Only save the messages we're interested in and expecting.
+	  When run with *:9 we might get additional TRACE level
+	  messages from other categories and then we don't end up
+	  with the number of messages we expect.
+
+2015-04-18 11:25:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstpad.c:
+	  tests: pad: fix buffer leak in new blocking_with_probe_type_idle test
+
+2015-04-18 11:11:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstpad.c:
+	  tests: pad: fix invalid memory access in debug log message
+	  The string we put in the buffer is not NUL-terminated, so
+	  don't try to print that via %s in a debug log message.
+
+2015-04-17 15:19:07 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  helpers: on OSX, MKDIR_P is install-sh -c -d
+	  So we need to call it before cding to the bin directory.
+
+2015-04-17 13:02:12 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  helpers: install -D isn't portable, use $(MKDIR_P) instead.
+
+2015-04-14 10:47:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/gst/gstpad.c:
+	  tests: pad: test that idle probe will block
+	  This tests add an idle probe on an idle pad from a separate thread
+	  so that the callback is called immediatelly. This callback will sit
+	  still and then we try to push a buffer on this same pad. It verifies
+	  that the idle probe blocks data passing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747852
+
+2015-04-14 17:06:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/gstpad.c:
+	  pad: block data flow when idle probe is running
+	  When idle probe runs directly from the gst_pad_add_probe() function
+	  we need to make sure that no data flow happens as idle probe
+	  is a blocking probe. The idle probe will prevent that any
+	  buffer, bufferlist or serialized events and queries are not
+	  flowing while it is running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747852
+
+2015-04-16 13:41:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gsturi.c:
+	  docs: clarify that return value of gst_filename_to_uri() must be freed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747104
+
+2015-04-15 11:02:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/gstbin.c:
+	* tests/check/generic/states.c:
+	  bin: undo upward state changes on children when a child fails
+	  When a bin changes states upwards, and a child fails to change,
+	  any child that was already switched will not be reset to its
+	  original state, leaving its state inconsistent with the bin,
+	  which does not change state due to the failure.
+	  If the state change was from NULL to READY, it means that deleting
+	  this bin will cause those children to be deleted while not in
+	  NULL state, which is a Bad Thing. For other upward changes, it
+	  is less of a problem, as a subsequent switch back to NULL will
+	  cause an actual downwards change on those inconsistent elements,
+	  albeit from the "wrong" state.
+	  We now reset state to the original one when a child fails.
+	  Includes unit test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747610
+
+2015-04-15 14:45:21 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  helpers: use $(INSTALL) to ... install the helper.
+	  As it will create the folders and set permissions appropriately,
+	  better than doing it manually.
+
+2015-04-15 13:02:36 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  helpers: Fix Makefile.am to install the completion-helper correctly.
+	  + The program is installed at install-exec time, we thus need
+	  to move it in install-exec-hook, not install-data-hook.
+
+2015-04-15 11:38:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  Revert "basesrc: fix pool leak on allocation query error path"
+	  This reverts commit 84fdf50b2f98951a32fa14802b62621f1105cd35.
+	  It seems the bug was fixed independently, and the merge was
+	  automagic, yielding two extra free calls.
+
+2015-04-14 13:42:55 +0900  Suhwang Kim <suhwang.kim@lge.com>
+
+	* tests/check/gst/gstclock.c:
+	  tests: clock: fix test clock name
+	  Don't call the slave test clock "Master".
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746430
+
+2015-04-14 17:47:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstelementfactory.c:
+	* gst/gstelementfactory.h:
+	  elementfactory: add ENCRYPTOR class defines
+	  to go with DECRYPTOR.
+
+2015-03-16 13:11:59 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* gst/gstelementfactory.c:
+	* gst/gstelementfactory.h:
+	  elementfactory: add DECRYPTOR class defines
+	  An element that performs decryption does not naturally fit within any
+	  of the existing element factory class types. It is useful to be able
+	  to easily get a list of all elements that support decryption so that
+	  a union can be computed between the protection systems that have a
+	  supported decryptor and the allowed protection systems for a particular
+	  stream.
+	  This commit adds a new GST_ELEMENT_FACTORY_TYPE_DECRYPTOR and its
+	  associated string identifier "Decryptor". It also adds
+	  GST_ELEMENT_FACTORY_TYPE_DECRYPTOR to GST_ELEMENT_FACTORY_TYPE_DECODABLE
+	  so that uridecodebin can auto-plug a decryption element.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
+
+2015-04-13 17:01:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefindelement: Use gst_event_unref() instead of gst_mini_object_unref() + casting
+
+2015-04-13 14:40:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: fix leak in gst_type_find_element_src_event()
+	  gst_type_find_element_src_event() is supposed to consume @event but wasn't
+	  doing so when it was handling the event itself.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747775
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-11 20:44:02 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: reset errno before g_ascii_strtoull call
+	  "errno" already has meaningless value before g_ascii_strtoull call.
+	  This causes invalid error check without reset.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747690
+
+2015-04-12 13:13:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Only set DTS to segment.start on the first buffer if subclass did not provide PTS
+	  Otherwise we're going to set a rather arbitrary DTS of segment.start (usually
+	  0) for live sources, which confuses synchronization if the source started
+	  capturing at a later time. And it's especially wrong for raw media, for which
+	  we should not set any DTS at all.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747731
+
+2014-09-02 17:40:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Run the default have-type handler after all application handlers
+	  Otherwise the CAPS event will already be forwarded downstream and
+	  the application has no way to intervene anymore.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735896
+
+2015-03-10 12:57:44 +1000  Duncan Palmer <dpalmer@digisoft.tv>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Don't automatically enter the buffering state when use-buffering is set.
+	  There is no reason I can see to set mq->buffering = TRUE when
+	  use_buffering is set; the code here also calls update_buffering(), which
+	  will set mq->buffering = TRUE if this is warranted because of low buffer
+	  levels.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745937
+
+2015-04-10 12:32:27 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: fix cached buffer leak in chain function
+	  gst_selector_pad_chain() was popping cached buffers out of the queue without
+	  freeing those. Make sure we don't steal the GstBuffer as the cached buffer ref
+	  has been passed to the pad chain function.
+	  This can be reproduced by running the
+	  validate.file.playback.switch_subtitle_track_while_paused.test5_mkv scenario
+	  with Valgrind.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747611
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-08 16:04:11 +0200  Edward Hervey <edward@centricular.com>
+
+	* common:
+	* tests/check/Makefile.am:
+	* tests/examples/manual/Makefile.am:
+	  tests: Use AM_TESTS_ENVIRONMENT
+	  Needed by the new automake test runner
+
+2015-04-07 15:00:46 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
+
+	* gst/gstbufferlist.c:
+	  bufferlist: make sure list is writable before adding or removing buffers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747439
+
+2015-04-07 14:34:58 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
+
+	* gst/gstbufferlist.c:
+	  bufferlist: minor docs addition for gst_buffer_list_get()
+	  Return buffer remains valid as long as list is valid
+	  and buffer is not removed from list.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747438
+
+2015-04-07 11:38:31 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: fix pool leak on allocation query error path
+	  It could be triggered by:
+	  gst-launch-1.0 videotestsrc num-buffers=20 ! videcrop bottom=214748364 ! videoconvert ! autovideosink
+	  Spotted while testing:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743910
+
+2015-04-06 18:45:37 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Forward SEGMENT_DONE events immediately
+	  There might be no more data coming afterwards, and we just drained everything
+	  that was left to be pushed anyway.
+
+2015-04-06 18:56:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  docs: fix cross-reference to environment variables in GstInfo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747416
+
+2015-04-06 10:18:15 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
+
+	* gst/gstmemory.c:
+	  memory: add check for writablity in resize
+	  Add guard to gst_memory_resize() to make sure the
+	  memory to be resized is actually writable.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747392
+
+2015-04-05 16:47:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/multiqueue.c:
+	  tests: multiqueue: add test to make sure initial events go through without buffers
+
+2015-04-05 16:06:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/queue.c:
+	  tests: queue: check that the initial events are sent on immediately
+	  Add a check that makes sure stream-start, caps, and segment events
+	  are passed on by queue without delay, i.e. even if no buffer is
+	  sent.
+
+2015-04-04 18:33:18 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: Print debug output from gst_pad_link_full() if preparing linking failed
+	  Makes it easier to find linking failures in debug logs.
+
+2015-04-04 19:29:51 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstsegment.h:
+	  segment: small docs addition
+	  https://bugzilla.gnome.org/show_bug.cgi?id=690564
+
+2015-04-04 18:18:03 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/design/part-streams.txt:
+	* docs/design/part-synchronisation.txt:
+	  docs: design: fix some 0.10-isms in GstSegment docs
+	  1) segment.accum -> segment.base
+	  2) Refer to GstSegment members as S.foo instead of
+	  NS.foo, the event is now called a segment event
+	  rather than newsegment event.
+	  3) There's no more abs_rate field in GstSegment,
+	  and there never was an abs_applied_rate field.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=690564
+
+2015-04-04 04:14:50 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: do not leak buffer pool in error case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747321
+
+2015-04-03 19:12:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/gsturi.c:
+	  uri: Silence a compiler warning
+	  This is a false positive for use initialized. The variable is set and
+	  used enclosed in the safe if condition.
+
+2015-04-03 16:32:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	  doc: Add gst_segment_to_running_time_full
+
+2015-04-03 13:19:13 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Fix documentation, buffer pools are unreffed and not freed
+
+2015-04-03 20:43:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* INSTALL:
+	  Update INSTALL to the automake 1.14 version
+
+2015-04-03 18:57:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* autogen.sh:
+	* common:
+	  Automatic update of common submodule
+	  From bc76a8b to c8fb372
+
+2015-04-03 16:27:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstreamer.def:
+	  win32: fix exports
+
+2015-03-19 10:45:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	* win32/common/libgstreamer.def:
+	  segment: add gst_segment_is_equal
+	  It beats memcmp due to the 'reserved' fields.
+	  API: gst_segment_is_equal()
+	  Found via, but probably not directly linked to,
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738216
+
+2015-04-03 00:36:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstbase.def:
+	* win32/common/libgstreamer.def:
+	  win32: add new API to exports
+
+2014-08-06 10:32:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstpad.c:
+	* tests/check/gst/gstpad.c:
+	  pad: allow probes to remove the data item whilst returning PROBE_OK
+	  Use case: we want to block the source pad of a leaky queue and
+	  drop the buffer that causes the block. If we return PROBE_DROP
+	  then the buffer gets dropped, but we get called again. If we
+	  return PROBE_OK we can't easily drop the buffer. If we just
+	  replace the item into the GstPadProbeInfo structure with NULL,
+	  GStreamer will push a NULL buffer to the next element when we
+	  unblock the pad probe. This patch ensures it doesn't do that.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734342
+
+2015-02-12 19:39:44 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gstelement.c:
+	  element: Document when a clock is available from gst_element_get_clock()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744442
+
+2015-02-12 19:40:06 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstpipeline.c:
+	* gst/gstpipeline.h:
+	  pipeline: Add binding friendly gst_pipeline_get_pipeline_clock()
+	  Also skip gst_pipeline_get_clock() and gst_pipeline_set_clock() from the
+	  bindings as they are confused with gst_element_*_clock().
+	  API: gst_pipeline_get_pipeline_clock()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744442
+
+2015-04-02 17:32:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Add Since mark for new method
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734424
+
+2015-02-20 17:50:48 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	  basetransform: Add a method to let subclasses cleanly update srcpad caps
+	  API:
+	  gst_base_transform_update_src
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734424
+
+2015-04-02 21:18:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/pwg/advanced-scheduling.xml:
+	* docs/pwg/advanced-types.xml:
+	  docs: pwg: fix missing comma and 0.10-ism in code sample
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747267
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747266
+
+2015-04-02 19:29:46 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* gst/gstmemory.c:
+	  memory: improve docs for _copy() and _share()
+
+2015-04-02 11:42:20 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
+
+	* tests/check/elements/filesink.c:
+	  test: filesink: add tests for buffers with multiple memory blocks
+	  Update test_seeking testcase to verify the render and render_list
+	  virtual method handle buffers and buffer list containing multiple
+	  memory blocks correctly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747223
+
+2015-04-02 09:44:33 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/gstelement.h:
+	  element: Add a FIXME for 2.0 about request_new_pad VS request_pad naming
+
+2015-04-02 09:34:00 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/gstelement.c:
+	  element: Fix request_new_pad introspection
+	  Marking gst_element_request_pad as the caller of the ->request_new_pad
+	  virtual method.
+
+2015-04-01 09:20:24 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
+
+	* tests/check/elements/filesink.c:
+	  tests: filesink: add check for render_list virtual method
+	  GstFileSink implements the render_list virtual method to render
+	  a list of buffers. Update the test_seeking test case to also
+	  check the render_list method implementation.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747100
+
+2015-04-01 12:13:17 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gst_private.h:
+	* gst/gstcaps.c:
+	* gst/gstdebugutils.c:
+	  debugutils: nicer printing of caps features
+	  Only print interesting caps features, don't
+	  append (memory:SystemMemory) to all caps,
+	  which makes them much more unwieldy and
+	  harder to read. Also use internal function
+	  to get caps features so that our printing
+	  has no side effects on the caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746809
+
+2015-03-26 13:05:57 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* gst/gstdebugutils.c:
+	  debugutils: plot caps features
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746809
+
+2015-03-31 23:48:22 +0900  Wonchul Lee <chul0812@gmail.com>
+
+	* gst/gstpad.c:
+	  pad: Fix a typo in a docstring
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747119
+
+2015-03-31 11:15:10 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/Makefile.am:
+	* libs/gst/base/Makefile.am:
+	* libs/gst/check/Makefile.am:
+	* libs/gst/controller/Makefile.am:
+	* libs/gst/net/Makefile.am:
+	  introspection: Don't use g-ir-scanner cache at compile time
+	  It pollutes user directories and we don't need to cache it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747095
+
+2015-03-28 14:45:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: fix outdated debug message
+	  Buffer lists don't have groups any more in 1.0
+
+2015-03-27 18:20:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Flush-stop starts live task in paused
+	  The flush-stop event should not restart the task for live sources unless
+	  the element is playing. This was breaking seeks in pause with the rtpsrc.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=635701
+
+2015-03-27 16:23:40 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/check/elements/filesink.c:
+	  tests: check location isn't truncated
+	  Test covering the recent commit where location='".abc' won't get truncated
+	  to '.ab' anymore
+	  https://bugzilla.gnome.org/show_bug.cgi?id=688625
+
+2015-03-26 17:01:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gstvalue.c:
+	* tests/check/gst/gstvalue.c:
+	  gstvalue: only unwrap string delimited with "
+	  Don't unwrap strings that start but don't finish with a double quote. If a
+	  string is delimited by two quotes we unescape them and any special characters
+	  in the middle (like \" or \\). If the first character or the last character
+	  aren't a quote we assume it's part of an unescaped string.
+	  Moved some deserialize_string unit tests because we don't try to unwrap strings
+	  missing that second quote anymore.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=688625
+
+2015-03-27 17:16:03 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/parse/grammar.y:
+	  parse: check before truncating strings
+	  Don't truncate the last character of a string if it isn't necessary.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=688625
+
+2015-03-27 10:15:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbus.c:
+	  bus: Add guards against invalid arguments to set_flushing() and poll()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746871
+
+2015-03-25 10:49:08 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	* tests/check/libs/baseparse.c:
+	  baseparse: only post 'no valid frames' error if buffers were received
+	  Otherwise baseparse will consider empty streams to be an error while
+	  an empty stream is a valid scenario. With this patch, errors would
+	  only be emitted if the parser received data but wasn't able to
+	  produce any output from it.
+	  This change is only for push-mode operation as in pull mode an
+	  empty file can be considered an error for the one driving the
+	  pipeline
+	  Includes a unit test for it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733171
+
+2015-03-19 10:36:11 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* plugins/elements/gsttee.c:
+	* plugins/elements/gsttee.h:
+	* tests/check/elements/tee.c:
+	  tee: Add allow-not-linked property
+	  This property avoids not linked error when all the pads are unlinked
+	  or when there are no source pads. This is useful in dynamic pipelines
+	  where it can happen that for a short time there are no pads at all or
+	  all downstream pads are not linked yet.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746436
+
+2015-03-21 17:13:18 -0500  Michael Catanzaro <mcatanzaro@gnome.org>
+
+	* docs/gst/running.xml:
+	  docs: Fix typos
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746585
+
+2015-03-21 15:46:50 -0500  Michael Catanzaro <mcatanzaro@gnome.org>
+
+	* gst/gstpluginloader.c:
+	  pluginloader: Fix typos
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746585
+
+2015-03-24 16:04:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstoutputselector.c:
+	  output-selector: add drain handling
+	  Release the latest buffer, if any, and then just let
+	  the drain be pushed downstream
+
+2015-03-24 19:32:49 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* Makefile.am:
+	  Revert "Fix distcheck"
+	  This reverts commit 56dd2d89c4eac460cbc37e2a51c1dd9e792999e8.
+	  Installing completions to a custom prefix is now fixed.
+
+2015-03-24 19:30:52 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  helpers: remove completion-helper on uninstall
+	  + And add it to CLEANFILES
+
+2015-03-18 19:38:15 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* data/completions/gst-inspect-1.0:
+	* data/completions/gst-launch-1.0:
+	* libs/gst/helpers/gst:
+	  completions: remove last unnamespaced symbols.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744877
+
+2015-03-18 14:44:21 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* data/completions/gst-inspect-1.0:
+	* data/completions/gst-launch-1.0:
+	  completions: remove deprecated shell syntax.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
+
+2015-03-18 14:37:11 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* data/completions/gst-inspect-1.0:
+	* data/completions/gst-launch-1.0:
+	  completions: prefix shell functions with _gst
+	  + To make it more difficult for them to conflict in the
+	  global namespace.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
+
+2015-03-24 13:13:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* configure.ac:
+	  bash-completion: Respect the prefix
+	  Don't try and install the bash helpers outside the defined prefix.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744877
+
+2014-11-19 13:08:45 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: Rename _activate_sinkpad to _get_active_sinkpad
+	  Removes the now unused 'pad' parameter and renames the function
+	  to something more appropriate.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739620
+
+2014-11-19 13:03:21 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: Remove pad's 'active' field
+	  This is now never read.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739620
+
+2014-11-19 12:59:12 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: Use segment-presence for running_time check
+	  When determining whether the running_time of a pad can be
+	  calculated, check if the segment is in TIME format instead
+	  of using the 'active' field.
+	  Since the latter is set through *any* activity, it's not a
+	  reliable indicator of segment presence.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739620
+
+2015-03-23 13:20:34 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  input-selector: Remove 'blocked' flag
+	  With the disappearance of the 'block' signal, this
+	  flag cannot be set to TRUE.
+	  gst_input_selector_wait disappears as it never waits
+	  and just returns self->flushing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736891
+
+2015-03-23 12:12:51 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  input-selector: Remove obsolete 'block' signal
+	  This signal blocks the input-selector with no means of unblocking
+	  other than a state change back to READY. It seems this signal was
+	  part of an old way of synchronously switching the selector,
+	  together with the already-removed 'switch' signal.
+	  Removing the signal is safe, as attempting to use it could only
+	  end in deadlocks. Attempting to emit an unknown signal just causes
+	  g_criticals.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736891
+
+2015-03-23 13:05:30 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: Fix waiting on EOS
+	  This apparently got broken by bc1ec4e. Since self->blocked is always
+	  FALSE, gst_input_selector_wait never actually waits.
+	  Using (!self->eos || self->blocked) && ... as the loop condition would
+	  be incorrect as well, because then the other call to the function in
+	  _chain would block until EOS, so the functions cannot be merged trivially.
+	  Since blocking is obsolete, gst_input_selector_wait will get removed anyway.
+	  As such, just inline the loop.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746518
+
+2015-03-20 07:23:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/selector.c:
+	  tests: input-selector: new tests for EOS handling
+	  3 new tests:
+	  1) Tests that a stream that is empty (just an EOS event)
+	  on inactive pad doesn't get through and tamper
+	  with the active pad that still has data
+	  2) Tests that a stream that is shorter than the active one
+	  (pushes EOS earlier) doesn't has its EOS pushed
+	  3) Tests that switching to an inactive stream that has received
+	  EOS will make input-selector push EOS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746518
+
+2015-03-19 12:11:19 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/selector.c:
+	  tests: selector: remove weird semicolons at the end of test functions
+	  Even though it works, it is not needed and seems more natural
+	  to not have semicolons at the end of function declarations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746518
+
+2014-07-17 16:33:29 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: Process SEEKING query
+	  Add QUERY_SEEKING handling to queue2, so RTMP live streams become
+	  seekable when a queue2 in download or ringbuffer mode is inserted:
+	  rtmpsrc ! queue2 ! flvdemux
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733351
+
+2015-03-21 19:37:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/check/libcheck/check_run.c:
+	  check: Fix uninitialized variable compiler warning with gcc
+	  check_run.c: In function 'sig_handler':
+	  check_run.c:127:13: warning: 'child_sig' may be used uninitialized in this function [-Wmaybe-uninitialized]
+	  killpg(group_pid, child_sig);
+	  ^
+	  check_run.c:130:31: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
+	  sigaction(sig_nr, &old_action[idx], NULL);
+	  ^
+
+2015-03-21 15:19:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/check/libcheck/check_run.c:
+	  check: Catch SIGTERM and SIGINT in the test runner and kill all currently running tests
+	  Otherwise e.g. ctrl+c in the test runner exits the test runner, while the test
+	  itself is still running in the background, uses CPU and memory and potentially
+	  never exits (e.g. if the test ran into a deadlock or infinite loop).
+	  The reason why we have to manually kill the actual tests is that after
+	  forking they will be moved to their own process group, and as such are
+	  not receiving any signals sent to the test runner anymore. This is supposed
+	  to be done to make it easier to kill a test, which it only really does if
+	  the test itself is forking off new processes.
+	  This fix is not complete though. SIGKILL can't be caught at all, and error
+	  signals like SIGSEGV, SIGFPE are currently not caught. The latter will only
+	  happen if there is a bug in the test runner itself, and as such seem less
+	  important.
+
+2015-03-19 13:51:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstvalve.c:
+	  valve: Don't drop non-serialized queries when the valve is dropping
+	  Otherwise we end up dropping e.g. CAPS queries, and then upstream just
+	  negotiates to whatever format it wants to. Once the valve is not-dropping
+	  anymore this can easily result in negotiation failing completely.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746448
+
+2015-03-20 09:00:47 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gst.c:
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	* tests/check/gst/gstsegment.c:
+	* win32/common/libgstreamer.def:
+	  segment: remove the bounds check from _to_running_time_full()
+	  Do not do any checks for the start/stop in the new
+	  gst_segment_to_running_time_full() method, we can let this be done by
+	  the more capable gst_segment_clip() method. This allows us to remove the
+	  enum of results and only return the sign of the calculated running-time.
+	  We need to put the old clipping checks in the old
+	  gst_segment_to_running_time() still because they work slightly
+	  differently than the _clip methods.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=740575
+
+2015-03-19 17:36:36 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	* tests/check/gst/gstsegment.c:
+	  segment: add option to disable clipping
+	  Add a clip argument to gst_segment_to_running_time_full() to disable
+	  the checks against the segment boundaries. This makes it possible to
+	  generate an extrapolated running-time for timestamps outside of the
+	  segment.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=740575
+
+2015-03-18 16:27:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gst.c:
+	  gst: ref/unref new enum type in gst_init/deinit()
+
+2015-03-18 14:16:48 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* tests/misc/test-gstreamer-completion.sh:
+	* tools/gstreamer-completion:
+	  tools: remove outdated completion script
+	  + Remove the associated test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
+
+2015-03-18 11:31:51 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	* tests/check/gst/gstsegment.c:
+	* win32/common/libgstreamer.def:
+	  segment: add helper to get negative running-time
+	  Add a helper method to get a running-time with a little more features
+	  such as detecting if the value was before or after the segment and
+	  negative running-time.
+	  API: gst_segment_to_running_time_full()
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740575
+
+2015-03-18 10:53:30 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstsegment.c:
+	* tests/check/gst/gstsegment.c:
+	  segment: fix offset handling with non 0 start
+	  The position in the segment is relative to the start but the offset
+	  isn't, so subtract the start from the position when setting the offset.
+	  Add unit test for this as well.
+
+2015-03-18 09:36:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstfunnel.c:
+	  funnel: Add support for buffer lists
+
+2013-11-29 16:28:41 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: remove duplicate code
+	  These are already freed by gst_base_parse_clear_queues()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
+
+2015-03-17 15:41:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpluginloader.c:
+	  pluginloader: Fix indention
+
+2015-03-13 11:08:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: reset skip on segments and discontinuities
+	  Large scale skip is an optimization, and thus it is safer to
+	  stop skipping than to continue. Clear skip on segments and
+	  discontinuities, as these are points where it is possible that
+	  the original idea of "bytes to skip" changes.
+
+2015-03-15 14:19:17 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Don't grow queue infinitely if only one pad is linked
+	  This was introduced by
+	  https://bugzilla.gnome.org/show_bug.cgi?id=719893
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722891
+	  but it doesn't make any sense at all and causes huge memory leaks.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744253
+
+2015-03-14 21:07:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: handle empty buffer list more gracefully
+	  Don't abort, just ignore it. It's like a buffer
+	  without memories.
+
+2015-03-14 17:39:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstadapter.c:
+	  adapter: minor optimisation for gst_adapter_take_buffer_list()
+	  Try to allocate buffer list with a suitable size from the
+	  beginning to avoid having to re-alloc the buffer list array.
+
+2015-03-14 17:23:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/adapter.c:
+	  tests: add unit test for gst_adapter_take_buffer_list()
+
+2015-03-14 17:20:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstadapter.c:
+	* libs/gst/base/gstadapter.h:
+	* win32/common/libgstbase.def:
+	  adapter: add gst_adapter_take_buffer_list()
+	  API: gst_adapter_take_buffer_list()
+
+2015-03-14 16:05:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/.gitignore:
+	* tests/check/elements/.gitignore:
+	  Add new streamiddemux binaries to .gitignore
+
+2015-03-14 16:00:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstcollectpads.c:
+	  collectpads: avoid multiple calls to gst_buffer_get_size() in macro
+
+2015-03-14 15:58:00 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstadapter.c:
+	  adapter: avoid multiple calls to gst_buffer_get_size() in macro
+
+2015-03-13 18:22:01 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>
+
+	* gst/gstelement.c:
+	  element: properly escape percent sign in documentation
+
+2015-03-14 13:37:09 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbuffer.c:
+	  buffer: Use the correct enum type to fix a compiler warning
+	  gstbuffer.c:522:58: error: implicit conversion from enumeration type 'GstBufferFlags' to
+	  different enumeration type 'GstBufferCopyFlags' [-Werror,-Wenum-conversion]
+	  if (!gst_buffer_copy_into (copy, (GstBuffer *) buffer, flags, 0, -1))
+	  ~~~~~~~~~~~~~~~~~~~~                              ^~~~~
+	  gstbuffer.c:534:46: error: implicit conversion from enumeration type 'GstBufferCopyFlags' to
+	  different enumeration type 'GstBufferFlags' [-Werror,-Wenum-conversion]
+	  return gst_buffer_copy_with_flags (buffer, GST_BUFFER_COPY_ALL);
+	  ~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~~~~~
+	  ./gstbuffer.h:433:31: note: expanded from macro 'GST_BUFFER_COPY_ALL'
+	  ...((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY))
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+2015-03-14 14:06:09 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* win32/common/libgstnet.def:
+	  defs: update defs
+
+2014-10-30 15:39:21 +0000  William Manley <will@williammanley.net>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/net/Makefile.am:
+	* libs/gst/net/gstnetcontrolmessagemeta.c:
+	* libs/gst/net/gstnetcontrolmessagemeta.h:
+	  meta: Add `GstNetControlMessageMeta`
+	  GstNetAddress can be used to store ancillary data which was received with
+	  or is to be sent alongside the buffer data.  When used with socket sinks
+	  and sources which understand this meta it allows sending and receiving
+	  ancillary data such as unix credentials (See `GUnixCredentialsMessage`)
+	  and Unix file descriptions (See `GUnixFDMessage`).
+	  This will be useful for implementing protocols which use file-descriptor
+	  passing in payloaders/depayloaders without having to re-implement all the
+	  socket handling code already present in elements such as multisocketsink,
+	  etc.  This, in turn, will be useful for implementing zero-copy video IPC.
+	  This meta uses the platform independent `GSocketControlMessage` API
+	  provided by GLib as a part of GIO.  As a result this new meta does not
+	  require any new dependencies or any conditional compliation for
+	  portablility, although it is unlikely to do anything useful on non-UNIX
+	  platforms.
+
+2015-03-14 11:57:33 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/gstquery.c:
+	  allocation: Allow allocation pool without size
+	  This allow proposing a number of buffers required even if the size
+	  of buffer is unfixed. This is often the case for encoded formats.
+
+2015-03-01 13:15:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst/gstbufferpool.c:
+	* tests/check/gst/gstbufferpool.c:
+	  bufferpool: Don't stop the pool in set_config()
+	  Don't stop the pool in set_config(). Instead, let the controlling
+	  element manage it. Most of the time, when an active pool is being
+	  configured is because the caps didn't change.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745377
+
+2015-03-13 18:53:11 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: drain on allocation query
+	  Allows buffers to be reclaimed when caps is to be renegotiated so
+	  that bufferpools can be stopped. As the allocation query is
+	  serialized all buffers have been already drained from the pipeline,
+	  except this last_sample one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=682770
+
+2015-03-13 18:35:14 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: when draining, deep copy the last buffer to unref old memory
+	  Use gst_buffer_copy_deep() to force the copy of the underlying
+	  memory instead of possibly doing a shallow copy of the buffer
+	  and just referencing the memory
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745287
+
+2015-03-13 18:35:01 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* tests/check/gst/gstbuffer.c:
+	* win32/common/libgstreamer.def:
+	  gstbuffer: add gst_buffer_copy_deep
+	  A variant of gst_buffer_copy that forces the underlying memory
+	  to be copied.
+	  This is added to avoid adding an extra reference to a GstMemory
+	  that might belong to a bufferpool that is trying to be drained.
+	  The use case is when the buffer copying is done to release the
+	  old buffer and all its resources.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745287
+
+2015-03-13 15:31:30 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbus.c:
+	  bus: Use g_list_free_full() instead of manually unreffing and freeing
+	  Also unref the messages, not the GList nodes.
+
+2015-03-13 13:42:46 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbus.c:
+	  bus: Fix another case where we hold the object lock while unreffing a message
+
+2015-03-13 15:28:42 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* gst/gstbus.c:
+	  bus: Unreferencing messages outside the lock
+	  Shouldn't take the lock while unreferencing messages, because that may cause
+	  more messages to be sent, which will try to take the lock and cause the app to
+	  hang.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728777
+
+2015-02-23 20:27:32 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstutils.c:
+	* gst/gstutils.h:
+	* win32/common/libgstreamer.def:
+	  utils: Add gst_bin_sync_children_states()
+	  gst_bin_sync_children_states() will iterate over all the elements of a bin and
+	  sync their states with the state of the bin. This is useful when adding many
+	  elements to a bin and would otherwise have to call
+	  gst_element_sync_state_with_parent() on each and every one of them.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745042
+
+2015-02-03 16:12:32 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/printf/vasnprintf.c:
+	  printf: handle unsigned modifier for long long
+	  Otherwise, an unsigned integer will be displayed as a signed one if we
+	  use internal print, ie HAVE_LONG_LONG_FORMAT is not defined.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746096
+
+2015-03-12 14:39:37 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gststreamiddemux.c:
+	  streamiddemux: Reset pad counter after removing all pads
+
+2014-03-04 19:40:05 +0900  HoonHee Lee <hoonhee.lee@lge.com>
+
+	* configure.ac:
+	* plugins/elements/Makefile.am:
+	* plugins/elements/gstelements.c:
+	* plugins/elements/gststreamiddemux.c:
+	* plugins/elements/gststreamiddemux.h:
+	* tests/check/Makefile.am:
+	* tests/check/elements/streamiddemux.c:
+	* tests/examples/Makefile.am:
+	* tests/examples/streamiddemux/Makefile.am:
+	* tests/examples/streamiddemux/streamiddemux-stream.c:
+	  streamiddemux: Add streamiddemux element
+	  Demultiplex a stream to multiple source pads based on the stream ids from the
+	  stream-start events. This basically reverses the behaviour of funnel.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=707605
+
+2015-03-12 13:29:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/config.h:
+	* win32/common/gstenumtypes.c:
+	* win32/common/gstversion.h:
+	  win32: update
+
+2015-03-12 13:26:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/gst/.gitignore:
+	* tests/check/gst/gstprintf.c:
+	  tests: add some basic unit tests for our printf stuff
+	  To test new %I32 support.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744281
+
+2015-02-10 17:40:48 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/printf/printf-parse.c:
+	  printf: add support for %I32
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744281
+
+2015-03-12 13:14:52 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  info: move category level threshold check into log function dispatcher
+	  Minor optimisation: check category log level earlier in the
+	  log function dispatcher and not only in the default log
+	  function.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745213
+
+2015-03-12 12:59:57 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Reset segment when deactivating pull mode or not running in pull mode
+	  We use the segment format to detect if we run the streaming thread or not.
+	  Without resetting we might believe we do so, although we only did in the past
+	  and are now running in e.g. push mode.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745073
+
+2015-03-08 20:42:38 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* libs/gst/check/libcheck/check_msg.c:
+	* m4/check-checks.m4:
+	  check: Use mkstemp instead of tempnam if possible
+	  Using tempnam() is deprecated, this gives warning and fails the build
+	  with -Werror.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745858
+
+2015-03-11 16:36:29 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: clean up the need_preroll variable
+	  Based on patch from Song Bing <b06498@freescale.com>
+	  Don't just set the need_preroll flag to TRUE in all cases. When we
+	  are already prerolled it needs to be set to FALSE and when we go to
+	  READY we should not touch it. We should only set it to TRUE in other
+	  cases, like what the code above does.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=736655
+
+2014-12-05 14:16:52 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+	* plugins/elements/gstfunnel.c:
+	* tests/check/elements/funnel.c:
+	  funnel: handle GAP event to forwards sticky events into downstream
+	  If no data is coming and funnel receive GAP event, need to forwards sticky events
+	  into downstream if it needs.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738202
+
+2015-03-10 16:42:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* libs/gst/check/libcheck/check_run.c:
+	  check: duplicate code branches
+	  CID #1226446
+
+2015-03-10 09:21:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	* tests/check/pipelines/queue-error.c:
+	  Fix double semicolons
+
+2015-02-22 10:12:01 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* win32/common/libgstbase.def:
+	  win32: update exports
+
+2015-02-21 20:13:04 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* libs/gst/base/gstflowcombiner.c:
+	* libs/gst/base/gstflowcombiner.h:
+	  flowcombiner: add a gst_flow_combiner_update_pad_flow() method
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
+	  API: gst_flow_combiner_update_pad_flow()
+
+2015-02-15 20:52:10 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* libs/gst/base/gstflowcombiner.c:
+	* libs/gst/base/gstflowcombiner.h:
+	  flowcombiner: add a gst_flow_combiner_reset() method
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
+	  API: gst_flow_combiner_reset()
+
+2015-03-06 10:59:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Fix typo in debug message
+
+2015-03-05 18:30:45 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  info: avoid malloc/free if log object is NULL
+
+2015-03-05 17:54:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  info: move __FILE__ path shortening into default log handler
+	  Instead of always shortening the __FILE__ path, even if the
+	  log message is not actually printed, which might happen if
+	  the log level is activated but the category is not, only
+	  shorten the path if we're actually going to output it and
+	  if it looks like it needs shortening. Log handlers had no
+	  guarantee that they would get a name instead of a path
+	  anyway on any architecture, so it shouldn't be a problem.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745213
+
+2015-02-27 01:16:58 +1100  Peter Urbanec <git.user@urbanec.net>
+
+	* gst/gstinfo.c:
+	  info: shorten __FILE__ on all platforms
+	  This is useful not only for MSVC, but also with gcc/Linux
+	  when doing cross-compilation builds and out-of-tree builds.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745213
+
+2015-03-04 11:02:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* docs/design/part-latency.txt:
+	  docs: clarify min-latency wording in part-latency.txt
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744338
+
+2015-02-26 14:43:25 +0100  Marcin Kolny <marcin.kolny@flytronic.pl>
+
+	* win32/common/gstconfig.h:
+	  win32/common/gstconfig.h: removed libxml include directive
+	  This is a leftover from 0.10 and not needed anymore.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745210
+
+2015-03-03 12:53:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: Signal the sinkpad thread if a flow error happened
+	  It might still be waiting for a query to be handled, or the queue to become
+	  empty again for the next item. Also if downstream returns FLUSHING, flush the
+	  queue like we do in queue and multiqueue.
+
+2015-03-03 12:48:34 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Wake up the query function on errors from the loop function
+	  Otherwise we might wait forever for serialized queries to be handled as the
+	  loop function is stopped and as such we will never ever dequeue the query and
+	  handle it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745319
+
+2015-03-02 20:31:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstutils.c:
+	  utils: improve warning when linking  elements without common ancestor
+	  This comes up quite a lot and it's a common mistake, so let's
+	  try to improve the warning message a little.
+
+2015-02-27 00:33:27 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: Drop custom latency query handling
+	  The default latency query handler now implements this logic
+
+2015-02-26 15:57:20 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* scripts/gst-uninstalled:
+	  gst-unsinstalled: Add ges-launch manuals path to MANPATH.
+
+2015-02-26 13:08:48 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: Don't fail latency query on unlinked pads
+	  A single unlinked pad can make the latency query fail across the
+	  pipeline, which is probably not desirable. Instead, we return a default
+	  anything goes value.
+	  Perhaps we should also be emitting a gst_message_new_latency() when a
+	  PLAYING element has one of its pads linked.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745197
+
+2014-10-22 16:43:43 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Don't emit errors on EOS if we saw GAP events
+	  If we saw GAP events (meaning the streams is advancing) before we get
+	  EOS, we should not post an ERROR, since it is not fatal.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745143
+
+2015-02-25 08:26:19 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstvalue.h:
+	* tests/check/gst/gstinfo.c:
+	  gstvalue: Make sure GST_FOURCC_ARGS produces printable characters
+	  Some systems will crash if we use non-printable characters in print/debug
+	  statements.
+	  Make sure that GST_FOURCC_ARGS never does that
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745144
+
+2015-02-25 16:11:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gstutils.c:
+	  gstutils: remove incorrect Fixme comment
+	  If the checks were changed to using g_return_if_fail() the GST_DEBUG lines
+	  about the specific failure would be lost.
+
+2015-02-25 16:02:39 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gstutils.c:
+	  gstutils: remove obsolete Fixme comment
+	  gst_pad_link_filtered() is very long gone and current
+	  gst_element_link_pads_filtered() doesn't apply to this Fixme comment.
+
+2015-02-24 21:58:00 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* scripts/gst-uninstalled:
+	  gst-uninstalled: add adaptivedemux paths from -bad
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745122
+
+2015-02-24 18:14:47 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* docs/faq/developing.xml:
+	  docs: remove dead link
+	  Remove dead link to wiki page for SubmittingPatches
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730311
+
+2015-02-24 14:07:54 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  helpers: Fix install of completion-helper.
+	  By applying the supplied transformation to the program name,
+	  for example --program-prefix.
+
+2015-02-23 16:39:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  completion-helper: Add missing DESTDIR
+	  Otherwise doing "make install DESTDIR" will try to write to
+	  /usr/share/...
+
+2015-02-23 21:17:16 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/gst-completion-helper.c:
+	  completion-helper: Add filtering by klass and sink caps.
+
+2015-02-21 17:13:26 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: avoid returning downstream GST_FLOW_EOS from previous segment to current upstream segment
+
+2015-02-22 10:02:25 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* libs/gst/base/gstflowcombiner.c:
+	  flowcombiner: fix documentation comment typo
+
+2015-02-22 10:01:33 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: drain segment upon SEGMENT_DONE to ensure proper event order
+
+2015-02-22 10:01:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: clean up some bogus commented code
+
+2015-02-23 19:10:08 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/helpers/Makefile.am:
+	  completion-helper: Append $(EXEEXT) to the name of the moved file.
+	  Fixes the build on Windows
+	  (https://ci.gstreamer.net/job/cerbero-cross-mingw32/1742/console)
+
+2015-02-23 17:23:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	  Fix distcheck
+	  Disable bash completion during distchecking otherwise
+	  it may try to install into a system path and fail.
+
+2015-02-23 17:16:45 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	  Dist new data directory
+	  Fixes 'make dist'
+
+2015-02-20 22:04:22 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* Makefile.am:
+	* configure.ac:
+	* data/Makefile.am:
+	* data/completions/gst-inspect-1.0:
+	* data/completions/gst-launch-1.0:
+	* libs/gst/helpers/.gitignore:
+	* libs/gst/helpers/Makefile.am:
+	* libs/gst/helpers/gst:
+	* libs/gst/helpers/gst-completion-helper.c:
+	* pkgconfig/gstreamer-uninstalled.pc.in:
+	* pkgconfig/gstreamer.pc.in:
+	  bash-completion: Implement in a different way.
+	  + Gets installed
+	  + Uses a helper tool, gst-completion-helper, installed in
+	  bash-completions/helpers.
+	  + Adds a common script that other tools can source.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744877
+
+2015-02-23 12:08:49 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/Makefile.am:
+	* gst/gst.h:
+	  GstDeviceMonitor: keep alphabetical order
+
+2015-02-20 16:22:23 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gstelement.c:
+	* tests/check/gst/gstelement.c:
+	  Revert "element: set pads need-parent flag to false when removing"
+	  This reverts commit 1911554cff2c4a11772b541a8215a80c728b1097.
+	  This breaks the functionality of GST_PAD_FLAG_NEED_PARENT, the reason for this
+	  flag is that if a pad is removed from a running element, you don't want
+	  functions (such as chain or event) to be called on the pad without a parent set.
+	  This can happen if you remove a request or sometimes pad from a running element.
+	  I don't see the code that caused this in tsdemux, but if it needs to unset
+	  the flag on remove, it should do it itself and then make sure that the parent
+	  exists in any pad function.
+
+2015-02-19 12:17:15 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* libs/gst/check/gstcheck.h:
+	  check: cast element in ASSERT_SET_STATE.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744777
+
+2015-02-19 01:16:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Use a separate query for upstream pads and let it fail if one upstream query fails
+
+2015-02-19 01:12:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: If the latency query fails for one of the pads, it fails overall
+
+2015-02-18 11:05:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Remove unused boolean parameter from internal functions
+
+2015-02-17 12:11:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/queue.c:
+	  queue: Add unit test for buffer list and time level handling
+
+2015-02-17 11:44:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Add support for buffer lists
+
+2015-02-17 11:41:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: Count the number of buffers in a buffer list for updating the current levels
+	  instead of just assuming one buffer.
+
+2015-02-17 20:47:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstmessage.c:
+	  message: revive async delivery message before bus thread can run unref
+	  Revive message in dispose handler before we signal the bus thread,
+	  otherwise the bus thread might be woken up and unref the message
+	  before we had a chance to revive it yet.
+
+2015-02-16 23:02:40 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstbus.c:
+	  tests: bus: add unit test for async message delivery
+
+2015-02-16 22:39:42 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gst_private.h:
+	* gst/gstbus.c:
+	* gst/gstmessage.c:
+	  message, bus: fix async message delivery
+	  Async message delivery (where the posting thread gets blocked
+	  until the message has been processed and/or freed) was pretty
+	  much completely broken.
+	  For one, don't use GMutex implementation details to check
+	  whether a mutex has been initialized or not, esp. not
+	  implementation details that don't hold true any more with
+	  newer GLib versions where atomic ops and futexes are used
+	  (spotted by Josep Torras). This led to async message
+	  delivery no longer blocking with newer GLib versions on
+	  Linux.
+	  Secondly, after async delivery don't free mutex/GCond
+	  embedded inside the just-freed message structure.
+	  Use a new (private) mini object flag to signal GstMessage
+	  that the message being freed is part of an async delivery
+	  on the bus so that the dispose handler can keep the message
+	  alive and the bus can free it once it's done cleaning up
+	  stuff.
+
+2015-02-16 19:24:44 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  info: nicer buffer offset printing when offsets are not set
+	  Print unset offsets as 'none' instead of humongous numbers,
+	  for better readability.
+
+2015-02-16 11:35:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: Only initialize GValue to a type once, not on every retry
+	  Otherwise we'll get warnings like this:
+	  cannot initialize GValue with type 'gboolean', the value has already been initialized as 'gboolean'
+
+2015-02-14 12:15:03 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst/gstutils.c:
+	  gstutils: check uri before using it in gst_pad_create_stream_id_internal
+	  If an element implements wrongly the URI query and set the uri to NULL and if
+	  the element calls gst_pad_create_stream_id at some point, it will lead to crash
+	  as the uri is not supposed to be NULL in the gst_pad_create_stream_id_internal
+	  function.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744520
+
+2015-02-13 19:43:24 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* libs/gst/controller/gsttimedvaluecontrolsource.c:
+	  timedvaluecontrolsource: Do not wrongly send value-removed
+	  And avoid freeing something we do not own
+
+2015-02-04 15:06:17 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* scripts/gst-uninstalled:
+	  gst-uninstalled: Set GST_VALIDATE_PLUGIN_PATH
+
+2015-02-12 13:34:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: fix documentation and debug message after latency updates
+	  Changes docs and message according to latency handling fix
+
+2015-02-12 14:50:15 +0000  Frédéric Wang <fred.wang@free.fr>
+
+	* plugins/elements/gstfdsrc.c:
+	  fdsrc: use g_ascii_strtoull() to convert size string in uri
+	  sscanf() doesn't handle G_GUINT64_FORMAT well on mingw64 it
+	  appears, leading to compiler warnings.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744034
+
+2015-02-12 14:03:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: gst_pad_iterate_internal_links() can return NULL if there are none
+
+2015-02-12 14:03:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: Return NULL instead of FALSE for pointers
+
+2015-02-12 13:55:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: Implement more useful default handling for the LATENCY query
+	  Before we just took the values from the first pad that succeded the query,
+	  now we accumulate the results of every sinkpad properly and return that
+	  result.
+
+2015-02-12 11:26:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/design/part-latency.txt:
+	  design/part-latency: Minor logic fix
+	  The maximum latency will be the element's minimum latency or bigger,
+	  not bigger than the element's minimum latency or bigger.
+
+2015-02-11 13:41:56 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstquery.c:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* plugins/elements/gstqueue.c:
+	  Improve and fix LATENCY query handling
+	  This now follows the design docs everywhere.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744106
+
+2015-02-11 12:20:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/design/part-latency.txt:
+	  design/part-latency: Add more details about min/max latency handling
+	  These docs missed many details that were not obvious and because of that
+	  handled in a few different, incompatible ways in different elements and base
+	  classes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744106
+
+2015-02-07 05:16:23 +1100  Jan Schmidt <jan@centricular.com>
+
+	* tests/check/gst/gstclock.c:
+	  tests: Fix clock regression test
+	  Fix up the values the test is checking for now that
+	  the clock regression returns parameters starting from
+	  the end of the regression range.
+
+2015-02-07 04:22:22 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclock: Don't update the clock when it desynch
+	  Add a hold off when the clock calibration suddenly loses synch,
+	  as it may be a glitch, but also make sure we update if it stays
+	  desynched for more than a few seconds
+
+2015-02-06 06:07:43 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclock: Make the RTT average ignore large values more forcefully.
+	  Smooth larger RTTs a little harder, so excessively large values
+	  perturb the average a bit less, and therefore get filtered out
+	  more strongly
+
+2015-02-05 22:55:39 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstclock-linreg.c:
+	  clock: Make linear regression x/y base start from maximum observation.
+	  Project the results of the linear regression to the end of the
+	  regression range, so they're more directly comparable to results
+	  going forward
+
+2015-02-05 13:49:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: add "offset" property to go with gst_pad_set_offset()
+	  So we can set the offset via gst-launch.
+
+2015-02-02 08:22:47 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstplugin.c:
+	  plugin: add more detail to logging when not loading a plugin
+	  Improve the log messages and add e.g the version number we checked.
+
+2015-02-02 17:37:44 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstpad.c:
+	  gstpad: Fix a typo in a docstring.
+
+2015-02-01 14:23:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst/gsttask.c:
+	  build: Check that _MSC_VER macro is defined
+
+2015-02-01 03:39:03 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* configure.ac:
+	* gst/gsttask.c:
+	  task: Add thread name support on OS X and iOS
+
+2015-01-29 16:37:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstclock-linreg.c:
+	  clock: Don't use invalid objects for GST_DEBUG_OBJECT()
+	  Not sure what "clock" actually is here, it must be something defined by one of
+	  the headers that are included.
+
+2015-01-29 12:10:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbuffer.c:
+	  buffer: Document that gst_buffer_copy_region() accepts -1 as size to copy until the end
+	  It's just a wrapper around gst_buffer_copy_into() after all.
+
+2014-12-09 16:28:56 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	  segment: Add new skip flags for clarifying trick mode playback.
+	  Add GST_SEEK_FLAG_TRICKMODE_KEY_UNITS and
+	  GST_SEEK_FLAG_TRICKMODE_NO_AUDIO, and rename GST_SEEK_FLAG_SKIP
+	  to GST_SEEK_FLAG_TRICKMODE (with backwards compat define).
+	  Do the same for the corresponding SEGMENT flags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735666
+
+2015-01-23 08:59:27 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* libs/gst/check/gstcheck.c:
+	  check: fix another typo in the docs
+
+2015-01-22 23:10:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsturi.c:
+	* tests/check/gst/gsturi.c:
+	  uri: Fix indention
+
+2015-01-21 14:10:02 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* tests/check/gst/gsturi.c:
+	  uri: Fix new URI parsing tests based on GNet's
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743195
+
+2015-01-21 14:09:45 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* gst/gsturi.c:
+	  uri: Fix parsing issues
+	  Make host IPs in square brackets store only the IP, i.e. strip the brackets.
+	  Strip leading whitespace characters in URIs.
+	  Fail parsing when host part does not match any valid formats from RFC3986.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743195
+
+2015-01-19 19:15:32 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/gst/gsturi.c:
+	  uri: Add parsing unit test based on GNet's
+	  Plus some new URIs to parse.
+	  https://git.gnome.org/browse/archive/gnet/plain/tests/check/gnet/gneturi.c
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743195
+
+2015-01-22 11:29:18 +0100  Heinrich Fink <hfink@toolsonair.com>
+
+	* libs/gst/check/gstcheck.c:
+	  check: Fix doc of GST_CHECKS and GST_CHECKS_IGNORE
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743335
+
+2015-01-21 18:07:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/check/Makefile.am:
+	* libs/gst/check/gstcheck.c:
+	  check: Add _fail_unless() compatibility function around _ck_assert_failed()
+	  We exported this in < 1.5 and it was automatically used by many macros
+	  from the header. Keep it exported for now.
+
+2015-01-21 14:12:22 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstpad.c:
+	  gstpad: Inline apply_pad_offset()
+	  Avoid doing a function call for something which will mostly be unused
+
+2015-01-21 14:10:06 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstpad.c:
+	  gstpad: Fix debug message
+
+2015-01-21 11:45:41 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstpad.c:
+	  gstpad: Fix PROBE_NO_DATA macro
+	  The problem was that the macro was always used with 'ret' as the defaultval
+	  argument.
+	  This would result in the macro eventually expanding to
+	  if (G_UNLIKELY (ret != ret && ret != GST_FLOW_OK))
+	  ... ret != ret will always fail, and therefore we'd never call the
+	  following line.
+	  Instead of that, store the previous value locally for comparision
+
+2015-01-21 22:44:59 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclock: Fix docs typo. Clock bus messages are GST_MESSAGE_ELEMENT
+
+2015-01-15 22:32:28 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclock: Implement rate limits for polling and fix up skew limits
+	  Add the minimum-update-interval property to the clock, with a default
+	  of 50ms and don't send polling requests faster than that. That helps to
+	  ensure we spread the initial observations out a little - startup takes
+	  a little longer, but tracking is more stable.
+	  Move the discont skew limiting code inside an if statement, so that
+	  it's only done when the linear regression succeeds and the clock
+	  parameters might actually change.
+
+2015-01-15 10:05:32 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/Makefile.am:
+	* gst/gst_private.h:
+	* gst/gstclock-linreg.c:
+	* gst/gstclock.c:
+	* tests/check/gst/gstclock.c:
+	  clock: Improve slaving regression.
+	  Add domain checks for the input values, and a variable precision
+	  calculation that loops if necessary to ensure we never overflow
+	  accumulators and then silently produce garbage results.
+	  Make the (non-public) linear regression function available for
+	  unit testing by putting it in a separate source file the test
+	  can include. Add a unit test that the new regression function
+	  produces sensible results for several inputs taken from real-world
+	  captures.
+
+2015-01-10 21:42:00 +1100  Jan Schmidt <jan@centricular.com>
+
+	* configure.ac:
+	* tests/examples/Makefile.am:
+	* tests/examples/netclock/.gitignore:
+	* tests/examples/netclock/Makefile.am:
+	* tests/examples/netclock/netclock-client.c:
+	* tests/examples/netclock/netclock-server.c:
+	  netclock: Add simple network clock server and client examples
+
+2015-01-10 21:42:00 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclock: Implement sending statistic bus messages and discont limits
+	  Allow setting a GstBus on the network clock client
+	  via a new 'bus' object property. If a bus is set, the
+	  clock will output an element message containing statistics
+	  about new clock observations and the clock correlation.
+	  When the local clock is synchronised with the remote, limit the
+	  maximum jump in the clock at any point to be one average RTT to
+	  the server. Also, publish in the bus message whether we are
+	  synched with the remote or not.
+
+2015-01-10 21:42:00 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstclock.c:
+	* gst/gstclock.h:
+	* win32/common/libgstreamer.def:
+	  clock: Add gst_clock_add_observation_unapplied()
+	  gst_clock_add_observation_unapplied() adds a new master/slave clock
+	  observation and runs the regression without activating the new
+	  calibration results.
+
+2014-12-16 22:51:22 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstclock.c:
+	* gst/gstclock.h:
+	* win32/common/libgstreamer.def:
+	  clock: Add gst_clock_adjust_with_calibration()
+	  gst_clock_adjust_with_calibration() uses directly passed calibration
+	  parameters, instead of using the clock's current calibration,
+	  allowing for calculations using pending or old calibration params
+
+2015-01-21 09:45:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstoutputselector.c:
+	  output-selector: Constify negotiation mode GEnumValue table
+
+2015-01-20 10:35:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/gstevent.c:
+	  docs: fix typo in GstEvent docs
+	  send -> sent
+
+2015-01-20 09:19:10 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* scripts/git-update.sh:
+	* scripts/gst-uninstalled:
+	  scripts: Remove gnonlin from the scripts
+	  It is not maintain anymore and its feature are now inside the GStreamer
+	  Editing Services (for the time being).
+
+2015-01-16 19:17:31 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbin.c:
+	  bin: Pass structs we plan to modify around by pointer, not value
+	  Otherwise the struct is going to be copied, which is not very efficient. And
+	  also has the nice side effect that modifications of the struct might be
+	  done in a copy, and we later use the original struct without the changes.
+	  Caused LATENCY queries to always return the initialization values in one of my
+	  tests, instead of the actual values reported by child elements.
+
+2015-01-14 10:52:11 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	  identity: send gap events when dropping buffers
+
+2015-01-13 18:11:39 +0000  Phillip Wood <phillip.wood@dunelm.org.uk>
+
+	* gst/gstpreset.c:
+	  preset: fix incorrect preset version comparison
+	  Use app_version if there are no system presets, so that if the
+	  application presets are newer than the user presets they are merged.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742877
+
+2015-01-12 16:03:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Don't dereference NULL pointer
+	  CID 1262286
+
+2015-01-12 15:55:47 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From f2c6b95 to bc76a8b
+
+2015-01-11 23:00:29 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstpreset.c:
+	  preset: fix sorting presets
+	  The glib docs are not clear on this, but the qsort man-page is - the
+	  GCompareDataFunc does not get the strings, but pointers to them.
+
+2014-12-31 18:52:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: fix silly GQueue iteration code
+	  Not active by default though.
+
+2015-01-04 23:24:53 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstpreset.c:
+	  preset: don't return empty preset lists
+	  Add a shortcut for the cases where an element implements the preset iface but
+	  has no presets and return NULL instead of an empty list in that case.
+
+2015-01-04 23:08:47 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* tools/gst-inspect.c:
+	  gst-inspect: only print presets line if num-presets > 0
+	  Also check for an empty strv.
+
+2015-01-04 22:51:09 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* tools/gst-inspect.c:
+	  gst-inspect: fix output for -a
+	  Use n_print to ensure all lines are prefixed with the element name.
+
+2014-12-29 11:54:00 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/libs/Makefile.am:
+	  docs: ignore libcheck headers that use doxygen comments
+
+2014-12-29 11:52:22 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstinfo.h:
+	  docs: fix two gtk-doc warnings
+	  One by correcting the end-of-comment marker and one by making sure the function
+	  prototype in the header is in sync with the c file and doc-blob.
+
+2014-12-26 23:22:30 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* docs/libs/gstreamer-libs-sections.txt:
+	* docs/plugins/gstreamer-plugins-sections.txt:
+	  docs: Add missing interfaces to documentation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742057
+
+2014-12-27 15:15:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/gstiterator.c:
+	  iterator: Fix outdated example code and accompanying documentation
+	  GstIterator no longer returns a refcounted gpointer
+
+2014-12-24 13:46:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Use the same waiting function for EOS and non-EOS waiting
+
+2014-12-24 13:44:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Wake up all waitings pads directly if we forward the EOS event
+	  Otherwise they might wait a bit longer unnecessarily.
+	  Also do some minor cleanup.
+
+2014-12-24 10:13:51 +0800  Song Bing <b06498@freescale.com>
+
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  inputselector: Block when receiving an EOS event on a deactivated pad
+	  ... and only unblock when either a) the pad becomes active and the event
+	  should be forwarded or b) the active pad went EOS itself.
+	  Otherwise it can happen that we switch from a longer track that is not EOS yet
+	  to a shorter track that already is EOS, but the shorter track won't have any
+	  possibility to send its EOS event downstream anymore.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740949
+
+2014-12-23 12:54:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Keep a ref of the currently active sinkpad around
+	  Otherwise we can't be sure that the pointer points to a still existing
+	  pad instance after releasing the lock.
+
+2014-12-23 12:53:58 +0100  Song Bing <b06498@freescale.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Get the active sinkpad again after taking the lock when handling events
+	  It might have changed in the meantime.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741893
+
+2014-12-22 13:08:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Short-circuit CAPS query handling if transform_caps returns EMPTY caps
+	  Both for the peer filter caps and the converted caps based on the peer caps.
+	  If the peer filter caps are EMPTY, the peer caps query will also return
+	  EMPTY. There's no ned to both downstream/upstream with this query.
+
+2014-12-22 11:45:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* MAINTAINERS:
+	  MAINTAINERS: Update my mail address
+
+2014-12-21 14:12:29 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstdebugutils.c:
+	  debugutils: use a constant for the max param length
+	  Improve readability by using a define for the max-chars. Also use the unicode
+	  ellipsis as dot files are utf-8.
+
+2014-12-15 14:03:54 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* tools/gst-inspect.c:
+	  gst-inspect: print preset names
+	  If the element supports presets and ships some, print them.
+	  Fixes #741427
+
+2014-12-19 11:35:24 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstinfo.h:
+	  gstinfo: Add new maximum level debugging
+	  API: GST_LEVEL_MAX
+	  By compiling gstreamer (or plugins) with GST_LEVEL_MAX defined, only
+	  the debugging statements at or below that level will be compiled in.
+	  This allows compiling in some debugging (like errors and warnings) which
+	  helps in debugging, but without the full cpu/memory overhead of all debugging
+	  enabled.
+
+2014-12-18 12:04:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/check/gstcheck.c:
+	  gstcheck: fix GI annotation
+	  Add missing : to annotation
+
+2014-11-13 14:53:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: jump over large skips in pull mode
+	  This bypasses the dumping of buffers we still have to do in push mode.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730053
+
+2014-10-25 17:16:25 +0530  Arun Raghavan <arun@accosted.net>
+
+	* gst/gstdebugutils.c:
+	* gst/gstdebugutils.h:
+	  debugutils: Truncate parameter values that are too long
+	  This removes some information from the dumps, but improves readability.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739165
+
+2014-12-18 10:53:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From ef1ffdc to f2c6b95
+
+2014-12-16 16:31:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstcaps.c:
+	* gst/gstcaps.h:
+	* gst/gststructure.c:
+	* gst/gststructure.h:
+	* tests/check/gst/gstcaps.c:
+	* tests/check/gst/gststructure.c:
+	* win32/common/libgstreamer.def:
+	  structure/caps: Add gst_{structure,caps}_filter_and_map_in_place()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739765
+
+2014-12-16 18:14:22 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/gst/gststructure.c:
+	  structure: Add simple unit test for foreach() and map_in_place()
+
+2014-11-07 11:15:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstcaps.c:
+	* gst/gstcaps.h:
+	* tests/check/gst/gstcaps.c:
+	  caps: Add gst_caps_foreach() and gst_caps_map_in_place()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739765
+
+2014-12-16 15:53:06 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* po/af.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/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:
+	  po: update for new translatable strings
+
+2014-12-14 12:54:32 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* configure.ac:
+	* libs/gst/check/Makefile.am:
+	* libs/gst/check/libcheck/Makefile.am:
+	* libs/gst/check/libcheck/check.c:
+	* libs/gst/check/libcheck/check_log.c:
+	* libs/gst/check/libcheck/check_msg.c:
+	* libs/gst/check/libcheck/check_pack.c:
+	* libs/gst/check/libcheck/check_print.c:
+	* libs/gst/check/libcheck/check_run.c:
+	* libs/gst/check/libcheck/check_str.c:
+	  check: Have autotools generate internal-check.h
+	  Previously GStreamer got access to the libcheck interface by including
+	  libs/gst/check/check.h which in turn included internal-check.h in the
+	  same directory. internal-check.h was generated by copying
+	  libs/gst/check/libcheck/check.h which in turn was generated from
+	  check.h.in in the same directory. In this case generating
+	  libs/gst/check/libcheck/check.h is unnecessary, in addition this file
+	  was accidentally distributed in generated project tarballs.
+	  Now libs/gst/check/internal-check.h is generated directly from
+	  libs/gst/check/libcheck/check.h.in by configure. This means that the
+	  libcheck source must include internal-check.h instead of the previously
+	  generated libs/gst/check/libcheck/check.h. However the unnecessary
+	  intermediate step is now skipped.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741359
+
+2014-12-16 10:13:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst/gstbufferpool.c:
+	* tests/check/gst/gstbufferpool.c:
+	  bufferpool: Don't check size in config validation
+	  Pools are allowed to change the size in order to adapt padding. So
+	  don't check the size. Normally pool will change the size without
+	  failing set_config(), but it they endup changing the size before
+	  the validate method may fail on a false positive.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741420
+
+2014-12-16 12:21:59 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstbufferpool.c:
+	  bufferpool: log reason for discarded buffers
+	  PERFORMANCE log the reason why a buffer could not be recycled in the
+	  bufferpool.
+
+2014-12-15 14:53:28 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* m4/check-checks.m4:
+	  check: Update version number of included libcheck
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741550
+
+2014-12-12 21:02:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstreamer.def:
+	  win32: update exports
+
+2014-12-12 21:54:01 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	  docs: add new preset api
+
+2014-12-12 21:38:26 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstpreset.c:
+	* gst/gstpreset.h:
+	  preset: add gst_preset_is_editable()
+	  Add a function to check if the preset iface implementation is editable and
+	  document this from the implementers perspective.
+	  API: gst_preset_is_editable()
+
+2014-12-12 14:23:19 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* win32/common/libgstreamer.def:
+	  win32: Update def file
+
+2014-12-12 13:57:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstdebugutils.c:
+	  debugutils: Fix compiler warning
+	  gstdebugutils.c: In function 'gst_debug_bin_to_dot_data':
+	  gstdebugutils.c:683:530: error: 'return' with no value, in function returning non-void [-Werror]
+	  g_return_if_fail (GST_IS_BIN (bin));
+
+2014-12-12 13:15:02 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst/gstdebugutils.c:
+	* gst/gstdebugutils.h:
+	  debugutils: Add a gst_debug_bin_to_dot_data() method
+	  This provides the dot file as a string, rather than dumping to a file.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741425
+
+2014-12-10 11:17:11 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	* plugins/elements/gsttypefindelement.h:
+	  typefind: minor cosmetic change
+	  No nee to abbrev variab nam here, nicer to read if full.
+
+2014-12-10 11:16:09 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: use GST_BUFFER_OFFSET_NONE for buffer offset
+
+2014-12-07 12:55:26 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* libs/gst/check/libcheck/check.h.in:
+	  check: Avoid requring (u)intmax_t in macros
+	  Previously embedded libcheck versions did not depend on (u)intmax_t and
+	  doing so would require projects using GStreamer's check framework to add
+	  AX_CREATE_STDINT_H to their configure.ac. A workaround is to fallback to
+	  glib types. This patch assumes that glib.h is always included before
+	  internal-check.h which is ok since everything Gstreamer would include
+	  gst/gstcheck.h instead of directly including internal-check.h.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
+
+2014-12-06 19:03:04 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* libs/gst/check/libcheck/clock_gettime.c:
+	  check: Fix compilation error for iOS
+	  libcheck includes CoreServices for its compat for clock_gettime(),
+	  even though it never uses anything it declares. Let's remove it.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
+
+2014-11-15 13:26:47 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* configure.ac:
+	* libs/gst/check/gstcheck.h:
+	* libs/gst/check/libcheck/Makefile.am:
+	* libs/gst/check/libcheck/check.c:
+	* libs/gst/check/libcheck/check.h.in:
+	* libs/gst/check/libcheck/check_error.c:
+	* libs/gst/check/libcheck/check_error.h:
+	* libs/gst/check/libcheck/check_list.c:
+	* libs/gst/check/libcheck/check_log.c:
+	* libs/gst/check/libcheck/check_msg.c:
+	* libs/gst/check/libcheck/check_pack.c:
+	* libs/gst/check/libcheck/check_print.c:
+	* libs/gst/check/libcheck/check_run.c:
+	* libs/gst/check/libcheck/check_str.c:
+	* libs/gst/check/libcheck/libcompat.h:
+	* m4/check-checks.m4:
+	  check: Apply GStreamer-specific patches
+	  Reintroduced patches:
+	  * Make sure that fail_if(1) actually fails
+	  from commit 9f99d056a263e71a5e6181224829def906cf0226
+	  New patches due to updated libcheck (based on 0.9.14):
+	  * Checks in m4/check-checks.m4 to cater for new dependencies
+	  * Conditional compile-time compat POSIX fallbacks for libcheck
+	  * Avoid relative paths for libcheck header files
+	  * Make timer_create() usage depend on posix timers, not librt
+	  * Rely on default AX_PTHREAD behavior to allow HAVE_PTHREAD to be used
+	  when checking for types and functions (like clock_gettime())
+	  * Avoid double declaration of clock_gettime() when availabe outside of
+	  librt by making compat clock_gettime() declaration conditional
+	  * check 0.9.9 renamed _fail_unless() and 0.9.12 later renamed it again
+	  to _ck_assert_failed(), so ASSERT_{CRITICAL,WARNING}() now calls this
+	  function
+	  * Remove libcheck fallback infrastructure for malloc(), realloc(),
+	  gettimeofday() and snprintf() since either they appear to be
+	  available or they introduce even more dependencies.
+	  The result is an embedded check in gstreamer that has been tested by
+	  running check tests in core, -base, -good, -bad, -ugly and rtsp-server
+	  on Linux, OSX and Windows.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
+
+2014-11-15 12:53:32 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* libs/gst/check/libcheck/alarm.c:
+	* libs/gst/check/libcheck/check.c:
+	* libs/gst/check/libcheck/check.h.in:
+	* libs/gst/check/libcheck/check_error.c:
+	* libs/gst/check/libcheck/check_error.h:
+	* libs/gst/check/libcheck/check_impl.h:
+	* libs/gst/check/libcheck/check_list.c:
+	* libs/gst/check/libcheck/check_list.h:
+	* libs/gst/check/libcheck/check_log.c:
+	* libs/gst/check/libcheck/check_log.h:
+	* libs/gst/check/libcheck/check_msg.c:
+	* libs/gst/check/libcheck/check_msg.h:
+	* libs/gst/check/libcheck/check_pack.c:
+	* libs/gst/check/libcheck/check_pack.h:
+	* libs/gst/check/libcheck/check_print.c:
+	* libs/gst/check/libcheck/check_print.h:
+	* libs/gst/check/libcheck/check_run.c:
+	* libs/gst/check/libcheck/check_str.c:
+	* libs/gst/check/libcheck/check_str.h:
+	* libs/gst/check/libcheck/clock_gettime.c:
+	* libs/gst/check/libcheck/libcompat.c:
+	* libs/gst/check/libcheck/libcompat.h:
+	* libs/gst/check/libcheck/localtime_r.c:
+	* libs/gst/check/libcheck/strsignal.c:
+	* libs/gst/check/libcheck/timer_create.c:
+	* libs/gst/check/libcheck/timer_delete.c:
+	* libs/gst/check/libcheck/timer_settime.c:
+	  check: Import version 0.9.14
+	  This lifts the files almost verbatim (the changes being running though
+	  gst-indent and fixing the FSF address) from the upstream respository.
+	  Therefore this commit reverts some GStreamer-specific patches to check
+	  that will be reintroduced next.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
+
+2014-11-04 19:11:50 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	* plugins/elements/gsttypefindelement.h:
+	  typefind: Propagate input buffer offset
+	  The initial buffers might have non-default offsets, make sure they get
+	  propagated if present.
+
+2014-10-07 16:44:45 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: clamp reported position based on direction
+	  When using a negative rate (rate being segment.rate * segment.applied_rate),
+	  we will end up reporting decreasing positions, therefore adjust the clamping
+	  against last reported value accordingly.
+	  Fixes positions getting properly reported with applied_rate < 0.0
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738092
+
+2014-11-28 14:17:54 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/manual/advanced-buffering.xml:
+	* gst/gstbin.c:
+	* gst/gstbus.c:
+	* gst/gstcontrolbinding.c:
+	* gst/gstdevicemonitor.c:
+	* gst/gstghostpad.c:
+	* gst/gstinfo.c:
+	* gst/gstplugin.c:
+	* gst/gststructure.c:
+	* gst/gstsystemclock.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstcollectpads.c:
+	* libs/gst/check/gstcheck.c:
+	* libs/gst/check/gstcheck.h:
+	* libs/gst/check/gsttestclock.c:
+	* plugins/elements/gstfunnel.c:
+	* plugins/elements/gstidentity.c:
+	* plugins/elements/gstinputselector.c:
+	* tools/gst-launch.c:
+	  Don't compare booleans for equality to TRUE and FALSE
+	  TRUE is 1, but every other non-zero value is also considered true. Comparing
+	  for equality with TRUE would only consider 1 but not the others.
+	  Also normalize booleans in a few places.
+
+2014-11-30 23:50:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstelements_private.c:
+	  plugins: fix build on windows
+	  gstelements_private.c: In function 'gst_writev_buffers':
+	  gstelements_private.c:236:51: error: 'EWOULDBLOCK' undeclared
+
+2014-11-28 15:09:16 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfilesink.c:
+	  filesink: use writev() in ::render() to write out memories without merging them
+
+2014-11-28 15:04:27 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfilesink.c:
+	* plugins/elements/gstfilesink.h:
+	  filesink: implement ::render_list() function that uses writev()
+
+2014-11-28 14:47:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfdsink.c:
+	  fdsink: use writev() in ::render() to write out memories without merging them
+
+2014-11-28 14:39:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfdsink.c:
+	* plugins/elements/gstfdsink.h:
+	  fdsink: implement ::render_list() using writev()
+	  Write out multiple buffers possibly containing multiple
+	  memories with one writev() call, without merging the
+	  buffer memories first, like ::render() does currently.
+
+2014-11-28 14:38:30 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* plugins/elements/gstelements_private.c:
+	* plugins/elements/gstelements_private.h:
+	  plugins: add helper function for writing buffers out with writev()
+
+2014-11-28 14:15:30 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: update the duration variable before emitting the bus
+	  Otherwise the application might still get the old value if it asks
+	  between the message and the real update.
+
+2014-11-28 16:25:02 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstelement.c:
+	  element: Fix doc and default implementation of send_event
+	  The documentation states that gst_element_send_event is to "send an event
+	  to an element".
+	  Therefore we *send* upstream events to a source pad and downstream events
+	  to a sink pad
+
+2014-11-28 11:16:00 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/gstelement.c:
+	  element: Figure default send_event direction handling
+	  If we get a downstream event we want to send it to a random SINK pad
+	  (and vice-versa).
+
+2014-11-27 18:00:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Compare correct caps variable against NULL before comparing caps
+
+2014-11-27 17:10:19 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From f32cfcd to ef1ffdc
+
+2014-11-10 09:58:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* scripts/gst-uninstalled:
+	  scripts:uninstalled: Make sur the GES TestManager is registered
+	  So that whenever user work with GstValidate they can run GES tests
+	  within the gst-uninstalled environment
+
+2014-11-26 21:48:05 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* common:
+	* m4/ax_pthread.m4:
+	  build: Update ax_pthread.m4 and move it to common
+	  Has some updates for Clang support (might not work with newer Clang
+	  properly, yet), AIX support, and some misc fixes.
+
+2014-11-25 17:46:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/controller/gsttriggercontrolsource.c:
+	  triggercontrolsource: Fix short description for the docs
+
+2014-11-25 09:39:40 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/gst/running.xml:
+	  docs: add GST_GL_* environment variables to 'Running GStreamer' section
+
+2014-11-23 05:45:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: percentage is relative to high-percent
+	  When comparing percentage values, compare with 0-100 scale as it
+	  has already been made relative to 0-high_percent, otherwise we mark
+	  the queue as not buffering and report a 50% to the user. This leads to
+	  a buffering stall as the user assumes the queue is still buffering but
+	  it thinks it isn't.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736969
+
+2014-11-23 05:42:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: percentage is an absolute value
+	  multiqueue's queues stored percent value is the percentage from 0
+	  to 100 (max-size-*) and should be compared with the requested limit
+	  (high_percentage) set by the user and not with 100% to check if
+	  buffering should stop. Otherwise we are only stopping buffering when the
+	  queue gets completely full.
+
+2014-11-20 21:33:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Fix caps equality check
+	  Instead of checking if our outcaps are equivalent to the previous incaps, and
+	  if that is the case not setting any caps on the pad... compare against our
+	  previous outcaps because that's what we care about.
+	  Fixes some cases where the outcaps became equivalent to the previous incaps,
+	  but the previous outcaps were different and we were then sending buffers
+	  downstream that were corresponding to the caps we forgot to set on the pad.
+	  Resulting in crashes or image corruption.
+
+2014-11-20 13:33:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  common: update for bison version check patch
+	  Fix configure check with bison development version.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=728946
+
+2014-11-20 13:34:32 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gststructure.c:
+	* tests/check/gst/gststructure.c:
+	  structure: don't overread input when searching for "
+	  When searching for the string terminator don't read past the ending
+	  0-byte when escaping characters.
+	  Add unit test for various escaping cases.
+
+2014-11-03 17:46:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: fail dropped queries
+	  Previously, dropping a query from a pad probe would deem the
+	  query succeeded, and the caller might then assume the query's
+	  results are valid, and thus dereference an invalid object
+	  such as a GstCaps.
+	  We now assume dropped queries did not succeed. Dropped events
+	  and buffers are still deemed a success.
+	  Added back after previous revert, as it's been double checked.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740003
+
+2014-11-12 13:55:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  Revert "pad: fail dropped queries"
+	  This was pushed by mistake along with an unrelated patch.
+	  This reverts commit c7103ce4b8c1da7dcfbcf2ec83a42a376fb896e1.
+
+2014-05-13 11:18:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: allow skipping more data than we currently have
+	  This can be useful for skipping large unwanted data, such as
+	  large album art, when we know the size of it from a metadata
+	  header.
+
+2014-11-03 17:46:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: fail dropped queries
+	  Previously, dropping a query from a pad probe would deem the
+	  query succeeded, and the caller might then assume the query's
+	  results are valid, and thus dereference an invalid object
+	  such as a GstCaps.
+	  We now assume dropped queries did not succeed. Dropped events
+	  and buffers are still deemed a success.
+
+2014-11-12 11:30:51 +0100  Haakon Sporsheim <haakon.sporsheim@gmail.com>
+
+	* gst/gsttask.c:
+	* tests/check/gst/gsttask.c:
+	  task: Fix pause/stop race condition
+	  If a task thread is calling pause on it self and the
+	  controlling/"main" thread stops the task, it could end in a race
+	  where gst_task_func loops and then checks for paused after the
+	  controlling thread just changed the task state to stopped.
+	  Hence the task would actually call func again even though it was
+	  both paused and stopped.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740001
+
+2014-11-10 10:01:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/gst/gstobject.c:
+	  gstobject: Don't check booleans for equality in the unit test
+	  Every value other than 0/FALSE is TRUE, == TRUE will only check for 1.
+
+2014-11-05 11:50:47 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstobject.c:
+	* gst/gstobject.h:
+	* tests/check/gst/gstobject.c:
+	* win32/common/libgstreamer.def:
+	  gstobject: Add gst_object_has_parent()
+	  Adds gst_object_has_parent, which works like gst_object_has_ancestor
+	  but does not ascend further.
+	  API: gst_object_has_parent()
+
+2014-11-09 10:37:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Don't bother the subclass with setting the same caps multiple times
+
+2014-11-09 10:32:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Don't bother the subclass with setting the same caps multiple times
+
+2014-11-09 10:29:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Don't bother the subclass with setting the same caps multiple times
+
+2014-11-07 08:22:02 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gststructure.c:
+	  structure: remove conditional for G_VALUE_COLLECT_INIT
+	  This API is in glib since 2.24 and we currently require 2.32 and already use
+	  this unconditionally elsewhere.
+
+2014-11-05 19:09:39 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstpreset.c:
+	  preset: remove commented code
+	  The GQuark was never used.
+
+2014-11-07 11:34:08 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/Makefile.am:
+	* pkgconfig/gstreamer.pc.in:
+	  gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include
+	  It's architecture dependent and should not be placed into the include
+	  directory as the assumption is that all those headers are architecture
+	  independent.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739767
+
+2014-11-07 10:56:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsturi.c:
+	  uri: Fix gobject-introspection warnings
+	  gsturi.c:997: Error: Gst: Skipping invalid GTK-Doc comment block:
+	  /** private GstUri functions **/
+	  ^
+	  gsturi.c:1179: Error: Gst: Skipping invalid GTK-Doc comment block:
+	  /** RFC 3986 functions **/
+	  ^
+
+2014-10-24 21:25:54 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/base/gstdataqueue.c:
+	  dataqueue: Fix gst_data_queue_new() description.
+	  Reword the function docs, which haven't made any sense since
+	  gst_data_queue_new_full() was removed a few years ago.
+
+2014-11-03 18:27:21 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Answer the query position when receiving it from upstream
+	  Currently we are just returning FALSE, but we do have the information
+	  we should just answer the query the same way as when answering through
+	  the GstElement.query vmethod default implementation.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739580
+
+2014-10-22 14:07:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstcapsfilter.c:
+	* plugins/elements/gstcapsfilter.h:
+	* tests/check/elements/capsfilter.c:
+	  capsfilter: Add an optional delayed caps change mode
+	  In this mode we accept previously set filter caps until
+	  upstream renegotiates to something that is compatible
+	  to the current filter caps.
+	  This allows dynamic caps changes in the pipeline even
+	  if there is a queue between any conversion element
+	  and the capsfilter. Without this we would get not-negotiated
+	  errors if timing is bad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739002
+
+2014-11-02 20:16:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gsttoc.c:
+	  toc: minor code clean-up
+	  And get rid of g_list_prepend/g_list_reverse
+	  anti-pattern while we're at it.
+
+2014-11-02 18:51:08 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gst.c:
+	  gst: ensure GStreamer initialization debug message is displayed
+	  The GST_INFO ("initialized GStreamer succesfully") is currently at the end of
+	  gst_init_check which isn't guaranteed to be run since GStreamer can be
+	  initialized by using init_pre and init_post directly from GOptionContext like
+	  gst-launch does. Ensure this message is displayed by moving it to init_post.
+
+2014-11-01 19:56:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gstbus.c:
+	* libs/gst/base/gstadapter.c:
+	  doc: Do not use deprecated gtk-doc 'Rename to' tag
+	  GObject introspection GTK-Doc tag "Rename to" has been deprecated, changing to
+	  rename-to annotation.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739514
+
+2014-11-01 22:30:30 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* tools/gst-inspect.c:
+	  gst-inspect: add G_PARAM_DEPRECATED to known flags
+	  Display 'deprecated' instead of flag value when using G_PARAM_DEPRECATED
+	  in element properties.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739518
+
+2014-10-31 16:10:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/tools/gstinspect.c:
+	  tests: refactor tools check a little
+	  Use an array of constant strings so if arguments get
+	  removed from it they are not considered leaked, and
+	  valgrind is happy. Still some stuff leaking in GLib
+	  though.
+
+2014-10-30 23:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/bytereader.c:
+	  tests: fix out-of-bounds memory access in bytereader unit test
+	  Caught by -fsanitize=address / libasan.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739431
+
+2014-10-28 19:16:52 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gst.c:
+	  gst: make gst_init() thread-safe
+	  Because we can, and there isn't really any
+	  reason not to do so.
+
+2014-10-28 09:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/fdsrc.c:
+	  tests: fdsrc: don't ignore return value of write()
+	  Causes compiler warnings on some systems.
+
+2014-10-28 00:04:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/fdsrc.c:
+	  tests: fix fdsrc test corner case
+	  Make pipe socket non-blocking, so we don't
+	  end up being blocked in a write on the pipe
+	  while the src is eos and not reading data
+	  any more, and thus we never unblock and never
+	  notice that we're done. This would happen
+	  quite reliably on the rpi.
+
+2014-10-27 17:56:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From 84d06cd to 7bb2bce
+
+2014-10-25 17:15:42 +0530  Arun Raghavan <arun@accosted.net>
+
+	* gst/gstdebugutils.c:
+	  debugutils: Trivial typo fix
+
+2014-10-24 12:51:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: don't unlock mutex that is not locked
+	  Fixes 'Attempt to unlock mutex that was not locked'
+	  warning with newer GLibs when sink is shut down in
+	  certain situations. Triggered by the decodebin
+	  test_reuse_without_decoders unit test in -base
+	  sometimes, esp. on slower machines.
+
+2014-10-22 18:25:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstcontroller.def:
+	  win32: update .def for new _get_type() function for GstControlPoint
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737616
+
+2014-09-29 21:10:14 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	  timedvaluecontrolsource: Add some signals about values changes
+	  In order for user to be able to track changes in the value set in
+	  GstTimedValueControlSource the following signals have been added:
+	  * value-added
+	  * value-removed
+	  * value-changed
+	  To be able to use a GstControlPoint to be marshalled into the signals,
+	  the GstControlPoint structure is now registerd as a GBoxed type.
+	  New API:
+	  ~~~~~~~
+	  * GstTimedValueControlSource::value-added
+	  * GstTimedValueControlSource::value-removed
+	  * GstTimedValueControlSource::value-added
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737616
+
+2014-10-21 13:01:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From a8c8939 to 84d06cd
+
+2014-10-21 12:18:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstmessage.c:
+	  message: remove duplicate gst_message_get_type() in init
+	  Spotted by: Jan Steffens
+
+2014-10-21 12:57:45 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* README:
+	* common:
+	  Automatic update of common submodule
+	  From 6e75498 to a8c8939
+
+2014-10-20 16:39:38 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* plugins/elements/gstidentity.c:
+	  identity: include the actual delta in the message
+	  Including the actual delta in the message makes it easy to see, if the new
+	  buffer is behind or ahead and how much.
+
+2014-10-18 18:43:43 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: Tidy initialisation
+	  Use some macros to make our value functions setup a bit
+	  tidier, and micro-optimise a few reallocs by setting an
+	  initial size for the global type arrays.
+
+2014-10-18 17:27:04 +1100  Jan Schmidt <jan@centricular.com>
+
+	* tools/gst-indent:
+	  gst-indent: Run indent twice. Once is not idempotent, twice seems to be.
+
+2014-10-16 10:13:14 +0400  Andrei Sarakeev <sarakusha@gmail.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Wake up any waiting streams if the current one goes EOS
+	  Otherwise we might have unlinked streams waiting.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738198
+
+2014-10-17 12:41:04 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gsttypefind.c:
+	  typefind: simplify registration code
+	  Remove a useless assert (we just instantiated this type). Drop the free'ing of
+	  the extension array. As we just created the instance this is always NULL.
+
+2014-10-16 10:55:36 +0200  Felix Schwarz <felix.schwarz@oss.schwarz.eu>
+
+	* docs/pwg/advanced-allocation.xml:
+	* docs/pwg/advanced-clock.xml:
+	* docs/pwg/advanced-events.xml:
+	* docs/pwg/advanced-qos.xml:
+	* docs/pwg/advanced-tagging.xml:
+	  docs: pwd: fix typos
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738612
+
+2014-10-11 19:28:21 +0200  Linus Svensson <linusp.svensson@gmail.com>
+
+	* tests/check/gst/gstbus.c:
+	  tests: Add a test for removing a bus watch
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735195
+
+2014-08-19 23:28:52 +0200  Linus Svensson <linusp.svensson@gmail.com>
+
+	* gst/gstbus.c:
+	* gst/gstbus.h:
+	* tests/check/gst/gstbus.c:
+	* win32/common/libgstreamer.def:
+	  bus: Add a function to remove a bus watch
+	  If a bus watch is added to the non default main context it's not
+	  possible to remove it using g_source_remove().
+	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195
+
+2014-10-08 22:51:56 +0530  Arun Raghavan <arun@accosted.net>
+
+	* gst/gstevent.h:
+	  docs: Update GstQOSType documentation a bit
+	  Correction for who is producing data too fast, and some other minor
+	  clarifications.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738166
+
+2014-10-08 16:03:20 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* docs/pwg/advanced-allocation.xml:
+	* docs/pwg/advanced-qos.xml:
+	  docs: pwg: fix two typos
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738153
+
+2014-10-08 15:37:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* docs/pwg/advanced-negotiation.xml:
+	  docs: pwg: fix typo in 'Dynamic negotiation' section
+	  The point of this example is to show how to set caps
+	  on the source pad once it has been set on the sink pad.
+	  So, in passthrough mode, the caps is just copied to the
+	  source pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738153
+
+2014-10-08 09:37:41 -0700  Aleix Conchillo Flaqué <aleix@oblong.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: don't lock multiqueue when pushing serialized queries
+	  If we are pushing a serialized query into a queue and the queue is
+	  filled, we will end in a deadlock. We need to release the lock before
+	  pushing and acquire it again afterward.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737794
+
+2014-10-08 01:33:51 +1100  Jan Schmidt <jan@centricular.com>
+
+	* libs/gst/base/gstcollectpads.c:
+	  collectpads: Use GST_PTR_FORMAT in debug to output buffer details
+	  Use %GST_PTR_FORMAT instead of %p in debug output so all the buffer
+	  details are output
+
+2014-10-06 13:38:21 +0200  Nicolas Huet <nicolas.huet@parrot.com>
+
+	* gst/gstsystemclock.c:
+	  systemclock: fix multi-thread entry status issue
+	  Running two threads, one executing the timer and one unscheduling it, the
+	  unscheduled status set by the second thread is sometimes overwritten by the
+	  first one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737999
+
+2014-10-03 14:04:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: fix compilation
+
+2014-10-03 14:44:48 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: extract some common code into helpers
+
+2014-10-03 14:01:59 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: small code cleanups
+	  Rename TIMESTAMP -> PTS. Move a var down to the scope where it is used. Use
+	  g_queue_free_full().
+
+2014-10-03 13:47:42 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  inputselector: fix printf format
+	  The padcount is uint. Also add comments to the instance vars.
+
+2014-10-02 03:30:24 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: don't leak caps in gst_base_parse_process_streamheader
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737762
+
+2014-10-03 13:14:25 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* tests/check/libs/baseparse.c:
+	  tests: baseparse: set_sink_caps vfunc should't take ownership of the caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737762
+
+2014-10-03 09:57:37 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* plugins/elements/gstfakesrc.c:
+	  fakesrc: mark the pattern property as unused
+	  Revert the previous commit which removes the pattern property of fakesrc because
+	  doing so will break ABI. Bringing the property back but marking it as unused
+	  in the property string.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737683
+
+2014-10-03 09:01:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  Revert "baseparse: don't leak caps in gst_base_parse_process_streamheader"
+	  This reverts commit 5e8b4bf085180f7a4c7ae6ec0f525baeaedd4df8.
+	  This causes refcounting criticals in the baseparse unit test.
+
+2014-10-02 13:45:34 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* plugins/elements/gstfakesrc.c:
+	* plugins/elements/gstfakesrc.h:
+	  fakesrc: removing unused pattern option
+	  Eventhough the "pattern" property of fakesrc can be set, it is never used. The
+	  only pattern supported is the default 0x00 -> 0xff, and if a pattern is set by
+	  the user it is ignored. Removing the unused property and variable.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737683
+
+2014-10-02 14:55:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Add missing break in switch
+
+2014-10-02 11:00:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: update segment position on GAP events to calculate levels properly
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737498
+
+2014-10-02 10:57:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: update segment position on GAP events to calculate levels properly
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737498
+
+2014-09-27 20:10:34 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: update segment position on GAP events to calculate levels properly
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737498
+
+2014-10-02 03:30:24 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: don't leak caps in gst_base_parse_process_streamheader
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737762
+
+2014-10-02 10:13:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstcapsfilter.c:
+	  capsfilter: Push pending events before a buffer also if upstream never configured caps but we have srcpad caps already
+	  Otherwise we never send pending events downstream that arrive after we
+	  configured caps on the srcpad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737735
+
+2014-09-29 17:48:29 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsturi.c:
+	  uri: Don't unconditionally use g_list_copy_deep()
+	  We don't depend on GLib 2.34 yet and just for this seems a bit useless.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737584
+
+2014-09-29 16:22:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* gst/gsturi.c:
+	  uri: Include our own BSD licensed copy of strcasestr() for Windows and others
+
+2014-09-29 15:54:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsturi.c:
+	  uri: Fix compiler warnings with gcc
+	  These are actually not true.
+	  gsturi.c: In function '_gst_uri_string_to_table.constprop':
+	  gsturi.c:1316:27: error: 'pct_kv_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+	  for (next_sep = strcasestr (value, pct_kv_sep); next_sep;
+	  ^
+	  gsturi.c:1283:24: error: 'pct_part_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+	  next_sep = strcasestr (next_sep + 1, pct_part_sep)) {
+	  ^
+
+2014-09-29 12:19:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsturi.c:
+	  uri: Fix memory leak in gst_uri_join()
+	  The merged path segments are a deep-copied list and we need to free the
+	  contained strings too instead of just the list nodes themselves.
+
+2014-07-31 22:18:53 +0100  David Waring <david.waring@rd.bbc.co.uk>
+
+	* docs/gst/gstreamer-docs.sgml:
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gsturi.c:
+	* gst/gsturi.h:
+	* tests/check/gst/gsturi.c:
+	* win32/common/libgstreamer.def:
+	  GstUri: Add GstUri miniobject to handle URIs in an RFC 3986 compliant fashion
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725221
+
+2014-09-27 13:57:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* scripts/gst-uninstalled:
+	  scripts: add gst-rpicamsrc to gst-uninstalled
+
+2014-09-25 21:21:09 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstelement.c:
+	* gst/gsterror.c:
+	* gst/gstevent.c:
+	* gst/gstregistry.c:
+	* gst/gststructure.c:
+	* gst/gsttaglist.c:
+	* gst/gstvalue.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/check/gstcheck.c:
+	* plugins/elements/gstfilesrc.c:
+	* tests/check/tools/gstinspect.c:
+	* tools/gst-inspect.c:
+	  fixme: bump leftover 0.11 fixme comments
+
+2014-09-25 21:04:23 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstevent.c:
+	  event: 'newsegment' to 'segment' in the docs
+	  Brings the api-docs in sync with the 1.0 api rename.
+
+2014-09-25 20:23:31 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: move the quick return up
+	  Don't assign local vars if we skip anyway. Add logging for failure conditio
+
+2014-09-25 19:01:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	* common:
+	  tests: parallelise 'make valgrind'
+	  Use $(MAKE) instead of 'make' inside the Makefile,
+	  otherwise the make will run as if -j1 had been
+	  specified and complain about the job server not
+	  being available, and with $(MAKE) in inherits the
+	  parent make's settings it seems.
+	  Upgrade common submodule for parallel check-valgrind.
+	  Let this settle a bit before upgrading the other modules.
+
+2014-09-25 18:57:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstbase.def:
+	  win32: update .def file
+	  It's sorted. If it's unsorted, make check-exports fails.
+
+2014-09-25 18:55:03 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  info: remove confusing warning about running under valgrind
+	  We're not actually doing anything differently anywhere when
+	  we detect that we're running under valgrind, so let's not
+	  print that confusing message that makes people wonder how
+	  they can switch it off so they can valgrind the normal
+	  code paths. Seeing that we're not doing that nor have done
+	  so in the last 10 years we might just as well remove the
+	  entire check actually.
+
+2014-09-25 16:21:51 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/baseparse.c:
+	  tests: fix caps leak in baseparse unit test
+
+2014-09-25 14:54:23 +0200  Jonas Holmberg <jonashg@axis.com>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstflowcombiner.c:
+	* libs/gst/base/gstflowcombiner.h:
+	* tests/check/libs/flowcombiner.c:
+	* win32/common/libgstbase.def:
+	  flowcombiner: add a gst_flow_combiner_clear() method
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737359
+	  API: gst_flow_combiner_clear()
+
+2014-09-24 10:11:54 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* scripts/gst-uninstalled:
+	  scripts: Handle gst-python in gst-uninstalled
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709082
+
+2014-06-03 14:23:30 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* plugins/elements/gstcapsfilter.c:
+	  capsfilter: Remove EOS event from pending_event list on FLUSH_STOP
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709868
+
+2014-09-22 14:27:05 +0100  William Manley <will@williammanley.net>
+
+	* gst/gstbuffer.c:
+	  docs: Fix GstBuffer typo "memory bock" -> "memory block"
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737117
+
+2014-09-22 17:27:31 +0100  William Manley <will@williammanley.net>
+
+	* gst/gstbuffer.c:
+	  docs: Improve gst_buffer_get_meta() to clear up confusion
+	  I was confused by the existence of `gst_buffer_get_meta` as it suggested
+	  to me that you should only attach one of any type of GstMeta to a buffer.
+	  It's perfectly fine to attach multiple from a single API so I'm
+	  documenting that here.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737129
+
+2014-09-22 19:05:32 +0200  Marcin Kolny <marcin.kolny@flytronic.pl>
+
+	* gst/gstdatetime.h:
+	  datetime: added missing include directives
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737133
+
+2014-09-23 14:31:29 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Do not forget to release the QUEUE_LOCK in the out_flow_error path
+	  Avoiding deadlocks!
+
+2014-09-23 12:53:18 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* libs/gst/base/gstbasesrc.h:
+	  docs: fix a small contradition in the docs
+	  The vmethod get_size() shall return the size in 'format' as configured by
+	  _set_format().
+
+2014-09-22 09:33:04 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Do not hold GST_QUEUE_LOCK while posting ERROR messages
+	  This might create deadlocks and we need to avoid holding element
+	  specific lock while posting messages
+	  For example a deadlock will happen if while posting the message,
+	  someone connected on the bus (sync) tries to DOT the pipeline.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737102
+
+2014-09-19 12:02:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstqueue2.c:
+	* plugins/elements/gstqueue2.h:
+	  queue2: do not post buffering messages holding the lock
+	  It might cause deadlocks to post messages while holding the queue2
+	  lock. To avoid this a new boolean flag is set whenever a new
+	  buffering percent is found. The message is posted after the lock
+	  is released.
+	  To make sure the buffering messages are posted in the right order, messages
+	  are posted holding another lock. This prevents 2 threads trying to post
+	  messages at the same time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736969
+
+2014-09-19 09:42:10 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>
+
+	* gst/gsturi.c:
+	  gsturi: Remove unnecessary code
+	  gst_uri_handler_set_uri() function has new_uri, location and colon
+	  are not necessary, they can be removed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736877
+
+2014-09-19 00:33:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/pwg/advanced-tagging.xml:
+	* docs/pwg/intro-basics.xml:
+	  docs: pwg: fix some links to the API docs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736762
+
+2014-09-18 18:55:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstfilesrc.c:
+	  filesrc: remove FIXME
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735878
+
+2014-09-17 21:49:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gst.c:
+	  gst: Fix spelling error
+	  Thank to Adrian Owen for reporting this error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736839
+
+2014-09-17 17:17:10 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefindelement: do not leak sticky events in flush_stop
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736813
+
+2014-09-12 14:42:23 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstinfo.c:
+	  info: avoid global variable for log_file
+	  Use user_data to pass the log_file handle to the logger-function.
+	  If one wants to change the log target (e.g. GST_DEBUG_FILE), simply call
+	  gst_debug_remove_log_function() and re-add the handler with the new log-target
+	  using gst_debug_add_log_function ().
+
+2014-09-16 13:48:18 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* gst/gstevent.c:
+	  event: add annotations to gst_event_parse_toc_select()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736739
+
+2014-09-11 18:01:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gstmultiqueue.h:
+	  multiqueue: do not post messages holding the lock
+	  It might cause deadlocks to post messages while holding the multiqueue
+	  lock. To avoid this a new boolean flag is set whenever a new buffering percent
+	  is found. The message is posted after the lock can be released.
+	  To make sure the buffering messages are posted in the right order, messages
+	  are posted holding another lock. This prevents 2 threads trying to post
+	  messages at the same time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736295
+
+2014-09-16 16:07:40 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* docs/pwg/other-base.xml:
+	  docs: fix typo
+
+2014-09-16 12:17:48 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* gst/gstquery.c:
+	  query: Add annotations to gst_query_add_allocation_pool()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736736
+
+2014-09-15 16:38:17 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: handle reference in set_allocation rather than in prepare_allocation
+	  Otherwise we can forget to unref objects in error cases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736680
+
+2014-09-15 13:06:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/check/gstcheck.c:
+	  check: Use the name parameter of gst_check_setup_src_pad_by_name() and the sink variant
+	  This was hardcoded to "sink" / "src" by accident in previous refactoring.
+
+2014-09-13 20:12:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstcapsfilter.c:
+	* plugins/elements/gstdownloadbuffer.c:
+	* plugins/elements/gstfakesink.c:
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gstoutputselector.c:
+	* plugins/elements/gstqueue.c:
+	* plugins/elements/gstqueue2.c:
+	* plugins/elements/gstvalve.c:
+	  coreelements: mark properties with MUTABLE_PLAYING
+
+2014-09-11 15:52:32 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/check/Makefile.am:
+	* libs/gst/check/gstcheck.c:
+	* libs/gst/check/gstcheck.h:
+	  check: Add a function to check destruction of objects
+	  Add a method letting people to ensure that unreffing one object
+	  leads to its destruction, and possibly the destruction of more object
+	  (think destruction of a GstBin etc...).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736477
+
+2014-09-12 14:10:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-inspect.c:
+	  tools: gst-inspect: don't list pad functions
+	  Don't print all the different pad functions, it's just
+	  confusing and no one has ever needed to know this for
+	  anything ever anyway, it's just useless information.
+	  Besides, we also label the default implementations as
+	  'custom' implementations (the code that tries to
+	  prevent that doesn't actually work it seems).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736377
+
+2014-09-12 15:22:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpad.c:
+	  pad: Make sure the buffer to get/pull_range() has at least the requested size
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
+
+2014-09-05 18:36:02 +0000  Tiago <tiagokatcipis@gmail.com>
+
+	* libs/gst/check/gstcheck.c:
+	  check: Adding documentation to the gst_check_setup_sink_pad_by_name function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734190
+
+2014-09-10 14:53:00 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* gst/gstquery.c:
+	  query: add annotations to gst_query_set_nth_allocation_pool()
+	  https://bugzilla.gnome.org//show_bug.cgi?id=736424
+
+2014-09-11 09:35:17 +0200  Rémi Lefèvre <remi.lefevre@parrot.com>
+
+	* plugins/elements/gstvalve.c:
+	  valve: fix typo in description
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736455
+
+2014-09-09 20:43:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstbaseparse.h:
+	  baseparse: minor docs fix
+
+2014-09-03 17:38:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstdevicemonitor.c:
+	  devicemonitor: fix typo in sample code in docs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735975
+
+2014-08-25 11:34:48 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* tests/check/gst/gstpad.c:
+	  tests: add flush-stop on inactive pad test
+	  Check that pushing flush-stop on an inactive pad does not clear the
+	  flushing flag.
+
+2014-08-21 15:49:17 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstpad.c:
+	  pad: don't accept flush-stop on inactive pads
+	  Inactive pads should at all times have the flushing flag set. This means
+	  that when we get a flush-stop on an inactive pad we must ignore it.
+	  On sinkpads, make this more explicit. We used to not clear the flush
+	  flag but remove the events and then return an error because the flushing
+	  flag was set. Now just simply refuse the event without doing anything.
+	  On srcpads, check that we are trying to push a flush-stop event and
+	  refuse it. We would allow this and mark the srcpad as non-flushing
+	  anymore.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735357
+
+2014-08-27 17:06:57 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>
+
+	* plugins/elements/gstoutputselector.c:
+	  output-selector: Send all events to active src pad and EOS to all src pads
+	  Fixes tests/icles/output-selector-test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=729811
+
+2014-08-28 17:24:56 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	  manual: fix typo in advanced-dataaccess.xml
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735609
+
+2014-08-26 20:14:40 +0200  Arnaud Vrac <avrac@freebox.fr>
+
+	* gst/gstbuffer.c:
+	  buffer: do not touch memory tag flag when copying buffer flags
+	  The tag memory flag will be set later if the memory is also copied. This
+	  patch avoids buffers being freed needlessly in bufferpools.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735574
+
+2014-07-15 16:06:49 +0200  Linus Svensson <linusp.svensson@gmail.com>
+
+	* gst/gstbus.c:
+	  bus: gst_bus_add_watch() can return 0 on error
+	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195
+
+2014-08-25 13:44:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: handle streamheaders by prepending them to the stream
+	  Add a first_buffer boolean state flag to have baseparse do actions
+	  before pushing data. This is used to check the caps for streamheader
+	  buffers that are prepended to the stream, but only if the first buffer
+	  isn't already marked with the _HEADER flag. In this case, it is assumed
+	  that the _HEADER marked buffer is the same as the streamheader.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735070
+
+2014-08-27 11:01:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstconcat.c:
+	  concat: Allow seeking on the currently playing stream
+	  This is consistent with the stream time reporting.
+
+2014-08-23 12:24:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstpad.h:
+	  pad: add g-i 'transfer full' annotations to chain and chain_list functions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735210
+
+2014-08-22 10:32:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/gstpad.h:
+	  pad: annotate GstPadEventFunction event with 'transfer full'
+	  The callback is supposed to take ownership of the event so
+	  best to be explicit about it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735210
+
+2014-08-20 12:55:51 +0200  Linus Svensson <linussn@axis.com>
+
+	* tests/check/elements/queue.c:
+	  tests: add test that triggers deadlock in state change of queue
+	  When receiving FLASH_STOP in a state transition to READY, a queue
+	  element can end up with an active task that will never end.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734688
+
+2014-08-21 14:02:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: fix race when flush-stop event comes in whilst shutting down
+	  Don't re-start the queue push task on the source pad when a
+	  flush-stop event comes in and we're in the process of shutting
+	  down, otherwise that task will never be stopped again.
+	  When the element is set to READY state, the pads get de-activated.
+	  The source pad gets deactivated before the queue's own activate_mode
+	  function on the source pads gets called (which will stop the thread),
+	  so checking whether the pad is active before re-starting the task on
+	  receiving flush-stop should be fine. The problem would happen when the
+	  flush-stop handler was called just after the queue's activate mode
+	  function had stopped the task.
+	  Spotted and debugged by Linus Svensson <linux.svensson@axis.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734688
+
+2014-08-06 14:01:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstbytereader.c:
+	* libs/gst/base/gstbytereader.h:
+	* tests/check/libs/bytereader.c:
+	* win32/common/libgstbase.def:
+	  bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
+	  Adds API to get or peek a sub-reader of a certain size from
+	  a given byte reader. This is useful when parsing nested chunks,
+	  one can easily get a byte reader for a sub-chunk and make
+	  sure one never reads beyond the sub-chunk boundary.
+	  API: gst_byte_reader_peek_sub_reader()
+	  API: gst_byte_reader_get_sub_reader()
+
+2014-07-25 16:39:40 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  docs: make explicit that the caps passed to gst_base_src_set_caps() are 'tranfer none'
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733741
+
+2014-08-14 18:53:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: always proxy caps query
+	  Otherwise it would only be proxied for the active pad which can lead
+	  upstream to use an incompatible caps for the downstream element.
+	  Even if a reconfigure event is sent upstream when the pad is activated, this
+	  will save the caps reconfiguration if it is already using an acceptable caps.
+
+2014-08-14 14:37:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstdataqueue.h:
+	  base: and fix build with new g-i again
+
+2014-08-14 14:25:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstdataqueue.h:
+	  base: remove g-i annotation that makes older g-ir-scanner crash
+	  Just remove one skip annotation that causes this:
+	  ** (g-ir-compiler:12458): ERROR **: Caught NULL node, parent=empty
+	  with older g-i versions such as 1.32.1.
+
+2014-08-13 14:12:00 +0200  Philippe Normand <philn@igalia.com>
+
+	* gst/gstbus.c:
+	  bus: destroy signal watch from the context it was mapped to
+	  Don't rely on g_source_remove() because it operates on the main
+	  context. If a signal watch was added to a new thread-default context
+	  g_source_remove() would have no effect. So simply use
+	  g_source_destroy() to avoid this problem.
+	  Additionally the source_id was removed from GstBusPrivate because it
+	  was redundant with the signal watch GSource also stored in that
+	  structure.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734716
+
+2014-08-07 12:18:04 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Not post BUFFERING message if one of the singlequeue doesn't need it
+	  Imagine the following 'pipeline'
+	  --------------
+	  p1/| 'fullqueue'  |--- 'laggy' downstream
+	  ---------  / |              |
+	  -| demuxer |   | multiqueue   |
+	  ---------  \ |              |
+	  p2\| 'emptyqueue' |--- 'fast' downstream
+	  --------------
+	  In the case downstream of one single queue (fullqueue) has (a lot of) latency
+	  (for example for reverse playback with video), we can end up having the other
+	  SingleQueue (emptyqueue) emptied, before that fullqueue gets
+	  unblocked. In the meantime, the demuxer tries to push on fullqueue, and
+	  is blocking there.
+	  In that case the current code will post a BUFFERING message on the bus when
+	  emptyqueue gets emptied, that leads to the application setting the pipeline state to
+	  PAUSED. So now we end up in a situation where 'laggy downstream' is
+	  prerolled and will not unblock anymore because the pipeline is set to
+	  PAUSED, the fullequeue does not have a chance to be emptied and
+	  the emptyqueue can not get filled anymore so no more BUFERRING message
+	  will be posted and the pipeline is stucked in PAUSED for the eternity.
+	  Making sure that we do not try to "buffer" if one of the single queue
+	  does not need buffering, prevents this situtation from happening though it lets the
+	  oportunity for buffering in all other cases.
+	  That implements a new logic where we need all singlequeue to need
+	  buffering for the multiqueue to actually state buffering is needed,
+	  taking the maximum buffering of the single queue as the reference point.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734412
+
+2014-08-13 13:01:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Only handle flow returns < EOS as errors, not e.g. flushing
+
+2014-08-13 12:40:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbin.c:
+	  bin: Use allow-none instead of nullable until we depend on a new enough GI version
+
+2014-08-13 12:39:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbin.c:
+	  bin: gst_bin_new() can accept NULL as name
+
+2014-08-13 12:37:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstelement.c:
+	  element: Clarify docs about gst_element_get_request_pad() and remove deprecation part
+	  This function is not really pad or slow for the common case of requesting a
+	  pad with the name of the template. It is only slower if you to name your pads
+	  directly instead of letting the element handle it.
+	  Also there's no reason to deprecate it in favor of a more complicated function
+	  for the common case.
+
+2014-08-13 12:20:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: Post errors if we receive EOS after downstream reported an error
+	  There will be no further data flow that would allow us to propagate the
+	  error upstream, causing nobody at all to post an error message.
+
+2014-08-13 12:15:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Post errors when receiving EOS after downstream returned an error
+	  There might be no further data flow that would allow us to propagate the
+	  error upstream, causing nobody to post an error at all.
+
+2014-08-13 12:10:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Post errors ourselves if they are received after EOS
+	  After EOS there will be no further buffer which could propagate the
+	  error upstream, so nothing is going to post an error message and
+	  the pipeline just idles around.
+
+2014-08-12 20:03:06 +0530  Arun Raghavan <arun@accosted.net>
+
+	* gst/gstpad.c:
+	  docs: Trivial pad documentation fix
+	  Presumably a copy-pasto.
+
+2014-08-08 09:54:02 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/concat.c:
+	  concat: Add unit tests for concat element
+
+2014-08-08 09:13:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/plugins/gstreamer-plugins-sections.txt:
+	* docs/plugins/gstreamer-plugins.hierarchy:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* plugins/elements/gstconcat.c:
+	  concat: Add documentation and integrate into documentation build
+
+2014-08-07 14:42:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/Makefile.am:
+	* plugins/elements/gstconcat.c:
+	* plugins/elements/gstconcat.h:
+	* plugins/elements/gstelements.c:
+	  concat: Add new element that concatenates multiple streams
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734470
+
+2014-08-09 10:57:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/gst/gstcaps.c:
+	  tests: caps: add check for caps with features intersection
+	  Checks that a caps without features doesn't intersect with
+	  one that has features
+
+2014-08-07 14:54:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/controller/audio-example.c:
+	* tests/examples/controller/text-color-example.c:
+	  examples: controller: fix typo in comments
+
+2014-08-06 13:58:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstbytereader.h:
+	  bytereader: use unchecked inline variant for get_remaining in more places
+	  We've already done the g_return_*_if_fail (reader != NULL)
+	  dance in those places, so no need to do it again.
+
+2014-08-06 14:43:08 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstutils.c:
+	  utils: Ghostpads can be request pads too but check if the pad has a template
+	  Otherwise we dereference NULL in some cases and crash.
+
+2014-08-06 12:34:42 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* docs/manual/appendix-programs.xml:
+	* tests/check/gst/gstbin.c:
+	* tests/check/pipelines/parse-launch.c:
+	* tests/examples/launch/mp3parselaunch.c:
+	  tests: Add missing unrefs of objects after use
+	  Unreffing the objects returned by gst_bin_get_by_name() and
+	  gst_pipeline_get_use() were missing in several tests, so add these.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734345
+
+2014-08-06 12:55:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/gst/gstutils.c:
+	  utils: Fix unititialized variable compiler warning
+
+2014-07-13 15:31:08 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tests/check/gst/gstutils.c:
+	  tests: Add test verifying gst_element_link_pads_full()
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119
+
+2014-07-13 15:28:32 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/gstutils.c:
+	  utils: Unref/release pads in error cases when linking pads
+	  Previously gst_element_link_pads_full() forgot to unreference or release
+	  request pads in several error cases. Also comments were added mentioning
+	  why releasing is not necessary in some places.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119
+
+2014-08-01 17:27:39 -0300  Tiago Cesar Katcipis <tiago.katcipis@digitro.com.br>
+
+	* libs/gst/check/gstcheck.c:
+	  gstcheck: add docs for gst_check_setup_src_pad_by_name()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734142
+
+2014-07-31 18:32:03 +0200  Edward Hervey <edward@collabora.com>
+
+	* Makefile.am:
+	* common:
+	  Makefile: Add usage of build-checks step
+	  Allows building checks without running them
+
+2014-07-30 15:46:22 +0300  Mohammed Sameer <msameer@foolab.org>
+
+	* gst/gstbufferpool.c:
+	  bufferpool: Add missing error checking to default_alloc_buffer()
+	  default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for
+	  failed allocation.
+	  This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if
+	  buffer allocation fails.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733974
+
+2014-07-29 14:21:33 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: avoid using infinite buffers limit if finite is requested
+	  If the current max-buffers limit it infinite and a finite value is
+	  requested, switch to the MAX (requested, current-value) to set some
+	  limit but not below what we know that we've needed so far.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733637
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733837
+
+2014-07-24 22:02:58 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/parse/grammar.y:
+	  parse: Unref reference to enclosing bins
+	  Previously all reference to enclosing bins of an element were leaked
+	  when doing delaying setting a property.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697
+
+2014-07-27 02:37:08 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* tools/gst-launch.c:
+	  gst-launch: Support SIGINT (Ctrl+C) on W32
+	  W32 has no SIGINT, but it does have SetConsoleCtrlHandler(), which sets up
+	  a handler for Ctrl+C.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733814
+
+2014-07-27 03:06:16 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* gst/gstpoll.c:
+	  poll: Prevent false-negative from WAKE_EVENT() on W32
+	  SetEvent() seems to not call SetLastError(0) internally, so checking last
+	  error after calling SetEvent() may return the error from an earlier W32 API
+	  call. Fix this by calling SetlastError(0) explicitly.
+	  Currently WAKE_EVENT() code is cramped into a macro and doesn't look to be
+	  entirely correct. Particularly, it does not check the return value of
+	  SetEvent(), only the thread-local W32 error value. It is likely that SetEvent()
+	  actually just returns non-zero value, but the code mistakenly thinks that the
+	  call has failed, because GetLastError() seems to indicate so.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733805
+
+2014-07-26 14:42:54 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gst.h:
+	  gst: include atomicqueue.h again in gst.h
+	  It's a public header of gstreamer core, so #include <gst/gst.h>
+	  should make the API available.
+
+2014-07-25 11:45:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefindelement: remove prototype for function that no longer exists
+
+2014-07-24 14:39:11 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* libs/gst/base/gstbytereader.c:
+	* libs/gst/base/gstbytereader.h:
+	* tests/check/libs/bytereader.c:
+	* win32/common/libgstbase.def:
+	  bytereader: add gst_byte_reader_masked_scan_uint32_peek
+	  Adds gst_byte_reader_masked_scan_uint32_peek just like
+	  GstAdapter has a _peek and non _peek version
+	  Upgraded tests to check that the returned value is correct in the
+	  _peek version
+	  API: gst_byte_reader_masked_scan_uint32_peek
+	  https://bugzilla.gnome.org/show_bug.cgi?id=728356
+
+2014-06-26 14:09:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstbufferlist.c:
+	  bufferlist: pre-allocate buffer array in one go with the buffer list
+	  We can now create and free a buffer list with one slice alloc/free
+	  call in most cases, instead of one slice alloc/free for the list,
+	  one slice alloc/free for the GArray, and one malloc/free for the
+	  GArray array. In practice we know the max size of our buffer list
+	  from the start, so can avoid reallocs.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732284
+
+2014-07-23 21:27:48 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gst_private.h:
+	* gst/gstdebugutils.c:
+	  private: allow internal access to the debug base-time
+	  Moving the extern to the head lets us access this from other parts as well. This
+	  is neeed in the tracer branch.
+
+2014-07-23 00:15:17 +0530  Arun Raghavan <arun@accosted.net>
+
+	* scripts/git-update.sh:
+	  scripts: Use git pull --rebase
+	  No point introducing redundant merge commits.
+
+2014-07-21 12:41:08 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/gst/gsttaglist.c:
+	  Revert "tests: taglist: add basic test for taglists serialization"
+	  This reverts commit 85d23d19b7de40541d63b0bc76d8b646c321af26.
+	  There was already a gsttag.c tests file, this test has been merged
+	  in it in the previous commit
+
+2014-07-21 12:40:47 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* tests/check/gst/gsttag.c:
+	  tests: tag: add the empty taglist serialization test
+	  Adds the test to the appropriate and already existing file.
+
+2014-07-14 18:46:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/gst/gsttaglist.c:
+	  tests: taglist: add basic test for taglists serialization
+	  Make sure it works with empty taglists
+
+2014-07-14 18:25:50 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* tests/check/gst/gststructure.c:
+	  tests: gststructure: serialization of tag event structure
+	  Adds a test that checks that the serialization of a tag event structure
+	  works without problems
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733131
+
+2014-07-14 18:23:43 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: add GstTagList compare function
+	  When serializing GstStructures from events in GDP it will add a taglist
+	  as a GstStructure field, having the compare function allows comparison of
+	  GstStructures to check if the serialized/deserialized version matches the
+	  original one, among other cases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733131
+
+2014-07-09 15:48:10 +0200  Srimanta Panda <srimanta@axis.com>
+
+	* plugins/elements/gstfunnel.c:
+	  funnel: Fix for racy EOS event handling
+	  When eos events are forwarded simultaneouly from two sinkpads on
+	  funnel, it doesnot forward the eos to sourcepad. The reason is
+	  sticky events are stored after the event callbacks are returned.
+	  Therefore while one is about to store the sticky events on the its
+	  sinkpad, other sinkpad starts checking for the eos events on all other
+	  sinkpads and assumes eos is not present yet.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732851
+
+2014-07-17 16:05:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/gst/gstpipeline.c:
+	  pipeline: Add unit test for resetting of the start time
+	  Also check if this properly affects basesink elements to not
+	  report the old start time but the real current position when
+	  setting to PAUSED again.
+
+2014-07-15 18:19:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpipeline.c:
+	  pipeline: Reset the start time when going from PAUSED to READY too
+
+2014-07-15 17:19:10 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstpipeline.c:
+	  pipeline: Reset start time in READY->PAUSED before chaining up
+	  Otherwise bin will change the state of the child elements without
+	  distributing the new start time.
+
+2014-06-28 17:58:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstelements_private.c:
+	  elements: improve buffer flags to string utility function
+	  Avoid relocations and refactor so that we don't calculate
+	  the fixed and known at compile time maximum string size
+	  every time. Also skip the mini object flags which we are
+	  not going to print anyway.
+
+2014-07-19 18:04:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.4.0 ===
+
+2014-07-19 16:46:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	* win32/common/gstversion.h:
+	  Release 1.4.0
+
+2014-07-19 16:21:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.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/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 .po files
 
 2014-07-19 12:16:58 +0200  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/Makefile.in b/Makefile.in
index edea6e6..e00fc1b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -291,6 +291,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -381,6 +382,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -392,6 +394,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -478,6 +481,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/NEWS b/NEWS
index a4e47ed..3e58358 100644
--- a/NEWS
+++ b/NEWS
@@ -1,145 +1,2 @@
-This is GStreamer 1.4.0
+This is GStreamer 1.5.1
 
-Changes since 1.2:
-
-New API:
- • GstMessageType has GST_MESSAGE_EXTENDED added. All types before
-   that can be used together as a flags type as before, but from
-   that message onwards the types are just counted incrementally.
-   This was necessary to be able to add more message types.
-   In 2.0 GstMessageType will just become an enum and not a flags
-   type anymore.
- • GstDeviceMonitor for device probing, e.g. to list all available
-   audio or video capture devices. This is the replacement for
-   GstPropertyProbe from 0.10.
- • Events accumulate the running-time offset now when travelling
-   through pads, as set by the gst_pad_set_offset() function. This
-   allows to compensate for this in the QOS event for example.
- • GstBuffer has a new flag "tag-memory" that is set automatically
-   when memory is added or removed to a buffer. This allows buffer
-   pools to detect if they can recycle a buffer or need to reset
-   it first.
- • GstToc has new API to mark GstTocEntries as loops.
- • A not-authorized resource error has been defined to notify
-   applications that accessing the resource has failed because
-   of missing authorization and to distinguish this case from others.
-   This change is actually already in 1.2.4.
- • GstPad has a new flag "accept-intersect", that will let the default
-   ACCEPT_CAPS query handler do an intersection instead of subset check.
-   This is interesting for parser elements that can handle incomplete
-   caps.
- • GstCollectPads has support for flushing and a default handler for
-   SEEK events now.
- • New GstFlowAggregator helper object that simplifies handling of
-   flow returns in elements with multiple source pads. Additionally
-   GstPad now always stores the last flow return and provides an
-   API to retrieve it.
- • GstSegment has new API to offset the running time by a specific
-   value and this is used in GstPad to allow positive and negative
-   offsets in gst_pad_set_offset() in all situations.
- • Support for h265/HEVC and VP8 has been added to the codec utils and codec
-   parsers library, and was integrated into various elements.
- • API for adjusting the TLS validation of RTSP connection has been added.
- • The RTSP and SDP library has MIKEY (RFC 3830) support now, and
-   there is API to distinguish between the different RTSP profiles.
- • API to access RTP time information and statistics.
- • Support for auxiliary streams was added to rtpbin.
- • Support for tiled, raw video formats has been added.
- • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
-   events and merge custom tags into them consistently.
- • GstBufferPool has support for flushing now.
- • playbin/playsink has support for application provided audio and video
-   filters.
- • GstDiscoverer has new and simplified API to get details about missing
-   plugins and information to pass to the plugin installer.
- • The GL library was merged from gst-plugins-gl to gst-plugins-bad,
-   providing a generic infrastructure for handling GL inside GStreamer
-   pipelines and a plugin with some elements using these, especially
-   a video sink. Supported platforms currently are Android, Cocoa (OS X),
-   DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
-   Wayland and EGL platforms.
-   This replaces eglglessink and also is supposed to replace osxvideosink.
- • New GstAggregator base class in gst-plugins-bad. This is supposed to
-   replace GstCollectPads in the future and fix long-known shortcomings
-   in its API. Together with the base class some elements are provided
-   already, like a videomixer (compositor).
-
-
-Major changes:
- • New plugins and elements:
-   ∘ v4l2videodec element for accessing hardware codecs on
-     platforms that make them accessible via V4L2, e.g.
-     Samsung Exynos. This comes together with major refactoring
-     of the existing V4L2 elements and the corresponding
-     infrastructure.
-     The v4l2videodec element replaces the mfcdec element.
-   ∘ New downloadbuffer element that replaces the download
-     buffering feature of queue2. Compared to queue2's code
-     it is much simpler and only for this single use case.
-     A noteworthy new feature is that it's downloading gaps
-     in the already downloaded stream parts when nothing else
-     is to be downloaded.
-     This is now used by playbin when download buffering is
-     enabled.
-   ∘ rtpstreampay and rtpstreamdepay elements for transmitting
-     RTP packets over a stream API (e.g. TCP) according to
-     RFC 4571.
-   ∘ rtprtx elements for standard compliant implementation of
-     retransmissions, integrated into the rtpmanager plugin.
-   ∘ audiomixer element that mixes multiple audio streams together
-     into a single one while keeping synchronization. This is
-     planned to become the replacement of the adder element.
-   ∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
-   ∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
-   ∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
-   ∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
-   ∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
-     are available on OS X and iOS now.
-
- • Other changes:
-   ∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
-   ∘ Support for hardware codecs and special memory types has been
-     improved with bugfixes and feature additions in various plugins
-     and base classes.
-   ∘ Various bugfixes and improvements to buffering in queue2 and
-     multiqueue elements.
-   ∘ dvbsrc supports more delivery mechanisms and other features
-     now, including DVB S2 and T2 support.
-   ∘ The MPEGTS library has support for many more descriptors.
-   ∘ Major improvements to tsdemux and tsparse, especially time and
-     seeking related.
-   ∘ souphttpsrc now has support for keep-alive connections,
-     compression, configurable number of retries and configuration
-     for SSL certificate validation.
-   ∘ hlsdemux has undergone major refactoring and works more
-     reliable now and supports more HLS features like trick modes.
-     Also fragments are pushed downstream while they're downloaded
-     now instead of waiting for each fragment to finish.
-   ∘ dashdemux and mssdemux are now also pushing fragments downstream
-     while they're downloaded instead of waiting for each fragment to
-     finish.
-   ∘ videoflip can automatically flip based on the orientation tag.
-   ∘ openjpeg supports the OpenJPEG2 API.
-   ∘ waylandsink was refactored and should be more useful now. It also
-     includes a small library which most likely is going to be removed
-     in the future and will result in extensions to the GstVideoOverlay
-     interface.
-   ∘ gst-rtsp-server supports SRTP and MIKEY now.
-   ∘ gst-libav encoders are now negotiating any profile/level settings
-     with downstream via caps.
-   ∘ Lots of fixes for coverity warnings all over the place.
-   ∘ Negotiation related performance improvements.
-   ∘ 800+ fixed bug reports, and many other bug fixes and other
-     improvements everywhere that had no bug report.
-
-Things to look out for:
- • The eglglessink element was removed and replaced by the glimagesink
-   element.
- • The mfcdec element was removed and replaced by v4l2videodec.
- • osxvideosink is only available in OS X 10.6 or newer.
- • On Android the namespace of the automatically generated Java class
-   for initialization of GStreamer has changed from com.gstreamer to
-   org.freedesktop.gstreamer to prevent namespace pollution.
- • On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
-   your projects from the one included in the binaries if you used the
-   GnuTLS GIO module before. The loading mechanism has slightly changed.
diff --git a/RELEASE b/RELEASE
index 4d4929d..ee53678 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,34 +1,17 @@
 
-Release notes for GStreamer 1.4.0
+Release notes for GStreamer 1.5.1
 
 
-The GStreamer team is pleased to announce the first release of
-the stable 1.4 release series. The 1.4 release series is adding new
-features on top of the 1.0 and 1.2 series and is part of the API and
-ABI-stable 1.x release series of the GStreamer multimedia framework.
+The GStreamer team is pleased to announce the first release of the unstable
+1.5 release series. The 1.5 release series is adding new features on top of
+the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.5 release series
+will lead to the stable 1.6 release series in the next weeks, and newly added
+API can still change until that point.
 
 
-
-Binaries for Android, iOS, Mac OS X and Windows are provided together
-with this release.
-
-
-
-The stable 1.4 release series is API and ABI compatible with 1.0.x,
-1.2.x and any other 1.x release series in the future. Compared to 1.2.x
-it contains some new features and more intrusive changes that were
-considered too risky as a bugfix.
-
-
-
-The versioning scheme that is used in general is that 1.x.y is API and
-ABI backwards compatible with previous 1.x.y releases. If x is an even
-number it is a stable release series and all releases in this series
-will only contain important bugfixes, e.g. the 1.0 series with 1.0.7. If
-x is odd it is a development release series that will lead to the next
-stable release series 1.x+1 and contains new features and bigger
-changes. During the development release series, new API can still
-change.
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately
+during the unstable 1.5 release series.
 
 
 
@@ -55,8 +38,118 @@
 
 Bugs fixed in this release
      
-      * 733121 : debugutils: Unref pad template after use
-      * 733291 : typefindelement: Propagate input buffer PTS and DTS
+      * 736655 : basesink: preroll issue for some clips which audio is shorter than video
+      * 601853 : identity: sync=true ignores pipeline latency and does not present itself as live element
+      * 688625 : gst-launch: incorrect parsing behaviour with spaces and quotes
+      * 707605 : streamiddemux: New " reverse-funnel " element
+      * 725221 : Add GstUri object for URI handling
+      * 727826 : check: update internal libcheck copy from 0.9.8 to 0.9.12
+      * 730053 : baseparse: allow skipping more data than currently available
+      * 731176 : filesrc: fails when using fifos
+      * 732284 : bufferlist: optimisation: pre-allocate buffer array in one go with the buffer list
+      * 733119 : utils: Unref/release pads in error cases when linking pads
+      * 733131 : gstvalue: failure to deserialize gsttaglist
+      * 733171 : baseparse: handling of EOS when no output produced
+      * 733351 : queue2: Process SEEKING query
+      * 733741 : docs: document caps parameter of gst_base_src_set_caps
+      * 733814 : gst-launch: On W32 gst-launch does not finish correctly after getting SIGINT
+      * 734342 : pad: allow probes to remove the data item whilst returning PROBE_OK
+      * 734345 : tests: Add missing unrefs of objects after use
+      * 734360 : [API] bytereader: add _get_sub_reader() and _peek_sub_reader()
+      * 734470 : concat: New element for concatenating streams
+      * 734716 : bus: signal watched added in a new thread-default context can't be removed
+      * 735195 : bus: Missing API to remove a bus watch
+      * 735357 : pad: should not allow flush-stop on inactive pads
+      * 735896 : typefind: Run the default have-type handler after all application handlers
+      * 736012 : dashdemux hlsdemux mssdemux: playback failing due to pad EOS state
+      * 736377 : inspect: Says there custom functions where there arent
+      * 736455 : valve: typo in drop property description
+      * 736477 : check: Add a function to check destruction of objects
+      * 736877 : gsturi: Remove unnecessary code
+      * 736891 : input-selector: Can't unblock after emitting a " block " signal
+      * 737584 : configure.ac: require GLib 2.34
+      * 737616 : timedvaluecontrolsource: Add some signals about values changes
+      * 737762 : baseparse: leaks caps in gst_base_parse_process_streamheader
+      * 738202 : funnel: Does not forward sticky events if no data was received
+      * 738612 : several typos in Plugin Writer's Guide
+      * 739002 : capsfilter: Add an optional delayed caps change mode
+      * 739165 : debugutils: Truncate parameter values that are too long
+      * 739514 : doc: Do not use deprecated gtk-doc 'Rename to' tag
+      * 739518 : gst-inspect: add G_PARAM_DEPRECATED to known flags
+      * 739580 : basesink: Answer the query position when receiving it from upstream
+      * 739620 : input-selector: _activate_sinkpad conflates two different functions
+      * 739662 : gstobject: Add gst_object_has_parent()
+      * 739765 : caps: Add gst_caps_foreach() and gst_caps_map_in_place()
+      * 739767 : gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include
+      * 740003 : pad: fail drop queries
+      * 740949 : inputselector: sticky events haven't send out when active track reach EOS.
+      * 741359 : check.h distributed unnecessarily
+      * 741425 : debugutils: Add a gst_debug_bin_to_dot_data() method
+      * 741550 : Incorrect check version advertised
+      * 741893 : inputselector: Get the active sinkpad again after taking the lock when handling events
+      * 742057 : Add missing interface documentation
+      * 742877 : Incorrect version comparison in preset_get_keyfile ()
+      * 743195 : uri: Add parsing unit test based on GNet
+      * 743335 : Fix documentation of GST_CHECKS and GST_CHECKS_IGNORE
+      * 743795 : gtask: add thread name support on OS X and iOS
+      * 744034 : fdsrc: MinGW Compilation error: unknown conversion type character 'l' in format
+      * 744253 : multiqueue: Memory leak with DASH stream
+      * 744281 : printf: Add support for %I32
+      * 744442 : Clash between gst_element_get_clock() and gst_pipeline_get_clock()
+      * 744520 : gstutils: check uri before using it in gst_pad_create_stream_id_internal
+      * 744572 : flowcombiner regressions
+      * 744777 : check: cast element in ASSERT_SET_STATE.
+      * 744877 : tools: bash completion for gst-inspect and gst-launch
+      * 745042 : utils: Add gst_bin_sync_children_states()
+      * 745122 : gst-uninstalled: add adaptivedemux paths from -bad
+      * 745143 : baseparse: Don't emit errors on EOS if we saw GAP events
+      * 745144 : gstvalue: Make sure GST_FOURCC_ARGS produces printable characters
+      * 745197 : pad: Don't fail latency query on unlinked pads
+      * 745210 : win32: Unnecessary LibXml include directive
+      * 745213 : Shorten __FILE__ in gst_debug_log output on all platforms.
+      * 745287 : basesink: drain query doesn't fully work to release v4l2 buffers
+      * 745319 : queue: can lock up the pipeline on serialized queries when downstream returns errors
+      * 745377 : v4l2src: Camera restarts when used with decodebin
+      * 745858 : check: tempnam deprecated warning
+      * 745927 : baseparse: does not preserve discont flag
+      * 746096 : printf: handle unsigned modifier for long long
+      * 746373 : New fundamental type for caps - GstFlagSet
+      * 746430 : tests: clock: Wrong testclock's name for test clock example.
+      * 746436 : tee: Add property that allows having all source pads unlinked
+      * 746518 : input-selector: eos is always forwarded, even from unselected pads
+      * 746585 : pluginloader: Fix typos
+      * 746809 : debugutils: Plot GstCapsFeatures in dot files.
+      * 746871 : bus: Segmentation fault in function gst_bus_set_flushing() when called with bus==NULL
+      * 747095 : Disable g-ir-scanner cache on build
+      * 747100 : tests: filesink: add test for GstFileSink render_list implemention
+      * 747119 : gstpad: Fix a typo in a doc string
+      * 747223 : test: filesink: add test to verify rendering buffers with multiple memory blocks
+      * 747392 : memory: add check for memory writability in resize()
+      * 747438 : doc: bufferlist: Update document for return value of gst_buffer_list_get
+      * 747439 : bufferlist: add check for writable object in insert or remove
+      * 747610 : Inconsistent bin children state when a child fails to switch from NULL to READY
+      * 747611 : inputselector: fix leak in gst_selector_pad_chain()
+      * 747690 : gstvalue: failure to deserialize bitmask
+      * 747731 : basesrc: Always setting segment.start as DTS on first buffer
+      * 747775 : typefind: leak in gst_type_find_element_src_event
+      * 747852 : pad: idle probe doesn't block pad from pushing data
+      * 748101 : tests: input selector unit test often fails under valgrind
+      * 748119 : GstMetaTransformFunction returns gboolean but its retval is discarded
+      * 748277 : test: memory: add test for allocation params
+      * 748345 : basesrc: Remove unused assignment
+      * 748414 : Invalid read when printing debug output containing '%%'
+      * 748739 : gstevent: remove duplicated header
+      * 749233 : fdsrc: docs: fix and update documentation
+      * 749258 : basesink: fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs
+      * 749391 : PTP network clock support
+      * 749904 : Remove docs/code-reviews
+      * 750172 : miniobject double WRITE | EXCLUSIVE lock succeeds despite part-miniobject.txt forbidding it
+      * 750319 : memory: subclasses don't know map flags in unmap
+      * 750351 : gst-indent: Added support for gindent as executable name
+      * 750439 : playbin using fdsrc source hangs for with empty input
+      * 738237 : baseparse: parser is never marked as FLAG_LOST_SYNC on discont
+      * 747321 : basesrc: do not leak buffer pool in error case
+      * 737683 : fakesrc: the " pattern " property can be gotten but it is never set or used
 
 ==== Download ====
 
@@ -93,9 +186,75 @@
         
 Contributors to this release
     
+      * Aleix Conchillo Flaqué
+      * Alex Ashley
+      * Andrei Sarakeev
+      * Arnaud Vrac
+      * Arun Raghavan
+      * Aurélien Zanelli
+      * Changbok Chea
+      * David Waring
+      * Duncan Palmer
       * Edward Hervey
+      * Felix Schwarz
+      * Frédéric Wang
+      * Guillaume Desmottes
+      * Haakon Sporsheim
+      * Heinrich Fink
+      * HoonHee Lee
+      * Hyunjun Ko
+      * Ilya Konstantinov
+      * Jan Alexander Steffens (heftig)
+      * Jan Schmidt
+      * Jan Steffens
+      * Jason Litzinger
+      * Jian
+      * Jimmy Ohn
+      * Jonas Holmberg
+      * Jose Antonio Santos Cadenas
+      * Linus Svensson
+      * Lubosz Sarnecki
+      * Luis de Bethencourt
+      * Marcin Kolny
+      * Mark Nauwelaerts
+      * Matej Knopp
+      * Mathieu Duponchelle
+      * Matthew Waters
+      * Matthieu Bouron
+      * Michael Catanzaro
+      * Michał Dębski
+      * Mohammed Sameer
+      * Nicolas Dufresne
+      * Nicolas Huet
+      * Nirbheek Chauhan
+      * Ognyan Tonchev
+      * Olivier Crête
+      * Peter Urbanec
+      * Philippe Normand
+      * Phillip Wood
+      * Prashant Gotarne
+      * Ramiro Polla
+      * Ravi Kiran K N
+      * Reynaldo H. Verdejo Pinochet
+      * Rémi Lefèvre
       * Sebastian Dröge
       * Sebastian Rasmussen
+      * Song Bing
+      * Srimanta Panda
+      * Stefan Sauer
+      * Suhwang Kim
       * Thiago Santos
       * Thibault Saunier
+      * Tiago
+      * Tiago Cesar Katcipis
+      * Tim-Philipp Müller
+      * Vincent Penquerc'h
+      * Vivia Nikolaidou
+      * Víctor Manuel Jáquez Leal
+      * William Manley
+      * Wim Taymans
+      * Wonchul Lee
+      * eunhae choi
+      * hoonhee.lee
+      * Руслан Ижбулатов
  
\ No newline at end of file
diff --git a/common/Makefile.in b/common/Makefile.in
index 54dbfa4..91f7d72 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -220,6 +220,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -310,6 +311,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -321,6 +323,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -407,6 +410,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 7c98e62..e95f71f 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -159,6 +159,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -249,6 +250,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -260,6 +262,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -346,6 +349,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/config.h.in b/config.h.in
index 93a7bce..72c89df 100644
--- a/config.h.in
+++ b/config.h.in
@@ -67,6 +67,9 @@
 /* location of the installed gst-plugin-scanner */
 #undef GST_PLUGIN_SCANNER_INSTALLED
 
+/* location of the installed gst-ptp-helper */
+#undef GST_PTP_HELPER_INSTALLED
+
 /* Define to 1 if you have the `alarm' function. */
 #undef HAVE_ALARM
 
@@ -267,6 +270,21 @@
 /* Have function pthread_setname_np(const char*) */
 #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID
 
+/* PTP support available */
+#undef HAVE_PTP
+
+/* Use capabilities for permissions in PTP helper */
+#undef HAVE_PTP_HELPER_CAPABILITIES
+
+/* Use setuid-root for permissions in PTP helper */
+#undef HAVE_PTP_HELPER_SETUID
+
+/* PTP helper setuid group */
+#undef HAVE_PTP_HELPER_SETUID_GROUP
+
+/* PTP helper setuid user */
+#undef HAVE_PTP_HELPER_SETUID_USER
+
 /* Define to 1 if the system has the type `ptrdiff_t'. */
 #undef HAVE_PTRDIFF_T
 
diff --git a/configure b/configure
index 6168eaf..dcc9346 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer 1.5.0.1.
+# Generated by GNU Autoconf 2.69 for GStreamer 1.5.1.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer'
 PACKAGE_TARNAME='gstreamer'
-PACKAGE_VERSION='1.5.0.1'
-PACKAGE_STRING='GStreamer 1.5.0.1'
+PACKAGE_VERSION='1.5.1'
+PACKAGE_STRING='GStreamer 1.5.1'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -657,6 +657,7 @@
 CHECK_MICRO_VERSION
 CHECK_MINOR_VERSION
 CHECK_MAJOR_VERSION
+GST_PTP_HELPER_INSTALLED
 GST_PLUGIN_SCANNER_INSTALLED
 GST_PLUGIN_LDFLAGS
 GST_OBJ_LIBS
@@ -826,6 +827,15 @@
 HAVE_CPU_PPC_TRUE
 HAVE_CPU_I386_FALSE
 HAVE_CPU_I386_TRUE
+HAVE_PTP_HELPER_CAPABILITIES_FALSE
+HAVE_PTP_HELPER_CAPABILITIES_TRUE
+HAVE_PTP_HELPER_SETUID_FALSE
+HAVE_PTP_HELPER_SETUID_TRUE
+HAVE_PTP_FALSE
+HAVE_PTP_TRUE
+SETCAP
+HAVE_CAP
+CAP_LIBS
 BUILD_TOOLS_FALSE
 BUILD_TOOLS_TRUE
 BUILD_BENCHMARKS_FALSE
@@ -1080,6 +1090,9 @@
 enable_benchmarks
 enable_tools
 enable_poisoning
+with_ptp_helper_setuid_user
+with_ptp_helper_setuid_group
+with_ptp_helper_permissions
 enable_largefile
 enable_introspection
 enable_docbook
@@ -1660,7 +1673,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GStreamer 1.5.0.1 to adapt to many kinds of systems.
+\`configure' configures GStreamer 1.5.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1731,7 +1744,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 1.5.0.1:";;
+     short | recursive ) echo "Configuration of GStreamer 1.5.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1818,6 +1831,15 @@
   --with-bash-completion-dir=PATH
                           Install the bash auto-completion script in this
                           directory. [default=yes]
+  --with-ptp-helper-setuid-user
+                          User to switch to when installing gst-ptp-helper
+                          setuid root
+  --with-ptp-helper-setuid-group
+                          Group to switch to when installing gst-ptp-helper
+                          setuid root
+  --with-ptp-helper-permissions
+                          how to gain PTP permissions (none, setuid-root,
+                          capabilities, auto)
   --with-html-dir=PATH    path to installed docs
   --with-memory-alignment 8,N,malloc,pagesize (default is 32)
 
@@ -1920,7 +1942,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 1.5.0.1
+GStreamer configure 1.5.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2195,6 +2217,126 @@
 
 } # ac_fn_c_check_func
 
+# ac_fn_c_check_header_preproc LINENO HEADER VAR
+# ----------------------------------------------
+# Tests whether HEADER is present, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_preproc ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_preproc
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------------------------------------------------ ##
+## Report this to http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer ##
+## ------------------------------------------------------------------------ ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
 # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
 # ---------------------------------------------
 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -2362,97 +2504,6 @@
 
 } # ac_fn_cxx_try_link
 
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------------------------ ##
-## Report this to http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer ##
-## ------------------------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
 # -------------------------------------------
 # Tests whether TYPE exists after having included INCLUDES, setting cache
@@ -2750,7 +2801,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GStreamer $as_me 1.5.0.1, which was
+It was created by GStreamer $as_me 1.5.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3731,7 +3782,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='1.5.0.1'
+ VERSION='1.5.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3942,9 +3993,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.5.0.1 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.5.0.1 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.5.0.1 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.5.1 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.5.1 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.5.1 | cut -d'.' -f3)
 
 
 
@@ -3955,7 +4006,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.5.0.1 | cut -d'.' -f4)
+  NANO=$(echo 1.5.1 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -16125,6 +16176,248 @@
 
 fi
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PTP support can be enabled" >&5
+$as_echo_n "checking whether PTP support can be enabled... " >&6; }
+case "$host_os" in
+  *android*)
+        HAVE_PTP=no
+    ;;
+  mingw*|pw32*|cygwin*)
+        HAVE_PTP=no
+    ;;
+  darwin*)
+        ac_fn_c_check_header_preproc "$LINENO" "MobileCoreServices/MobileCoreServices.h" "ac_cv_header_MobileCoreServices_MobileCoreServices_h"
+if test "x$ac_cv_header_MobileCoreServices_MobileCoreServices_h" = xyes; then :
+  HAVE_PTP="no"
+else
+  HAVE_PTP="yes"
+fi
+
+
+    ;;
+  linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*)
+    HAVE_PTP=yes
+    ;;
+  *)
+    HAVE_PTP=no
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_PTP" >&5
+$as_echo "$HAVE_PTP" >&6; }
+
+
+# Check whether --with-ptp-helper-setuid-user was given.
+if test "${with_ptp_helper_setuid_user+set}" = set; then :
+  withval=$with_ptp_helper_setuid_user;
+    if test "x$withval" != "x"
+    then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PTP_HELPER_SETUID_USER "$withval"
+_ACEOF
+
+    fi
+
+fi
+
+
+
+# Check whether --with-ptp-helper-setuid-group was given.
+if test "${with_ptp_helper_setuid_group+set}" = set; then :
+  withval=$with_ptp_helper_setuid_group;
+    if test "x$withval" != "x"
+    then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PTP_HELPER_SETUID_GROUP "$withval"
+_ACEOF
+
+    fi
+
+fi
+
+
+
+# Check whether --with-ptp-helper-permissions was given.
+if test "${with_ptp_helper_permissions+set}" = set; then :
+  withval=$with_ptp_helper_permissions;
+else
+  with_ptp_helper_permissions=auto
+fi
+
+
+gst_ptp_have_cap=no
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cap_init in -lcap" >&5
+$as_echo_n "checking for cap_init in -lcap... " >&6; }
+if ${ac_cv_lib_cap_cap_init+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcap  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cap_init ();
+int
+main ()
+{
+return cap_init ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_cap_cap_init=yes
+else
+  ac_cv_lib_cap_cap_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cap_cap_init" >&5
+$as_echo "$ac_cv_lib_cap_cap_init" >&6; }
+if test "x$ac_cv_lib_cap_cap_init" = xyes; then :
+  HAVE_CAP=yes
+else
+  HAVE_CAP=no
+fi
+
+  if test "x$HAVE_CAP" = "xyes"; then
+    ac_fn_c_check_header_mongrel "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_capability_h" = xyes; then :
+  :
+else
+  HAVE_CAP=no
+fi
+
+
+    if test "x$HAVE_CAP" = "xyes"; then
+            CAP_LIBS="-lcap"
+
+                       gst_ptp_have_cap=yes
+    else
+      :
+    fi
+  else
+    :
+  fi
+
+
+
+
+# Extract the first word of "setcap", so it can be a program name with args.
+set dummy setcap; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_SETCAP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $SETCAP in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SETCAP="$SETCAP" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/bin:/usr/sbin:/sbin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_SETCAP="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_SETCAP" && ac_cv_path_SETCAP="no"
+  ;;
+esac
+fi
+SETCAP=$ac_cv_path_SETCAP
+if test -n "$SETCAP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SETCAP" >&5
+$as_echo "$SETCAP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+if test "x$HAVE_PTP" = "xyes"; then
+
+$as_echo "#define HAVE_PTP 1" >>confdefs.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to install gst-ptp-helper" >&5
+$as_echo_n "checking how to install gst-ptp-helper... " >&6; }
+if test "x$with_ptp_helper_permissions" = "xauto"; then
+    if test "x$gst_ptp_have_cap" = "xyes" -a "x$SETCAP" != "xno"; then
+        with_ptp_helper_permissions="capabilities"
+    else
+        with_ptp_helper_permissions="setuid-root"
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_ptp_helper_permissions" >&5
+$as_echo "$with_ptp_helper_permissions" >&6; }
+
+case "$with_ptp_helper_permissions" in
+  none)
+    ;;
+  setuid-root)
+
+$as_echo "#define HAVE_PTP_HELPER_SETUID 1" >>confdefs.h
+
+    ;;
+  capabilities)
+
+$as_echo "#define HAVE_PTP_HELPER_CAPABILITIES 1" >>confdefs.h
+
+    ;;
+  *)
+    as_fn_error $? "Invalid parameter $with_ptp_helper_permissions" "$LINENO" 5
+    ;;
+esac
+
+fi
+
+ if test "x$HAVE_PTP" = "xyes"; then
+  HAVE_PTP_TRUE=
+  HAVE_PTP_FALSE='#'
+else
+  HAVE_PTP_TRUE='#'
+  HAVE_PTP_FALSE=
+fi
+
+ if test "x$with_ptp_helper_permissions" = "xsetuid-root"; then
+  HAVE_PTP_HELPER_SETUID_TRUE=
+  HAVE_PTP_HELPER_SETUID_FALSE='#'
+else
+  HAVE_PTP_HELPER_SETUID_TRUE='#'
+  HAVE_PTP_HELPER_SETUID_FALSE=
+fi
+
+ if test "x$with_ptp_helper_permissions" = "xcapabilities"; then
+  HAVE_PTP_HELPER_CAPABILITIES_TRUE=
+  HAVE_PTP_HELPER_CAPABILITIES_FALSE='#'
+else
+  HAVE_PTP_HELPER_CAPABILITIES_TRUE='#'
+  HAVE_PTP_HELPER_CAPABILITIES_FALSE=
+fi
+
+
 
 
 
@@ -26588,6 +26881,41 @@
 
 
 
+  EXP_VAR=GST_PTP_HELPER_INSTALLED
+  FROM_VAR=${libexecdir}/gstreamer-$GST_API_VERSION/gst-ptp-helper
+
+    prefix_save=$prefix
+  exec_prefix_save=$exec_prefix
+
+    if test "x$prefix" = "xNONE"; then
+    prefix="$ac_default_prefix"
+  fi
+    if test "x$exec_prefix" = "xNONE"; then
+    exec_prefix=$prefix
+  fi
+
+  full_var="$FROM_VAR"
+    while true; do
+    new_full_var="`eval echo $full_var`"
+    if test "x$new_full_var" = "x$full_var"; then break; fi
+    full_var=$new_full_var
+  done
+
+    full_var=$new_full_var
+  GST_PTP_HELPER_INSTALLED="$full_var"
+
+
+    prefix=$prefix_save
+  exec_prefix=$exec_prefix_save
+
+
+cat >>confdefs.h <<_ACEOF
+#define GST_PTP_HELPER_INSTALLED "$GST_PTP_HELPER_INSTALLED"
+_ACEOF
+
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: Running check unit test framework checks now..." >&5
 $as_echo "$as_me: Running check unit test framework checks now..." >&6;}
 
@@ -27462,7 +27790,7 @@
 
 
 
-ac_config_files="$ac_config_files Makefile data/Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h gst/parse/Makefile gst/printf/Makefile libs/Makefile libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile libs/gst/check/internal-check.h:libs/gst/check/libcheck/check.h.in libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile plugins/Makefile plugins/elements/Makefile po/Makefile.in tests/Makefile tests/benchmarks/Makefile tests/check/Makefile tests/misc/Makefile tests/examples/Makefile tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile tests/examples/netclock/Makefile tests/examples/streamiddemux/Makefile tests/examples/streams/Makefile tools/Makefile common/Makefile common/m4/Makefile docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile docs/pwg/Makefile docs/slides/Makefile docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile stamp.h pkgconfig/gstreamer.pc pkgconfig/gstreamer-uninstalled.pc pkgconfig/gstreamer-base.pc pkgconfig/gstreamer-base-uninstalled.pc pkgconfig/gstreamer-check.pc pkgconfig/gstreamer-check-uninstalled.pc pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc gstreamer.spec"
+ac_config_files="$ac_config_files Makefile data/Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h gst/parse/Makefile gst/printf/Makefile libs/Makefile libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile libs/gst/check/internal-check.h:libs/gst/check/libcheck/check.h.in libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile plugins/Makefile plugins/elements/Makefile po/Makefile.in tests/Makefile tests/benchmarks/Makefile tests/check/Makefile tests/misc/Makefile tests/examples/Makefile tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile tests/examples/netclock/Makefile tests/examples/ptp/Makefile tests/examples/streamiddemux/Makefile tests/examples/streams/Makefile tools/Makefile common/Makefile common/m4/Makefile docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile docs/pwg/Makefile docs/slides/Makefile docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile stamp.h pkgconfig/gstreamer.pc pkgconfig/gstreamer-uninstalled.pc pkgconfig/gstreamer-base.pc pkgconfig/gstreamer-base-uninstalled.pc pkgconfig/gstreamer-check.pc pkgconfig/gstreamer-check-uninstalled.pc pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc gstreamer.spec"
 
 
 sed \
@@ -27697,6 +28025,18 @@
   as_fn_error $? "conditional \"BUILD_TOOLS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAVE_PTP_TRUE}" && test -z "${HAVE_PTP_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_PTP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PTP_HELPER_SETUID_TRUE}" && test -z "${HAVE_PTP_HELPER_SETUID_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_PTP_HELPER_SETUID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PTP_HELPER_CAPABILITIES_TRUE}" && test -z "${HAVE_PTP_HELPER_CAPABILITIES_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_PTP_HELPER_CAPABILITIES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 
 if test -z "${HAVE_CPU_I386_TRUE}" && test -z "${HAVE_CPU_I386_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_CPU_I386\" was never defined.
@@ -28271,7 +28611,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer $as_me 1.5.0.1, which was
+This file was extended by GStreamer $as_me 1.5.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -28337,7 +28677,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GStreamer config.status 1.5.0.1
+GStreamer config.status 1.5.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -28904,6 +29244,7 @@
     "tests/examples/manual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/manual/Makefile" ;;
     "tests/examples/memory/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/memory/Makefile" ;;
     "tests/examples/netclock/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/netclock/Makefile" ;;
+    "tests/examples/ptp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/ptp/Makefile" ;;
     "tests/examples/streamiddemux/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/streamiddemux/Makefile" ;;
     "tests/examples/streams/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/streams/Makefile" ;;
     "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
@@ -31069,6 +31410,7 @@
 	Plugin support	           : ${enable_plugin}
 	Static plugins             : ${enable_static_plugins}
 	Unit testing support       : ${BUILD_CHECK}
+	PTP clock support          : ${HAVE_PTP}
 
 	Debug                      : ${USE_DEBUG}
 	Profiling                  : ${USE_PROFILING}
diff --git a/configure.ac b/configure.ac
index 42fe32a..6b6a26c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, git and prerelease does Werror too
 dnl
-AC_INIT([GStreamer],[1.5.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
+AC_INIT([GStreamer],[1.5.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
 AG_GST_INIT
 
 dnl initialize automake (we require GNU make)
@@ -258,6 +258,105 @@
     [Define if we should poison deallocated memory])
 fi
 
+dnl PTP support parts
+AC_MSG_CHECKING([whether PTP support can be enabled])
+case "$host_os" in
+  *android*)
+    dnl Can't run on Android because of permissions
+    HAVE_PTP=no
+    ;;
+  mingw*|pw32*|cygwin*)
+    dnl Not ported to Windows yet
+    HAVE_PTP=no
+    ;;
+  darwin*)
+    dnl Can't run on iOS because of permissions
+    AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_PTP="no", HAVE_PTP="yes", [-])
+    ;;
+  linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*)
+    HAVE_PTP=yes
+    ;;
+  *)
+    HAVE_PTP=no
+    ;;
+esac
+AC_MSG_RESULT([$HAVE_PTP])
+
+dnl user/group to change to in gst-ptp-helper
+AC_ARG_WITH([ptp-helper-setuid-user],
+  AS_HELP_STRING([--with-ptp-helper-setuid-user],[User to switch to when installing gst-ptp-helper setuid root]),
+  [
+    if test "x$withval" != "x"
+    then
+      AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_USER, "$withval", [PTP helper setuid user])
+    fi
+  ], []
+)
+
+dnl group/group to change to in gst-ptp-helper
+AC_ARG_WITH([ptp-helper-setuid-group],
+  AS_HELP_STRING([--with-ptp-helper-setuid-group],[Group to switch to when installing gst-ptp-helper setuid root]),
+  [
+    if test "x$withval" != "x"
+    then
+      AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_GROUP, "$withval", [PTP helper setuid group])
+    fi
+  ], []
+)
+
+AC_ARG_WITH(
+  ptp-helper-permissions,
+  AC_HELP_STRING(
+    [--with-ptp-helper-permissions],
+    [how to gain PTP permissions (none, setuid-root, capabilities, auto)]),
+    [],
+    [with_ptp_helper_permissions=auto])
+
+gst_ptp_have_cap=no
+AG_GST_CHECK_LIBHEADER(CAP, cap,
+                       cap_init, ,
+                       sys/capability.h,
+                       CAP_LIBS="-lcap"
+                       AC_SUBST(CAP_LIBS)
+                       gst_ptp_have_cap=yes)
+
+AC_PATH_PROG([SETCAP], [setcap], [no], [$PATH:/usr/bin:/bin:/usr/sbin:/sbin])
+
+if test "x$HAVE_PTP" = "xyes"; then
+AC_DEFINE(HAVE_PTP, 1, [PTP support available])
+
+AC_MSG_CHECKING([how to install gst-ptp-helper])
+if test "x$with_ptp_helper_permissions" = "xauto"; then
+    if test "x$gst_ptp_have_cap" = "xyes" -a "x$SETCAP" != "xno"; then
+        with_ptp_helper_permissions="capabilities"
+    else
+        with_ptp_helper_permissions="setuid-root"
+    fi
+fi
+AC_MSG_RESULT([$with_ptp_helper_permissions])
+
+case "$with_ptp_helper_permissions" in
+  none)
+    ;;
+  setuid-root)
+     AC_DEFINE(HAVE_PTP_HELPER_SETUID, 1,
+        [Use setuid-root for permissions in PTP helper])
+    ;;
+  capabilities)
+     AC_DEFINE(HAVE_PTP_HELPER_CAPABILITIES, 1,
+        [Use capabilities for permissions in PTP helper])
+    ;;
+  *)
+    AC_MSG_ERROR(Invalid parameter [$with_ptp_helper_permissions])
+    ;;
+esac
+
+fi
+
+AM_CONDITIONAL(HAVE_PTP, test "x$HAVE_PTP" = "xyes")
+AM_CONDITIONAL(HAVE_PTP_HELPER_SETUID, test "x$with_ptp_helper_permissions" = "xsetuid-root")
+AM_CONDITIONAL(HAVE_PTP_HELPER_CAPABILITIES, test "x$with_ptp_helper_permissions" = "xcapabilities")
+
 dnl *** checks for platform ***
 
 dnl * hardware/architecture *
@@ -806,6 +905,12 @@
     "$GST_PLUGIN_SCANNER_INSTALLED", [location of the installed gst-plugin-scanner])
 AC_SUBST(GST_PLUGIN_SCANNER_INSTALLED)
 
+dnl ptp helper locations
+AS_AC_EXPAND(GST_PTP_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-ptp-helper)
+AC_DEFINE_UNQUOTED(GST_PTP_HELPER_INSTALLED,
+    "$GST_PTP_HELPER_INSTALLED", [location of the installed gst-ptp-helper])
+AC_SUBST(GST_PTP_HELPER_INSTALLED)
+
 dnl things for our internal libcheck (must be called even if building
 dnl libcheck is disabled because it defines conditionals)
 AG_GST_CHECK_CHECKS()
@@ -842,6 +947,7 @@
 tests/examples/manual/Makefile
 tests/examples/memory/Makefile
 tests/examples/netclock/Makefile
+tests/examples/ptp/Makefile
 tests/examples/streamiddemux/Makefile
 tests/examples/streams/Makefile
 tools/Makefile
@@ -945,6 +1051,7 @@
 	Plugin support	           : ${enable_plugin}
 	Static plugins             : ${enable_static_plugins}
 	Unit testing support       : ${BUILD_CHECK}
+	PTP clock support          : ${HAVE_PTP}
 
 	Debug                      : ${USE_DEBUG}
 	Profiling                  : ${USE_PROFILING}
diff --git a/data/Makefile.in b/data/Makefile.in
index d5204ef..3a02f0a 100644
--- a/data/Makefile.in
+++ b/data/Makefile.in
@@ -192,6 +192,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -282,6 +283,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -293,6 +295,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -379,6 +382,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 67eadc4..0e59628 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -225,6 +225,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -315,6 +316,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -326,6 +328,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -412,6 +415,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index 743cfea..e89e4b7 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -159,6 +159,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -249,6 +250,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -260,6 +262,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -346,6 +349,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/design/draft-klass.txt b/docs/design/draft-klass.txt
index 9443a40..e8c4b25 100644
--- a/docs/design/draft-klass.txt
+++ b/docs/design/draft-klass.txt
@@ -151,7 +151,7 @@
 
  5) open issues:
 
-   - how to differencial physical devices from logical ones?
+   - how to differentiate physical devices from logical ones?
      autoaudiosink    : Sink/Audio/Device
      alsasink         : Sink/Audio/Device
 
diff --git a/docs/design/part-negotiation.txt b/docs/design/part-negotiation.txt
index d7305cd..d3e67ad 100644
--- a/docs/design/part-negotiation.txt
+++ b/docs/design/part-negotiation.txt
@@ -12,7 +12,7 @@
 Basic rules
 ~~~~~~~~~~~
 
-The simple rules must be followed:
+These simple rules must be followed:
 
  1) downstream suggests formats
  2) upstream decides on format
@@ -249,7 +249,7 @@
  * Playback from a lossy source, such as RTP, in which more knowledge
    about the latency of the pipeline can increase quality; or
 
- * Audio synthesis, in which audio APIs are tuned to producing only the
+ * Audio synthesis, in which audio APIs are tuned to produce only the
    necessary number of samples, typically driven by a hardware interrupt
    to fill a DMA buffer or a Jack[0] port buffer.
 
@@ -268,7 +268,7 @@
 on a format.
 
 Recalling the principles of capsnego, whereby information must flow from
-those that have it to those that do not, we see that the two named use
+those that have it to those that do not, we see that the three named use
 cases have different negotiation requirements:
 
  * RTP and low-latency playback are both like the normal playback case,
@@ -319,7 +319,7 @@
 
 When negotiation succeeded, the sinkpad and all upstream internally linked pads
 are activated in pull mode. Typically, this operation will trigger negotiation
-on the downstream elements, which will now be forced to negotiation to the
+on the downstream elements, which will now be forced to negotiate to the
 final fixed desired caps of the sinkpad.
 
 After these steps, the sink element returns ASYNC from the state change
diff --git a/docs/faq/Makefile.in b/docs/faq/Makefile.in
index e9c6ae4..fcfdf63 100644
--- a/docs/faq/Makefile.in
+++ b/docs/faq/Makefile.in
@@ -214,6 +214,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -304,6 +305,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -315,6 +317,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -401,6 +404,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/gst/Makefile.in b/docs/gst/Makefile.in
index 71433c1..8ad43d9 100644
--- a/docs/gst/Makefile.in
+++ b/docs/gst/Makefile.in
@@ -180,6 +180,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -272,6 +273,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -283,6 +285,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -369,6 +372,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/gst/gst-universe.svg b/docs/gst/gst-universe.svg
index e69de29..61067f9 100644
--- a/docs/gst/gst-universe.svg
+++ b/docs/gst/gst-universe.svg
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: pipeline Pages: 1 -->
+<svg width="712pt" height="632pt"
+ viewBox="0.00 0.00 712.00 632.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 628)">
+<title>pipeline</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-628 708,-628 708,4 -4,4"/>
+<!-- application -->
+<g id="node1" class="node"><title>application</title>
+<polygon fill="#ffdddd" stroke="black" points="581,-624 513,-624 513,-588 581,-588 581,-624"/>
+<text text-anchor="middle" x="547" y="-603.8" font-family="Bitstream Vera Sans" font-size="9.00">application</text>
+</g>
+<!-- bus -->
+<g id="node3" class="node"><title>bus</title>
+<g id="a_node3"><a xlink:href="GstBus.html" xlink:title="bus" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="123,-464 69,-464 69,-428 123,-428 123,-464"/>
+<text text-anchor="middle" x="96" y="-443.8" font-family="Bitstream Vera Sans" font-size="9.00">bus</text>
+</a>
+</g>
+</g>
+<!-- application&#45;&gt;bus -->
+<g id="edge24" class="edge"><title>application&#45;&gt;bus</title>
+<path fill="none" stroke="black" d="M512.839,-602.11C431.071,-594.787 226.336,-573.934 165,-544 133.348,-528.553 124.98,-520.285 107,-490 104.171,-485.236 102.064,-479.755 100.496,-474.337"/>
+<polygon fill="black" stroke="black" points="103.805,-473.124 98.0966,-464.198 96.9935,-474.736 103.805,-473.124"/>
+<text text-anchor="middle" x="181" y="-524.4" font-family="Bitstream Vera Sans" font-size="7.00">listen on</text>
+</g>
+<!-- event -->
+<g id="node9" class="node"><title>event</title>
+<g id="a_node9"><a xlink:href="gstreamer-GstEvent.html" xlink:title="event" target="_top">
+<polygon fill="#ddffdd" stroke="black" points="595,-304 541,-304 541,-268 595,-268 595,-304"/>
+<text text-anchor="middle" x="568" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">event</text>
+</a>
+</g>
+</g>
+<!-- application&#45;&gt;event -->
+<g id="edge26" class="edge"><title>application&#45;&gt;event</title>
+<path fill="none" stroke="black" d="M581.083,-590.104C604.731,-577.208 632,-556.041 632,-527 632,-527 632,-527 632,-365 632,-344.901 629.961,-338.152 618,-322 613.933,-316.508 608.741,-311.561 603.25,-307.234"/>
+<polygon fill="black" stroke="black" points="605.244,-304.357 595.086,-301.346 601.149,-310.034 605.244,-304.357"/>
+<text text-anchor="middle" x="641" y="-444.4" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+</g>
+<!-- pipeline -->
+<g id="node13" class="node"><title>pipeline</title>
+<g id="a_node13"><a xlink:href="GstPipeline.html" xlink:title="pipeline" target="_top">
+<polygon fill="#ccccff" stroke="black" points="260,-544 206,-544 206,-508 260,-508 260,-544"/>
+<text text-anchor="middle" x="233" y="-523.8" font-family="Bitstream Vera Sans" font-size="9.00">pipeline</text>
+</a>
+</g>
+</g>
+<!-- application&#45;&gt;pipeline -->
+<g id="edge23" class="edge"><title>application&#45;&gt;pipeline</title>
+<path fill="none" stroke="black" d="M512.799,-596.504C453.447,-581.761 331.849,-551.555 270.363,-536.281"/>
+<polygon fill="black" stroke="black" points="270.868,-532.8 260.319,-533.786 269.181,-539.594 270.868,-532.8"/>
+<text text-anchor="middle" x="406.5" y="-564.4" font-family="Bitstream Vera Sans" font-size="7.00">has</text>
+</g>
+<!-- query -->
+<g id="node16" class="node"><title>query</title>
+<g id="a_node16"><a xlink:href="gstreamer-GstQuery.html" xlink:title="query" target="_top">
+<polygon fill="#ddffdd" stroke="black" points="690,-304 636,-304 636,-268 690,-268 690,-304"/>
+<text text-anchor="middle" x="663" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">query</text>
+</a>
+</g>
+</g>
+<!-- application&#45;&gt;query -->
+<g id="edge25" class="edge"><title>application&#45;&gt;query</title>
+<path fill="none" stroke="black" d="M581.003,-600.877C622.154,-593.772 686,-575.011 686,-527 686,-527 686,-527 686,-365 686,-347.449 680.577,-328.551 674.997,-313.753"/>
+<polygon fill="black" stroke="black" points="678.147,-312.205 671.174,-304.229 671.651,-314.813 678.147,-312.205"/>
+<text text-anchor="middle" x="695" y="-444.4" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+</g>
+<!-- bin -->
+<g id="node2" class="node"><title>bin</title>
+<g id="a_node2"><a xlink:href="GstBin.html" xlink:title="bin" target="_top">
+<polygon fill="#ccccff" stroke="black" points="346,-464 292,-464 292,-428 346,-428 346,-464"/>
+<text text-anchor="middle" x="319" y="-443.8" font-family="Bitstream Vera Sans" font-size="9.00">bin</text>
+</a>
+</g>
+</g>
+<!-- element -->
+<g id="node7" class="node"><title>element</title>
+<g id="a_node7"><a xlink:href="GstElement.html" xlink:title="element" target="_top">
+<polygon fill="#ccccff" stroke="black" points="382.5,-384 327.5,-384 327.5,-348 382.5,-348 382.5,-384"/>
+<text text-anchor="middle" x="355" y="-363.8" font-family="Bitstream Vera Sans" font-size="9.00">element</text>
+</a>
+</g>
+</g>
+<!-- bin&#45;&gt;element -->
+<g id="edge1" class="edge"><title>bin&#45;&gt;element</title>
+<path fill="none" stroke="black" d="M316.513,-427.631C316.068,-419.539 316.592,-409.964 320,-402 321.509,-398.474 323.555,-395.114 325.905,-391.97"/>
+<polygon fill="black" stroke="black" points="328.757,-394.024 332.678,-384.181 323.475,-389.431 328.757,-394.024"/>
+<text text-anchor="middle" x="326.5" y="-404.4" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+</g>
+<!-- bin&#45;&gt;element -->
+<g id="edge12" class="edge"><title>bin&#45;&gt;element</title>
+<path fill="none" stroke="black" d="M326.99,-427.689C331.604,-417.692 337.505,-404.906 342.7,-393.651"/>
+<polygon fill="black" stroke="black" points="346.02,-394.809 347.033,-384.262 339.664,-391.875 346.02,-394.809"/>
+<text text-anchor="middle" x="349" y="-404.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- message -->
+<g id="node10" class="node"><title>message</title>
+<g id="a_node10"><a xlink:href="gstreamer-GstMessage.html" xlink:title="message" target="_top">
+<polygon fill="#ddffdd" stroke="black" points="131.5,-304 72.5,-304 72.5,-268 131.5,-268 131.5,-304"/>
+<text text-anchor="middle" x="102" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">message</text>
+</a>
+</g>
+</g>
+<!-- bus&#45;&gt;message -->
+<g id="edge19" class="edge"><title>bus&#45;&gt;message</title>
+<path fill="none" stroke="black" d="M96.6535,-427.79C97.6905,-400.485 99.7217,-346.994 100.96,-314.38"/>
+<polygon fill="black" stroke="black" points="104.465,-314.314 101.347,-304.188 97.4702,-314.048 104.465,-314.314"/>
+<text text-anchor="middle" x="114" y="-364.4" font-family="Bitstream Vera Sans" font-size="7.00">receive</text>
+</g>
+<!-- buffer -->
+<g id="node4" class="node"><title>buffer</title>
+<g id="a_node4"><a xlink:href="gstreamer-GstBuffer.html" xlink:title="buffer" target="_top">
+<polygon fill="#ddffdd" stroke="black" points="528,-250 474,-250 474,-214 528,-214 528,-250"/>
+<text text-anchor="middle" x="501" y="-229.8" font-family="Bitstream Vera Sans" font-size="9.00">buffer</text>
+</a>
+</g>
+</g>
+<!-- caps -->
+<g id="node5" class="node"><title>caps</title>
+<g id="a_node5"><a xlink:href="gstreamer-GstCaps.html" xlink:title="caps" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="479,-116 425,-116 425,-80 479,-80 479,-116"/>
+<text text-anchor="middle" x="452" y="-95.8" font-family="Bitstream Vera Sans" font-size="9.00">caps</text>
+</a>
+</g>
+</g>
+<!-- buffer&#45;&gt;caps -->
+<g id="edge10" class="edge"><title>buffer&#45;&gt;caps</title>
+<path fill="none" stroke="black" d="M495.075,-213.734C490.094,-199.326 482.729,-178.272 476,-160 471.721,-148.382 470.521,-145.526 466,-134 464.925,-131.258 463.795,-128.399 462.662,-125.548"/>
+<polygon fill="black" stroke="black" points="465.838,-124.063 458.882,-116.072 459.336,-126.657 465.838,-124.063"/>
+<text text-anchor="middle" x="499" y="-176.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- structure -->
+<g id="node18" class="node"><title>structure</title>
+<g id="a_node18"><a xlink:href="gstreamer-GstStructure.html" xlink:title="structure" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="482,-36 422,-36 422,-0 482,-0 482,-36"/>
+<text text-anchor="middle" x="452" y="-15.8" font-family="Bitstream Vera Sans" font-size="9.00">structure</text>
+</a>
+</g>
+</g>
+<!-- caps&#45;&gt;structure -->
+<g id="edge11" class="edge"><title>caps&#45;&gt;structure</title>
+<path fill="none" stroke="black" d="M452,-79.6893C452,-69.8938 452,-57.4218 452,-46.335"/>
+<polygon fill="black" stroke="black" points="455.5,-46.2623 452,-36.2623 448.5,-46.2624 455.5,-46.2623"/>
+<text text-anchor="middle" x="462" y="-56.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- clock -->
+<g id="node6" class="node"><title>clock</title>
+<g id="a_node6"><a xlink:href="GstClock.html" xlink:title="clock" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="204,-304 150,-304 150,-268 204,-268 204,-304"/>
+<text text-anchor="middle" x="177" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">clock</text>
+</a>
+</g>
+</g>
+<!-- element&#45;&gt;buffer -->
+<g id="edge17" class="edge"><title>element&#45;&gt;buffer</title>
+<path fill="none" stroke="black" d="M381.372,-347.917C390.161,-342.221 400.004,-335.839 409,-330 426.785,-318.456 433.595,-318.569 449,-304 463.157,-290.611 476.114,-272.942 485.553,-258.58"/>
+<polygon fill="black" stroke="black" points="488.516,-260.443 490.955,-250.132 482.618,-256.672 488.516,-260.443"/>
+<text text-anchor="middle" x="450.5" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
+</g>
+<!-- element&#45;&gt;clock -->
+<g id="edge7" class="edge"><title>element&#45;&gt;clock</title>
+<path fill="none" stroke="black" d="M327.234,-360.439C301.305,-355.435 262.052,-345.921 231,-330 220.979,-324.862 211.039,-317.702 202.471,-310.697"/>
+<polygon fill="black" stroke="black" points="204.602,-307.915 194.718,-304.1 200.065,-313.246 204.602,-307.915"/>
+<text text-anchor="middle" x="253.5" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">may provide</text>
+</g>
+<!-- element_factory -->
+<g id="node8" class="node"><title>element_factory</title>
+<g id="a_node8"><a xlink:href="GstElementFactory.html" xlink:title="element factory" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="312,-304 222,-304 222,-268 312,-268 312,-304"/>
+<text text-anchor="middle" x="267" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">element factory</text>
+</a>
+</g>
+</g>
+<!-- element&#45;&gt;element_factory -->
+<g id="edge14" class="edge"><title>element&#45;&gt;element_factory</title>
+<path fill="none" stroke="black" d="M327.192,-356.36C313.019,-350.764 296.414,-342.208 285,-330 280.68,-325.38 277.32,-319.573 274.737,-313.734"/>
+<polygon fill="black" stroke="black" points="277.899,-312.2 271.09,-304.082 271.351,-314.674 277.899,-312.2"/>
+<text text-anchor="middle" x="313" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
+</g>
+<!-- element&#45;&gt;event -->
+<g id="edge16" class="edge"><title>element&#45;&gt;event</title>
+<path fill="none" stroke="black" d="M382.632,-359.605C409.75,-353.864 452.014,-343.715 487,-330 502.175,-324.051 518.167,-315.984 531.895,-308.443"/>
+<polygon fill="black" stroke="black" points="533.988,-311.282 541,-303.34 530.565,-305.176 533.988,-311.282"/>
+<text text-anchor="middle" x="533.5" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
+</g>
+<!-- element&#45;&gt;message -->
+<g id="edge18" class="edge"><title>element&#45;&gt;message</title>
+<path fill="none" stroke="black" d="M327.415,-360.675C295.511,-355.266 241.648,-344.871 197,-330 178.015,-323.677 157.714,-314.798 140.773,-306.749"/>
+<polygon fill="black" stroke="black" points="142.263,-303.582 131.737,-302.384 139.219,-309.885 142.263,-303.582"/>
+<text text-anchor="middle" x="206" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+</g>
+<!-- pad -->
+<g id="node11" class="node"><title>pad</title>
+<g id="a_node11"><a xlink:href="GstPad.html" xlink:title="pad" target="_top">
+<polygon fill="#ccccff" stroke="black" points="440,-304 386,-304 386,-268 440,-268 440,-304"/>
+<text text-anchor="middle" x="413" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">pad</text>
+</a>
+</g>
+</g>
+<!-- element&#45;&gt;pad -->
+<g id="edge6" class="edge"><title>element&#45;&gt;pad</title>
+<path fill="none" stroke="black" d="M367.872,-347.689C375.606,-337.288 385.585,-323.869 394.191,-312.294"/>
+<polygon fill="black" stroke="black" points="397.005,-314.375 400.164,-304.262 391.388,-310.199 397.005,-314.375"/>
+<text text-anchor="middle" x="396" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- pad_template -->
+<g id="node12" class="node"><title>pad_template</title>
+<g id="a_node12"><a xlink:href="GstPadTemplate.html" xlink:title="pad template" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="416,-196 336,-196 336,-160 416,-160 416,-196"/>
+<text text-anchor="middle" x="376" y="-175.8" font-family="Bitstream Vera Sans" font-size="9.00">pad template</text>
+</a>
+</g>
+</g>
+<!-- element&#45;&gt;pad_template -->
+<g id="edge5" class="edge"><title>element&#45;&gt;pad_template</title>
+<path fill="none" stroke="black" d="M354.373,-347.762C353.894,-328.315 353.779,-295.775 357,-268 359.427,-247.075 364.48,-223.805 368.765,-206.309"/>
+<polygon fill="black" stroke="black" points="372.254,-206.785 371.303,-196.233 365.466,-205.075 372.254,-206.785"/>
+<text text-anchor="middle" x="367" y="-284.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- element&#45;&gt;query -->
+<g id="edge15" class="edge"><title>element&#45;&gt;query</title>
+<path fill="none" stroke="black" d="M382.676,-362.596C423.319,-358.573 501.235,-348.981 565,-330 586.078,-323.726 608.616,-314.061 626.757,-305.482"/>
+<polygon fill="black" stroke="black" points="628.322,-308.613 635.811,-301.118 625.283,-302.307 628.322,-308.613"/>
+<text text-anchor="middle" x="603" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">answers</text>
+</g>
+<!-- plugin_feature -->
+<g id="node15" class="node"><title>plugin_feature</title>
+<g id="a_node15"><a xlink:href="GstPluginFeature.html" xlink:title="plugin feature" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="164.5,-196 81.5,-196 81.5,-160 164.5,-160 164.5,-196"/>
+<text text-anchor="middle" x="123" y="-175.8" font-family="Bitstream Vera Sans" font-size="9.00">plugin feature</text>
+</a>
+</g>
+</g>
+<!-- element_factory&#45;&gt;plugin_feature -->
+<g id="edge22" class="edge"><title>element_factory&#45;&gt;plugin_feature</title>
+<path fill="none" stroke="black" d="M243.864,-267.969C219.76,-250.226 181.821,-222.299 154.885,-202.471"/>
+<polygon fill="black" stroke="black" points="156.685,-199.45 146.557,-196.341 152.536,-205.088 156.685,-199.45"/>
+<text text-anchor="middle" x="223.5" y="-230.4" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+</g>
+<!-- pad&#45;&gt;caps -->
+<g id="edge8" class="edge"><title>pad&#45;&gt;caps</title>
+<path fill="none" stroke="black" d="M427.945,-267.881C431.87,-262.494 435.655,-256.298 438,-250 446.192,-227.992 449.765,-163.333 451.179,-126.151"/>
+<polygon fill="black" stroke="black" points="454.682,-126.128 451.537,-116.011 447.686,-125.881 454.682,-126.128"/>
+<text text-anchor="middle" x="460" y="-176.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- pad&#45;&gt;pad_template -->
+<g id="edge13" class="edge"><title>pad&#45;&gt;pad_template</title>
+<path fill="none" stroke="black" d="M393.78,-267.685C389.148,-262.473 384.748,-256.417 382,-250 376.16,-236.361 374.475,-219.918 374.334,-206.291"/>
+<polygon fill="black" stroke="black" points="377.837,-206.131 374.502,-196.075 370.838,-206.016 377.837,-206.131"/>
+<text text-anchor="middle" x="410" y="-230.4" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
+</g>
+<!-- pad_template&#45;&gt;caps -->
+<g id="edge9" class="edge"><title>pad_template&#45;&gt;caps</title>
+<path fill="none" stroke="black" d="M392.867,-159.689C403.198,-149.086 416.586,-135.346 428.009,-123.622"/>
+<polygon fill="black" stroke="black" points="430.708,-125.867 435.18,-116.262 425.695,-120.982 430.708,-125.867"/>
+<text text-anchor="middle" x="427" y="-136.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- pipeline&#45;&gt;bin -->
+<g id="edge2" class="edge"><title>pipeline&#45;&gt;bin</title>
+<path fill="none" stroke="black" d="M252.086,-507.689C263.888,-496.985 279.215,-483.084 292.221,-471.288"/>
+<polygon fill="black" stroke="black" points="294.911,-473.573 299.967,-464.262 290.209,-468.388 294.911,-473.573"/>
+<text text-anchor="middle" x="285.5" y="-484.4" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+</g>
+<!-- pipeline&#45;&gt;bus -->
+<g id="edge3" class="edge"><title>pipeline&#45;&gt;bus</title>
+<path fill="none" stroke="black" d="M205.982,-522.778C180.69,-519.425 143.13,-511.024 118,-490 112.766,-485.621 108.637,-479.682 105.439,-473.616"/>
+<polygon fill="black" stroke="black" points="108.477,-471.842 101.154,-464.186 102.104,-474.738 108.477,-471.842"/>
+<text text-anchor="middle" x="128" y="-484.4" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
+</g>
+<!-- pipeline&#45;&gt;clock -->
+<g id="edge4" class="edge"><title>pipeline&#45;&gt;clock</title>
+<path fill="none" stroke="black" d="M225.721,-507.939C211.912,-474.538 182.365,-397.851 172,-330 171.232,-324.971 171.219,-319.596 171.617,-314.408"/>
+<polygon fill="black" stroke="black" points="175.126,-314.553 172.897,-304.196 168.18,-313.682 175.126,-314.553"/>
+<text text-anchor="middle" x="201" y="-404.4" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
+</g>
+<!-- plugin -->
+<g id="node14" class="node"><title>plugin</title>
+<g id="a_node14"><a xlink:href="GstPlugin.html" xlink:title="plugin" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="54,-304 0,-304 0,-268 54,-268 54,-304"/>
+<text text-anchor="middle" x="27" y="-283.8" font-family="Bitstream Vera Sans" font-size="9.00">plugin</text>
+</a>
+</g>
+</g>
+<!-- plugin&#45;&gt;plugin_feature -->
+<g id="edge21" class="edge"><title>plugin&#45;&gt;plugin_feature</title>
+<path fill="none" stroke="black" d="M42.4241,-267.969C58.1458,-250.61 82.6955,-223.503 100.567,-203.769"/>
+<polygon fill="black" stroke="black" points="103.177,-206.102 107.295,-196.341 97.9882,-201.403 103.177,-206.102"/>
+<text text-anchor="middle" x="100" y="-230.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+<!-- registry -->
+<g id="node17" class="node"><title>registry</title>
+<g id="a_node17"><a xlink:href="GstRegistry.html" xlink:title="registry" target="_top">
+<polygon fill="#eeeeee" stroke="black" points="54,-384 0,-384 0,-348 54,-348 54,-384"/>
+<text text-anchor="middle" x="27" y="-363.8" font-family="Bitstream Vera Sans" font-size="9.00">registry</text>
+</a>
+</g>
+</g>
+<!-- registry&#45;&gt;plugin -->
+<g id="edge20" class="edge"><title>registry&#45;&gt;plugin</title>
+<path fill="none" stroke="black" d="M27,-347.689C27,-337.894 27,-325.422 27,-314.335"/>
+<polygon fill="black" stroke="black" points="30.5001,-314.262 27,-304.262 23.5001,-314.262 30.5001,-314.262"/>
+<text text-anchor="middle" x="37" y="-324.4" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+</g>
+</g>
+</svg>
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index be4f437..3273fc6 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -617,6 +617,9 @@
 gst_clock_set_calibration
 gst_clock_get_timeout
 gst_clock_set_timeout
+gst_clock_wait_for_sync
+gst_clock_is_synced
+gst_clock_set_synced
 gst_clock_id_get_time
 gst_clock_id_wait
 gst_clock_id_wait_async
@@ -1707,11 +1710,12 @@
 gst_object_get_name
 gst_object_set_parent
 gst_object_get_parent
-gst_object_has_parent
+gst_object_has_as_parent
 gst_object_unparent
 gst_object_default_deep_notify
 gst_object_default_error
 gst_object_check_uniqueness
+gst_object_has_as_ancestor
 gst_object_has_ancestor
 gst_object_ref
 gst_object_unref
@@ -3284,6 +3288,15 @@
 gst_value_set_bitmask
 gst_value_get_bitmask
 
+<SUBSECTION flagset>
+GST_VALUE_HOLDS_FLAG_SET
+GST_TYPE_FLAG_SET
+gst_structure_get_flagset
+gst_value_get_flagset_flags
+gst_value_get_flagset_mask
+gst_value_set_flagset
+GST_FLAG_SET_MASK_EXACT
+
 <SUBSECTION int64range>
 GST_VALUE_HOLDS_INT64_RANGE
 GST_TYPE_INT64_RANGE
@@ -3407,6 +3420,7 @@
 gst_value_array_get_type
 gst_value_list_get_type
 gst_bitmask_get_type
+gst_flagset_get_type
 </SECTION>
 
 <SECTION>
diff --git a/docs/gst/html/GstAllocator.html b/docs/gst/html/GstAllocator.html
index 2a0d8e0..0f67797 100644
--- a/docs/gst/html/GstAllocator.html
+++ b/docs/gst/html/GstAllocator.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstAllocator</title>
+<title>GstAllocator: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-Gst.html" title="Gst">
 <link rel="next" href="gstreamer-GstAtomicQueue.html" title="GstAtomicQueue">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -519,12 +519,14 @@
 <div class="refsect2">
 <a name="GstAllocator-struct"></a><h3>GstAllocator</h3>
 <pre class="programlisting">typedef struct {
-  GstMemoryMapFunction      mem_map;
-  GstMemoryUnmapFunction    mem_unmap;
+  GstMemoryMapFunction       mem_map;
+  GstMemoryUnmapFunction     mem_unmap;
 
-  GstMemoryCopyFunction     mem_copy;
-  GstMemoryShareFunction    mem_share;
-  GstMemoryIsSpanFunction   mem_is_span;
+  GstMemoryCopyFunction      mem_copy;
+  GstMemoryShareFunction     mem_share;
+  GstMemoryIsSpanFunction    mem_is_span;
+
+  GstMemoryUnmapFullFunction mem_unmap_full;
 } GstAllocator;
 </pre>
 <p>The <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> is used to create new memory.</p>
@@ -562,6 +564,13 @@
 <td class="struct_member_description"><p>the implementation of the GstMemoryIsSpanFunction</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstMemoryUnmapFullFunction</span> <em class="structfield"><code><a name="GstAllocator-struct.mem-unmap-full"></a>mem_unmap_full</code></em>;</p></td>
+<td class="struct_member_description"><p>the implementation of the GstMemoryUnmapFullFunction.
+Will be used instead of <em class="parameter"><code>mem_unmap</code></em>
+if present. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -695,7 +704,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstBin.html b/docs/gst/html/GstBin.html
index e3f05ea..6999d53 100644
--- a/docs/gst/html/GstBin.html
+++ b/docs/gst/html/GstBin.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstBin</title>
+<title>GstBin: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstAtomicQueue.html" title="GstAtomicQueue">
 <link rel="next" href="GstBuffer.html" title="GstBuffer">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -510,7 +510,6 @@
 <a name="id-1.3.6.11.3.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element could be added, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the bin does not want to accept the element.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -554,7 +553,6 @@
 <a name="id-1.3.6.11.4.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element could be removed, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the bin does not want to remove the element.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -899,7 +897,6 @@
 <div class="refsect3">
 <a name="id-1.3.6.11.14.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the latency could be queried and reconfigured.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1045,9 +1042,8 @@
 <a name="id-1.3.6.11.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if syncing the state was successful for all children,
 otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1072,7 +1068,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.0.5</p>
+<p class="since">Since: 1.0.5</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1464,7 +1460,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstBuffer.html b/docs/gst/html/GstBuffer.html
index 7b4a8e5..a90ab0e 100644
--- a/docs/gst/html/GstBuffer.html
+++ b/docs/gst/html/GstBuffer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstBuffer</title>
+<title>GstBuffer: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstBin.html" title="GstBin">
 <link rel="next" href="GstBufferList.html" title="GstBufferList">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1333,7 +1333,6 @@
 <a name="id-1.3.7.8.24.7"></a><h4>Returns</h4>
 <p> total size of the memory blocks in <em class="parameter"><code>buffer</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1362,7 +1361,6 @@
 <a name="id-1.3.7.8.25.6"></a><h4>Returns</h4>
 <p> total size of the memory blocks in <em class="parameter"><code>buffer</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1436,7 +1434,6 @@
 memory blocks starting at <em class="parameter"><code>idx</code></em>
 in <em class="parameter"><code>buffer</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1493,7 +1490,6 @@
 <div class="refsect3">
 <a name="id-1.3.7.8.27.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if resizing succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1576,9 +1572,8 @@
 <div class="refsect3">
 <a name="id-1.3.7.8.30.6"></a><h4>Returns</h4>
 <p> the maximum amount of memory blocks that a buffer can hold.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1921,7 +1916,6 @@
 , <em class="parameter"><code>length</code></em>
 and <em class="parameter"><code>skip</code></em>
 will be filled.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2220,9 +2214,8 @@
 <a name="id-1.3.7.8.46.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if all memory blocks in <em class="parameter"><code>buffer</code></em>
 are writable</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2271,9 +2264,8 @@
 <div class="refsect3">
 <a name="id-1.3.7.8.47.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the memory range is writable</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2330,7 +2322,6 @@
 <a name="id-1.3.7.8.48.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map succeeded and <em class="parameter"><code>info</code></em>
 contains valid data.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2405,7 +2396,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map succeeded and <em class="parameter"><code>info</code></em>
 contains valid
 data.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2487,7 +2477,6 @@
 <div class="refsect3">
 <a name="id-1.3.7.8.51.6"></a><h4>Returns</h4>
 <p> 0 if the memory is equal.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2540,7 +2529,6 @@
 <p> The amount of bytes extracted. This value can be lower than <em class="parameter"><code>size</code></em>
 when <em class="parameter"><code>buffer</code></em>
 did not contain enough data.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2596,7 +2584,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.0.10</p>
+<p class="since">Since: 1.0.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2648,7 +2636,6 @@
 <p> The amount of bytes copied. This value can be lower than <em class="parameter"><code>size</code></em>
 when <em class="parameter"><code>buffer</code></em>
 did not contain enough data.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2702,7 +2689,6 @@
 <p> The amount of bytes filled. This value can be lower than <em class="parameter"><code>size</code></em>
 when <em class="parameter"><code>buffer</code></em>
 did not contain enough data.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2812,7 +2798,6 @@
 <div class="refsect3">
 <a name="id-1.3.7.8.59.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the copying succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2977,7 +2962,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>obuf</code></em>
 was different from <em class="parameter"><code>nbuf</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3206,7 +3190,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata existed and was removed, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if no such
 metadata was on <em class="parameter"><code>buffer</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3296,7 +3279,6 @@
 <div class="refsect3">
 <a name="id-1.3.7.8.70.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when <a class="link" href="GstBuffer.html#gst-buffer-foreach-meta" title="gst_buffer_foreach_meta ()"><code class="function">gst_buffer_foreach_meta()</code></a> should stop</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3347,7 +3329,6 @@
 <a name="id-1.3.7.8.71.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when <em class="parameter"><code>func</code></em>
 returned <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> for one of the metadata.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -3630,7 +3611,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstBufferList.html b/docs/gst/html/GstBufferList.html
index db2d022..f674a6a 100644
--- a/docs/gst/html/GstBufferList.html
+++ b/docs/gst/html/GstBufferList.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstBufferList</title>
+<title>GstBufferList: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstBuffer.html" title="GstBuffer">
 <link rel="next" href="GstBufferPool.html" title="GstBufferPool">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -255,7 +255,6 @@
 <div class="refsect3">
 <a name="id-1.3.8.8.4.6"></a><h4>Returns</h4>
 <p> the number of buffers in the buffer list</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -561,7 +560,6 @@
 <div class="refsect3">
 <a name="id-1.3.8.8.13.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when <a class="link" href="GstBufferList.html#gst-buffer-list-foreach" title="gst_buffer_list_foreach ()"><code class="function">gst_buffer_list_foreach()</code></a> should stop</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -615,7 +613,6 @@
 or when
 <em class="parameter"><code>list</code></em>
 is empty.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -673,7 +670,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstBufferPool.html b/docs/gst/html/GstBufferPool.html
index 373d188..825fbb9 100644
--- a/docs/gst/html/GstBufferPool.html
+++ b/docs/gst/html/GstBufferPool.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstBufferPool</title>
+<title>GstBufferPool: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstBufferList.html" title="GstBufferList">
 <link rel="next" href="GstBus.html" title="GstBus">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -357,7 +357,6 @@
 <div class="refsect3">
 <a name="id-1.3.9.8.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if all parameters could be fetched.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -470,9 +469,8 @@
 <div class="refsect3">
 <a name="id-1.3.9.8.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the parameters are valid in this context.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -515,7 +513,6 @@
 <div class="refsect3">
 <a name="id-1.3.9.8.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the values are set. </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -599,7 +596,6 @@
 <div class="refsect3">
 <a name="id-1.3.9.8.9.6"></a><h4>Returns</h4>
 <p> the options array size as a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -673,7 +669,6 @@
 <a name="id-1.3.9.8.11.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> of the option at <em class="parameter"><code>index</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -711,7 +706,6 @@
 <a name="id-1.3.9.8.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the options array contains <em class="parameter"><code>option</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -779,7 +773,6 @@
 <a name="id-1.3.9.8.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the buffer pool contains <em class="parameter"><code>option</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -860,7 +853,6 @@
 <div class="refsect3">
 <a name="id-1.3.9.8.16.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the configuration could be set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -903,7 +895,6 @@
 <a name="id-1.3.9.8.17.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when the pool was not configured or when preallocation of the
 buffers failed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -932,7 +923,6 @@
 <div class="refsect3">
 <a name="id-1.3.9.8.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the pool is active.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -966,7 +956,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1013,7 +1003,6 @@
 <a name="id-1.3.9.8.20.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> such as <a class="link" href="GstPad.html#GST-FLOW-FLUSHING:CAPS"><code class="literal">GST_FLOW_FLUSHING</code></a> when the pool is
 inactive.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1296,7 +1285,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstBus.html b/docs/gst/html/GstBus.html
index 376bb03..e23b7b8 100644
--- a/docs/gst/html/GstBus.html
+++ b/docs/gst/html/GstBus.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstBus</title>
+<title>GstBus: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstBufferPool.html" title="GstBufferPool">
 <link rel="next" href="GstCaps.html" title="GstCaps">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -389,7 +389,6 @@
 <div class="refsect3">
 <a name="id-1.3.10.10.2.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the event source should be removed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -434,7 +433,6 @@
 <div class="refsect3">
 <a name="id-1.3.10.10.3.7"></a><h4>Returns</h4>
 <p> <a class="link" href="GstBus.html#GstBusSyncReply" title="enum GstBusSyncReply"><span class="type">GstBusSyncReply</span></a> stating what to do with the message</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -483,7 +481,6 @@
 <a name="id-1.3.10.10.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message could be posted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the bus is flushing.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -513,7 +510,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are messages on the bus to be handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 otherwise.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -851,7 +847,6 @@
 <div class="refsect3">
 <a name="id-1.3.10.10.14.6"></a><h4>Returns</h4>
 <p> GST_BUS_PASS</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -910,8 +905,9 @@
 . If the watch was added to the default main context it is also
 possible to remove the watch using <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a>.</p>
 <p>MT safe.</p>
+<p><span class="annotation">[<acronym title="Rename the original symbol's name to SYMBOL."><span class="acronym">rename-to</span></acronym> gst_bus_add_watch]</span></p>
 <div class="refsect3">
-<a name="id-1.3.10.10.16.9"></a><h4>Parameters</h4>
+<a name="id-1.3.10.10.16.10"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -949,10 +945,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.10.10.16.10"></a><h4>Returns</h4>
+<a name="id-1.3.10.10.16.11"></a><h4>Returns</h4>
 <p> The event source id or 0 if <em class="parameter"><code>bus</code></em>
 already got an event source.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -974,8 +969,9 @@
 from <em class="parameter"><code>func</code></em>
 . If the watch was added to the default main context it is also
 possible to remove the watch using <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.10.10.17.7"></a><h4>Parameters</h4>
+<a name="id-1.3.10.10.17.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1003,11 +999,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.10.10.17.8"></a><h4>Returns</h4>
+<a name="id-1.3.10.10.17.9"></a><h4>Returns</h4>
 <p> The event source id or 0 if <em class="parameter"><code>bus</code></em>
 already got an event source.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1036,9 +1031,8 @@
 <a name="id-1.3.10.10.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>bus</code></em>
 has no event source.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1145,7 +1139,6 @@
 <div class="refsect3">
 <a name="id-1.3.10.10.21.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1498,7 +1491,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstCaps.html b/docs/gst/html/GstCaps.html
index 6abc193..b10e7eb 100644
--- a/docs/gst/html/GstCaps.html
+++ b/docs/gst/html/GstCaps.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstCaps</title>
+<title>GstCaps: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstBus.html" title="GstBus">
 <link rel="next" href="GstCapsFeatures.html" title="GstCapsFeatures">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -884,9 +884,8 @@
 <a name="id-1.3.11.8.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the foreach operation should continue, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the foreach operation should stop with <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -930,7 +929,6 @@
 <a name="id-1.3.11.8.11.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map operation should continue, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the map operation should stop with <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -976,7 +974,6 @@
 <a name="id-1.3.11.8.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the features and structure should be preserved,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it should be removed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1209,7 +1206,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.20.8"></a><h4>Returns</h4>
 <p> the new <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1458,7 +1454,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1613,7 +1609,7 @@
 <p> the merged caps. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1641,7 +1637,6 @@
 <a name="id-1.3.11.8.32.6"></a><h4>Returns</h4>
 <p> the number of structures that <em class="parameter"><code>caps</code></em>
 contains</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1743,7 +1738,7 @@
 . </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1782,7 +1777,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1941,9 +1936,8 @@
 <a name="id-1.3.11.8.39.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the supplied function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for each call,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1986,9 +1980,8 @@
 <a name="id-1.3.11.8.40.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the supplied function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for each call,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2030,7 +2023,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2058,7 +2051,6 @@
 <a name="id-1.3.11.8.42.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>caps</code></em>
 represents any format.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2087,7 +2079,6 @@
 <a name="id-1.3.11.8.43.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>caps</code></em>
 represents no formats.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2117,7 +2108,6 @@
 <a name="id-1.3.11.8.44.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>caps</code></em>
 is fixed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2152,7 +2142,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.45.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both caps are equal.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2188,7 +2177,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.46.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the arguments represent the same format</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2223,7 +2211,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.47.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both caps are strictly equal.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2264,7 +2251,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>caps1</code></em>
 is a subset of <em class="parameter"><code>caps2</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2303,7 +2289,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>subset</code></em>
 is a subset of <em class="parameter"><code>superset</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2344,7 +2329,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>structure</code></em>
 is a subset of <em class="parameter"><code>caps</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2392,9 +2376,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>structure</code></em>
 is a subset of <em class="parameter"><code>caps</code></em>
 </p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2431,7 +2414,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.52.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if intersection would be not empty</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2469,7 +2451,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.53.6"></a><h4>Returns</h4>
 <p> the new <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2514,7 +2495,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.54.6"></a><h4>Returns</h4>
 <p> the new <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2580,7 +2560,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.56.7"></a><h4>Returns</h4>
 <p> The simplified caps.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2626,7 +2605,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_caps</code></em>
 was different from <em class="parameter"><code>old_caps</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2669,7 +2647,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_caps</code></em>
 was different from <em class="parameter"><code>old_caps</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2784,7 +2761,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.61.7"></a><h4>Returns</h4>
 <p> the resulting caps</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2916,7 +2892,6 @@
 <div class="refsect3">
 <a name="id-1.3.11.8.65.7"></a><h4>Returns</h4>
 <p> the same <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> object.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3128,7 +3103,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstCapsFeatures.html b/docs/gst/html/GstCapsFeatures.html
index 28e2602..0f23987 100644
--- a/docs/gst/html/GstCapsFeatures.html
+++ b/docs/gst/html/GstCapsFeatures.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstCapsFeatures</title>
+<title>GstCapsFeatures: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstCaps.html" title="GstCaps">
 <link rel="next" href="GstSample.html" title="GstSample">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -324,7 +324,7 @@
 <p> a new, empty <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -338,7 +338,7 @@
 <p> a new, empty <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -354,7 +354,7 @@
 <p> a new, ANY <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,7 +392,7 @@
 <p> a new, empty <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -429,7 +429,7 @@
 <p> a new, empty <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -466,7 +466,7 @@
 <p> a new, empty <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -495,7 +495,7 @@
 <p> a new <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -519,7 +519,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -550,7 +550,7 @@
 <a class="link" href="GstCapsFeatures.html#gst-caps-features-free" title="gst_caps_features_free ()"><code class="function">gst_caps_features_free()</code></a> after use. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -595,7 +595,7 @@
 <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -632,9 +632,8 @@
 <div class="refsect3">
 <a name="id-1.3.12.8.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parent refcount could be set.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -672,9 +671,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features1</code></em>
 and <em class="parameter"><code>features2</code></em>
 are equal.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -702,9 +700,8 @@
 <a name="id-1.3.12.8.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features</code></em>
 is <a class="link" href="GstCapsFeatures.html#GST-CAPS-FEATURES-ANY:CAPS" title="GST_CAPS_FEATURES_ANY"><code class="literal">GST_CAPS_FEATURES_ANY</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -742,9 +739,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features</code></em>
 contains <em class="parameter"><code>feature</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -782,9 +778,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features</code></em>
 contains <em class="parameter"><code>feature</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -812,9 +807,8 @@
 <a name="id-1.3.12.8.19.6"></a><h4>Returns</h4>
 <p> The number of features in <em class="parameter"><code>features</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -852,9 +846,8 @@
 <p> The <em class="parameter"><code>i</code></em>
 -th feature of <em class="parameter"><code>features</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -892,9 +885,8 @@
 <p> The <em class="parameter"><code>i</code></em>
 -th feature of <em class="parameter"><code>features</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -927,7 +919,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -960,7 +952,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -993,7 +985,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1026,7 +1018,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1048,7 +1040,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstChildProxy.html b/docs/gst/html/GstChildProxy.html
index 39f37ad..6a3af2c 100644
--- a/docs/gst/html/GstChildProxy.html
+++ b/docs/gst/html/GstChildProxy.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstChildProxy</title>
+<title>GstChildProxy: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstSample.html" title="GstSample">
 <link rel="next" href="GstClock.html" title="GstClock">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -246,7 +246,6 @@
 <a name="id-1.3.14.11.2.6"></a><h4>Returns</h4>
 <p> the number of child objects</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -383,7 +382,6 @@
 usage. For plain GObjects <em class="parameter"><code>target</code></em>
 is the same as <em class="parameter"><code>object</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -828,7 +826,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstClock.html b/docs/gst/html/GstClock.html
index b538af1..8c846ee 100644
--- a/docs/gst/html/GstClock.html
+++ b/docs/gst/html/GstClock.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstClock</title>
+<title>GstClock: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstChildProxy.html" title="GstChildProxy">
 <link rel="next" href="gstreamer-gstconfig.html" title="gstconfig">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -17,7 +17,8 @@
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                   <a href="#GstClock.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                   <a href="#GstClock.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
-                  <a href="#GstClock.properties" class="shortcut">Properties</a></span>
+                  <a href="#GstClock.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#GstClock.signals" class="shortcut">Signals</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -309,6 +310,30 @@
 </tr>
 <tr>
 <td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstClock.html#gst-clock-wait-for-sync" title="gst_clock_wait_for_sync ()">gst_clock_wait_for_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstClock.html#gst-clock-is-synced" title="gst_clock_is_synced ()">gst_clock_is_synced</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstClock.html#gst-clock-set-synced" title="gst_clock_set_synced ()">gst_clock_set_synced</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 </td>
 <td class="function_name">
@@ -394,6 +419,21 @@
 </table></div>
 </div>
 <div class="refsect1">
+<a name="GstClock.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="GstClock.html#GstClock-synced" title="The “synced” signal">synced</a></td>
+<td class="signal_flags">Run Last</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
 <a name="GstClock.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -533,7 +573,7 @@
 </pre>
 <p>Tests if a given <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> represents a valid defined time.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.3.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -591,7 +631,7 @@
 </pre>
 <p>Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to seconds.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.8.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -613,7 +653,7 @@
 </pre>
 <p>Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to milliseconds (1/1000 of a second).</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.9.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -635,7 +675,7 @@
 </pre>
 <p>Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to microseconds (1/1000000 of a second).</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.10.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -657,7 +697,7 @@
 </pre>
 <p>Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to nanoseconds (1/1000000000 of a second).</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.11.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.11.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -682,7 +722,7 @@
  - <em class="parameter"><code>s</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.12.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.12.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -711,7 +751,7 @@
 </pre>
 <p>Convert a <a href="https://developer.gnome.org/glib/unstable/glib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> to a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.13.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.13.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -735,7 +775,7 @@
 which is about 68 years.  Expect trouble if you want to schedule stuff
 in your pipeline for 2038.</div>
 <div class="refsect3">
-<a name="id-1.3.15.9.14.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.14.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -764,7 +804,7 @@
 </pre>
 <p>Convert a struct timespec (see man pselect) to a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.15.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.15.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -785,7 +825,7 @@
 <pre class="programlisting">#define             GST_TIME_TO_TIMESPEC(t,ts)</pre>
 <p>Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to a struct timespec (see man pselect)</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.16.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.16.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -817,7 +857,7 @@
                      <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>The function prototype of the callback.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.17.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.17.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -849,9 +889,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.17.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.17.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (currently unused)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -861,7 +900,7 @@
 </pre>
 <p>Cast to a clock entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.18.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.18.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -883,7 +922,7 @@
 </pre>
 <p>Get the owner clock of the entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.19.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.19.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -905,7 +944,7 @@
 </pre>
 <p>Get the type of the clock entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.20.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.20.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -927,7 +966,7 @@
 </pre>
 <p>Get the requested time of this entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.21.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.21.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -949,7 +988,7 @@
 </pre>
 <p>Get the interval of this periodic entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.22.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.22.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -971,7 +1010,7 @@
 </pre>
 <p>The status of the entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.23.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.23.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -993,7 +1032,7 @@
 </pre>
 <p>Gets the <a class="link" href="GstClock.html#GstClockFlags" title="enum GstClockFlags"><span class="type">GstClockFlags</span></a> clock flags.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.24.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.24.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1030,7 +1069,7 @@
 be used to control the sampling frequency of the master and slave
 clocks.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.25.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.25.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1062,11 +1101,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.25.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.25.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if enough observations were added to run the
 regression algorithm.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1089,7 +1127,7 @@
 however keep reporting its time adjusted with the last configured rate 
 and time offsets.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.26.7"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.26.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1111,12 +1149,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.26.8"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.26.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the clock is capable of being slaved to a master clock.
 Trying to set a master on a clock without the
 <a class="link" href="GstClock.html#GST-CLOCK-FLAG-CAN-SET-MASTER:CAPS"><span class="type">GST_CLOCK_FLAG_CAN_SET_MASTER</span></a> flag will make this function return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1128,7 +1165,7 @@
  is slaved to or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the clock is
 not slaved to any master clock.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.27.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.27.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1143,7 +1180,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.27.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.27.6"></a><h4>Returns</h4>
 <p> a master <a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 when this clock is not slaved to a master clock. Unref after
 usage.</p>
@@ -1163,7 +1200,7 @@
 of a clock can only be changed if the clock has the
 <a class="link" href="GstClock.html#GST-CLOCK-FLAG-CAN-SET-RESOLUTION:CAPS"><span class="type">GST_CLOCK_FLAG_CAN_SET_RESOLUTION</span></a> flag set.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.28.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.28.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1185,9 +1222,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.28.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.28.6"></a><h4>Returns</h4>
 <p> the new resolution of the clock.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1198,7 +1234,7 @@
 <p>Get the accuracy of the clock. The accuracy of the clock is the granularity
 of the values returned by <a class="link" href="GstClock.html#gst-clock-get-time" title="gst_clock_get_time ()"><code class="function">gst_clock_get_time()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.29.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.29.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1213,10 +1249,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.29.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.29.6"></a><h4>Returns</h4>
 <p> the resolution of the clock in units of <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1228,7 +1263,7 @@
 monotonically increasing and adjusted according to the current
 offset and rate.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.30.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.30.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1243,11 +1278,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.30.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.30.6"></a><h4>Returns</h4>
 <p> the time of the clock. Or GST_CLOCK_TIME_NONE when
 given invalid input.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1262,7 +1296,7 @@
 unreffed after usage.</p>
 <p>Free-function: gst_clock_id_unref</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.31.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.31.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1284,7 +1318,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.31.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.31.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> that can be used to request the
 time notification.</p>
 <p>MT safe. </p>
@@ -1308,7 +1342,7 @@
 after usage.</p>
 <p>Free-function: gst_clock_id_unref</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.32.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.32.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1335,7 +1369,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.32.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.32.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> that can be used to request the
 time notification.</p>
 <p>MT safe. </p>
@@ -1353,7 +1387,7 @@
  to the provided time. Does not
 modify the reference count.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.33.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.33.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1380,11 +1414,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.33.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.33.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the GstClockID could be reinitialized to the provided
 <em class="parameter"><code>time</code></em>
 , else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1399,7 +1432,7 @@
  to the provided start time and
 interval. Does not modify the reference count.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.34.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.34.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1431,11 +1464,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.34.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.34.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the GstClockID could be reinitialized to the provided
 <em class="parameter"><code>time</code></em>
 , else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1446,7 +1478,7 @@
 <p>Gets the current internal time of the given clock. The time is returned
 unadjusted for the offset and the rate.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.35.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.35.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1461,11 +1493,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.35.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.35.6"></a><h4>Returns</h4>
 <p> the internal time of the clock. Or GST_CLOCK_TIME_NONE when
 given invalid input.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1481,7 +1512,7 @@
 clock's OBJECT_LOCK held and is mainly used by clock subclasses.</p>
 <p>This function is the reverse of <a class="link" href="GstClock.html#gst-clock-unadjust-unlocked" title="gst_clock_unadjust_unlocked ()"><code class="function">gst_clock_unadjust_unlocked()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.36.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.36.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1503,9 +1534,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.36.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.36.7"></a><h4>Returns</h4>
 <p> the converted time of the clock.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1522,7 +1552,7 @@
 is mainly used by clock subclasses.</p>
 <p>This function is the reverse of <a class="link" href="GstClock.html#gst-clock-adjust-unlocked" title="gst_clock_adjust_unlocked ()"><code class="function">gst_clock_adjust_unlocked()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.37.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.37.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1544,10 +1574,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.37.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.37.7"></a><h4>Returns</h4>
 <p> the internal time of the clock corresponding to <em class="parameter"><code>external</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1570,7 +1599,7 @@
 caller is not interested in the values.</p>
 <p>MT safe.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.38.7"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.38.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1639,7 +1668,7 @@
 until the clock catches up.</p>
 <p>MT safe.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.39.11"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.39.11"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1684,7 +1713,7 @@
 gst_clock_get_timeout (<em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
 <p>Get the amount of time that master and slave clocks are sampled.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.40.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.40.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1699,9 +1728,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.40.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.40.6"></a><h4>Returns</h4>
 <p> the interval between samples.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1713,7 +1741,7 @@
 <p>Set the amount of time, in nanoseconds, to sample master and slave
 clocks</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.41.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.41.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1737,12 +1765,118 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-clock-wait-for-sync"></a><h3>gst_clock_wait_for_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_clock_wait_for_sync (<em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>,
+                         <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>);</pre>
+<p>Waits until <em class="parameter"><code>clock</code></em>
+ is synced for reporting the current time. If <em class="parameter"><code>timeout</code></em>
+
+is <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><code class="literal">GST_CLOCK_TIME_NONE</code></a> it will wait forever, otherwise it will time out
+after <em class="parameter"><code>timeout</code></em>
+ nanoseconds.</p>
+<p>For asynchronous waiting, the GstClock::synced signal can be used.</p>
+<p>This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+is not set on the clock, or if the clock is already synced.</p>
+<div class="refsect3">
+<a name="id-1.3.15.10.42.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p>a GstClock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>timeout</p></td>
+<td class="parameter_description"><p>timeout for waiting or <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><code class="literal">GST_CLOCK_TIME_NONE</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.15.10.42.8"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if waiting was successful, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on timeout</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-clock-is-synced"></a><h3>gst_clock_is_synced ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_clock_is_synced (<em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
+<p>Checks if the clock is currently synced.</p>
+<p>This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock.</p>
+<div class="refsect3">
+<a name="id-1.3.15.10.43.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p>a GstClock</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.15.10.43.7"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the clock is currently synced</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-clock-set-synced"></a><h3>gst_clock_set_synced ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_clock_set_synced (<em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>,
+                      <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> synced</code></em>);</pre>
+<p>Sets <em class="parameter"><code>clock</code></em>
+ to synced and emits the GstClock::synced signal, and wakes up any
+thread waiting in <code class="function">gst_clock_wait_synced()</code>.</p>
+<p>This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+is set on the clock, and is intended to be called by subclasses only.</p>
+<div class="refsect3">
+<a name="id-1.3.15.10.44.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p>a GstClock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>synced</p></td>
+<td class="parameter_description"><p>if the clock is synced</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-clock-id-get-time"></a><h3>gst_clock_id_get_time ()</h3>
 <pre class="programlisting"><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_clock_id_get_time (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> id</code></em>);</pre>
 <p>Get the time of the clock ID</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.42.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.45.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1757,10 +1891,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.42.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.45.6"></a><h4>Returns</h4>
 <p> the time of the given clock id.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1787,7 +1920,7 @@
 Negative values indicate how much time was spent waiting on the clock 
 before this function returned.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.43.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.46.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1810,7 +1943,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.43.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.46.7"></a><h4>Returns</h4>
 <p> the result of the blocking wait. <a class="link" href="GstClock.html#GST-CLOCK-EARLY:CAPS"><span class="type">GST_CLOCK_EARLY</span></a> will be returned
 if the current clock time is past the time of <em class="parameter"><code>id</code></em>
 , <a class="link" href="GstClock.html#GST-CLOCK-OK:CAPS"><span class="type">GST_CLOCK_OK</span></a> if
@@ -1819,7 +1952,6 @@
 was
 unscheduled with <a class="link" href="GstClock.html#gst-clock-id-unschedule" title="gst_clock_id_unschedule ()"><code class="function">gst_clock_id_unschedule()</code></a>.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1841,7 +1973,7 @@
  can be invoked from any thread, either provided by the
 core or from a streaming thread. The application should be prepared for this.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.44.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.47.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1873,10 +2005,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.44.7"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.47.7"></a><h4>Returns</h4>
 <p> the result of the non blocking wait.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1892,7 +2023,7 @@
 async notifications, you need to create a new <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a>.</p>
 <p>MT safe.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.45.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.48.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1916,7 +2047,7 @@
 <p>Compares the two <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> instances. This function can be used
 as a GCompareFunc when sorting ids.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.46.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.49.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1938,10 +2069,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.46.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.49.6"></a><h4>Returns</h4>
 <p> negative value if a &lt; b; zero if a = b; positive value if a &gt; b</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1952,7 +2082,7 @@
 <p>Increase the refcount of given <em class="parameter"><code>id</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.47.5"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.50.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1967,7 +2097,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.15.9.47.6"></a><h4>Returns</h4>
+<a name="id-1.3.15.10.50.6"></a><h4>Returns</h4>
 <p> The same <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> with increased refcount.</p>
 <p>MT safe. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -1983,7 +2113,7 @@
 <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> will be freed.</p>
 <p>MT safe.</p>
 <div class="refsect3">
-<a name="id-1.3.15.9.48.6"></a><h4>Parameters</h4>
+<a name="id-1.3.15.10.51.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2031,7 +2161,7 @@
 <p>GStreamer clock class. Override the vmethods to implement the clock
 functionality.</p>
 <div class="refsect3">
-<a name="id-1.3.15.10.3.5"></a><h4>Members</h4>
+<a name="id-1.3.15.11.3.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
@@ -2115,7 +2245,7 @@
 Note that GstClockEntry should be treated as an opaque structure. It must
 not be extended or allocated using a custom allocator.</p>
 <div class="refsect3">
-<a name="id-1.3.15.10.7.5"></a><h4>Members</h4>
+<a name="id-1.3.15.11.7.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
@@ -2135,7 +2265,7 @@
 <a name="GstClockEntryType"></a><h3>enum GstClockEntryType</h3>
 <p>The type of the clock entry</p>
 <div class="refsect3">
-<a name="id-1.3.15.10.8.4"></a><h4>Members</h4>
+<a name="id-1.3.15.11.8.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -2166,7 +2296,7 @@
 <a name="GstClockReturn"></a><h3>enum GstClockReturn</h3>
 <p>The return value of a clock operation.</p>
 <div class="refsect3">
-<a name="id-1.3.15.10.9.4"></a><h4>Members</h4>
+<a name="id-1.3.15.11.9.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -2239,7 +2369,7 @@
 <a name="GstClockFlags"></a><h3>enum GstClockFlags</h3>
 <p>The capabilities of this clock</p>
 <div class="refsect3">
-<a name="id-1.3.15.10.10.4"></a><h4>Members</h4>
+<a name="id-1.3.15.11.10.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -2290,6 +2420,14 @@
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
+<td class="enum_member_name"><p><a name="GST-CLOCK-FLAG-NEEDS-STARTUP-SYNC:CAPS"></a>GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC</p></td>
+<td class="enum_member_description">
+<p>clock needs to be synced before it can be used
+    Since: 1.6</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
 <td class="enum_member_name"><p><a name="GST-CLOCK-FLAG-LAST:CAPS"></a>GST_CLOCK_FLAG_LAST</p></td>
 <td class="enum_member_description">
 <p>subclasses can add additional flags starting from this flag</p>
@@ -2330,12 +2468,55 @@
 </div>
 </div>
 <div class="refsect1">
+<a name="GstClock.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstClock-synced"></a><h3>The <code class="literal">“synced”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock,
+               <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>  synced,
+               <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>  user_data)</pre>
+<p>Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once
+the clock is synchronized, or when it completely lost synchronization.
+This signal will not be emitted on clocks without the flag.</p>
+<p>This signal will be emitted from an arbitrary thread, most likely not
+the application's main thread.</p>
+<div class="refsect3">
+<a name="id-1.3.15.13.2.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p>the clock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>synced</p></td>
+<td class="parameter_description"><p>if the clock is synced now</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: Run Last</p>
+<p class="since">Since: 1.6</p>
+</div>
+</div>
+<div class="refsect1">
 <a name="GstClock.see-also"></a><h2>See Also</h2>
 <p><a class="link" href="GstSystemClock.html" title="GstSystemClock"><span class="type">GstSystemClock</span></a>, <a class="link" href="GstPipeline.html" title="GstPipeline"><span class="type">GstPipeline</span></a></p>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstContext.html b/docs/gst/html/GstContext.html
index 2aedc26..c882732 100644
--- a/docs/gst/html/GstContext.html
+++ b/docs/gst/html/GstContext.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstContext</title>
+<title>GstContext: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-gstconfig.html" title="gstconfig">
 <link rel="next" href="GstControlBinding.html" title="GstControlBinding">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -216,7 +216,7 @@
 <p> The new context. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -243,7 +243,6 @@
 <a name="id-1.3.17.8.3.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>context</code></em>
 (for convenience when doing assignments)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -323,9 +322,8 @@
 <div class="refsect3">
 <a name="id-1.3.17.8.6.6"></a><h4>Returns</h4>
 <p> The type of the context.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -363,9 +361,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>context</code></em>
 has <em class="parameter"><code>context_type</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,9 +389,8 @@
 <div class="refsect3">
 <a name="id-1.3.17.8.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the context is persistent.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -424,7 +420,7 @@
 free it and that the pointer becomes invalid when you free the context. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -454,9 +450,8 @@
 that the pointer becomes invalid when you free the event.
 This function checks if <em class="parameter"><code>context</code></em>
 is writable.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -553,7 +548,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_context</code></em>
 was different from <em class="parameter"><code>old_context</code></em>
 </p>
-<p></p>
 </div>
 </div>
 </div>
@@ -570,7 +564,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstControlBinding.html b/docs/gst/html/GstControlBinding.html
index e1c7d87..701eece 100644
--- a/docs/gst/html/GstControlBinding.html
+++ b/docs/gst/html/GstControlBinding.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstControlBinding</title>
+<title>GstControlBinding: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstContext.html" title="GstContext">
 <link rel="next" href="GstControlSource.html" title="GstControlSource">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -205,7 +205,6 @@
 <a name="id-1.3.18.9.2.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the controller value could be applied to the object
 property, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -263,8 +262,9 @@
 <p>The values are unboxed and ready to be used. The similar function 
 <a class="link" href="GstControlBinding.html#gst-control-binding-get-g-value-array" title="gst_control_binding_get_g_value_array ()"><code class="function">gst_control_binding_get_g_value_array()</code></a> returns the array as <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValues</span></a> and is
 more suitable for bindings.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.18.9.4.7"></a><h4>Parameters</h4>
+<a name="id-1.3.18.9.4.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -301,9 +301,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.18.9.4.8"></a><h4>Returns</h4>
+<a name="id-1.3.18.9.4.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given array could be filled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -362,7 +361,6 @@
 <div class="refsect3">
 <a name="id-1.3.18.9.5.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given array could be filled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -421,7 +419,6 @@
 <div class="refsect3">
 <a name="id-1.3.18.9.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the binding is inactive</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -530,7 +527,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstControlSource.html b/docs/gst/html/GstControlSource.html
index 75fefed..b370945 100644
--- a/docs/gst/html/GstControlSource.html
+++ b/docs/gst/html/GstControlSource.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstControlSource</title>
+<title>GstControlSource: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstControlBinding.html" title="GstControlBinding">
 <link rel="next" href="GstDateTime.html" title="GstDateTime">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -168,7 +168,6 @@
 <div class="refsect3">
 <a name="id-1.3.19.8.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value was successfully calculated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -221,7 +220,6 @@
 <div class="refsect3">
 <a name="id-1.3.19.8.3.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the values were successfully calculated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -262,7 +260,6 @@
 <div class="refsect3">
 <a name="id-1.3.19.8.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the value couldn't be returned, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -316,7 +313,6 @@
 <div class="refsect3">
 <a name="id-1.3.19.8.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given array could be filled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -417,7 +413,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstDateTime.html b/docs/gst/html/GstDateTime.html
index b7ce357..f39f8b5 100644
--- a/docs/gst/html/GstDateTime.html
+++ b/docs/gst/html/GstDateTime.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstDateTime</title>
+<title>GstDateTime: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstControlSource.html" title="GstControlSource">
 <link rel="next" href="GstElement.html" title="GstElement">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -312,7 +312,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.2.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstDateTime</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -340,7 +339,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.3.6"></a><h4>Returns</h4>
 <p> The day of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -368,7 +366,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.4.6"></a><h4>Returns</h4>
 <p> The month of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -398,7 +395,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.5.6"></a><h4>Returns</h4>
 <p> the hour of the day</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -427,7 +423,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.6.6"></a><h4>Returns</h4>
 <p> the microsecond of the second</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -457,7 +452,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.7.6"></a><h4>Returns</h4>
 <p> the minute of the hour</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -489,7 +483,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.8.6"></a><h4>Returns</h4>
 <p> the offset from UTC in hours</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -520,7 +513,6 @@
 <a name="id-1.3.20.8.9.6"></a><h4>Returns</h4>
 <p> the second represented by <em class="parameter"><code>datetime</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -548,7 +540,6 @@
 <div class="refsect3">
 <a name="id-1.3.20.8.10.6"></a><h4>Returns</h4>
 <p> The year of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1025,7 +1016,6 @@
 <a name="id-1.3.20.8.22.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>datetime</code></em>
 's day field is set, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1052,7 +1042,6 @@
 <a name="id-1.3.20.8.23.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>datetime</code></em>
 's month field is set, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1079,7 +1068,6 @@
 <a name="id-1.3.20.8.24.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>datetime</code></em>
 's second field is set, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1107,7 +1095,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>datetime</code></em>
 's hour and minute fields are set,
 otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1135,7 +1122,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>datetime</code></em>
 's year field is set (which should always
 be the case), otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1272,7 +1258,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstDeviceProviderFactory.html b/docs/gst/html/GstDeviceProviderFactory.html
index fb29a5d..c4d3baf 100644
--- a/docs/gst/html/GstDeviceProviderFactory.html
+++ b/docs/gst/html/GstDeviceProviderFactory.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstDeviceProviderFactory</title>
+<title>GstDeviceProviderFactory: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer-device-probing.html" title="GStreamer Device Discovery and Device Probing">
 <link rel="prev" href="gstreamer-GstDeviceProvider.html" title="GstDeviceProvider">
 <link rel="next" href="gstreamer-support.html" title="GStreamer Core Support">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -186,7 +186,7 @@
 found, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -216,7 +216,7 @@
 if the device provider couldn't be created. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -247,7 +247,7 @@
 if unable to create device provider. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -276,9 +276,8 @@
 <div class="refsect3">
 <a name="id-1.4.5.8.5.6"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for device providers managed by this factory.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -321,7 +320,7 @@
 . </p>
 <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -352,7 +351,7 @@
 metadata. Free with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needed. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,9 +391,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>factory</code></em>
 matches or if <em class="parameter"><code>classes</code></em>
 is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -432,9 +430,8 @@
 <a name="id-1.4.5.8.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>factory</code></em>
 matches.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -466,7 +463,7 @@
 <a class="link" href="GstPluginFeature.html#gst-plugin-feature-list-free" title="gst_plugin_feature_list_free ()"><code class="function">gst_plugin_feature_list_free()</code></a> after usage. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.DeviceProviderFactory]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -475,14 +472,14 @@
 <a name="GstDeviceProviderFactory-struct"></a><h3>GstDeviceProviderFactory</h3>
 <pre class="programlisting">typedef struct _GstDeviceProviderFactory GstDeviceProviderFactory;</pre>
 <p>The opaque <a class="link" href="GstDeviceProviderFactory.html" title="GstDeviceProviderFactory"><span class="type">GstDeviceProviderFactory</span></a> data structure.</p>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDeviceProviderFactoryClass"></a><h3>GstDeviceProviderFactoryClass</h3>
 <pre class="programlisting">typedef struct _GstDeviceProviderFactoryClass GstDeviceProviderFactoryClass;</pre>
 <p>The opaque <a class="link" href="GstDeviceProviderFactory.html#GstDeviceProviderFactoryClass" title="GstDeviceProviderFactoryClass"><span class="type">GstDeviceProviderFactoryClass</span></a> data structure.</p>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -491,7 +488,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index fb67cab..5eb5d21 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstElement</title>
+<title>GstElement: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstDateTime.html" title="GstDateTime">
 <link rel="next" href="GstElementFactory.html" title="GstElementFactory">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1747,7 +1747,6 @@
 a pad with the same name already existed or the pad already had another
 parent.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1957,8 +1956,9 @@
 Pad templates can be looked up using
 <a class="link" href="GstElementFactory.html#gst-element-factory-get-static-pad-templates" title="gst_element_factory_get_static_pad_templates ()"><code class="function">gst_element_factory_get_static_pad_templates()</code></a>.</p>
 <p>The pad should be released with <a class="link" href="GstElement.html#gst-element-release-request-pad" title="gst_element_release_request_pad ()"><code class="function">gst_element_release_request_pad()</code></a>.</p>
+<p><span class="annotation">[<acronym title="This is the invoker for a virtual method."><span class="acronym">virtual</span></acronym> request_new_pad]</span></p>
 <div class="refsect3">
-<a name="id-1.3.21.10.36.6"></a><h4>Parameters</h4>
+<a name="id-1.3.21.10.36.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1992,7 +1992,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.21.10.36.7"></a><h4>Returns</h4>
+<a name="id-1.3.21.10.36.8"></a><h4>Returns</h4>
 <p> requested <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> if found,
 otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.  Release after usage. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
@@ -2110,7 +2110,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could be removed. Can return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the
 pad does not belong to the provided element.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2248,7 +2247,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.43.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the elements could be linked, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2324,7 +2322,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.45.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2412,7 +2409,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.47.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2475,7 +2471,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.48.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2579,7 +2574,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.50.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2629,7 +2623,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.51.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2667,7 +2660,6 @@
 <a name="id-1.3.21.10.52.6"></a><h4>Returns</h4>
 <p> the metadata for <em class="parameter"><code>key</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2729,7 +2721,6 @@
 <a name="id-1.3.21.10.54.6"></a><h4>Returns</h4>
 <p> the base time of the element.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2799,7 +2790,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.56.8"></a><h4>Returns</h4>
 <p> the start time of the element.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3079,7 +3069,6 @@
 <em class="parameter"><code>clock</code></em>
 or when it requires a specific clock to operate.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3187,7 +3176,6 @@
 <a name="id-1.3.21.10.68.8"></a><h4>Returns</h4>
 <p> Result of the state change using <a class="link" href="GstElement.html#GstStateChangeReturn" title="enum GstStateChangeReturn"><span class="type">GstStateChangeReturn</span></a>.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3257,7 +3245,6 @@
 element is still performing a state change or
 <a class="link" href="GstElement.html#GST-STATE-CHANGE-FAILURE:CAPS"><code class="literal">GST_STATE_CHANGE_FAILURE</code></a> if the last state change failed.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3295,7 +3282,6 @@
 <a name="id-1.3.21.10.70.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the state was changed, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if bad parameters were given
 or the elements state-locking needed no change.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3327,7 +3313,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.71.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the element's state is locked.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3397,7 +3382,6 @@
 <a name="id-1.3.21.10.73.8"></a><h4>Returns</h4>
 <p> The result of the commit state change.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3516,7 +3500,6 @@
 <a name="id-1.3.21.10.77.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the element's state could be synced to the parent's state.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3555,7 +3538,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.78.7"></a><h4>Returns</h4>
 <p> the <a class="link" href="GstElement.html#GstStateChangeReturn" title="enum GstStateChangeReturn"><span class="type">GstStateChangeReturn</span></a> of the state transition.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3674,7 +3656,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message was successfully posted. The function returns
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the element did not have a bus.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3714,7 +3695,6 @@
 <a name="id-1.3.21.10.81.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3770,7 +3750,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.82.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3819,7 +3798,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.83.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3866,7 +3844,6 @@
 <div class="refsect3">
 <a name="id-1.3.21.10.84.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3907,7 +3884,6 @@
 <a name="id-1.3.21.10.85.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled. Events that trigger a preroll (such
 as flushing seeks and steps) will emit <a class="link" href="GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS"><code class="literal">GST_MESSAGE_ASYNC_DONE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3970,7 +3946,6 @@
 <a name="id-1.3.21.10.86.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the seek operation succeeded. Flushing seeks will trigger a
 preroll, which will emit <a class="link" href="GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS"><code class="literal">GST_MESSAGE_ASYNC_DONE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4045,7 +4020,6 @@
 <a name="id-1.3.21.10.87.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled. Flushing seeks will trigger a
 preroll, which will emit <a class="link" href="GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS"><code class="literal">GST_MESSAGE_ASYNC_DONE</code></a>.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -4879,7 +4853,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstElementFactory.html b/docs/gst/html/GstElementFactory.html
index b53765c..d9f4d7f 100644
--- a/docs/gst/html/GstElementFactory.html
+++ b/docs/gst/html/GstElementFactory.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstElementFactory</title>
+<title>GstElementFactory: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstElement.html" title="GstElement">
 <link rel="next" href="gstreamer-GstGError.html" title="GstGError">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -409,7 +409,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the registering succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -468,7 +467,6 @@
 <a name="id-1.3.22.8.4.6"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for elements managed by this factory or 0 if
 the factory is not loaded.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -566,7 +564,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.7.6"></a><h4>Returns</h4>
 <p> the number of pad_templates</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -593,7 +590,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.8.6"></a><h4>Returns</h4>
 <p> type of URIs this element supports</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -662,7 +658,6 @@
 <a name="id-1.3.22.8.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>factory</code></em>
 implement the interface.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -776,7 +771,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps are fully compatible.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -811,7 +805,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps are fully compatible.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -846,7 +839,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps have a common subset.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -881,7 +873,6 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps have a common subset.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1192,7 +1183,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>factory</code></em>
 is of <em class="parameter"><code>type</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1224,7 +1214,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstEvent.html b/docs/gst/html/GstEvent.html
index e2b5827..6abfdbd 100644
--- a/docs/gst/html/GstEvent.html
+++ b/docs/gst/html/GstEvent.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstEvent</title>
+<title>GstEvent: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstGError.html" title="GstGError">
 <link rel="next" href="gstreamer-GstFormat.html" title="GstFormat">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -905,7 +905,6 @@
 <div class="refsect3">
 <a name="id-1.3.24.8.11.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="type">GstEventTypeFlags</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -932,7 +931,6 @@
 <div class="refsect3">
 <a name="id-1.3.24.8.12.6"></a><h4>Returns</h4>
 <p> a reference to the static name of the event.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -959,7 +957,6 @@
 <div class="refsect3">
 <a name="id-1.3.24.8.13.6"></a><h4>Returns</h4>
 <p> the quark associated with the event type</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1055,7 +1052,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_event</code></em>
 was different from <em class="parameter"><code>old_event</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1113,7 +1109,6 @@
 <a name="id-1.3.24.8.18.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a> that was in <em class="parameter"><code>old_event</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1159,7 +1154,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_event</code></em>
 was different from <em class="parameter"><code>old_event</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1319,7 +1313,6 @@
 owned by the event, which means that you should not free it and
 that the pointer becomes invalid when you free the event.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1358,7 +1351,6 @@
 <a name="id-1.3.24.8.25.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>name</code></em>
 matches the name of the event structure.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1395,7 +1387,6 @@
 <a name="id-1.3.24.8.26.8"></a><h4>Returns</h4>
 <p> The event's sequence number.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1463,9 +1454,8 @@
 <a name="id-1.3.24.8.28.8"></a><h4>Returns</h4>
 <p> The event's running time offset</p>
 <p>MT safe.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1498,7 +1488,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1793,7 +1783,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1823,7 +1813,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1859,7 +1849,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1893,9 +1883,8 @@
 <a name="id-1.3.24.8.41.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a group id was set on the event and could be parsed,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2983,7 +2972,6 @@
 <div class="refsect3">
 <a name="id-1.3.24.8.65.6"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3483,7 +3471,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3732,7 +3720,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstGhostPad.html b/docs/gst/html/GstGhostPad.html
index f4c8054..2eed36e 100644
--- a/docs/gst/html/GstGhostPad.html
+++ b/docs/gst/html/GstGhostPad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstGhostPad</title>
+<title>GstGhostPad: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstFormat.html" title="GstFormat">
 <link rel="next" href="gstreamer-GstIterator.html" title="GstIterator">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -180,10 +180,8 @@
     <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
         <span class="lineart">╰──</span> <a class="link" href="GstObject.html" title="GstObject">GstObject</a>
             <span class="lineart">╰──</span> <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
-                <span class="lineart">├──</span> <a class="link" href="GstGhostPad.html#GstProxyPad">GstProxyPad</a>
-                <span class="lineart">│</span>   <span class="lineart">╰──</span> GstGhostPad
                 <span class="lineart">╰──</span> GstProxyPad
-                    <span class="lineart">╰──</span> <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
+                    <span class="lineart">╰──</span> GstGhostPad
 </pre>
 </div>
 <div class="refsect1">
@@ -470,7 +468,6 @@
 <div class="refsect3">
 <a name="id-1.3.26.9.8.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the construction succeeds, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -518,7 +515,6 @@
 <div class="refsect3">
 <a name="id-1.3.26.9.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -568,7 +564,6 @@
 <div class="refsect3">
 <a name="id-1.3.26.9.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -680,7 +675,6 @@
 <div class="refsect3">
 <a name="id-1.3.26.9.13.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -723,7 +717,6 @@
 <div class="refsect3">
 <a name="id-1.3.26.9.14.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -778,7 +771,6 @@
 <div class="refsect3">
 <a name="id-1.3.26.9.15.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -801,7 +793,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstMemory.html b/docs/gst/html/GstMemory.html
index 4cd8028..f9d86b4 100644
--- a/docs/gst/html/GstMemory.html
+++ b/docs/gst/html/GstMemory.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstMemory</title>
+<title>GstMemory: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstIterator.html" title="GstIterator">
 <link rel="next" href="GstMessage.html" title="GstMessage">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -531,7 +531,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -555,7 +555,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -610,7 +610,6 @@
 bytes can be
 accessed according to the access pattern in <em class="parameter"><code>flags</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -634,11 +633,6 @@
 </tr></tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.3.28.8.13.6"></a><h4>Returns</h4>
-<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-<p></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -687,7 +681,6 @@
 <p> a new <a class="link" href="GstMemory.html" title="GstMemory"><span class="type">GstMemory</span></a> object wrapping a copy of the requested region in
 <em class="parameter"><code>mem</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -737,7 +730,6 @@
 <a name="id-1.3.28.8.15.6"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstMemory.html" title="GstMemory"><span class="type">GstMemory</span></a> object sharing the requested region in <em class="parameter"><code>mem</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -785,7 +777,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>mem1</code></em>
 and <em class="parameter"><code>mem2</code></em>
 are in contiguous memory.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -803,8 +794,9 @@
 <p>Initializes a newly allocated <em class="parameter"><code>mem</code></em>
  with the given parameters. This function
 will call <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-init" title="gst_mini_object_init ()"><code class="function">gst_mini_object_init()</code></a> with the default memory parameters.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.28.8.17.5"></a><h4>Parameters</h4>
+<a name="id-1.3.28.8.17.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -893,9 +885,8 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>mem</code></em>
 was allocated from an allocator for <em class="parameter"><code>mem_type</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -990,7 +981,6 @@
 <a name="id-1.3.28.8.21.6"></a><h4>Returns</h4>
 <p> the current sizes of <em class="parameter"><code>mem</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1166,7 +1156,6 @@
 <div class="refsect3">
 <a name="id-1.3.28.8.28.10"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map operation was successful.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1244,7 +1233,6 @@
 <div class="refsect3">
 <a name="id-1.3.28.8.30.6"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstMemory.html" title="GstMemory"><span class="type">GstMemory</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1293,7 +1281,6 @@
 <div class="refsect3">
 <a name="id-1.3.28.8.31.6"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstMemory.html" title="GstMemory"><span class="type">GstMemory</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1342,7 +1329,6 @@
 <div class="refsect3">
 <a name="id-1.3.28.8.32.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the memory is contiguous and of a common parent.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1585,7 +1571,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstMessage.html b/docs/gst/html/GstMessage.html
index bf22bc7..5e1c4ec 100644
--- a/docs/gst/html/GstMessage.html
+++ b/docs/gst/html/GstMessage.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstMessage</title>
+<title>GstMessage: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstMemory.html" title="GstMemory">
 <link rel="next" href="gstreamer-GstMeta.html" title="GstMeta">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -980,7 +980,6 @@
 <div class="refsect3">
 <a name="id-1.3.29.8.9.6"></a><h4>Returns</h4>
 <p> the quark associated with the message type</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1007,7 +1006,6 @@
 <div class="refsect3">
 <a name="id-1.3.29.8.10.6"></a><h4>Returns</h4>
 <p> a reference to the static name of the message.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1035,7 +1033,6 @@
 <a name="id-1.3.29.8.11.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>msg</code></em>
 (for convenience when doing assignments)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1183,7 +1180,6 @@
 <a name="id-1.3.29.8.16.8"></a><h4>Returns</h4>
 <p> The message's sequence number.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1256,7 +1252,6 @@
 <a name="id-1.3.29.8.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>name</code></em>
 matches the name of the message structure.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1325,7 +1320,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_message</code></em>
 was different from <em class="parameter"><code>old_message</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3629,7 +3623,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3665,9 +3659,8 @@
 <a name="id-1.3.29.8.71.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message had a group id set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
 <p>MT safe.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3979,7 +3972,6 @@
 This object is usually of type GstTask but other types can be added in the
 future. The object remains valid as long as <em class="parameter"><code>message</code></em>
 is valid.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4114,7 +4106,7 @@
 <p>MT safe. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4148,9 +4140,8 @@
 <div class="refsect3">
 <a name="id-1.3.29.8.83.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the parsing succeeded.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4187,7 +4178,7 @@
 <p>MT safe. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4220,7 +4211,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4256,9 +4247,8 @@
 <div class="refsect3">
 <a name="id-1.3.29.8.86.6"></a><h4>Returns</h4>
 <p> a newly allocated <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4294,9 +4284,8 @@
 <div class="refsect3">
 <a name="id-1.3.29.8.87.6"></a><h4>Returns</h4>
 <p> a newly allocated <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4330,7 +4319,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4364,7 +4353,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -4893,7 +4882,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index a544db3..523446c 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstObject</title>
+<title>GstObject: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstMiniObject.html" title="GstMiniObject">
 <link rel="next" href="GstPad.html" title="GstPad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -151,7 +151,7 @@
 <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
-<a class="link" href="GstObject.html#gst-object-has-parent" title="gst_object_has_parent ()">gst_object_has_parent</a> <span class="c_punctuation">()</span>
+<a class="link" href="GstObject.html#gst-object-has-as-parent" title="gst_object_has_as_parent ()">gst_object_has_as_parent</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -191,6 +191,14 @@
 <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
+<a class="link" href="GstObject.html#gst-object-has-as-ancestor" title="gst_object_has_as_ancestor ()">gst_object_has_as_ancestor</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
 <a class="link" href="GstObject.html#gst-object-has-ancestor" title="gst_object_has_ancestor ()">gst_object_has_ancestor</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -825,7 +833,6 @@
 cases.</p>
 <p>MT safe.  This function grabs and releases <em class="parameter"><code>object</code></em>
 's LOCK.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -905,7 +912,6 @@
 are the same.</p>
 <p>MT safe. Grabs and releases <em class="parameter"><code>object</code></em>
 's LOCK.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -944,10 +950,10 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-object-has-parent"></a><h3>gst_object_has_parent ()</h3>
+<a name="gst-object-has-as-parent"></a><h3>gst_object_has_as_parent ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_object_has_parent (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
-                       <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>);</pre>
+gst_object_has_as_parent (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
+                          <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>);</pre>
 <p>Check if <em class="parameter"><code>parent</code></em>
  is the parent of <em class="parameter"><code>object</code></em>
 .
@@ -984,9 +990,8 @@
 . Otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT safe. Grabs and releases <em class="parameter"><code>object</code></em>
 's locks.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1145,15 +1150,14 @@
 ,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it does.</p>
 <p>MT safe. Grabs and releases the LOCK of each object in the list.</p>
-<p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-object-has-ancestor"></a><h3>gst_object_has_ancestor ()</h3>
+<a name="gst-object-has-as-ancestor"></a><h3>gst_object_has_as_ancestor ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_object_has_ancestor (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
-                         <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *ancestor</code></em>);</pre>
+gst_object_has_as_ancestor (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
+                            <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *ancestor</code></em>);</pre>
 <p>Check if <em class="parameter"><code>object</code></em>
  has an ancestor <em class="parameter"><code>ancestor</code></em>
  somewhere up in
@@ -1187,7 +1191,51 @@
 .</p>
 <p>MT safe. Grabs and releases <em class="parameter"><code>object</code></em>
 's locks.</p>
-<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-object-has-ancestor"></a><h3>gst_object_has_ancestor ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_object_has_ancestor (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
+                         <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *ancestor</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">gst_object_has_ancestor</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="GstObject.html#gst-object-has-as-ancestor" title="gst_object_has_as_ancestor ()"><code class="function">gst_object_has_as_ancestor()</code></a> instead.</p>
+<p>MT safe. Grabs and releases <em class="parameter"><code>object</code></em>
+'s locks.</p>
+</div>
+<p>Check if <em class="parameter"><code>object</code></em>
+ has an ancestor <em class="parameter"><code>ancestor</code></em>
+ somewhere up in
+the hierarchy. One can e.g. check if a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> is inside a <a class="link" href="GstPipeline.html" title="GstPipeline"><span class="type">GstPipeline</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.3.32.10.24.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to check</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ancestor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to check as ancestor</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.32.10.24.7"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>ancestor</code></em>
+is an ancestor of <em class="parameter"><code>object</code></em>
+.</p>
 </div>
 </div>
 <hr>
@@ -1204,7 +1252,7 @@
 constructs like :
  result = gst_object_ref (object-&gt;parent);</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.24.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.25.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1219,7 +1267,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.24.7"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.25.7"></a><h4>Returns</h4>
 <p> A pointer to <em class="parameter"><code>object</code></em>
 . </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gst.Object]</span></p>
@@ -1239,7 +1287,7 @@
 <p>The unref method should never be called with the LOCK held since
 this might deadlock the dispose function.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.25.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.26.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1268,8 +1316,9 @@
 the floating flag while leaving the reference count unchanged. If the object
 is not floating, then this call adds a new normal reference increasing the
 reference count by one.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.32.10.26.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.27.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1299,7 +1348,7 @@
  and the value pointed to by <em class="parameter"><code>oldobj</code></em>
  may be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.27.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.28.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1322,11 +1371,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.27.7"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.28.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>newobj</code></em>
 was different from <em class="parameter"><code>oldobj</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1339,7 +1387,7 @@
 the object hierarchy. Only useful (or used) for debugging.</p>
 <p>Free-function: g_free</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.28.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.29.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1354,7 +1402,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.28.7"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.29.7"></a><h4>Returns</h4>
 <p> a string describing the path of <em class="parameter"><code>object</code></em>
 . You must
 <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> the string after usage.</p>
@@ -1371,7 +1419,7 @@
 <p>Returns a suggestion for timestamps where buffers should be split
 to get best controller results.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.29.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.30.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1386,10 +1434,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.29.6"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.30.6"></a><h4>Returns</h4>
 <p> Returns the suggested timestamp or <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><code class="literal">GST_CLOCK_TIME_NONE</code></a>
 if no control-rate was set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1403,7 +1450,7 @@
 <p>If this function fails, it is most likely the application developers fault.
 Most probably the control sources are not setup correctly.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.30.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.31.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1425,10 +1472,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.30.7"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.31.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the controller values could be applied to the object
 properties, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1440,7 +1486,7 @@
 <p>Check if the <em class="parameter"><code>object</code></em>
  has an active controlled properties.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.31.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.32.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1455,9 +1501,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.31.6"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.32.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object has active controlled properties</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1471,7 +1516,7 @@
  for
 some time, i.e. <a class="link" href="GstObject.html#gst-object-sync-values" title="gst_object_sync_values ()"><code class="function">gst_object_sync_values()</code></a> will do nothing.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.32.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.33.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1506,7 +1551,7 @@
 some time, i.e. <a class="link" href="GstObject.html#gst-object-sync-values" title="gst_object_sync_values ()"><code class="function">gst_object_sync_values()</code></a> will do nothing for the
 property.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.33.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.34.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1546,7 +1591,7 @@
  will take ownership of the <em class="parameter"><code>binding</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.34.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.35.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1568,11 +1613,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.34.7"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.35.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the given <em class="parameter"><code>binding</code></em>
 has not been setup for this object or
 has been setup for a non suitable property, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1584,7 +1628,7 @@
 <p>Gets the corresponding <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> for the property. This should be
 unreferenced again after use.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.35.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.36.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1606,7 +1650,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.35.6"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.36.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> for
 <em class="parameter"><code>property_name</code></em>
 or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not controlled. </p>
@@ -1622,7 +1666,7 @@
 <p>Removes the corresponding <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a>. If it was the
 last ref of the binding, it will be disposed.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.36.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.37.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1644,9 +1688,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.36.6"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.37.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the binding could be removed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1658,7 +1701,7 @@
                       <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
 <p>Gets the value for the given controlled property at the requested time.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.37.5"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.38.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1685,7 +1728,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.37.6"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.38.6"></a><h4>Returns</h4>
 <p> the GValue of the property at the given time,
 or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property isn't controlled. </p>
 <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
@@ -1712,7 +1755,7 @@
 <a class="link" href="GstObject.html#gst-object-get-g-value-array" title="gst_object_get_g_value_array ()"><code class="function">gst_object_get_g_value_array()</code></a> returns the array as <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValues</span></a> and is
 better suites for bindings.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.38.7"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.39.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1754,9 +1797,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.38.8"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.39.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given array could be filled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1777,7 +1819,7 @@
 <p>This function is useful if one wants to e.g. draw a graph of the control
 curve or apply a control curve sample by sample.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.39.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.40.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1819,9 +1861,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.39.7"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.40.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given array could be filled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1841,7 +1882,7 @@
 <p>The control-rate is not expected to change if the element is in
 <a class="link" href="GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> or <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="literal">GST_STATE_PLAYING</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.40.7"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.41.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1856,9 +1897,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.32.10.40.8"></a><h4>Returns</h4>
+<a name="id-1.3.32.10.41.8"></a><h4>Returns</h4>
 <p> the control rate in nanoseconds</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1876,7 +1916,7 @@
 <p>The control-rate should not change if the element is in <a class="link" href="GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> or
 <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="literal">GST_STATE_PLAYING</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.32.10.41.6"></a><h4>Parameters</h4>
+<a name="id-1.3.32.10.42.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2080,7 +2120,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstPad.html b/docs/gst/html/GstPad.html
index 83b24e4..a86df6d 100644
--- a/docs/gst/html/GstPad.html
+++ b/docs/gst/html/GstPad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPad</title>
+<title>GstPad: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstObject.html" title="GstObject">
 <link rel="next" href="GstPadTemplate.html" title="GstPadTemplate">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1470,9 +1470,8 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.2.6"></a><h4>Returns</h4>
 <p> a static string with the name of the pad-link return.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1544,7 +1543,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.5.6"></a><h4>Returns</h4>
 <p> a static string with the name of the flow return.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1572,7 +1570,6 @@
 <a name="id-1.3.33.10.6.6"></a><h4>Returns</h4>
 <p> the quark associated with the flow return or 0 if an
 invalid return was specified.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1600,7 +1597,6 @@
 <a name="id-1.3.33.10.7.6"></a><h4>Returns</h4>
 <p> short mnemonic for pad mode <em class="parameter"><code>mode</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1638,9 +1634,8 @@
 <a name="id-1.3.33.10.8.6"></a><h4>Returns</h4>
 <p> <a class="link" href="GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> on success, <a class="link" href="GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a> when the pad
 was flushing or <a class="link" href="GstPad.html#GST-FLOW-EOS:CAPS"><span class="type">GST_FLOW_EOS</span></a> when the pad was EOS.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1692,7 +1687,6 @@
 <a name="id-1.3.33.10.10.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDirection"><span class="type">GstPadDirection</span></a> of the pad.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1823,7 +1817,6 @@
 <p> A result code indicating if the connection worked or
 what went wrong.</p>
 <p>MT Safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1871,7 +1864,6 @@
 <a name="id-1.3.33.10.15.8"></a><h4>Returns</h4>
 <p> A result code indicating if the connection worked or
 what went wrong.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1909,7 +1901,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads were unlinked. This function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the pads were not linked together.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1938,7 +1929,6 @@
 <a name="id-1.3.33.10.17.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is linked, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1974,7 +1964,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads can be linked.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2040,7 +2029,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.20.6"></a><h4>Returns</h4>
 <p> the current caps of the pad with incremented ref-count.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2155,7 +2143,6 @@
 <a name="id-1.3.33.10.24.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>pad</code></em>
 has caps associated with it.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2252,7 +2239,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.26.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the iteration should continue</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2321,7 +2307,6 @@
 <a name="id-1.3.33.10.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is active.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2345,7 +2330,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2526,7 +2511,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.43.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstPadProbeReturn" title="enum GstPadProbeReturn"><span class="type">GstPadProbeReturn</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2586,7 +2570,6 @@
 happen that the probe can be run immediately and if the probe returns
 GST_PAD_PROBE_REMOVE this functions returns 0.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2649,7 +2632,6 @@
 <a name="id-1.3.33.10.46.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is blocked.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2678,7 +2660,6 @@
 <a name="id-1.3.33.10.47.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is blocking.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2708,7 +2689,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.48.6"></a><h4>Returns</h4>
 <p> the offset.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2984,7 +2964,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.55.8"></a><h4>Returns</h4>
 <p> <a class="link" href="GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3112,7 +3091,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.58.8"></a><h4>Returns</h4>
 <p> <a class="link" href="GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3194,7 +3172,6 @@
 <a name="id-1.3.33.10.59.12"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3377,7 +3354,6 @@
 . Any other
 return value leaves <em class="parameter"><code>buffer</code></em>
 undefined.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3496,7 +3472,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.65.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could handle the event.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3623,7 +3598,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.68.6"></a><h4>Returns</h4>
 <p> the result of the link with the specified peer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3773,7 +3747,6 @@
 <a name="id-1.3.33.10.72.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>query</code></em>
 could be executed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3815,7 +3788,6 @@
 <a name="id-1.3.33.10.73.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>query</code></em>
 could be executed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3932,7 +3904,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.76.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could be activated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4057,7 +4028,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.79.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could be activated or deactivated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4087,7 +4057,6 @@
 <a name="id-1.3.33.10.80.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on <em class="parameter"><code>pad</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4117,7 +4086,6 @@
 <a name="id-1.3.33.10.81.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on <em class="parameter"><code>pad</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4187,7 +4155,6 @@
 <a name="id-1.3.33.10.83.9"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the peer pad.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4227,7 +4194,6 @@
 <a name="id-1.3.33.10.84.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4276,7 +4242,6 @@
 <a name="id-1.3.33.10.85.9"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the peer pad.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4357,7 +4322,6 @@
 <a name="id-1.3.33.10.86.11"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the peer pad.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4402,7 +4366,6 @@
 <a name="id-1.3.33.10.87.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4457,7 +4420,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.88.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4506,7 +4468,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.89.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was sent successfully.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4548,7 +4509,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.90.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4588,7 +4548,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed. This function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 if <em class="parameter"><code>pad</code></em>
 has no peer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4636,7 +4595,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.92.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query was performed successfully.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4677,7 +4635,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.93.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4719,7 +4676,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.94.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4775,7 +4731,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.95.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4810,7 +4765,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.96.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad can accept the caps.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4905,7 +4859,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.98.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4948,7 +4901,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.99.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5006,7 +4958,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.100.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5047,7 +4998,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the peer of <em class="parameter"><code>pad</code></em>
 can accept the caps or <em class="parameter"><code>pad</code></em>
 has no peer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5096,7 +5046,6 @@
 or, when <em class="parameter"><code>filter</code></em>
 is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, ANY
 caps.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5215,7 +5164,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.105.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5331,7 +5279,6 @@
 <p> a new <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> that will iterate over all pads that are
 linked to the given pad on the inside of the parent element.</p>
 <p>the caller must call <a class="link" href="gstreamer-GstIterator.html#gst-iterator-free" title="gst_iterator_free ()"><code class="function">gst_iterator_free()</code></a> after usage.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5530,7 +5477,6 @@
 <a name="id-1.3.33.10.113.8"></a><h4>Returns</h4>
 <p> A stream-id for <em class="parameter"><code>pad</code></em>
 . <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5598,7 +5544,6 @@
 <a name="id-1.3.33.10.114.7"></a><h4>Returns</h4>
 <p> A stream-id for <em class="parameter"><code>pad</code></em>
 . <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5667,7 +5612,6 @@
 <a name="id-1.3.33.10.115.7"></a><h4>Returns</h4>
 <p> A stream-id for <em class="parameter"><code>pad</code></em>
 . <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5705,7 +5649,7 @@
 needed. </p>
 <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5740,7 +5684,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.117.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the dispatching procedure has to be stopped.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5789,7 +5732,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.118.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if one of the dispatcher functions returned <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5841,7 +5783,6 @@
 <a name="id-1.3.33.10.119.10"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5892,7 +5833,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.120.11"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5947,7 +5887,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.121.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be started.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5978,7 +5917,6 @@
 <a name="id-1.3.33.10.122.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be paused or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when the pad
 has no task.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -6012,7 +5950,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.123.8"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be stopped or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -6056,7 +5993,6 @@
 <a name="id-1.3.33.10.124.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -6296,7 +6232,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -6633,7 +6569,6 @@
 <a name="id-1.3.33.10.148.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is linked to another pad. Use <a class="link" href="GstPad.html#gst-pad-is-linked" title="gst_pad_is_linked ()"><code class="function">gst_pad_is_linked()</code></a>
 instead.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -6659,7 +6594,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.149.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is a source pad (i.e. produces data).</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -6685,7 +6619,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.150.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is a sink pad (i.e. consumes data).</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -6711,7 +6644,6 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.151.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad has been activated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -8063,7 +7995,7 @@
 <p>Flags: Read / Write</p>
 <p>Allowed values: &gt;= 0</p>
 <p>Default value: 0</p>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -8155,7 +8087,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstPadTemplate.html b/docs/gst/html/GstPadTemplate.html
index 7c16a85..97c77bb 100644
--- a/docs/gst/html/GstPadTemplate.html
+++ b/docs/gst/html/GstPadTemplate.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPadTemplate</title>
+<title>GstPadTemplate: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstPad.html" title="GstPad">
 <link rel="next" href="gstreamer-GstParamSpec.html" title="GstParamSpec">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -775,7 +775,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstPipeline.html b/docs/gst/html/GstPipeline.html
index 1983937..038e6dd 100644
--- a/docs/gst/html/GstPipeline.html
+++ b/docs/gst/html/GstPipeline.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPipeline</title>
+<title>GstPipeline: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstParse.html" title="GstParse">
 <link rel="next" href="GstPlugin.html" title="GstPlugin">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -305,8 +305,9 @@
 <p>Set the clock for <em class="parameter"><code>pipeline</code></em>
 . The clock will be distributed
 to all the elements managed by the pipeline.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.37.10.4.5"></a><h4>Parameters</h4>
+<a name="id-1.3.37.10.4.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -328,11 +329,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.37.10.4.6"></a><h4>Returns</h4>
+<a name="id-1.3.37.10.4.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the clock could be set on the pipeline. <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 some element did not accept the clock.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -364,7 +364,7 @@
 <p> a <a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a>, unref after usage. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -377,8 +377,9 @@
 to avoid confusion with <a class="link" href="GstElement.html#gst-element-get-clock" title="gst_element_get_clock ()"><code class="function">gst_element_get_clock()</code></a> which has a different behavior.</p>
 <p>Unlike <a class="link" href="GstElement.html#gst-element-get-clock" title="gst_element_get_clock ()"><code class="function">gst_element_get_clock()</code></a>, this function will always return a
 clock, even if the pipeline is not in the PLAYING state.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.37.10.6.6"></a><h4>Parameters</h4>
+<a name="id-1.3.37.10.6.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -393,7 +394,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.37.10.6.7"></a><h4>Returns</h4>
+<a name="id-1.3.37.10.6.8"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a>, unref after usage. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -533,7 +534,6 @@
 <p> whether the pipeline will automatically flush its bus when
 going from READY to NULL state or not.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -600,7 +600,6 @@
 <a name="id-1.3.37.10.12.6"></a><h4>Returns</h4>
 <p> The configured delay.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -709,7 +708,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstPlugin.html b/docs/gst/html/GstPlugin.html
index ed21bc1..182b786 100644
--- a/docs/gst/html/GstPlugin.html
+++ b/docs/gst/html/GstPlugin.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPlugin</title>
+<title>GstPlugin: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstPipeline.html" title="GstPipeline">
 <link rel="next" href="GstPluginFeature.html" title="GstPluginFeature">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -324,7 +324,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.2.5"></a><h4>Returns</h4>
 <p> The error quark used in GError messages</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -354,7 +353,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.3.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if plugin initialised successfully</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -393,7 +391,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if plugin initialised successfully</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -492,7 +489,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -518,7 +515,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -553,7 +550,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for a positive match, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -580,7 +576,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.9.6"></a><h4>Returns</h4>
 <p> the name of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -607,7 +602,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.10.6"></a><h4>Returns</h4>
 <p> the long name of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -634,7 +628,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.11.6"></a><h4>Returns</h4>
 <p> the filename of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -661,7 +654,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.12.6"></a><h4>Returns</h4>
 <p> the license of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -688,7 +680,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.13.6"></a><h4>Returns</h4>
 <p> the package of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -715,7 +706,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.14.6"></a><h4>Returns</h4>
 <p> the origin of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -742,7 +732,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.15.6"></a><h4>Returns</h4>
 <p> the source of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -769,7 +758,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.16.6"></a><h4>Returns</h4>
 <p> the version of the plugin</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -829,7 +817,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is loaded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1106,7 +1093,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.25.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the plugin was registered correctly, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1207,7 +1193,6 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.26.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the plugin was registered correctly, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1581,7 +1566,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstPluginFeature.html b/docs/gst/html/GstPluginFeature.html
index 617b18a..ab776ed 100644
--- a/docs/gst/html/GstPluginFeature.html
+++ b/docs/gst/html/GstPluginFeature.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPluginFeature</title>
+<title>GstPluginFeature: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstPlugin.html" title="GstPlugin">
 <link rel="next" href="gstreamer-GstPoll.html" title="GstPoll">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -214,7 +214,6 @@
 <div class="refsect3">
 <a name="id-1.3.39.8.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for a positive match, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -301,7 +300,6 @@
 <div class="refsect3">
 <a name="id-1.3.39.8.5.6"></a><h4>Returns</h4>
 <p> The rank of the feature</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -392,7 +390,7 @@
 plugin. </p>
 <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -574,7 +572,6 @@
 <a name="id-1.3.39.8.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the plugin feature has at least
 the required version, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -613,7 +610,6 @@
 equal but the name of p1 comes before the name of p2; zero if the rank
 and names are equal; positive value if the rank of p1 &lt; the rank of p2 or the
 ranks are equal but the name of p2 comes before the name of p1</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -682,7 +678,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstPreset.html b/docs/gst/html/GstPreset.html
index 7de79b0..ad9c756 100644
--- a/docs/gst/html/GstPreset.html
+++ b/docs/gst/html/GstPreset.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPreset</title>
+<title>GstPreset: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstPoll.html" title="GstPoll">
 <link rel="next" href="gstreamer-gstprotection.html" title="gstprotection">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -271,7 +271,6 @@
 <a name="id-1.3.41.8.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if e.g. there is no preset with that <em class="parameter"><code>name</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -308,7 +307,6 @@
 <div class="refsect3">
 <a name="id-1.3.41.8.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -352,7 +350,6 @@
 <a name="id-1.3.41.8.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if e.g. there is no preset with <em class="parameter"><code>old_name</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -388,7 +385,6 @@
 <a name="id-1.3.41.8.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if e.g. there is no preset with that <em class="parameter"><code>name</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -441,7 +437,6 @@
 <a name="id-1.3.41.8.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if e.g. there is no preset with that <em class="parameter"><code>name</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -494,7 +489,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if e.g. there is no preset with that <em class="parameter"><code>name</code></em>
 or no value for the given <em class="parameter"><code>tag</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -523,7 +517,6 @@
 <div class="refsect3">
 <a name="id-1.3.41.8.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the dir already has been set</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -564,9 +557,8 @@
 <div class="refsect3">
 <a name="id-1.3.41.8.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if presets are editable or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if they are static</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -661,7 +653,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstQuery.html b/docs/gst/html/GstQuery.html
index 9d5dd4c..5b82f05 100644
--- a/docs/gst/html/GstQuery.html
+++ b/docs/gst/html/GstQuery.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstQuery</title>
+<title>GstQuery: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-gstprotection.html" title="gstprotection">
 <link rel="next" href="GstRegistry.html" title="GstRegistry">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1049,7 +1049,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.8.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1076,7 +1075,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.9.6"></a><h4>Returns</h4>
 <p> a reference to the static name of the query.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1103,7 +1101,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.10.6"></a><h4>Returns</h4>
 <p> the quark associated with the query type</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1131,7 +1128,6 @@
 <a name="id-1.3.43.8.11.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>q</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1279,7 +1275,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_query</code></em>
 was different from <em class="parameter"><code>old_query</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2913,7 +2908,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.58.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the range was added or not.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2941,7 +2935,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.59.6"></a><h4>Returns</h4>
 <p> the range array size as a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2990,7 +2983,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.60.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the parsing succeeded.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3105,7 +3097,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3136,7 +3128,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3173,7 +3165,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3206,7 +3198,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3358,7 +3350,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.71.6"></a><h4>Returns</h4>
 <p> the pool array size as a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3503,7 +3494,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3572,7 +3563,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.76.7"></a><h4>Returns</h4>
 <p> the allocator array size as a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3693,7 +3683,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3759,7 +3749,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.81.6"></a><h4>Returns</h4>
 <p> the metadata API array size as a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3803,7 +3792,6 @@
 <a name="id-1.3.43.8.82.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the metadata API at <em class="parameter"><code>index</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3881,7 +3869,6 @@
 <a name="id-1.3.43.8.84.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>api</code></em>
 is in the list of metadata.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4050,7 +4037,6 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.89.6"></a><h4>Returns</h4>
 <p> the scheduling mode array size as a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4088,7 +4074,6 @@
 <a name="id-1.3.43.8.90.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> of the scheduling mode at <em class="parameter"><code>index</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4132,7 +4117,6 @@
 <a name="id-1.3.43.8.91.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>mode</code></em>
 is in the list of scheduling modes.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4180,7 +4164,6 @@
 is in the list of scheduling modes
 and <em class="parameter"><code>flags</code></em>
 are compatible with query flags.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4223,7 +4206,7 @@
 <p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4254,7 +4237,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4288,7 +4271,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4322,9 +4305,8 @@
 <div class="refsect3">
 <a name="id-1.3.43.8.97.6"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the parsing succeeded.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -4649,7 +4631,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstRegistry.html b/docs/gst/html/GstRegistry.html
index b5e4575..c68412a 100644
--- a/docs/gst/html/GstRegistry.html
+++ b/docs/gst/html/GstRegistry.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstRegistry</title>
+<title>GstRegistry: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstQuery.html" title="GstQuery">
 <link rel="next" href="GstSegment.html" title="GstSegment">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -381,7 +381,6 @@
 <div class="refsect3">
 <a name="id-1.3.44.9.4.6"></a><h4>Returns</h4>
 <p> the feature list cookie.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -487,7 +486,6 @@
 <a name="id-1.3.44.9.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -842,7 +840,6 @@
 <div class="refsect3">
 <a name="id-1.3.44.9.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if registry changed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -948,7 +945,6 @@
 <a name="id-1.3.44.9.19.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1005,7 +1001,6 @@
 <a name="id-1.3.44.9.20.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the feature could be found and the version is
 the same as the required version or newer, and <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1101,7 +1096,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstSample.html b/docs/gst/html/GstSample.html
index 2b89995..b2467a7 100644
--- a/docs/gst/html/GstSample.html
+++ b/docs/gst/html/GstSample.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstSample</title>
+<title>GstSample: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstCapsFeatures.html" title="GstCapsFeatures">
 <link rel="next" href="GstChildProxy.html" title="GstChildProxy">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -392,7 +392,7 @@
 . </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -411,7 +411,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstSegment.html b/docs/gst/html/GstSegment.html
index 469b7bc..3214e76 100644
--- a/docs/gst/html/GstSegment.html
+++ b/docs/gst/html/GstSegment.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstSegment</title>
+<title>GstSegment: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstRegistry.html" title="GstRegistry">
 <link rel="next" href="GstStructure.html" title="GstStructure">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -316,7 +316,6 @@
 completely in <em class="parameter"><code>segment</code></em>
 , <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the values are completely outside
 of the segment.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -532,7 +531,6 @@
 <div class="refsect3">
 <a name="id-1.3.45.8.7.11"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the seek could be performed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -583,7 +581,6 @@
 <a name="id-1.3.45.8.8.8"></a><h4>Returns</h4>
 <p> the position as the total running time or -1 when an invalid position
 was given.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -645,9 +642,8 @@
 <div class="refsect3">
 <a name="id-1.3.45.8.9.10"></a><h4>Returns</h4>
 <p> a 1 or -1 on success, 0 on failure.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -700,7 +696,6 @@
 <a name="id-1.3.45.8.10.7"></a><h4>Returns</h4>
 <p> the position in stream_time or -1 when an invalid position
 was given.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -748,7 +743,6 @@
 -1 when <em class="parameter"><code>running_time</code></em>
 is -1 or when it is not inside <em class="parameter"><code>segment</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -795,7 +789,6 @@
 returned, <em class="parameter"><code>running_time</code></em>
 is -1 or not in <em class="parameter"><code>segment</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -874,9 +867,8 @@
 returned, <em class="parameter"><code>offset</code></em>
 is not in <em class="parameter"><code>segment</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2.3</p>
+<p class="since">Since: 1.2.3</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -911,9 +903,8 @@
 <div class="refsect3">
 <a name="id-1.3.45.8.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the segments are equal, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1089,7 +1080,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstStructure.html b/docs/gst/html/GstStructure.html
index 7ea72ee..7934c62 100644
--- a/docs/gst/html/GstStructure.html
+++ b/docs/gst/html/GstStructure.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstStructure</title>
+<title>GstStructure: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstSegment.html" title="GstSegment">
 <link rel="next" href="GstSystemClock.html" title="GstSystemClock">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -685,7 +685,6 @@
 <a name="id-1.3.46.8.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the foreach operation should continue, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the foreach operation should stop with <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -729,7 +728,6 @@
 <a name="id-1.3.46.8.3.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map operation should continue, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
 the map operation should stop with <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -774,7 +772,6 @@
 <a name="id-1.3.46.8.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the field should be preserved, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it
 should be removed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1007,7 +1004,7 @@
 <a class="link" href="GstStructure.html#gst-structure-free" title="gst_structure_free ()"><code class="function">gst_structure_free()</code></a> after use. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1085,7 +1082,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.13.6"></a><h4>Returns</h4>
 <p> the name of the structure.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1121,7 +1117,6 @@
 <a name="id-1.3.46.8.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>name</code></em>
 matches the name of the structure.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1182,7 +1177,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.16.6"></a><h4>Returns</h4>
 <p> the quark representing the name of the structure.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1238,7 +1232,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there was a problem reading any of the fields (e.g.
 because the field requested did not exist, or was of a type other
 than the type specified), otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1282,7 +1275,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there was a problem reading any of the fields</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1319,7 +1311,6 @@
 <a name="id-1.3.46.8.19.6"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> corresponding to the field with the given name
 identifier.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1450,7 +1441,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there was a problem reading any of the fields (e.g.
 because the field requested did not exist, or was of a type other
 than the type specified), otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1494,7 +1484,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.23.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there was a problem reading any of the fields</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1530,7 +1519,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.24.6"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> corresponding to the field with the given name.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1621,7 +1609,8 @@
 gst_structure_set (<em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
                    <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fieldname</code></em>,
                    <em class="parameter"><code>...</code></em>);</pre>
-<p>Parses the variable arguments and sets fields accordingly.
+<p>Parses the variable arguments and sets fields accordingly. Fields that
+weren't already part of the structure are added as needed.
 Variable arguments should be in the form field name, field type
 (as a GType), value(s).  The last variable argument should be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
@@ -1924,7 +1913,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.35.6"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of the field</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1951,7 +1939,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.36.6"></a><h4>Returns</h4>
 <p> the number of fields in the structure</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1988,7 +1975,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.37.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure contains a field with the given name</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2032,7 +2018,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.38.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure contains a field with the given name and type</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2067,7 +2052,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.39.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the two structures have the same name and field.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2111,7 +2095,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>subset</code></em>
 is a subset of <em class="parameter"><code>superset</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2149,7 +2132,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.41.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if intersection would not be empty</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2188,7 +2170,6 @@
 <p> Intersection of <em class="parameter"><code>struct1</code></em>
 and <em class="parameter"><code>struct2</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2225,7 +2206,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.43.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure contains a field with the given name</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2269,7 +2249,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.44.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure contains a field with the given name and type</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2316,7 +2295,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a boolean, this
 function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2363,7 +2341,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain an int, this function
 returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2410,7 +2387,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a uint, this function
 returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2457,9 +2433,8 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a <span class="type">gint64</span>, this function
 returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2505,9 +2480,8 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a <span class="type">guint64</span>, this function
 returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2553,7 +2527,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a double, this
 function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2646,7 +2619,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a data, this function
 returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2698,7 +2670,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a data, this function
 returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2745,7 +2716,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>, this
 function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2798,7 +2768,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain an enum of the given
 type, this function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2852,7 +2821,6 @@
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain a GstFraction, this
 function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2896,7 +2864,6 @@
 <a name="id-1.3.46.8.57.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the supplied function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> For each of the fields,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2940,7 +2907,6 @@
 <a name="id-1.3.46.8.58.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the supplied function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> For each of the fields,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2982,7 +2948,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3016,7 +2982,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.60.6"></a><h4>Returns</h4>
 <p> the name of the given field number</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3054,7 +3019,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.61.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parent refcount could be set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3201,7 +3165,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.65.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure field could be fixated</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3246,7 +3209,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.66.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure could be fixated</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3291,7 +3253,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.67.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure could be fixated</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3344,7 +3305,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.68.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure could be fixated</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3389,7 +3349,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.69.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure could be fixated</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3434,7 +3393,6 @@
 <div class="refsect3">
 <a name="id-1.3.46.8.70.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the structure could be fixated</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -3470,7 +3428,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstSystemClock.html b/docs/gst/html/GstSystemClock.html
index 544d5d9..f862a39 100644
--- a/docs/gst/html/GstSystemClock.html
+++ b/docs/gst/html/GstSystemClock.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstSystemClock</title>
+<title>GstSystemClock: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstStructure.html" title="GstStructure">
 <link rel="next" href="GstTagList.html" title="GstTagList">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -160,7 +160,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -226,7 +226,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstTagList.html b/docs/gst/html/GstTagList.html
index 6cb6943..e58bb86 100644
--- a/docs/gst/html/GstTagList.html
+++ b/docs/gst/html/GstTagList.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTagList</title>
+<title>GstTagList: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstSystemClock.html" title="GstSystemClock">
 <link rel="next" href="GstTagSetter.html" title="GstTagSetter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1226,7 +1226,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the type is already registered</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1253,7 +1252,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.9.6"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of this tag</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1281,7 +1279,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.10.6"></a><h4>Returns</h4>
 <p> the human-readable name of this tag</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1309,7 +1306,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.11.6"></a><h4>Returns</h4>
 <p> the human-readable description of this tag</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1337,7 +1333,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.12.6"></a><h4>Returns</h4>
 <p> the flag of this tag.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1365,7 +1360,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the given tag is fixed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1518,7 +1512,6 @@
 <a name="id-1.3.48.8.19.6"></a><h4>Returns</h4>
 <p> The scope of <em class="parameter"><code>list</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1608,7 +1601,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.22.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the taglist is empty, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1643,7 +1635,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.23.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the taglists are equal, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1677,7 +1668,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.24.8"></a><h4>Returns</h4>
 <p> the new <a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1709,7 +1699,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.25.7"></a><h4>Returns</h4>
 <p> the same <a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a> mini object.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1912,7 +1901,6 @@
 <div class="refsect3">
 <a name="id-1.3.48.8.31.6"></a><h4>Returns</h4>
 <p> The number of tags stored</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1941,7 +1929,6 @@
 <a name="id-1.3.48.8.32.6"></a><h4>Returns</h4>
 <p> The number of tags in <em class="parameter"><code>list</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1979,7 +1966,6 @@
 <a name="id-1.3.48.8.33.6"></a><h4>Returns</h4>
 <p> The name of the tag at <em class="parameter"><code>index</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2345,7 +2331,6 @@
 <a name="id-1.3.48.8.42.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2388,7 +2373,6 @@
 <a name="id-1.3.48.8.43.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2437,7 +2421,6 @@
 <a name="id-1.3.48.8.44.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2480,7 +2463,6 @@
 <a name="id-1.3.48.8.45.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2529,7 +2511,6 @@
 <a name="id-1.3.48.8.46.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2572,7 +2553,6 @@
 <a name="id-1.3.48.8.47.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2621,7 +2601,6 @@
 <a name="id-1.3.48.8.48.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2678,7 +2657,6 @@
 <a name="id-1.3.48.8.50.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2721,7 +2699,6 @@
 <a name="id-1.3.48.8.51.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2770,7 +2747,6 @@
 <a name="id-1.3.48.8.52.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2813,7 +2789,6 @@
 <a name="id-1.3.48.8.53.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2862,7 +2837,6 @@
 <a name="id-1.3.48.8.54.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2905,7 +2879,6 @@
 <a name="id-1.3.48.8.55.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2954,7 +2927,6 @@
 <a name="id-1.3.48.8.56.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3004,7 +2976,6 @@
 <a name="id-1.3.48.8.57.9"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3058,7 +3029,6 @@
 <a name="id-1.3.48.8.58.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3111,7 +3081,6 @@
 <a name="id-1.3.48.8.59.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3154,7 +3123,6 @@
 <a name="id-1.3.48.8.60.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3203,7 +3171,6 @@
 <a name="id-1.3.48.8.61.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3250,7 +3217,6 @@
 <a name="id-1.3.48.8.62.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a date was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list or if it was <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3302,7 +3268,6 @@
 <a name="id-1.3.48.8.63.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list or if it was <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3349,7 +3314,6 @@
 <a name="id-1.3.48.8.64.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a datetime was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in
 the given list or if it was <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3401,7 +3365,6 @@
 <a name="id-1.3.48.8.65.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list or if it was <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3450,7 +3413,6 @@
 <a name="id-1.3.48.8.66.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a sample was returned, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in
 the given list or if it was <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3505,7 +3467,6 @@
 <a name="id-1.3.48.8.67.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a sample was copied, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the tag didn't exist in the
 given list or if it was <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -4392,7 +4353,7 @@
 <pre class="programlisting">#define GST_TAG_PUBLISHER                         "publisher"
 </pre>
 <p>Name of the label or publisher (string)</p>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4401,7 +4362,7 @@
 </pre>
 <p>Information about the people behind a remix and similar
 interpretations of another existing piece (string)</p>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4410,12 +4371,11 @@
 </pre>
 <a class="ulink" href="http://en.wikipedia.org/wiki/Note#Note_designation_in_accordance_with_octave_name" target="_top">Midi note number</a><p>of the audio track. This is useful for sample instruments and in particular
 for multi-samples.</p>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstTagSetter.html b/docs/gst/html/GstTagSetter.html
index a5b21a5..1ba5318 100644
--- a/docs/gst/html/GstTagSetter.html
+++ b/docs/gst/html/GstTagSetter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTagSetter</title>
+<title>GstTagSetter: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstTagList.html" title="GstTagList">
 <link rel="next" href="GstTask.html" title="GstTask">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -587,7 +587,6 @@
 <div class="refsect3">
 <a name="id-1.3.49.9.11.6"></a><h4>Returns</h4>
 <p> the merge mode used inside the element.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -629,7 +628,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstTask.html b/docs/gst/html/GstTask.html
index c903e81..89fae3c 100644
--- a/docs/gst/html/GstTask.html
+++ b/docs/gst/html/GstTask.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTask</title>
+<title>GstTask: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstTagSetter.html" title="GstTagSetter">
 <link rel="next" href="GstTaskPool.html" title="GstTaskPool">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -742,7 +742,6 @@
 <a name="id-1.3.50.8.16.6"></a><h4>Returns</h4>
 <p> The <a class="link" href="GstTask.html#GstTaskState" title="enum GstTaskState"><span class="type">GstTaskState</span></a> of the task</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -784,7 +783,6 @@
 <div class="refsect3">
 <a name="id-1.3.50.8.17.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the state could be changed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -816,7 +814,6 @@
 <a name="id-1.3.50.8.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be paused.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -847,7 +844,6 @@
 <a name="id-1.3.50.8.19.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be started.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -878,7 +874,6 @@
 <a name="id-1.3.50.8.20.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be stopped.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -912,7 +907,6 @@
 <a name="id-1.3.50.8.21.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be joined.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1037,7 +1031,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstTaskPool.html b/docs/gst/html/GstTaskPool.html
index 5576585..0cecdba 100644
--- a/docs/gst/html/GstTaskPool.html
+++ b/docs/gst/html/GstTaskPool.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTaskPool</title>
+<title>GstTaskPool: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstTask.html" title="GstTask">
 <link rel="next" href="GstToc.html" title="GstToc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -372,7 +372,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstToc.html b/docs/gst/html/GstToc.html
index 5113ce0..58532c4 100644
--- a/docs/gst/html/GstToc.html
+++ b/docs/gst/html/GstToc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstToc</title>
+<title>GstToc: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstTaskPool.html" title="GstTaskPool">
 <link rel="next" href="gstreamer-GstTocSetter.html" title="GstTocSetter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -497,7 +497,6 @@
 <a name="id-1.3.52.9.7.5"></a><h4>Returns</h4>
 <p> scope of <em class="parameter"><code>toc</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -698,7 +697,6 @@
 <div class="refsect3">
 <a name="id-1.3.52.9.14.6"></a><h4>Returns</h4>
 <p> newly allocated <a class="link" href="GstToc.html#GstTocEntry"><span class="type">GstTocEntry</span></a> structure, free it with <a class="link" href="GstToc.html#gst-toc-entry-unref" title="gst_toc_entry_unref()"><code class="function">gst_toc_entry_unref()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -983,9 +981,8 @@
 <a name="id-1.3.52.9.25.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if all non-<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> storage pointers were filled with appropriate
 values, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1025,7 +1022,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1072,7 +1069,6 @@
 <a name="id-1.3.52.9.27.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if all non-<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> storage pointers were filled with appropriate
 values, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1241,7 +1237,6 @@
 . This string is
 only for debugging purpose and should not be displayed in a user
 interface.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1268,7 +1263,6 @@
 <a name="id-1.3.52.9.33.5"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>entry</code></em>
 's entry type</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1295,7 +1289,6 @@
 <a name="id-1.3.52.9.34.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>entry</code></em>
 's type is an alternative type, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1322,7 +1315,6 @@
 <a name="id-1.3.52.9.35.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>entry</code></em>
 's type is a sequence type, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1378,7 +1370,7 @@
 </pre>
 <p>Special value for the repeat_count set in <a class="link" href="GstToc.html#gst-toc-entry-set-loop" title="gst_toc_entry_set_loop ()"><code class="function">gst_toc_entry_set_loop()</code></a> or
 returned by <a class="link" href="GstToc.html#gst-toc-entry-set-loop" title="gst_toc_entry_set_loop ()"><code class="function">gst_toc_entry_set_loop()</code></a> to indicate infinite looping.</p>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1541,7 +1533,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1550,7 +1542,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/GstTypeFindFactory.html b/docs/gst/html/GstTypeFindFactory.html
index f56e59b..a7408cd 100644
--- a/docs/gst/html/GstTypeFindFactory.html
+++ b/docs/gst/html/GstTypeFindFactory.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTypeFindFactory</title>
+<title>GstTypeFindFactory: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstTypeFind.html" title="GstTypeFind">
 <link rel="next" href="gstreamer-GstUri.html" title="GstUri">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -308,7 +308,6 @@
 <div class="refsect3">
 <a name="id-1.3.55.8.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the factory has a typefind functions set, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -353,7 +352,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/annotation-glossary.html b/docs/gst/html/annotation-glossary.html
index ced462a..078fadb 100644
--- a/docs/gst/html/annotation-glossary.html
+++ b/docs/gst/html/annotation-glossary.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: Annotation Glossary</title>
+<title>Annotation Glossary: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -24,9 +24,13 @@
                      <span class="dim">|</span> 
                   <a class="shortcut" href="#glsO">O</a>
                      <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsR">R</a>
+                     <span class="dim">|</span> 
                   <a class="shortcut" href="#glsS">S</a>
                      <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsT">T</a></span></td>
+                  <a class="shortcut" href="#glsT">T</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsV">V</a></span></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
 <td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
@@ -61,6 +65,9 @@
 <dd class="glossdef"><p>Out parameter, where caller must allocate storage.</p></dd>
 <dt><span class="glossterm"><a name="annotation-glossterm-out%20caller-allocates"></a>out caller-allocates</span></dt>
 <dd class="glossdef"><p>Out parameter, where caller must allocate storage.</p></dd>
+<a name="glsR"></a><h3 class="title">R</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-rename-to"></a>rename-to</span></dt>
+<dd class="glossdef"><p>Rename the original symbol's name to SYMBOL.</p></dd>
 <a name="glsS"></a><h3 class="title">S</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-scope%20async"></a>scope async</span></dt>
 <dd class="glossdef"><p>The callback is valid until first called.</p></dd>
@@ -79,9 +86,11 @@
 <dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
 <dt><span class="glossterm"><a name="annotation-glossterm-type"></a>type</span></dt>
 <dd class="glossdef"><p>Override the parsed C type with given type.</p></dd>
+<a name="glsV"></a><h3 class="title">V</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-virtual"></a>virtual</span></dt>
+<dd class="glossdef"><p>This is the invoker for a virtual method.</p></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/api-index-deprecated.html b/docs/gst/html/api-index-deprecated.html
index e4a7c38..2cd75ae 100644
--- a/docs/gst/html/api-index-deprecated.html
+++ b/docs/gst/html/api-index-deprecated.html
@@ -2,19 +2,21 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: Index of deprecated API</title>
+<title>Index of deprecated API: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="api-index-full.html" title="API Index">
 <link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
 <td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxM">M</a>
                      <span class="dim">|</span> 
+                  <a class="shortcut" href="#idxO">O</a>
+                     <span class="dim">|</span> 
                   <a class="shortcut" href="#idxT">T</a></span></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
@@ -29,6 +31,11 @@
 <a class="link" href="gstreamer-GstMeta.html#GST-META-TAG-MEMORY:CAPS" title="GST_META_TAG_MEMORY">GST_META_TAG_MEMORY</a>, macro in <a class="link" href="gstreamer-GstMeta.html" title="GstMeta">GstMeta</a>
 </dt>
 <dd></dd>
+<a name="idxO"></a><h3 class="title">O</h3>
+<dt>
+<a class="link" href="GstObject.html#gst-object-has-ancestor" title="gst_object_has_ancestor ()">gst_object_has_ancestor</a>, function in <a class="link" href="GstObject.html" title="GstObject">GstObject</a>
+</dt>
+<dd></dd>
 <a name="idxT"></a><h3 class="title">T</h3>
 <dt>
 <a class="link" href="GstTagList.html#gst-tag-list-free" title="gst_tag_list_free()">gst_tag_list_free</a>, macro in <a class="link" href="GstTagList.html" title="GstTagList">GstTagList</a>
@@ -36,7 +43,6 @@
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/api-index-full.html b/docs/gst/html/api-index-full.html
index 9b3cafd..ab4684f 100644
--- a/docs/gst/html/api-index-full.html
+++ b/docs/gst/html/api-index-full.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: API Index</title>
+<title>API Index: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="gstreamer-hierarchy.html" title="Object Hierarchy">
 <link rel="next" href="api-index-deprecated.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1368,6 +1368,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstClock.html#GstClock-synced" title="The “synced” signal">GstClock::synced</a>, object signal in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstClock.html#GstClock--timeout" title="The “timeout” property">GstClock:timeout</a>, object property in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
 </dt>
 <dd></dd>
@@ -1512,6 +1516,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstClock.html#gst-clock-is-synced" title="gst_clock_is_synced ()">gst_clock_is_synced</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstClock.html#gst-clock-new-periodic-id" title="gst_clock_new_periodic_id ()">gst_clock_new_periodic_id</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
 </dt>
 <dd></dd>
@@ -1536,6 +1544,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstClock.html#gst-clock-set-synced" title="gst_clock_set_synced ()">gst_clock_set_synced</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstClock.html#gst-clock-set-timeout" title="gst_clock_set_timeout ()">gst_clock_set_timeout</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
 </dt>
 <dd></dd>
@@ -1556,6 +1568,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstClock.html#gst-clock-wait-for-sync" title="gst_clock_wait_for_sync ()">gst_clock_wait_for_sync</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstContext.html#GstContext-struct" title="GstContext">GstContext</a>, struct in <a class="link" href="GstContext.html" title="GstContext">GstContext</a>
 </dt>
 <dd></dd>
@@ -1833,11 +1849,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstInfo.html#gst-debug-bin-to-dot-file-with-ts" title="gst_debug_bin_to_dot_file_with_ts ()">gst_debug_bin_to_dot_file_with_ts</a>, function in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
+<a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE-WITH-TS:CAPS" title="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()">GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS</a>, macro in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE-WITH-TS:CAPS" title="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()">GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS</a>, macro in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
+<a class="link" href="gstreamer-GstInfo.html#gst-debug-bin-to-dot-file-with-ts" title="gst_debug_bin_to_dot_file_with_ts ()">gst_debug_bin_to_dot_file_with_ts</a>, function in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
 </dt>
 <dd></dd>
 <dt>
@@ -2522,11 +2538,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstElement.html#gst-element-is-locked-state" title="gst_element_is_locked_state ()">gst_element_is_locked_state</a>, function in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
+<a class="link" href="GstElement.html#GST-ELEMENT-IS-LOCKED-STATE:CAPS" title="GST_ELEMENT_IS_LOCKED_STATE()">GST_ELEMENT_IS_LOCKED_STATE</a>, macro in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstElement.html#GST-ELEMENT-IS-LOCKED-STATE:CAPS" title="GST_ELEMENT_IS_LOCKED_STATE()">GST_ELEMENT_IS_LOCKED_STATE</a>, macro in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
+<a class="link" href="GstElement.html#gst-element-is-locked-state" title="gst_element_is_locked_state ()">gst_element_is_locked_state</a>, function in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3051,6 +3067,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstValue.html#GST-FLAG-SET-MASK-EXACT:CAPS" title="GST_FLAG_SET_MASK_EXACT">GST_FLAG_SET_MASK_EXACT</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn">GstFlowReturn</a>, enum in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -3233,11 +3253,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator">GstIterator</a>, struct in <a class="link" href="gstreamer-GstIterator.html" title="GstIterator">GstIterator</a>
+<a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR:CAPS" title="GST_ITERATOR()">GST_ITERATOR</a>, macro in <a class="link" href="gstreamer-GstIterator.html" title="GstIterator">GstIterator</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR:CAPS" title="GST_ITERATOR()">GST_ITERATOR</a>, macro in <a class="link" href="gstreamer-GstIterator.html" title="GstIterator">GstIterator</a>
+<a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator">GstIterator</a>, struct in <a class="link" href="gstreamer-GstIterator.html" title="GstIterator">GstIterator</a>
 </dt>
 <dd></dd>
 <dt>
@@ -4209,7 +4229,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstObject.html#gst-object-has-parent" title="gst_object_has_parent ()">gst_object_has_parent</a>, function in <a class="link" href="GstObject.html" title="GstObject">GstObject</a>
+<a class="link" href="GstObject.html#gst-object-has-as-ancestor" title="gst_object_has_as_ancestor ()">gst_object_has_as_ancestor</a>, function in <a class="link" href="GstObject.html" title="GstObject">GstObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstObject.html#gst-object-has-as-parent" title="gst_object_has_as_parent ()">gst_object_has_as_parent</a>, function in <a class="link" href="GstObject.html" title="GstObject">GstObject</a>
 </dt>
 <dd></dd>
 <dt>
@@ -4590,15 +4614,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#gst-pad-is-active" title="gst_pad_is_active ()">gst_pad_is_active</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstPad.html#GST-PAD-IS-ACTIVE:CAPS" title="GST_PAD_IS_ACTIVE()">GST_PAD_IS_ACTIVE</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#gst-pad-is-blocked" title="gst_pad_is_blocked ()">gst_pad_is_blocked</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+<a class="link" href="GstPad.html#gst-pad-is-active" title="gst_pad_is_active ()">gst_pad_is_active</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
@@ -4606,6 +4626,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstPad.html#gst-pad-is-blocked" title="gst_pad_is_blocked ()">gst_pad_is_blocked</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstPad.html#GST-PAD-IS-BLOCKING:CAPS" title="GST_PAD_IS_BLOCKING()">GST_PAD_IS_BLOCKING</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -4714,11 +4738,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#gst-pad-needs-reconfigure" title="gst_pad_needs_reconfigure ()">gst_pad_needs_reconfigure</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+<a class="link" href="GstPad.html#GST-PAD-NEEDS-RECONFIGURE:CAPS" title="GST_PAD_NEEDS_RECONFIGURE()">GST_PAD_NEEDS_RECONFIGURE</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#GST-PAD-NEEDS-RECONFIGURE:CAPS" title="GST_PAD_NEEDS_RECONFIGURE()">GST_PAD_NEEDS_RECONFIGURE</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+<a class="link" href="GstPad.html#gst-pad-needs-reconfigure" title="gst_pad_needs_reconfigure ()">gst_pad_needs_reconfigure</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
@@ -5466,11 +5490,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstPoll.html#gst-poll-fd-init" title="gst_poll_fd_init ()">gst_poll_fd_init</a>, function in <a class="link" href="gstreamer-GstPoll.html" title="GstPoll">GstPoll</a>
+<a class="link" href="gstreamer-GstPoll.html#GST-POLL-FD-INIT:CAPS" title="GST_POLL_FD_INIT">GST_POLL_FD_INIT</a>, macro in <a class="link" href="gstreamer-GstPoll.html" title="GstPoll">GstPoll</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstPoll.html#GST-POLL-FD-INIT:CAPS" title="GST_POLL_FD_INIT">GST_POLL_FD_INIT</a>, macro in <a class="link" href="gstreamer-GstPoll.html" title="GstPoll">GstPoll</a>
+<a class="link" href="gstreamer-GstPoll.html#gst-poll-fd-init" title="gst_poll_fd_init ()">gst_poll_fd_init</a>, function in <a class="link" href="gstreamer-GstPoll.html" title="GstPoll">GstPoll</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6365,11 +6389,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstElement.html#GstState" title="enum GstState">GstState</a>, enum in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
+<a class="link" href="GstElement.html#GST-STATE:CAPS" title="GST_STATE()">GST_STATE</a>, macro in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstElement.html#GST-STATE:CAPS" title="GST_STATE()">GST_STATE</a>, macro in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
+<a class="link" href="GstElement.html#GstState" title="enum GstState">GstState</a>, enum in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6581,6 +6605,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstValue.html#gst-structure-get-flagset" title="gst_structure_get_flagset ()">gst_structure_get_flagset</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstStructure.html#gst-structure-get-fraction" title="gst_structure_get_fraction ()">gst_structure_get_fraction</a>, function in <a class="link" href="GstStructure.html" title="GstStructure">GstStructure</a>
 </dt>
 <dd></dd>
@@ -7882,6 +7910,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS" title="GST_TYPE_FLAG_SET">GST_TYPE_FLAG_SET</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS" title="GST_TYPE_FRACTION">GST_TYPE_FRACTION</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
 </dt>
 <dd></dd>
@@ -8352,6 +8384,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstValue.html#gst-value-get-flagset-flags" title="gst_value_get_flagset_flags ()">gst_value_get_flagset_flags</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstValue.html#gst-value-get-flagset-mask" title="gst_value_get_flagset_mask ()">gst_value_get_flagset_mask</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstValue.html#gst-value-get-fraction-denominator" title="gst_value_get_fraction_denominator ()">gst_value_get_fraction_denominator</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
 </dt>
 <dd></dd>
@@ -8432,6 +8472,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-FLAG-SET:CAPS" title="GST_VALUE_HOLDS_FLAG_SET()">GST_VALUE_HOLDS_FLAG_SET</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-FRACTION:CAPS" title="GST_VALUE_HOLDS_FRACTION()">GST_VALUE_HOLDS_FRACTION</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
 </dt>
 <dd></dd>
@@ -8536,6 +8580,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstValue.html#gst-value-set-flagset" title="gst_value_set_flagset ()">gst_value_set_flagset</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstValue.html#gst-value-set-fraction" title="gst_value_set_fraction ()">gst_value_set_fraction</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
 </dt>
 <dd></dd>
@@ -8678,7 +8726,6 @@
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gst-building.html b/docs/gst/html/gst-building.html
index 5615141..8fc777f 100644
--- a/docs/gst/html/gst-building.html
+++ b/docs/gst/html/gst-building.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: Building GStreamer and GStreamer Applications</title>
+<title>Building GStreamer and GStreamer Applications: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer.html" title="GStreamer Overview">
 <link rel="prev" href="gstreamer.html" title="GStreamer Overview">
 <link rel="next" href="gst-running.html" title="Running GStreamer Applications">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -103,7 +103,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gst-running.html b/docs/gst/html/gst-running.html
index 8e23914..2582064 100644
--- a/docs/gst/html/gst-running.html
+++ b/docs/gst/html/gst-running.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: Running GStreamer Applications</title>
+<title>Running GStreamer Applications: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer.html" title="GStreamer Overview">
 <link rel="prev" href="gst-building.html" title="Building GStreamer and GStreamer Applications">
 <link rel="next" href="libgstreamer.html" title="GStreamer Core Library">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -399,7 +399,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-1.0.devhelp2 b/docs/gst/html/gstreamer-1.0.devhelp2
index 6d08d6b..9fc6533 100644
--- a/docs/gst/html/gstreamer-1.0.devhelp2
+++ b/docs/gst/html/gstreamer-1.0.devhelp2
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
 <book xmlns="http://www.devhelp.net/book" title="GStreamer 1.0 Core Reference Manual" link="index.html" author="" name="gstreamer-1.0" version="2" language="c">
   <chapters>
     <sub name="GStreamer Overview" link="gstreamer.html">
@@ -81,7 +80,6 @@
     <sub name="Annotation Glossary" link="annotation-glossary.html"/>
   </chapters>
   <functions>
-    <keyword type="" name="Environment variables" link="gst-running.html#id-1.2.6.3.2"/>
     <keyword type="function" name="gst_init ()" link="gstreamer-Gst.html#gst-init"/>
     <keyword type="function" name="gst_init_check ()" link="gstreamer-Gst.html#gst-init-check"/>
     <keyword type="function" name="gst_init_get_option_group ()" link="gstreamer-Gst.html#gst-init-get-option-group"/>
@@ -117,7 +115,6 @@
     <keyword type="function" name="gst_atomic_queue_pop ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-pop"/>
     <keyword type="function" name="gst_atomic_queue_length ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-length"/>
     <keyword type="struct" name="GstAtomicQueue" link="gstreamer-GstAtomicQueue.html#GstAtomicQueue"/>
-    <keyword type="" name="Notes" link="GstBin.html#id-1.3.6.10.9"/>
     <keyword type="function" name="gst_bin_new ()" link="GstBin.html#gst-bin-new"/>
     <keyword type="function" name="gst_bin_add ()" link="GstBin.html#gst-bin-add"/>
     <keyword type="function" name="gst_bin_remove ()" link="GstBin.html#gst-bin-remove"/>
@@ -453,6 +450,9 @@
     <keyword type="function" name="gst_clock_set_calibration ()" link="GstClock.html#gst-clock-set-calibration"/>
     <keyword type="function" name="gst_clock_get_timeout ()" link="GstClock.html#gst-clock-get-timeout"/>
     <keyword type="function" name="gst_clock_set_timeout ()" link="GstClock.html#gst-clock-set-timeout"/>
+    <keyword type="function" name="gst_clock_wait_for_sync ()" link="GstClock.html#gst-clock-wait-for-sync" since="1.6"/>
+    <keyword type="function" name="gst_clock_is_synced ()" link="GstClock.html#gst-clock-is-synced" since="1.6"/>
+    <keyword type="function" name="gst_clock_set_synced ()" link="GstClock.html#gst-clock-set-synced" since="1.6"/>
     <keyword type="function" name="gst_clock_id_get_time ()" link="GstClock.html#gst-clock-id-get-time"/>
     <keyword type="function" name="gst_clock_id_wait ()" link="GstClock.html#gst-clock-id-wait"/>
     <keyword type="function" name="gst_clock_id_wait_async ()" link="GstClock.html#gst-clock-id-wait-async"/>
@@ -472,6 +472,7 @@
     <keyword type="property" name="The “timeout” property" link="GstClock.html#GstClock--timeout"/>
     <keyword type="property" name="The “window-size” property" link="GstClock.html#GstClock--window-size"/>
     <keyword type="property" name="The “window-threshold” property" link="GstClock.html#GstClock--window-threshold"/>
+    <keyword type="signal" name="The “synced” signal" link="GstClock.html#GstClock-synced"/>
     <keyword type="macro" name="GST_DISABLE_GST_DEBUG" link="gstreamer-gstconfig.html#GST-DISABLE-GST-DEBUG:CAPS"/>
     <keyword type="macro" name="GST_DISABLE_PARSE" link="gstreamer-gstconfig.html#GST-DISABLE-PARSE:CAPS"/>
     <keyword type="macro" name="GST_DISABLE_TRACE" link="gstreamer-gstconfig.html#GST-DISABLE-TRACE:CAPS"/>
@@ -1002,7 +1003,6 @@
     <keyword type="struct" name="struct GstMiniObject" link="gstreamer-GstMiniObject.html#GstMiniObject"/>
     <keyword type="enum" name="enum GstMiniObjectFlags" link="gstreamer-GstMiniObject.html#GstMiniObjectFlags"/>
     <keyword type="enum" name="enum GstLockFlags" link="gstreamer-GstMiniObject.html#GstLockFlags"/>
-    <keyword type="" name="controlled properties" link="GstObject.html#id-1.3.32.9.6"/>
     <keyword type="macro" name="GST_OBJECT_FLAGS()" link="GstObject.html#GST-OBJECT-FLAGS:CAPS"/>
     <keyword type="macro" name="GST_OBJECT_FLAG_IS_SET()" link="GstObject.html#GST-OBJECT-FLAG-IS-SET:CAPS"/>
     <keyword type="macro" name="GST_OBJECT_FLAG_SET()" link="GstObject.html#GST-OBJECT-FLAG-SET:CAPS"/>
@@ -1019,12 +1019,13 @@
     <keyword type="function" name="gst_object_get_name ()" link="GstObject.html#gst-object-get-name"/>
     <keyword type="function" name="gst_object_set_parent ()" link="GstObject.html#gst-object-set-parent"/>
     <keyword type="function" name="gst_object_get_parent ()" link="GstObject.html#gst-object-get-parent"/>
-    <keyword type="function" name="gst_object_has_parent ()" link="GstObject.html#gst-object-has-parent" since="1.6"/>
+    <keyword type="function" name="gst_object_has_as_parent ()" link="GstObject.html#gst-object-has-as-parent" since="1.6"/>
     <keyword type="function" name="gst_object_unparent ()" link="GstObject.html#gst-object-unparent"/>
     <keyword type="function" name="gst_object_default_deep_notify ()" link="GstObject.html#gst-object-default-deep-notify"/>
     <keyword type="function" name="gst_object_default_error ()" link="GstObject.html#gst-object-default-error"/>
     <keyword type="function" name="gst_object_check_uniqueness ()" link="GstObject.html#gst-object-check-uniqueness"/>
-    <keyword type="function" name="gst_object_has_ancestor ()" link="GstObject.html#gst-object-has-ancestor"/>
+    <keyword type="function" name="gst_object_has_as_ancestor ()" link="GstObject.html#gst-object-has-as-ancestor"/>
+    <keyword type="function" name="gst_object_has_ancestor ()" link="GstObject.html#gst-object-has-ancestor" deprecated=""/>
     <keyword type="function" name="gst_object_ref ()" link="GstObject.html#gst-object-ref"/>
     <keyword type="function" name="gst_object_unref ()" link="GstObject.html#gst-object-unref"/>
     <keyword type="function" name="gst_object_ref_sink ()" link="GstObject.html#gst-object-ref-sink"/>
@@ -2010,6 +2011,13 @@
     <keyword type="macro" name="GST_TYPE_BITMASK" link="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS"/>
     <keyword type="function" name="gst_value_set_bitmask ()" link="gstreamer-GstValue.html#gst-value-set-bitmask"/>
     <keyword type="function" name="gst_value_get_bitmask ()" link="gstreamer-GstValue.html#gst-value-get-bitmask"/>
+    <keyword type="macro" name="GST_VALUE_HOLDS_FLAG_SET()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-FLAG-SET:CAPS" since="1.6"/>
+    <keyword type="macro" name="GST_TYPE_FLAG_SET" link="gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS" since="1.6"/>
+    <keyword type="function" name="gst_structure_get_flagset ()" link="gstreamer-GstValue.html#gst-structure-get-flagset" since="1.6"/>
+    <keyword type="function" name="gst_value_get_flagset_flags ()" link="gstreamer-GstValue.html#gst-value-get-flagset-flags" since="1.6"/>
+    <keyword type="function" name="gst_value_get_flagset_mask ()" link="gstreamer-GstValue.html#gst-value-get-flagset-mask" since="1.6"/>
+    <keyword type="function" name="gst_value_set_flagset ()" link="gstreamer-GstValue.html#gst-value-set-flagset" since="1.6"/>
+    <keyword type="macro" name="GST_FLAG_SET_MASK_EXACT" link="gstreamer-GstValue.html#GST-FLAG-SET-MASK-EXACT:CAPS"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_INT64_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-INT64-RANGE:CAPS"/>
     <keyword type="macro" name="GST_TYPE_INT64_RANGE" link="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS"/>
     <keyword type="function" name="gst_value_set_int64_range ()" link="gstreamer-GstValue.html#gst-value-set-int64-range"/>
@@ -2233,5 +2241,496 @@
     <keyword type="enum" name="enum GstDebugGraphDetails" link="gstreamer-GstInfo.html#GstDebugGraphDetails"/>
     <keyword type="variable" name="GST_CAT_DEFAULT" link="gstreamer-GstInfo.html#GST-CAT-DEFAULT:CAPS"/>
     <keyword type="macro" name="GST_TIME_FORMAT" link="gstreamer-GstInfo.html#GST-TIME-FORMAT:CAPS"/>
+    <keyword type="constant" name="GST_ALLOCATOR_FLAG_CUSTOM_ALLOC" link="GstAllocator.html#GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS"/>
+    <keyword type="constant" name="GST_ALLOCATOR_FLAG_LAST" link="GstAllocator.html#GST-ALLOCATOR-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_BIN_FLAG_NO_RESYNC" link="GstBin.html#GST-BIN-FLAG-NO-RESYNC:CAPS"/>
+    <keyword type="constant" name="GST_BIN_FLAG_LAST" link="GstBin.html#GST-BIN-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_LIVE" link="GstBuffer.html#GST-BUFFER-FLAG-LIVE:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_DECODE_ONLY" link="GstBuffer.html#GST-BUFFER-FLAG-DECODE-ONLY:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_DISCONT" link="GstBuffer.html#GST-BUFFER-FLAG-DISCONT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_RESYNC" link="GstBuffer.html#GST-BUFFER-FLAG-RESYNC:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_CORRUPTED" link="GstBuffer.html#GST-BUFFER-FLAG-CORRUPTED:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_MARKER" link="GstBuffer.html#GST-BUFFER-FLAG-MARKER:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_HEADER" link="GstBuffer.html#GST-BUFFER-FLAG-HEADER:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_GAP" link="GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_DROPPABLE" link="GstBuffer.html#GST-BUFFER-FLAG-DROPPABLE:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_DELTA_UNIT" link="GstBuffer.html#GST-BUFFER-FLAG-DELTA-UNIT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_TAG_MEMORY" link="GstBuffer.html#GST-BUFFER-FLAG-TAG-MEMORY:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_FLAG_LAST" link="GstBuffer.html#GST-BUFFER-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_NONE" link="GstBuffer.html#GST-BUFFER-COPY-NONE:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_FLAGS" link="GstBuffer.html#GST-BUFFER-COPY-FLAGS:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_TIMESTAMPS" link="GstBuffer.html#GST-BUFFER-COPY-TIMESTAMPS:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_META" link="GstBuffer.html#GST-BUFFER-COPY-META:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_MEMORY" link="GstBuffer.html#GST-BUFFER-COPY-MEMORY:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_MERGE" link="GstBuffer.html#GST-BUFFER-COPY-MERGE:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_COPY_DEEP" link="GstBuffer.html#GST-BUFFER-COPY-DEEP:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_NONE" link="GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT" link="GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-KEY-UNIT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT" link="GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-DONTWAIT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT" link="GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-DISCONT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_LAST" link="GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_BUS_FLUSHING" link="GstBus.html#GST-BUS-FLUSHING:CAPS"/>
+    <keyword type="constant" name="GST_BUS_FLAG_LAST" link="GstBus.html#GST-BUS-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_BUS_DROP" link="GstBus.html#GST-BUS-DROP:CAPS"/>
+    <keyword type="constant" name="GST_BUS_PASS" link="GstBus.html#GST-BUS-PASS:CAPS"/>
+    <keyword type="constant" name="GST_BUS_ASYNC" link="GstBus.html#GST-BUS-ASYNC:CAPS"/>
+    <keyword type="constant" name="GST_CAPS_INTERSECT_ZIG_ZAG" link="GstCaps.html#GST-CAPS-INTERSECT-ZIG-ZAG:CAPS"/>
+    <keyword type="constant" name="GST_CAPS_INTERSECT_FIRST" link="GstCaps.html#GST-CAPS-INTERSECT-FIRST:CAPS"/>
+    <keyword type="constant" name="GST_CAPS_FLAG_ANY" link="GstCaps.html#GST-CAPS-FLAG-ANY:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_ENTRY_SINGLE" link="GstClock.html#GST-CLOCK-ENTRY-SINGLE:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_ENTRY_PERIODIC" link="GstClock.html#GST-CLOCK-ENTRY-PERIODIC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_OK" link="GstClock.html#GST-CLOCK-OK:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_EARLY" link="GstClock.html#GST-CLOCK-EARLY:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_UNSCHEDULED" link="GstClock.html#GST-CLOCK-UNSCHEDULED:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_BUSY" link="GstClock.html#GST-CLOCK-BUSY:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_BADTIME" link="GstClock.html#GST-CLOCK-BADTIME:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_ERROR" link="GstClock.html#GST-CLOCK-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_UNSUPPORTED" link="GstClock.html#GST-CLOCK-UNSUPPORTED:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_DONE" link="GstClock.html#GST-CLOCK-DONE:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC" link="GstClock.html#GST-CLOCK-FLAG-CAN-DO-SINGLE-SYNC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC" link="GstClock.html#GST-CLOCK-FLAG-CAN-DO-SINGLE-ASYNC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC" link="GstClock.html#GST-CLOCK-FLAG-CAN-DO-PERIODIC-SYNC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC" link="GstClock.html#GST-CLOCK-FLAG-CAN-DO-PERIODIC-ASYNC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_CAN_SET_RESOLUTION" link="GstClock.html#GST-CLOCK-FLAG-CAN-SET-RESOLUTION:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_CAN_SET_MASTER" link="GstClock.html#GST-CLOCK-FLAG-CAN-SET-MASTER:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC" link="GstClock.html#GST-CLOCK-FLAG-NEEDS-STARTUP-SYNC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_FLAG_LAST" link="GstClock.html#GST-CLOCK-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_LOCKED_STATE" link="GstElement.html#GST-ELEMENT-FLAG-LOCKED-STATE:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_SINK" link="GstElement.html#GST-ELEMENT-FLAG-SINK:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_SOURCE" link="GstElement.html#GST-ELEMENT-FLAG-SOURCE:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_PROVIDE_CLOCK" link="GstElement.html#GST-ELEMENT-FLAG-PROVIDE-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_REQUIRE_CLOCK" link="GstElement.html#GST-ELEMENT-FLAG-REQUIRE-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_INDEXABLE" link="GstElement.html#GST-ELEMENT-FLAG-INDEXABLE:CAPS"/>
+    <keyword type="constant" name="GST_ELEMENT_FLAG_LAST" link="GstElement.html#GST-ELEMENT-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_STATE_VOID_PENDING" link="GstElement.html#GST-STATE-VOID-PENDING:CAPS"/>
+    <keyword type="constant" name="GST_STATE_NULL" link="GstElement.html#GST-STATE-NULL:CAPS"/>
+    <keyword type="constant" name="GST_STATE_READY" link="GstElement.html#GST-STATE-READY:CAPS"/>
+    <keyword type="constant" name="GST_STATE_PAUSED" link="GstElement.html#GST-STATE-PAUSED:CAPS"/>
+    <keyword type="constant" name="GST_STATE_PLAYING" link="GstElement.html#GST-STATE-PLAYING:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_NULL_TO_READY" link="GstElement.html#GST-STATE-CHANGE-NULL-TO-READY:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_READY_TO_PAUSED" link="GstElement.html#GST-STATE-CHANGE-READY-TO-PAUSED:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_PAUSED_TO_PLAYING" link="GstElement.html#GST-STATE-CHANGE-PAUSED-TO-PLAYING:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_PLAYING_TO_PAUSED" link="GstElement.html#GST-STATE-CHANGE-PLAYING-TO-PAUSED:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_PAUSED_TO_READY" link="GstElement.html#GST-STATE-CHANGE-PAUSED-TO-READY:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_READY_TO_NULL" link="GstElement.html#GST-STATE-CHANGE-READY-TO-NULL:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_FAILURE" link="GstElement.html#GST-STATE-CHANGE-FAILURE:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_SUCCESS" link="GstElement.html#GST-STATE-CHANGE-SUCCESS:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_ASYNC" link="GstElement.html#GST-STATE-CHANGE-ASYNC:CAPS"/>
+    <keyword type="constant" name="GST_STATE_CHANGE_NO_PREROLL" link="GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_FAILED" link="gstreamer-GstGError.html#GST-CORE-ERROR-FAILED:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_TOO_LAZY" link="gstreamer-GstGError.html#GST-CORE-ERROR-TOO-LAZY:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_NOT_IMPLEMENTED" link="gstreamer-GstGError.html#GST-CORE-ERROR-NOT-IMPLEMENTED:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_STATE_CHANGE" link="gstreamer-GstGError.html#GST-CORE-ERROR-STATE-CHANGE:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_PAD" link="gstreamer-GstGError.html#GST-CORE-ERROR-PAD:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_THREAD" link="gstreamer-GstGError.html#GST-CORE-ERROR-THREAD:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_NEGOTIATION" link="gstreamer-GstGError.html#GST-CORE-ERROR-NEGOTIATION:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_EVENT" link="gstreamer-GstGError.html#GST-CORE-ERROR-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_SEEK" link="gstreamer-GstGError.html#GST-CORE-ERROR-SEEK:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_CAPS" link="gstreamer-GstGError.html#GST-CORE-ERROR-CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_TAG" link="gstreamer-GstGError.html#GST-CORE-ERROR-TAG:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_MISSING_PLUGIN" link="gstreamer-GstGError.html#GST-CORE-ERROR-MISSING-PLUGIN:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_CLOCK" link="gstreamer-GstGError.html#GST-CORE-ERROR-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_DISABLED" link="gstreamer-GstGError.html#GST-CORE-ERROR-DISABLED:CAPS"/>
+    <keyword type="constant" name="GST_CORE_ERROR_NUM_ERRORS" link="gstreamer-GstGError.html#GST-CORE-ERROR-NUM-ERRORS:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_FAILED" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-FAILED:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_TOO_LAZY" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-TOO-LAZY:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_INIT" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-INIT:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_SHUTDOWN" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-SHUTDOWN:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_SETTINGS" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-SETTINGS:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_ENCODE" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-ENCODE:CAPS"/>
+    <keyword type="constant" name="GST_LIBRARY_ERROR_NUM_ERRORS" link="gstreamer-GstGError.html#GST-LIBRARY-ERROR-NUM-ERRORS:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_FAILED" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-FAILED:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_TOO_LAZY" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-TOO-LAZY:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_NOT_FOUND" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-NOT-FOUND:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_BUSY" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-BUSY:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_OPEN_READ" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-OPEN-READ:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_OPEN_WRITE" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-OPEN-WRITE:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_OPEN_READ_WRITE" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-OPEN-READ-WRITE:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_CLOSE" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-CLOSE:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_READ" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-READ:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_WRITE" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-WRITE:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_SEEK" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-SEEK:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_SYNC" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-SYNC:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_SETTINGS" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-SETTINGS:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_NO_SPACE_LEFT" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-NO-SPACE-LEFT:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_NOT_AUTHORIZED" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-NOT-AUTHORIZED:CAPS"/>
+    <keyword type="constant" name="GST_RESOURCE_ERROR_NUM_ERRORS" link="gstreamer-GstGError.html#GST-RESOURCE-ERROR-NUM-ERRORS:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_FAILED" link="gstreamer-GstGError.html#GST-STREAM-ERROR-FAILED:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_TOO_LAZY" link="gstreamer-GstGError.html#GST-STREAM-ERROR-TOO-LAZY:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_NOT_IMPLEMENTED" link="gstreamer-GstGError.html#GST-STREAM-ERROR-NOT-IMPLEMENTED:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_TYPE_NOT_FOUND" link="gstreamer-GstGError.html#GST-STREAM-ERROR-TYPE-NOT-FOUND:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_WRONG_TYPE" link="gstreamer-GstGError.html#GST-STREAM-ERROR-WRONG-TYPE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_CODEC_NOT_FOUND" link="gstreamer-GstGError.html#GST-STREAM-ERROR-CODEC-NOT-FOUND:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_DECODE" link="gstreamer-GstGError.html#GST-STREAM-ERROR-DECODE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_ENCODE" link="gstreamer-GstGError.html#GST-STREAM-ERROR-ENCODE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_DEMUX" link="gstreamer-GstGError.html#GST-STREAM-ERROR-DEMUX:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_MUX" link="gstreamer-GstGError.html#GST-STREAM-ERROR-MUX:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_FORMAT" link="gstreamer-GstGError.html#GST-STREAM-ERROR-FORMAT:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_DECRYPT" link="gstreamer-GstGError.html#GST-STREAM-ERROR-DECRYPT:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_DECRYPT_NOKEY" link="gstreamer-GstGError.html#GST-STREAM-ERROR-DECRYPT-NOKEY:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_ERROR_NUM_ERRORS" link="gstreamer-GstGError.html#GST-STREAM-ERROR-NUM-ERRORS:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TYPE_UPSTREAM" link="GstEvent.html#GST-EVENT-TYPE-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TYPE_DOWNSTREAM" link="GstEvent.html#GST-EVENT-TYPE-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TYPE_SERIALIZED" link="GstEvent.html#GST-EVENT-TYPE-SERIALIZED:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TYPE_STICKY" link="GstEvent.html#GST-EVENT-TYPE-STICKY:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TYPE_STICKY_MULTI" link="GstEvent.html#GST-EVENT-TYPE-STICKY-MULTI:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_UNKNOWN" link="GstEvent.html#GST-EVENT-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_FLUSH_START" link="GstEvent.html#GST-EVENT-FLUSH-START:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_FLUSH_STOP" link="GstEvent.html#GST-EVENT-FLUSH-STOP:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_STREAM_START" link="GstEvent.html#GST-EVENT-STREAM-START:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CAPS" link="GstEvent.html#GST-EVENT-CAPS"/>
+    <keyword type="constant" name="GST_EVENT_SEGMENT" link="GstEvent.html#GST-EVENT-SEGMENT:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TAG" link="GstEvent.html#GST-EVENT-TAG:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_BUFFERSIZE" link="GstEvent.html#GST-EVENT-BUFFERSIZE:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_SINK_MESSAGE" link="GstEvent.html#GST-EVENT-SINK-MESSAGE:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_EOS" link="GstEvent.html#GST-EVENT-EOS:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TOC" link="GstEvent.html#GST-EVENT-TOC:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_PROTECTION" link="GstEvent.html#GST-EVENT-PROTECTION:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_SEGMENT_DONE" link="GstEvent.html#GST-EVENT-SEGMENT-DONE:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_GAP" link="GstEvent.html#GST-EVENT-GAP:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_QOS" link="GstEvent.html#GST-EVENT-QOS:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_SEEK" link="GstEvent.html#GST-EVENT-SEEK:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_NAVIGATION" link="GstEvent.html#GST-EVENT-NAVIGATION:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_LATENCY" link="GstEvent.html#GST-EVENT-LATENCY:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_STEP" link="GstEvent.html#GST-EVENT-STEP:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_RECONFIGURE" link="GstEvent.html#GST-EVENT-RECONFIGURE:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_TOC_SELECT" link="GstEvent.html#GST-EVENT-TOC-SELECT:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CUSTOM_UPSTREAM" link="GstEvent.html#GST-EVENT-CUSTOM-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CUSTOM_DOWNSTREAM" link="GstEvent.html#GST-EVENT-CUSTOM-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CUSTOM_DOWNSTREAM_OOB" link="GstEvent.html#GST-EVENT-CUSTOM-DOWNSTREAM-OOB:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CUSTOM_DOWNSTREAM_STICKY" link="GstEvent.html#GST-EVENT-CUSTOM-DOWNSTREAM-STICKY:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CUSTOM_BOTH" link="GstEvent.html#GST-EVENT-CUSTOM-BOTH:CAPS"/>
+    <keyword type="constant" name="GST_EVENT_CUSTOM_BOTH_OOB" link="GstEvent.html#GST-EVENT-CUSTOM-BOTH-OOB:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_FLAG_NONE" link="GstEvent.html#GST-STREAM-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_FLAG_SPARSE" link="GstEvent.html#GST-STREAM-FLAG-SPARSE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_FLAG_SELECT" link="GstEvent.html#GST-STREAM-FLAG-SELECT:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_FLAG_UNSELECT" link="GstEvent.html#GST-STREAM-FLAG-UNSELECT:CAPS"/>
+    <keyword type="constant" name="GST_QOS_TYPE_OVERFLOW" link="GstEvent.html#GST-QOS-TYPE-OVERFLOW:CAPS"/>
+    <keyword type="constant" name="GST_QOS_TYPE_UNDERFLOW" link="GstEvent.html#GST-QOS-TYPE-UNDERFLOW:CAPS"/>
+    <keyword type="constant" name="GST_QOS_TYPE_THROTTLE" link="GstEvent.html#GST-QOS-TYPE-THROTTLE:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_TYPE_NONE" link="GstEvent.html#GST-SEEK-TYPE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_TYPE_SET" link="GstEvent.html#GST-SEEK-TYPE-SET:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_TYPE_END" link="GstEvent.html#GST-SEEK-TYPE-END:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_NONE" link="GstEvent.html#GST-SEEK-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_FLUSH" link="GstEvent.html#GST-SEEK-FLAG-FLUSH:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_ACCURATE" link="GstEvent.html#GST-SEEK-FLAG-ACCURATE:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_KEY_UNIT" link="GstEvent.html#GST-SEEK-FLAG-KEY-UNIT:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_SEGMENT" link="GstEvent.html#GST-SEEK-FLAG-SEGMENT:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_TRICKMODE" link="GstEvent.html#GST-SEEK-FLAG-TRICKMODE:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_SKIP" link="GstEvent.html#GST-SEEK-FLAG-SKIP:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_SNAP_BEFORE" link="GstEvent.html#GST-SEEK-FLAG-SNAP-BEFORE:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_SNAP_AFTER" link="GstEvent.html#GST-SEEK-FLAG-SNAP-AFTER:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_SNAP_NEAREST" link="GstEvent.html#GST-SEEK-FLAG-SNAP-NEAREST:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_TRICKMODE_KEY_UNITS" link="GstEvent.html#GST-SEEK-FLAG-TRICKMODE-KEY-UNITS:CAPS"/>
+    <keyword type="constant" name="GST_SEEK_FLAG_TRICKMODE_NO_AUDIO" link="GstEvent.html#GST-SEEK-FLAG-TRICKMODE-NO-AUDIO:CAPS"/>
+    <keyword type="constant" name="GST_FORMAT_UNDEFINED" link="gstreamer-GstFormat.html#GST-FORMAT-UNDEFINED:CAPS"/>
+    <keyword type="constant" name="GST_FORMAT_DEFAULT" link="gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"/>
+    <keyword type="constant" name="GST_FORMAT_BYTES" link="gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"/>
+    <keyword type="constant" name="GST_FORMAT_TIME" link="gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"/>
+    <keyword type="constant" name="GST_FORMAT_BUFFERS" link="gstreamer-GstFormat.html#GST-FORMAT-BUFFERS:CAPS"/>
+    <keyword type="constant" name="GST_FORMAT_PERCENT" link="gstreamer-GstFormat.html#GST-FORMAT-PERCENT:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_ITEM_SKIP" link="gstreamer-GstIterator.html#GST-ITERATOR-ITEM-SKIP:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_ITEM_PASS" link="gstreamer-GstIterator.html#GST-ITERATOR-ITEM-PASS:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_ITEM_END" link="gstreamer-GstIterator.html#GST-ITERATOR-ITEM-END:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_DONE" link="gstreamer-GstIterator.html#GST-ITERATOR-DONE:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_OK" link="gstreamer-GstIterator.html#GST-ITERATOR-OK:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_RESYNC" link="gstreamer-GstIterator.html#GST-ITERATOR-RESYNC:CAPS"/>
+    <keyword type="constant" name="GST_ITERATOR_ERROR" link="gstreamer-GstIterator.html#GST-ITERATOR-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_READONLY" link="GstMemory.html#GST-MEMORY-FLAG-READONLY:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_NO_SHARE" link="GstMemory.html#GST-MEMORY-FLAG-NO-SHARE:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_ZERO_PREFIXED" link="GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_ZERO_PADDED" link="GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS" link="GstMemory.html#GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_NOT_MAPPABLE" link="GstMemory.html#GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS"/>
+    <keyword type="constant" name="GST_MEMORY_FLAG_LAST" link="GstMemory.html#GST-MEMORY-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MAP_READ" link="GstMemory.html#GST-MAP-READ:CAPS"/>
+    <keyword type="constant" name="GST_MAP_WRITE" link="GstMemory.html#GST-MAP-WRITE:CAPS"/>
+    <keyword type="constant" name="GST_MAP_FLAG_LAST" link="GstMemory.html#GST-MAP-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_UNKNOWN" link="GstMessage.html#GST-MESSAGE-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_EOS" link="GstMessage.html#GST-MESSAGE-EOS:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_ERROR" link="GstMessage.html#GST-MESSAGE-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_WARNING" link="GstMessage.html#GST-MESSAGE-WARNING:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_INFO" link="GstMessage.html#GST-MESSAGE-INFO:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_TAG" link="GstMessage.html#GST-MESSAGE-TAG:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_BUFFERING" link="GstMessage.html#GST-MESSAGE-BUFFERING:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STATE_CHANGED" link="GstMessage.html#GST-MESSAGE-STATE-CHANGED:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STATE_DIRTY" link="GstMessage.html#GST-MESSAGE-STATE-DIRTY:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STEP_DONE" link="GstMessage.html#GST-MESSAGE-STEP-DONE:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_CLOCK_PROVIDE" link="GstMessage.html#GST-MESSAGE-CLOCK-PROVIDE:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_CLOCK_LOST" link="GstMessage.html#GST-MESSAGE-CLOCK-LOST:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_NEW_CLOCK" link="GstMessage.html#GST-MESSAGE-NEW-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STRUCTURE_CHANGE" link="GstMessage.html#GST-MESSAGE-STRUCTURE-CHANGE:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STREAM_STATUS" link="GstMessage.html#GST-MESSAGE-STREAM-STATUS:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_APPLICATION" link="GstMessage.html#GST-MESSAGE-APPLICATION:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_ELEMENT" link="GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_SEGMENT_START" link="GstMessage.html#GST-MESSAGE-SEGMENT-START:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_SEGMENT_DONE" link="GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_DURATION_CHANGED" link="GstMessage.html#GST-MESSAGE-DURATION-CHANGED:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_LATENCY" link="GstMessage.html#GST-MESSAGE-LATENCY:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_ASYNC_START" link="GstMessage.html#GST-MESSAGE-ASYNC-START:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_ASYNC_DONE" link="GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_REQUEST_STATE" link="GstMessage.html#GST-MESSAGE-REQUEST-STATE:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STEP_START" link="GstMessage.html#GST-MESSAGE-STEP-START:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_QOS" link="GstMessage.html#GST-MESSAGE-QOS:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_PROGRESS" link="GstMessage.html#GST-MESSAGE-PROGRESS:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_TOC" link="GstMessage.html#GST-MESSAGE-TOC:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_RESET_TIME" link="GstMessage.html#GST-MESSAGE-RESET-TIME:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STREAM_START" link="GstMessage.html#GST-MESSAGE-STREAM-START:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_NEED_CONTEXT" link="GstMessage.html#GST-MESSAGE-NEED-CONTEXT:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_HAVE_CONTEXT" link="GstMessage.html#GST-MESSAGE-HAVE-CONTEXT:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_EXTENDED" link="GstMessage.html#GST-MESSAGE-EXTENDED:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_DEVICE_ADDED" link="GstMessage.html#GST-MESSAGE-DEVICE-ADDED:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_DEVICE_REMOVED" link="GstMessage.html#GST-MESSAGE-DEVICE-REMOVED:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_ANY" link="GstMessage.html#GST-MESSAGE-ANY:CAPS"/>
+    <keyword type="constant" name="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" link="GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS"/>
+    <keyword type="constant" name="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" link="GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_CREATE" link="GstMessage.html#GST-STREAM-STATUS-TYPE-CREATE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_ENTER" link="GstMessage.html#GST-STREAM-STATUS-TYPE-ENTER:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_LEAVE" link="GstMessage.html#GST-STREAM-STATUS-TYPE-LEAVE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_DESTROY" link="GstMessage.html#GST-STREAM-STATUS-TYPE-DESTROY:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_START" link="GstMessage.html#GST-STREAM-STATUS-TYPE-START:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_PAUSE" link="GstMessage.html#GST-STREAM-STATUS-TYPE-PAUSE:CAPS"/>
+    <keyword type="constant" name="GST_STREAM_STATUS_TYPE_STOP" link="GstMessage.html#GST-STREAM-STATUS-TYPE-STOP:CAPS"/>
+    <keyword type="constant" name="GST_PROGRESS_TYPE_START" link="GstMessage.html#GST-PROGRESS-TYPE-START:CAPS"/>
+    <keyword type="constant" name="GST_PROGRESS_TYPE_CONTINUE" link="GstMessage.html#GST-PROGRESS-TYPE-CONTINUE:CAPS"/>
+    <keyword type="constant" name="GST_PROGRESS_TYPE_COMPLETE" link="GstMessage.html#GST-PROGRESS-TYPE-COMPLETE:CAPS"/>
+    <keyword type="constant" name="GST_PROGRESS_TYPE_CANCELED" link="GstMessage.html#GST-PROGRESS-TYPE-CANCELED:CAPS"/>
+    <keyword type="constant" name="GST_PROGRESS_TYPE_ERROR" link="GstMessage.html#GST-PROGRESS-TYPE-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_META_FLAG_NONE" link="gstreamer-GstMeta.html#GST-META-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_META_FLAG_READONLY" link="gstreamer-GstMeta.html#GST-META-FLAG-READONLY:CAPS"/>
+    <keyword type="constant" name="GST_META_FLAG_POOLED" link="gstreamer-GstMeta.html#GST-META-FLAG-POOLED:CAPS"/>
+    <keyword type="constant" name="GST_META_FLAG_LOCKED" link="gstreamer-GstMeta.html#GST-META-FLAG-LOCKED:CAPS"/>
+    <keyword type="constant" name="GST_META_FLAG_LAST" link="gstreamer-GstMeta.html#GST-META-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MINI_OBJECT_FLAG_LOCKABLE" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS"/>
+    <keyword type="constant" name="GST_MINI_OBJECT_FLAG_LOCK_READONLY" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS"/>
+    <keyword type="constant" name="GST_MINI_OBJECT_FLAG_LAST" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_READ" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READ:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_WRITE" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-WRITE:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_EXCLUSIVE" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-EXCLUSIVE:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_LAST" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_OBJECT_FLAG_LAST" link="GstObject.html#GST-OBJECT-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_PAD_UNKNOWN" link="GstPad.html#GST-PAD-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_PAD_SRC" link="GstPad.html#GST-PAD-SRC:CAPS"/>
+    <keyword type="constant" name="GST_PAD_SINK" link="GstPad.html#GST-PAD-SINK:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_BLOCKED" link="GstPad.html#GST-PAD-FLAG-BLOCKED:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_FLUSHING" link="GstPad.html#GST-PAD-FLAG-FLUSHING:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_EOS" link="GstPad.html#GST-PAD-FLAG-EOS:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_BLOCKING" link="GstPad.html#GST-PAD-FLAG-BLOCKING:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_NEED_PARENT" link="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_NEED_RECONFIGURE" link="GstPad.html#GST-PAD-FLAG-NEED-RECONFIGURE:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_PENDING_EVENTS" link="GstPad.html#GST-PAD-FLAG-PENDING-EVENTS:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_FIXED_CAPS" link="GstPad.html#GST-PAD-FLAG-FIXED-CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_PROXY_CAPS" link="GstPad.html#GST-PAD-FLAG-PROXY-CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_PROXY_ALLOCATION" link="GstPad.html#GST-PAD-FLAG-PROXY-ALLOCATION:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_PROXY_SCHEDULING" link="GstPad.html#GST-PAD-FLAG-PROXY-SCHEDULING:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_ACCEPT_INTERSECT" link="GstPad.html#GST-PAD-FLAG-ACCEPT-INTERSECT:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_LAST" link="GstPad.html#GST-PAD-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_OK" link="GstPad.html#GST-PAD-LINK-OK:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_WRONG_HIERARCHY" link="GstPad.html#GST-PAD-LINK-WRONG-HIERARCHY:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_WAS_LINKED" link="GstPad.html#GST-PAD-LINK-WAS-LINKED:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_WRONG_DIRECTION" link="GstPad.html#GST-PAD-LINK-WRONG-DIRECTION:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_NOFORMAT" link="GstPad.html#GST-PAD-LINK-NOFORMAT:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_NOSCHED" link="GstPad.html#GST-PAD-LINK-NOSCHED:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_REFUSED" link="GstPad.html#GST-PAD-LINK-REFUSED:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_CHECK_NOTHING" link="GstPad.html#GST-PAD-LINK-CHECK-NOTHING:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_CHECK_HIERARCHY" link="GstPad.html#GST-PAD-LINK-CHECK-HIERARCHY:CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_CHECK_TEMPLATE_CAPS" link="GstPad.html#GST-PAD-LINK-CHECK-TEMPLATE-CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_CHECK_CAPS" link="GstPad.html#GST-PAD-LINK-CHECK-CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_CHECK_DEFAULT" link="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_CUSTOM_SUCCESS_2" link="GstPad.html#GST-FLOW-CUSTOM-SUCCESS-2:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_CUSTOM_SUCCESS_1" link="GstPad.html#GST-FLOW-CUSTOM-SUCCESS-1:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_CUSTOM_SUCCESS" link="GstPad.html#GST-FLOW-CUSTOM-SUCCESS:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_OK" link="GstPad.html#GST-FLOW-OK:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_NOT_LINKED" link="GstPad.html#GST-FLOW-NOT-LINKED:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_FLUSHING" link="GstPad.html#GST-FLOW-FLUSHING:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_EOS" link="GstPad.html#GST-FLOW-EOS:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_NOT_NEGOTIATED" link="GstPad.html#GST-FLOW-NOT-NEGOTIATED:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_ERROR" link="GstPad.html#GST-FLOW-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_NOT_SUPPORTED" link="GstPad.html#GST-FLOW-NOT-SUPPORTED:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_CUSTOM_ERROR" link="GstPad.html#GST-FLOW-CUSTOM-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_CUSTOM_ERROR_1" link="GstPad.html#GST-FLOW-CUSTOM-ERROR-1:CAPS"/>
+    <keyword type="constant" name="GST_FLOW_CUSTOM_ERROR_2" link="GstPad.html#GST-FLOW-CUSTOM-ERROR-2:CAPS"/>
+    <keyword type="constant" name="GST_PAD_MODE_NONE" link="GstPad.html#GST-PAD-MODE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_PAD_MODE_PUSH" link="GstPad.html#GST-PAD-MODE-PUSH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_MODE_PULL" link="GstPad.html#GST-PAD-MODE-PULL:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_DROP" link="GstPad.html#GST-PAD-PROBE-DROP:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_OK" link="GstPad.html#GST-PAD-PROBE-OK:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_REMOVE" link="GstPad.html#GST-PAD-PROBE-REMOVE:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_PASS" link="GstPad.html#GST-PAD-PROBE-PASS:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_INVALID" link="GstPad.html#GST-PAD-PROBE-TYPE-INVALID:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_IDLE" link="GstPad.html#GST-PAD-PROBE-TYPE-IDLE:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_BLOCK" link="GstPad.html#GST-PAD-PROBE-TYPE-BLOCK:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_BUFFER" link="GstPad.html#GST-PAD-PROBE-TYPE-BUFFER:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_BUFFER_LIST" link="GstPad.html#GST-PAD-PROBE-TYPE-BUFFER-LIST:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-EVENT-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_EVENT_UPSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-EVENT-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_EVENT_FLUSH" link="GstPad.html#GST-PAD-PROBE-TYPE-EVENT-FLUSH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-QUERY-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_QUERY_UPSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-QUERY-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_PUSH" link="GstPad.html#GST-PAD-PROBE-TYPE-PUSH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_PULL" link="GstPad.html#GST-PAD-PROBE-TYPE-PULL:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_BLOCKING" link="GstPad.html#GST-PAD-PROBE-TYPE-BLOCKING:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-DATA-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_DATA_UPSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-DATA-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_DATA_BOTH" link="GstPad.html#GST-PAD-PROBE-TYPE-DATA-BOTH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-BLOCK-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM" link="GstPad.html#GST-PAD-PROBE-TYPE-BLOCK-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_EVENT_BOTH" link="GstPad.html#GST-PAD-PROBE-TYPE-EVENT-BOTH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_QUERY_BOTH" link="GstPad.html#GST-PAD-PROBE-TYPE-QUERY-BOTH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_ALL_BOTH" link="GstPad.html#GST-PAD-PROBE-TYPE-ALL-BOTH:CAPS"/>
+    <keyword type="constant" name="GST_PAD_PROBE_TYPE_SCHEDULING" link="GstPad.html#GST-PAD-PROBE-TYPE-SCHEDULING:CAPS"/>
+    <keyword type="constant" name="GST_PAD_TEMPLATE_FLAG_LAST" link="GstPadTemplate.html#GST-PAD-TEMPLATE-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_PAD_ALWAYS" link="GstPadTemplate.html#GST-PAD-ALWAYS:CAPS"/>
+    <keyword type="constant" name="GST_PAD_SOMETIMES" link="GstPadTemplate.html#GST-PAD-SOMETIMES:CAPS"/>
+    <keyword type="constant" name="GST_PAD_REQUEST" link="GstPadTemplate.html#GST-PAD-REQUEST:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_SYNTAX" link="gstreamer-GstParse.html#GST-PARSE-ERROR-SYNTAX:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_NO_SUCH_ELEMENT" link="gstreamer-GstParse.html#GST-PARSE-ERROR-NO-SUCH-ELEMENT:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_NO_SUCH_PROPERTY" link="gstreamer-GstParse.html#GST-PARSE-ERROR-NO-SUCH-PROPERTY:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_LINK" link="gstreamer-GstParse.html#GST-PARSE-ERROR-LINK:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY" link="gstreamer-GstParse.html#GST-PARSE-ERROR-COULD-NOT-SET-PROPERTY:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_EMPTY_BIN" link="gstreamer-GstParse.html#GST-PARSE-ERROR-EMPTY-BIN:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_ERROR_EMPTY" link="gstreamer-GstParse.html#GST-PARSE-ERROR-EMPTY:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_FLAG_NONE" link="gstreamer-GstParse.html#GST-PARSE-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_FLAG_FATAL_ERRORS" link="gstreamer-GstParse.html#GST-PARSE-FLAG-FATAL-ERRORS:CAPS"/>
+    <keyword type="constant" name="GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS" link="gstreamer-GstParse.html#GST-PARSE-FLAG-NO-SINGLE-ELEMENT-BINS:CAPS"/>
+    <keyword type="constant" name="GST_PIPELINE_FLAG_FIXED_CLOCK" link="GstPipeline.html#GST-PIPELINE-FLAG-FIXED-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_PIPELINE_FLAG_LAST" link="GstPipeline.html#GST-PIPELINE-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_ERROR_MODULE" link="GstPlugin.html#GST-PLUGIN-ERROR-MODULE:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_ERROR_DEPENDENCIES" link="GstPlugin.html#GST-PLUGIN-ERROR-DEPENDENCIES:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_ERROR_NAME_MISMATCH" link="GstPlugin.html#GST-PLUGIN-ERROR-NAME-MISMATCH:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_FLAG_CACHED" link="GstPlugin.html#GST-PLUGIN-FLAG-CACHED:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_FLAG_BLACKLISTED" link="GstPlugin.html#GST-PLUGIN-FLAG-BLACKLISTED:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_DEPENDENCY_FLAG_NONE" link="GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE" link="GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-RECURSE:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY" link="GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-PATHS-ARE-DEFAULT-ONLY:CAPS"/>
+    <keyword type="constant" name="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX" link="GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-FILE-NAME-IS-SUFFIX:CAPS"/>
+    <keyword type="constant" name="GST_RANK_NONE" link="GstPluginFeature.html#GST-RANK-NONE:CAPS"/>
+    <keyword type="constant" name="GST_RANK_MARGINAL" link="GstPluginFeature.html#GST-RANK-MARGINAL:CAPS"/>
+    <keyword type="constant" name="GST_RANK_SECONDARY" link="GstPluginFeature.html#GST-RANK-SECONDARY:CAPS"/>
+    <keyword type="constant" name="GST_RANK_PRIMARY" link="GstPluginFeature.html#GST-RANK-PRIMARY:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_TYPE_UPSTREAM" link="GstQuery.html#GST-QUERY-TYPE-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_TYPE_DOWNSTREAM" link="GstQuery.html#GST-QUERY-TYPE-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_TYPE_SERIALIZED" link="GstQuery.html#GST-QUERY-TYPE-SERIALIZED:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_UNKNOWN" link="GstQuery.html#GST-QUERY-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_POSITION" link="GstQuery.html#GST-QUERY-POSITION:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_DURATION" link="GstQuery.html#GST-QUERY-DURATION:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_LATENCY" link="GstQuery.html#GST-QUERY-LATENCY:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_JITTER" link="GstQuery.html#GST-QUERY-JITTER:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_RATE" link="GstQuery.html#GST-QUERY-RATE:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_SEEKING" link="GstQuery.html#GST-QUERY-SEEKING:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_SEGMENT" link="GstQuery.html#GST-QUERY-SEGMENT:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_CONVERT" link="GstQuery.html#GST-QUERY-CONVERT:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_FORMATS" link="GstQuery.html#GST-QUERY-FORMATS:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_BUFFERING" link="GstQuery.html#GST-QUERY-BUFFERING:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_CUSTOM" link="GstQuery.html#GST-QUERY-CUSTOM:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_URI" link="GstQuery.html#GST-QUERY-URI:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_ALLOCATION" link="GstQuery.html#GST-QUERY-ALLOCATION:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_SCHEDULING" link="GstQuery.html#GST-QUERY-SCHEDULING:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_ACCEPT_CAPS" link="GstQuery.html#GST-QUERY-ACCEPT-CAPS"/>
+    <keyword type="constant" name="GST_QUERY_CAPS" link="GstQuery.html#GST-QUERY-CAPS"/>
+    <keyword type="constant" name="GST_QUERY_DRAIN" link="GstQuery.html#GST-QUERY-DRAIN:CAPS"/>
+    <keyword type="constant" name="GST_QUERY_CONTEXT" link="GstQuery.html#GST-QUERY-CONTEXT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFERING_STREAM" link="GstQuery.html#GST-BUFFERING-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_BUFFERING_DOWNLOAD" link="GstQuery.html#GST-BUFFERING-DOWNLOAD:CAPS"/>
+    <keyword type="constant" name="GST_BUFFERING_TIMESHIFT" link="GstQuery.html#GST-BUFFERING-TIMESHIFT:CAPS"/>
+    <keyword type="constant" name="GST_BUFFERING_LIVE" link="GstQuery.html#GST-BUFFERING-LIVE:CAPS"/>
+    <keyword type="constant" name="GST_SCHEDULING_FLAG_SEEKABLE" link="GstQuery.html#GST-SCHEDULING-FLAG-SEEKABLE:CAPS"/>
+    <keyword type="constant" name="GST_SCHEDULING_FLAG_SEQUENTIAL" link="GstQuery.html#GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS"/>
+    <keyword type="constant" name="GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED" link="GstQuery.html#GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_NONE" link="GstSegment.html#GST-SEGMENT-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_RESET" link="GstSegment.html#GST-SEGMENT-FLAG-RESET:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_TRICKMODE" link="GstSegment.html#GST-SEGMENT-FLAG-TRICKMODE:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_SKIP" link="GstSegment.html#GST-SEGMENT-FLAG-SKIP:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_SEGMENT" link="GstSegment.html#GST-SEGMENT-FLAG-SEGMENT:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS" link="GstSegment.html#GST-SEGMENT-FLAG-TRICKMODE-KEY-UNITS:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO" link="GstSegment.html#GST-SEGMENT-FLAG-TRICKMODE-NO-AUDIO:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_TYPE_REALTIME" link="GstSystemClock.html#GST-CLOCK-TYPE-REALTIME:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_TYPE_MONOTONIC" link="GstSystemClock.html#GST-CLOCK-TYPE-MONOTONIC:CAPS"/>
+    <keyword type="constant" name="GST_CLOCK_TYPE_OTHER" link="GstSystemClock.html#GST-CLOCK-TYPE-OTHER:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_UNDEFINED" link="GstTagList.html#GST-TAG-MERGE-UNDEFINED:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_REPLACE_ALL" link="GstTagList.html#GST-TAG-MERGE-REPLACE-ALL:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_REPLACE" link="GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_APPEND" link="GstTagList.html#GST-TAG-MERGE-APPEND:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_PREPEND" link="GstTagList.html#GST-TAG-MERGE-PREPEND:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_KEEP" link="GstTagList.html#GST-TAG-MERGE-KEEP:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_KEEP_ALL" link="GstTagList.html#GST-TAG-MERGE-KEEP-ALL:CAPS"/>
+    <keyword type="constant" name="GST_TAG_MERGE_COUNT" link="GstTagList.html#GST-TAG-MERGE-COUNT:CAPS"/>
+    <keyword type="constant" name="GST_TAG_FLAG_UNDEFINED" link="GstTagList.html#GST-TAG-FLAG-UNDEFINED:CAPS"/>
+    <keyword type="constant" name="GST_TAG_FLAG_META" link="GstTagList.html#GST-TAG-FLAG-META:CAPS"/>
+    <keyword type="constant" name="GST_TAG_FLAG_ENCODED" link="GstTagList.html#GST-TAG-FLAG-ENCODED:CAPS"/>
+    <keyword type="constant" name="GST_TAG_FLAG_DECODED" link="GstTagList.html#GST-TAG-FLAG-DECODED:CAPS"/>
+    <keyword type="constant" name="GST_TAG_FLAG_COUNT" link="GstTagList.html#GST-TAG-FLAG-COUNT:CAPS"/>
+    <keyword type="constant" name="GST_TAG_SCOPE_STREAM" link="GstTagList.html#GST-TAG-SCOPE-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_TAG_SCOPE_GLOBAL" link="GstTagList.html#GST-TAG-SCOPE-GLOBAL:CAPS"/>
+    <keyword type="constant" name="GST_TASK_STARTED" link="GstTask.html#GST-TASK-STARTED:CAPS"/>
+    <keyword type="constant" name="GST_TASK_STOPPED" link="GstTask.html#GST-TASK-STOPPED:CAPS"/>
+    <keyword type="constant" name="GST_TASK_PAUSED" link="GstTask.html#GST-TASK-PAUSED:CAPS"/>
+    <keyword type="constant" name="GST_TOC_SCOPE_GLOBAL" link="GstToc.html#GST-TOC-SCOPE-GLOBAL:CAPS"/>
+    <keyword type="constant" name="GST_TOC_SCOPE_CURRENT" link="GstToc.html#GST-TOC-SCOPE-CURRENT:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_ANGLE" link="GstToc.html#GST-TOC-ENTRY-TYPE-ANGLE:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_VERSION" link="GstToc.html#GST-TOC-ENTRY-TYPE-VERSION:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_EDITION" link="GstToc.html#GST-TOC-ENTRY-TYPE-EDITION:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_INVALID" link="GstToc.html#GST-TOC-ENTRY-TYPE-INVALID:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_TITLE" link="GstToc.html#GST-TOC-ENTRY-TYPE-TITLE:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_TRACK" link="GstToc.html#GST-TOC-ENTRY-TYPE-TRACK:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_CHAPTER" link="GstToc.html#GST-TOC-ENTRY-TYPE-CHAPTER:CAPS"/>
+    <keyword type="constant" name="GST_TOC_LOOP_NONE" link="GstToc.html#GST-TOC-LOOP-NONE:CAPS"/>
+    <keyword type="constant" name="GST_TOC_LOOP_FORWARD" link="GstToc.html#GST-TOC-LOOP-FORWARD:CAPS"/>
+    <keyword type="constant" name="GST_TOC_LOOP_REVERSE" link="GstToc.html#GST-TOC-LOOP-REVERSE:CAPS"/>
+    <keyword type="constant" name="GST_TOC_LOOP_PING_PONG" link="GstToc.html#GST-TOC-LOOP-PING-PONG:CAPS"/>
+    <keyword type="constant" name="GST_TYPE_FIND_NONE" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-NONE:CAPS"/>
+    <keyword type="constant" name="GST_TYPE_FIND_MINIMUM" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-MINIMUM:CAPS"/>
+    <keyword type="constant" name="GST_TYPE_FIND_POSSIBLE" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-POSSIBLE:CAPS"/>
+    <keyword type="constant" name="GST_TYPE_FIND_LIKELY" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-LIKELY:CAPS"/>
+    <keyword type="constant" name="GST_TYPE_FIND_NEARLY_CERTAIN" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-NEARLY-CERTAIN:CAPS"/>
+    <keyword type="constant" name="GST_TYPE_FIND_MAXIMUM" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"/>
+    <keyword type="constant" name="GST_URI_UNKNOWN" link="gstreamer-GstUriHandler.html#GST-URI-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_URI_SINK" link="gstreamer-GstUriHandler.html#GST-URI-SINK:CAPS"/>
+    <keyword type="constant" name="GST_URI_SRC" link="gstreamer-GstUriHandler.html#GST-URI-SRC:CAPS"/>
+    <keyword type="constant" name="GST_URI_ERROR_UNSUPPORTED_PROTOCOL" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS"/>
+    <keyword type="constant" name="GST_URI_ERROR_BAD_URI" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-URI:CAPS"/>
+    <keyword type="constant" name="GST_URI_ERROR_BAD_STATE" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-STATE:CAPS"/>
+    <keyword type="constant" name="GST_URI_ERROR_BAD_REFERENCE" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_SEARCH_MODE_EXACT" link="gstreamer-GstUtils.html#GST-SEARCH-MODE-EXACT:CAPS"/>
+    <keyword type="constant" name="GST_SEARCH_MODE_BEFORE" link="gstreamer-GstUtils.html#GST-SEARCH-MODE-BEFORE:CAPS"/>
+    <keyword type="constant" name="GST_SEARCH_MODE_AFTER" link="gstreamer-GstUtils.html#GST-SEARCH-MODE-AFTER:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_NONE" link="gstreamer-GstInfo.html#GST-LEVEL-NONE:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_ERROR" link="gstreamer-GstInfo.html#GST-LEVEL-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_WARNING" link="gstreamer-GstInfo.html#GST-LEVEL-WARNING:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_FIXME" link="gstreamer-GstInfo.html#GST-LEVEL-FIXME:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_INFO" link="gstreamer-GstInfo.html#GST-LEVEL-INFO:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_DEBUG" link="gstreamer-GstInfo.html#GST-LEVEL-DEBUG:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_LOG" link="gstreamer-GstInfo.html#GST-LEVEL-LOG:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_TRACE" link="gstreamer-GstInfo.html#GST-LEVEL-TRACE:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_MEMDUMP" link="gstreamer-GstInfo.html#GST-LEVEL-MEMDUMP:CAPS"/>
+    <keyword type="constant" name="GST_LEVEL_COUNT" link="gstreamer-GstInfo.html#GST-LEVEL-COUNT:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_BLACK" link="gstreamer-GstInfo.html#GST-DEBUG-FG-BLACK:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_RED" link="gstreamer-GstInfo.html#GST-DEBUG-FG-RED:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_GREEN" link="gstreamer-GstInfo.html#GST-DEBUG-FG-GREEN:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_YELLOW" link="gstreamer-GstInfo.html#GST-DEBUG-FG-YELLOW:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_BLUE" link="gstreamer-GstInfo.html#GST-DEBUG-FG-BLUE:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_MAGENTA" link="gstreamer-GstInfo.html#GST-DEBUG-FG-MAGENTA:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_CYAN" link="gstreamer-GstInfo.html#GST-DEBUG-FG-CYAN:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_FG_WHITE" link="gstreamer-GstInfo.html#GST-DEBUG-FG-WHITE:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_BLACK" link="gstreamer-GstInfo.html#GST-DEBUG-BG-BLACK:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_RED" link="gstreamer-GstInfo.html#GST-DEBUG-BG-RED:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_GREEN" link="gstreamer-GstInfo.html#GST-DEBUG-BG-GREEN:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_YELLOW" link="gstreamer-GstInfo.html#GST-DEBUG-BG-YELLOW:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_BLUE" link="gstreamer-GstInfo.html#GST-DEBUG-BG-BLUE:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_MAGENTA" link="gstreamer-GstInfo.html#GST-DEBUG-BG-MAGENTA:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_CYAN" link="gstreamer-GstInfo.html#GST-DEBUG-BG-CYAN:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BG_WHITE" link="gstreamer-GstInfo.html#GST-DEBUG-BG-WHITE:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_BOLD" link="gstreamer-GstInfo.html#GST-DEBUG-BOLD:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_UNDERLINE" link="gstreamer-GstInfo.html#GST-DEBUG-UNDERLINE:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_COLOR_MODE_OFF" link="gstreamer-GstInfo.html#GST-DEBUG-COLOR-MODE-OFF:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_COLOR_MODE_ON" link="gstreamer-GstInfo.html#GST-DEBUG-COLOR-MODE-ON:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_COLOR_MODE_UNIX" link="gstreamer-GstInfo.html#GST-DEBUG-COLOR-MODE-UNIX:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-MEDIA-TYPE:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-CAPS-DETAILS:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-NON-DEFAULT-PARAMS:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_STATES" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-STATES:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_FULL_PARAMS" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-FULL-PARAMS:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_ALL" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-ALL:CAPS"/>
+    <keyword type="constant" name="GST_DEBUG_GRAPH_SHOW_VERBOSE" link="gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-VERBOSE:CAPS"/>
   </functions>
 </book>
diff --git a/docs/gst/html/gstreamer-Gst.html b/docs/gst/html/gstreamer-Gst.html
index c3aca13..130817d 100644
--- a/docs/gst/html/gstreamer-Gst.html
+++ b/docs/gst/html/gstreamer-Gst.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: Gst</title>
+<title>Gst: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="next" href="GstAllocator.html" title="GstAllocator">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -336,7 +336,6 @@
 <div class="refsect3">
 <a name="id-1.3.3.6.3.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if GStreamer could be initialized.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -353,8 +352,9 @@
 <p>If you use this function, you should make sure you initialise the GLib
 threading system as one of the very first things in your program
 (see the example at the beginning of this section).</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.3.6.4.7"></a><h4>Returns</h4>
+<a name="id-1.3.3.6.4.8"></a><h4>Returns</h4>
 <p> a pointer to GStreamer's option group. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -369,7 +369,6 @@
 <div class="refsect3">
 <a name="id-1.3.3.6.5.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if initialization has been done, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -454,7 +453,6 @@
 <div class="refsect3">
 <a name="id-1.3.3.6.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if GStreamer is allowed to install a custom SIGSEGV handler.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -494,7 +492,6 @@
 <a name="id-1.3.3.6.11.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if GStreamer will use the child helper process when
 rebuilding the registry.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -543,7 +540,6 @@
 <a name="id-1.3.3.6.13.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the registry has been updated successfully (does not
 imply that there were changes), otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -552,7 +548,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstAtomicQueue.html b/docs/gst/html/gstreamer-GstAtomicQueue.html
index d8c8eba..66133f3 100644
--- a/docs/gst/html/gstreamer-GstAtomicQueue.html
+++ b/docs/gst/html/gstreamer-GstAtomicQueue.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstAtomicQueue</title>
+<title>GstAtomicQueue: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstAllocator.html" title="GstAllocator">
 <link rel="next" href="GstBin.html" title="GstBin">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -148,7 +148,6 @@
 <div class="refsect3">
 <a name="id-1.3.5.7.2.6"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gstreamer-GstAtomicQueue.html#GstAtomicQueue" title="GstAtomicQueue"><span class="type">GstAtomicQueue</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -310,7 +309,6 @@
 <div class="refsect3">
 <a name="id-1.3.5.7.8.6"></a><h4>Returns</h4>
 <p> the number of elements in the queue.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -325,7 +323,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstDevice.html b/docs/gst/html/gstreamer-GstDevice.html
index 1014ec9..4f9efb9 100644
--- a/docs/gst/html/gstreamer-GstDevice.html
+++ b/docs/gst/html/gstreamer-GstDevice.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstDevice</title>
+<title>GstDevice: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer-device-probing.html" title="GStreamer Device Discovery and Device Probing">
 <link rel="prev" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">
 <link rel="next" href="gstreamer-GstDeviceProvider.html" title="GstDeviceProvider">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -167,7 +167,7 @@
 <p> a new <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> configured to use this device. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -194,9 +194,8 @@
 <a name="id-1.4.3.7.3.6"></a><h4>Returns</h4>
 <p> The <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> supported by this device. Unref with
 <a class="link" href="GstCaps.html#gst-caps-unref" title="gst_caps_unref ()"><code class="function">gst_caps_unref()</code></a> when done.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -224,9 +223,8 @@
 <div class="refsect3">
 <a name="id-1.4.3.7.4.6"></a><h4>Returns</h4>
 <p> The device class. Free with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -252,9 +250,8 @@
 <div class="refsect3">
 <a name="id-1.4.3.7.5.6"></a><h4>Returns</h4>
 <p> The device name. Free with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -291,9 +288,8 @@
 <a name="id-1.4.3.7.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>device</code></em>
 matches.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -330,9 +326,8 @@
 <a name="id-1.4.3.7.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>device</code></em>
 matches.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -371,9 +366,8 @@
 <a name="id-1.4.3.7.8.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element could be reconfigured to use this device,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -400,7 +394,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -443,7 +437,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -452,7 +446,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstDeviceMonitor.html b/docs/gst/html/gstreamer-GstDeviceMonitor.html
index 948cf09..57820d2 100644
--- a/docs/gst/html/gstreamer-GstDeviceMonitor.html
+++ b/docs/gst/html/gstreamer-GstDeviceMonitor.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstDeviceMonitor</title>
+<title>GstDeviceMonitor: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer-device-probing.html" title="GStreamer Device Discovery and Device Probing">
 <link rel="prev" href="gstreamer-device-probing.html" title="GStreamer Device Discovery and Device Probing">
 <link rel="next" href="gstreamer-GstDevice.html" title="GstDevice">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -248,7 +248,7 @@
 <p> a new device monitor. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -276,7 +276,7 @@
 <p> a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -319,9 +319,8 @@
 <a name="id-1.4.2.7.4.7"></a><h4>Returns</h4>
 <p> The id of the new filter or <code class="literal">0</code> if no provider matched the filter's
 classes.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -356,9 +355,8 @@
 <div class="refsect3">
 <a name="id-1.4.2.7.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> of the filter id was valid, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -386,9 +384,8 @@
 <div class="refsect3">
 <a name="id-1.4.2.7.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the device monitoring could be started</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -411,7 +408,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -441,7 +438,7 @@
 <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstDevice]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -468,7 +465,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -493,7 +490,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -502,7 +499,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstDeviceProvider.html b/docs/gst/html/gstreamer-GstDeviceProvider.html
index 037e927..2fe7c10 100644
--- a/docs/gst/html/gstreamer-GstDeviceProvider.html
+++ b/docs/gst/html/gstreamer-GstDeviceProvider.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstDeviceProvider</title>
+<title>GstDeviceProvider: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer-device-probing.html" title="GStreamer Device Discovery and Device Probing">
 <link rel="prev" href="gstreamer-GstDevice.html" title="GstDevice">
 <link rel="next" href="GstDeviceProviderFactory.html" title="GstDeviceProviderFactory">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -233,7 +233,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -279,7 +279,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -317,9 +317,8 @@
 <a name="id-1.4.4.7.5.6"></a><h4>Returns</h4>
 <p> the metadata for <em class="parameter"><code>key</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -375,7 +374,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -439,7 +438,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -472,7 +471,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -505,7 +504,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -533,7 +532,7 @@
 <p> a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -563,7 +562,7 @@
 <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstDevice]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -592,7 +591,7 @@
 creating this device provider. no refcounting is needed. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -642,9 +641,8 @@
 <div class="refsect3">
 <a name="id-1.4.4.7.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the registering succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -676,9 +674,8 @@
 <div class="refsect3">
 <a name="id-1.4.4.7.14.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the device providering could be started</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -703,7 +700,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -740,7 +737,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -798,7 +795,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -807,7 +804,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstFormat.html b/docs/gst/html/gstreamer-GstFormat.html
index 9dc401a..2b7993e 100644
--- a/docs/gst/html/gstreamer-GstFormat.html
+++ b/docs/gst/html/gstreamer-GstFormat.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstFormat</title>
+<title>GstFormat: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstEvent.html" title="GstEvent">
 <link rel="next" href="GstGhostPad.html" title="GstGhostPad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -188,7 +188,6 @@
 <a name="id-1.3.25.7.3.6"></a><h4>Returns</h4>
 <p> the quark associated with the format or 0 if the format
 is unknown.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -226,7 +225,6 @@
 <p> A new GstFormat or an already registered format
 with the same nick.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -255,7 +253,6 @@
 <p> The format with <em class="parameter"><code>nick</code></em>
 or GST_FORMAT_UNDEFINED
 if the format was not registered.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -290,7 +287,6 @@
 <div class="refsect3">
 <a name="id-1.3.25.7.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the format is found inside the array</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -469,7 +465,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstGError.html b/docs/gst/html/gstreamer-GstGError.html
index 0de5808..67fa464 100644
--- a/docs/gst/html/gstreamer-GstGError.html
+++ b/docs/gst/html/gstreamer-GstGError.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstGError</title>
+<title>GstGError: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstElementFactory.html" title="GstElementFactory">
 <link rel="next" href="GstEvent.html" title="GstEvent">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -725,7 +725,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstInfo.html b/docs/gst/html/gstreamer-GstInfo.html
index 66f4179..a1c1323 100644
--- a/docs/gst/html/gstreamer-GstInfo.html
+++ b/docs/gst/html/gstreamer-GstInfo.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstInfo</title>
+<title>GstInfo: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="gstreamer-support.html" title="GStreamer Core Support">
 <link rel="prev" href="gstreamer-support.html" title="GStreamer Core Support">
 <link rel="next" href="gstreamer-hierarchy.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1000,7 +1000,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.8.6"></a><h4>Returns</h4>
 <p> the string representation of a <span class="type">GstDebugMessage</span>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1102,7 +1101,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.10.6"></a><h4>Returns</h4>
 <p> the name</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1167,7 +1165,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.12.6"></a><h4>Returns</h4>
 <p> How many instances of the function were removed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1194,7 +1191,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.13.6"></a><h4>Returns</h4>
 <p> How many instances of the function were removed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1232,7 +1228,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.15.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if debugging is activated</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1283,7 +1278,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1308,7 +1303,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1319,7 +1314,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.19.5"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the debug output should be colored.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1332,9 +1326,8 @@
 <a name="id-1.5.3.7.20.5"></a><h4>Returns</h4>
 <p> see <em class="parameter"><code>GstDebugColorMode</code></em>
 for possible values.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1396,7 +1389,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1407,7 +1400,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.23.5"></a><h4>Returns</h4>
 <p> the default threshold level</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1760,7 +1752,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.34.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="type">GstDebugLevel</span></a> that is used as threshold.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1787,7 +1778,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.35.6"></a><h4>Returns</h4>
 <p> the name of the category.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1815,7 +1805,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.36.6"></a><h4>Returns</h4>
 <p> the color of the category.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1842,7 +1831,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.37.6"></a><h4>Returns</h4>
 <p> the description of the category.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1917,7 +1905,6 @@
 <div class="refsect3">
 <a name="id-1.5.3.7.40.7"></a><h4>Returns</h4>
 <p> an integer containing the color definition</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2967,7 +2954,6 @@
 <a name="id-1.5.3.7.75.6"></a><h4>Returns</h4>
 <p> the value passed to <em class="parameter"><code>ptr</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3268,7 +3254,7 @@
 <p>If you wish to compile GStreamer and plugins with only some debugging statements
 (Such as just warnings and errors), you can define it at compile time to the
 maximum debug level. Any debug statements above that level will be compiled out.</p>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3568,7 +3554,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstIterator.html b/docs/gst/html/gstreamer-GstIterator.html
index 57fb62a..73ed47c 100644
--- a/docs/gst/html/gstreamer-GstIterator.html
+++ b/docs/gst/html/gstreamer-GstIterator.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstIterator</title>
+<title>GstIterator: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstGhostPad.html" title="GstGhostPad">
 <link rel="next" href="GstMemory.html" title="GstMemory">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -387,7 +387,6 @@
 <div class="refsect3">
 <a name="id-1.3.27.7.3.7"></a><h4>Returns</h4>
 <p> the result of the operation.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -425,7 +424,6 @@
 <div class="refsect3">
 <a name="id-1.3.27.7.4.7"></a><h4>Returns</h4>
 <p> the result of the operation.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -549,7 +547,6 @@
 <div class="refsect3">
 <a name="id-1.3.27.7.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the fold should continue, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it should stop.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -666,8 +663,9 @@
  function is called with the lock
 held. The <em class="parameter"><code>free</code></em>
  function is called when the iterator is freed.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.27.7.13.6"></a><h4>Parameters</h4>
+<a name="id-1.3.27.7.13.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -725,10 +723,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.27.7.13.7"></a><h4>Returns</h4>
+<a name="id-1.3.27.7.13.8"></a><h4>Returns</h4>
 <p> the new <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a>.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -759,8 +756,9 @@
  will be updated. The iterator implementation
 will notice the update of the cookie and will return <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-RESYNC:CAPS"><code class="literal">GST_ITERATOR_RESYNC</code></a> to
 the user of the iterator in the next call to <a class="link" href="gstreamer-GstIterator.html#gst-iterator-next" title="gst_iterator_next ()"><code class="function">gst_iterator_next()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.27.7.14.8"></a><h4>Parameters</h4>
+<a name="id-1.3.27.7.14.9"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -803,11 +801,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.27.7.14.9"></a><h4>Returns</h4>
+<a name="id-1.3.27.7.14.10"></a><h4>Returns</h4>
 <p> the new <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> for <em class="parameter"><code>list</code></em>
 .</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -846,7 +843,6 @@
 <a name="id-1.3.27.7.15.6"></a><h4>Returns</h4>
 <p> the new <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> for <em class="parameter"><code>object</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -874,7 +870,6 @@
 <a name="id-1.3.27.7.16.6"></a><h4>Returns</h4>
 <p> a new copy of <em class="parameter"><code>it</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -951,7 +946,6 @@
 <p> The result of the iteration. Unset <em class="parameter"><code>elem</code></em>
 after usage.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1144,7 +1138,6 @@
 <a name="id-1.3.27.7.22.9"></a><h4>Returns</h4>
 <p> A <a class="link" href="gstreamer-GstIterator.html#GstIteratorResult" title="enum GstIteratorResult"><span class="type">GstIteratorResult</span></a>, as described above.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1190,7 +1183,6 @@
 <p> the result call to <a class="link" href="gstreamer-GstIterator.html#gst-iterator-fold" title="gst_iterator_fold ()"><code class="function">gst_iterator_fold()</code></a>. The iterator will not be
 freed.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1251,7 +1243,6 @@
 <a name="id-1.3.27.7.24.8"></a><h4>Returns</h4>
 <p> Returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element was found, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1366,7 +1357,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstMeta.html b/docs/gst/html/gstreamer-GstMeta.html
index 0b62c58..6426e38 100644
--- a/docs/gst/html/gstreamer-GstMeta.html
+++ b/docs/gst/html/gstreamer-GstMeta.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstMeta</title>
+<title>GstMeta: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstMessage.html" title="GstMessage">
 <link rel="next" href="gstreamer-GstMiniObject.html" title="GstMiniObject">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -435,7 +435,6 @@
 <div class="refsect3">
 <a name="id-1.3.30.7.8.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the transform could be performed</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -497,7 +496,6 @@
 <a name="id-1.3.30.7.10.6"></a><h4>Returns</h4>
 <p> a unique GType for <em class="parameter"><code>api</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -536,7 +534,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>api</code></em>
 was registered with <em class="parameter"><code>tag</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -564,7 +561,7 @@
 <p> an array of tags as strings. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -864,12 +861,11 @@
 <pre class="programlisting">#define GST_META_TAG_MEMORY_STR "memory"
 </pre>
 <p>This metadata stays relevant as long as memory layout is unchanged.</p>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstMiniObject.html b/docs/gst/html/gstreamer-GstMiniObject.html
index bdd6b4e..9297b17 100644
--- a/docs/gst/html/gstreamer-GstMiniObject.html
+++ b/docs/gst/html/gstreamer-GstMiniObject.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstMiniObject</title>
+<title>GstMiniObject: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstMeta.html" title="GstMeta">
 <link rel="next" href="GstObject.html" title="GstObject">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -335,7 +335,6 @@
 <div class="refsect3">
 <a name="id-1.3.31.7.2.6"></a><h4>Returns</h4>
 <p> reference to cloned instance.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -366,7 +365,6 @@
 <div class="refsect3">
 <a name="id-1.3.31.7.3.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object should be cleaned up.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -671,8 +669,9 @@
                       <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFreeFunction" title="GstMiniObjectFreeFunction ()"><span class="type">GstMiniObjectFreeFunction</span></a> free_func</code></em>);</pre>
 <p>Initializes a mini-object with the desired type and copy/dispose/free
 functions.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.31.7.16.5"></a><h4>Parameters</h4>
+<a name="id-1.3.31.7.16.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -784,8 +783,9 @@
 to the mini object without calling <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-ref" title="gst_mini_object_ref ()"><code class="function">gst_mini_object_ref()</code></a>
 (<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-ref" title="gst_mini_object_ref ()"><code class="function">gst_mini_object_ref()</code></a> adds a strong reference, that is, forces the object
 to stay alive).</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.31.7.19.5"></a><h4>Parameters</h4>
+<a name="id-1.3.31.7.19.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -820,8 +820,9 @@
                             <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()"><span class="type">GstMiniObjectNotify</span></a> notify</code></em>,
                             <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 <p>Removes a weak reference callback from a mini object.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.31.7.20.5"></a><h4>Parameters</h4>
+<a name="id-1.3.31.7.20.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -882,7 +883,6 @@
 <a name="id-1.3.31.7.21.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>object</code></em>
 could be locked.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -950,7 +950,6 @@
 <div class="refsect3">
 <a name="id-1.3.31.7.23.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object is writable.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1190,7 +1189,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>newdata</code></em>
 was different from <em class="parameter"><code>olddata</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1236,7 +1234,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>newdata</code></em>
 was different from <em class="parameter"><code>olddata</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1267,7 +1264,6 @@
 <a name="id-1.3.31.7.31.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> at <em class="parameter"><code>oldata</code></em>
 </p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1428,7 +1424,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstParamSpec.html b/docs/gst/html/gstreamer-GstParamSpec.html
index acb5827..d2e8b65 100644
--- a/docs/gst/html/gstreamer-GstParamSpec.html
+++ b/docs/gst/html/gstreamer-GstParamSpec.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstParamSpec</title>
+<title>GstParamSpec: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstPadTemplate.html" title="GstPadTemplate">
 <link rel="next" href="gstreamer-GstParse.html" title="GstParse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -289,7 +289,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstParse.html b/docs/gst/html/gstreamer-GstParse.html
index ccf6589..ccccc5d 100644
--- a/docs/gst/html/gstreamer-GstParse.html
+++ b/docs/gst/html/gstreamer-GstParse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstParse</title>
+<title>GstParse: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstParamSpec.html" title="GstParamSpec">
 <link rel="next" href="GstPipeline.html" title="GstPipeline">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -179,7 +179,6 @@
 <div class="refsect3">
 <a name="id-1.3.36.9.2.5"></a><h4>Returns</h4>
 <p> the quark of the parse errors.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -684,7 +683,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstPoll.html b/docs/gst/html/gstreamer-GstPoll.html
index ce16a52..89012df 100644
--- a/docs/gst/html/gstreamer-GstPoll.html
+++ b/docs/gst/html/gstreamer-GstPoll.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstPoll</title>
+<title>GstPoll: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstPluginFeature.html" title="GstPluginFeature">
 <link rel="next" href="GstPreset.html" title="GstPreset">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -288,7 +288,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file descriptor was successfully added to the set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -325,7 +324,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.3.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the descriptor has data to be read.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -362,7 +360,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the descriptor can be used for writing.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -406,7 +403,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the descriptor was successfully updated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -450,7 +446,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the descriptor was successfully updated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -487,7 +482,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the connection was closed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -524,7 +518,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the descriptor has an error.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -622,8 +615,9 @@
 is possible to restart or flush a call to <a class="link" href="gstreamer-GstPoll.html#gst-poll-wait" title="gst_poll_wait ()"><code class="function">gst_poll_wait()</code></a> with
 <a class="link" href="gstreamer-GstPoll.html#gst-poll-restart" title="gst_poll_restart ()"><code class="function">gst_poll_restart()</code></a> and <a class="link" href="gstreamer-GstPoll.html#gst-poll-set-flushing" title="gst_poll_set_flushing ()"><code class="function">gst_poll_set_flushing()</code></a> respectively.</p>
 <p>Free-function: gst_poll_free</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.40.7.12.6"></a><h4>Parameters</h4>
+<a name="id-1.3.40.7.12.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -638,7 +632,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.40.7.12.7"></a><h4>Returns</h4>
+<a name="id-1.3.40.7.12.8"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gstreamer-GstPoll.html#GstPoll" title="GstPoll"><span class="type">GstPoll</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in
 case of an error.  Free with <a class="link" href="gstreamer-GstPoll.html#gst-poll-free" title="gst_poll_free ()"><code class="function">gst_poll_free()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
@@ -654,8 +648,9 @@
 <p>A timeout is performed with <a class="link" href="gstreamer-GstPoll.html#gst-poll-wait" title="gst_poll_wait ()"><code class="function">gst_poll_wait()</code></a>. Multiple timeouts can be
 performed from different threads. </p>
 <p>Free-function: gst_poll_free</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.3.40.7.13.7"></a><h4>Returns</h4>
+<a name="id-1.3.40.7.13.8"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gstreamer-GstPoll.html#GstPoll" title="GstPoll"><span class="type">GstPoll</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in
 case of an error.  Free with <a class="link" href="gstreamer-GstPoll.html#gst-poll-free" title="gst_poll_free ()"><code class="function">gst_poll_free()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
@@ -724,7 +719,6 @@
 <div class="refsect3">
 <a name="id-1.3.40.7.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file descriptor was successfully removed from the set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -789,7 +783,6 @@
 <a name="id-1.3.40.7.17.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the controllability of <em class="parameter"><code>set</code></em>
 could be updated.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -871,7 +864,6 @@
 activity was detected after <em class="parameter"><code>timeout</code></em>
 . If an error occurs, -1 is returned
 and errno is set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -903,7 +895,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success. <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when <em class="parameter"><code>set</code></em>
 is not controllable or when there
 was no byte to read.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -939,7 +930,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success. <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when <em class="parameter"><code>set</code></em>
 is not controllable or when the
 byte could not be written.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -987,7 +977,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstTocSetter.html b/docs/gst/html/gstreamer-GstTocSetter.html
index 47c2f75..7d0b925 100644
--- a/docs/gst/html/gstreamer-GstTocSetter.html
+++ b/docs/gst/html/gstreamer-GstTocSetter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTocSetter</title>
+<title>GstTocSetter: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstToc.html" title="GstToc">
 <link rel="next" href="gstreamer-GstTypeFind.html" title="GstTypeFind">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -228,7 +228,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstTypeFind.html b/docs/gst/html/gstreamer-GstTypeFind.html
index a943811..20fdebe 100644
--- a/docs/gst/html/gstreamer-GstTypeFind.html
+++ b/docs/gst/html/gstreamer-GstTypeFind.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstTypeFind</title>
+<title>GstTypeFind: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstTocSetter.html" title="GstTocSetter">
 <link rel="next" href="GstTypeFindFactory.html" title="GstTypeFindFactory">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -319,7 +319,6 @@
 <div class="refsect3">
 <a name="id-1.3.54.7.6.6"></a><h4>Returns</h4>
 <p> The length of the data stream, or 0 if it is not available.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -397,7 +396,6 @@
 <div class="refsect3">
 <a name="id-1.3.54.7.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -518,7 +516,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstUri.html b/docs/gst/html/gstreamer-GstUri.html
index 73cfc5b..08a4d0f 100644
--- a/docs/gst/html/gstreamer-GstUri.html
+++ b/docs/gst/html/gstreamer-GstUri.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstUri</title>
+<title>GstUri: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstTypeFindFactory.html" title="GstTypeFindFactory">
 <link rel="next" href="gstreamer-GstUriHandler.html" title="GstUriHandler">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -491,7 +491,7 @@
 <p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -567,7 +567,7 @@
 . </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -596,7 +596,7 @@
 <p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object, or NULL. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -632,7 +632,7 @@
 <p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -697,9 +697,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the normalized versions of the two URI's would be equal.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -739,7 +738,7 @@
 reference URI joined on. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -778,7 +777,7 @@
 the two URIs. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -809,9 +808,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.12.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is safe to write to the object.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -847,7 +845,7 @@
 . </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -878,7 +876,7 @@
 <p> The string version of the URI. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -905,7 +903,6 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.15.6"></a><h4>Returns</h4>
 <p> This object with the reference count incremented.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -959,9 +956,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.17.6"></a><h4>Returns</h4>
 <p> TRUE if the URI is normalized or is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -991,9 +987,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.18.7"></a><h4>Returns</h4>
 <p> TRUE if the URI was modified.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1021,7 +1016,6 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.19.6"></a><h4>Returns</h4>
 <p> The scheme from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1056,9 +1050,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.20.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the scheme was set/unset successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1086,9 +1079,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.21.6"></a><h4>Returns</h4>
 <p> The userinfo from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1122,9 +1114,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.22.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the user information was set/unset successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1152,9 +1143,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.23.6"></a><h4>Returns</h4>
 <p> The host name from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1188,9 +1178,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.24.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the host was set/unset successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1218,9 +1207,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.25.6"></a><h4>Returns</h4>
 <p> The port number from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1254,9 +1242,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.26.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the port number was set/unset successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1285,7 +1272,7 @@
 string should be <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1320,9 +1307,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the path was set successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1351,7 +1337,7 @@
 string should be <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1386,9 +1372,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.30.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the path was set successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1418,7 +1403,7 @@
 when no longer needed with g_list_free_full(list, g_free). </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1453,9 +1438,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.32.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the path segments were set successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1490,9 +1474,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.33.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the path was appended successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1526,9 +1509,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.34.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the path was appended successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1558,7 +1540,7 @@
 no longer needed. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1593,9 +1575,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.36.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query table was set successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1629,7 +1610,7 @@
 from the URI. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar* gchar*]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1667,9 +1648,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.38.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the new table was sucessfully used for the query table.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1708,9 +1688,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.39.6"></a><h4>Returns</h4>
 <p> The value for the given key, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1753,9 +1732,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.40.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query table was sucessfully updated.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1789,9 +1767,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.41.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the key existed in the table and was removed.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1827,9 +1804,8 @@
 <a name="id-1.3.56.7.42.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>query_key</code></em>
 exists in the URI query table.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1858,7 +1834,7 @@
 the URI query. Free the list with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1886,9 +1862,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.44.6"></a><h4>Returns</h4>
 <p> The host name from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1924,9 +1899,8 @@
 <div class="refsect3">
 <a name="id-1.3.56.7.45.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the fragment was set/unset successfully.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1939,7 +1913,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstUriHandler.html b/docs/gst/html/gstreamer-GstUriHandler.html
index 1f9a524..2dde75d 100644
--- a/docs/gst/html/gstreamer-GstUriHandler.html
+++ b/docs/gst/html/gstreamer-GstUriHandler.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstUriHandler</title>
+<title>GstUriHandler: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstUri.html" title="GstUri">
 <link rel="next" href="gstreamer-GstUtils.html" title="GstUtils">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -266,7 +266,6 @@
 <div class="refsect3">
 <a name="id-1.3.57.9.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the string is a valid protocol identifier, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -303,7 +302,6 @@
 <div class="refsect3">
 <a name="id-1.3.57.9.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -331,7 +329,6 @@
 <div class="refsect3">
 <a name="id-1.3.57.9.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the string is a valid URI</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -367,7 +364,6 @@
 <div class="refsect3">
 <a name="id-1.3.57.9.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the protocol matches.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -395,7 +391,6 @@
 <div class="refsect3">
 <a name="id-1.3.57.9.8.6"></a><h4>Returns</h4>
 <p> The protocol for this URI.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -506,7 +501,6 @@
 <a name="id-1.3.57.9.11.7"></a><h4>Returns</h4>
 <p> newly-allocated URI string, or NULL on error. The caller must
 free the URI string with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -582,7 +576,6 @@
 <p> the <a class="link" href="gstreamer-GstUriHandler.html#GstURIType" title="enum GstURIType"><span class="type">GstURIType</span></a> of the URI handler.
 Returns <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-UNKNOWN:CAPS"><span class="type">GST_URI_UNKNOWN</span></a> if the <em class="parameter"><code>handler</code></em>
 isn't implemented correctly.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -689,7 +682,6 @@
 <div class="refsect3">
 <a name="id-1.3.57.9.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the URI was set successfully, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -852,7 +844,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstUtils.html b/docs/gst/html/gstreamer-GstUtils.html
index d757d7a..4064753 100644
--- a/docs/gst/html/gstreamer-GstUtils.html
+++ b/docs/gst/html/gstreamer-GstUtils.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstUtils</title>
+<title>GstUtils: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstUriHandler.html" title="GstUriHandler">
 <link rel="next" href="gstreamer-GstValue.html" title="GstValue">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -887,7 +887,6 @@
 <a name="id-1.3.58.7.13.6"></a><h4>Returns</h4>
 <p> The floating point value read from <em class="parameter"><code>data</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -915,7 +914,6 @@
 <a name="id-1.3.58.7.14.6"></a><h4>Returns</h4>
 <p> The floating point value read from <em class="parameter"><code>data</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -943,7 +941,6 @@
 <a name="id-1.3.58.7.15.6"></a><h4>Returns</h4>
 <p> The double-precision floating point value read from <em class="parameter"><code>data</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -971,7 +968,6 @@
 <a name="id-1.3.58.7.16.6"></a><h4>Returns</h4>
 <p> The double-precision floating point value read from <em class="parameter"><code>data</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1499,7 +1495,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1686,7 +1682,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1791,7 +1787,6 @@
 <a name="id-1.3.58.7.48.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>in</code></em>
 byte-swapped.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1911,7 +1906,6 @@
 <a name="id-1.3.58.7.53.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>in</code></em>
 byte-swapped.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1986,7 +1980,6 @@
 <a name="id-1.3.58.7.56.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>value</code></em>
 converted to a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2015,7 +2008,6 @@
 <a name="id-1.3.58.7.57.6"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>value</code></em>
 converted to a <span class="type">guint64</span>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2100,7 +2092,6 @@
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2155,7 +2146,6 @@
 (half-way cases are rounded up).  See also <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2210,7 +2200,6 @@
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2266,7 +2255,6 @@
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2322,7 +2310,6 @@
 (half-way cases are rounded up).  See also <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2378,7 +2365,6 @@
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>,
 <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2418,7 +2404,6 @@
 <p> Greatest common divisor of <em class="parameter"><code>a</code></em>
 and <em class="parameter"><code>b</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2459,7 +2444,6 @@
 <p> Greatest common divisor of <em class="parameter"><code>a</code></em>
 and <em class="parameter"><code>b</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2598,7 +2582,6 @@
 <div class="refsect3">
 <a name="id-1.3.58.7.69.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on overflow, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2664,7 +2647,6 @@
 <div class="refsect3">
 <a name="id-1.3.58.7.70.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on overflow, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2716,7 +2698,6 @@
 <div class="refsect3">
 <a name="id-1.3.58.7.71.6"></a><h4>Returns</h4>
 <p> -1 if a &lt; b; 0 if a = b; 1 if a &gt; b.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2734,7 +2715,6 @@
 <p> A constantly incrementing 32-bit unsigned integer, which might
 overflow back to 0 at some point. Use <a class="link" href="gstreamer-GstUtils.html#gst-util-seqnum-compare" title="gst_util_seqnum_compare ()"><code class="function">gst_util_seqnum_compare()</code></a> to make sure
 you handle wraparound correctly.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2777,7 +2757,6 @@
 positive number if <em class="parameter"><code>s1</code></em>
 is after <em class="parameter"><code>s2</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2792,7 +2771,6 @@
 <a name="id-1.3.58.7.74.6"></a><h4>Returns</h4>
 <p> A constantly incrementing unsigned integer, which might
 overflow back to 0 at some point.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2880,7 +2858,6 @@
 <div class="refsect3">
 <a name="id-1.3.58.7.77.5"></a><h4>Returns</h4>
 <p> the timestamp</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3005,7 +2982,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstValue.html b/docs/gst/html/gstreamer-GstValue.html
index 484915a..095f006 100644
--- a/docs/gst/html/gstreamer-GstValue.html
+++ b/docs/gst/html/gstreamer-GstValue.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstValue</title>
+<title>GstValue: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstUtils.html" title="GstUtils">
 <link rel="next" href="gstreamer-GstVersion.html" title="GstVersion">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -137,6 +137,52 @@
 <tr>
 <td class="define_keyword">#define</td>
 <td class="function_name">
+<a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-FLAG-SET:CAPS" title="GST_VALUE_HOLDS_FLAG_SET()">GST_VALUE_HOLDS_FLAG_SET</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS" title="GST_TYPE_FLAG_SET">GST_TYPE_FLAG_SET</a></td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-GstValue.html#gst-structure-get-flagset" title="gst_structure_get_flagset ()">gst_structure_get_flagset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-GstValue.html#gst-value-get-flagset-flags" title="gst_value_get_flagset_flags ()">gst_value_get_flagset_flags</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-GstValue.html#gst-value-get-flagset-mask" title="gst_value_get_flagset_mask ()">gst_value_get_flagset_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-GstValue.html#gst-value-set-flagset" title="gst_value_set_flagset ()">gst_value_set_flagset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-FLAG-SET-MASK-EXACT:CAPS" title="GST_FLAG_SET_MASK_EXACT">GST_FLAG_SET_MASK_EXACT</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
 <a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-INT64-RANGE:CAPS" title="GST_VALUE_HOLDS_INT64_RANGE()">GST_VALUE_HOLDS_INT64_RANGE</a><span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -873,7 +919,6 @@
 <div class="refsect3">
 <a name="id-1.3.59.7.6.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -940,7 +985,6 @@
 <div class="refsect3">
 <a name="id-1.3.59.7.8.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -968,7 +1012,6 @@
 <div class="refsect3">
 <a name="id-1.3.59.7.9.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1042,7 +1085,6 @@
 <div class="refsect3">
 <a name="id-1.3.59.7.11.6"></a><h4>Returns</h4>
 <p> the step of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1076,7 +1118,6 @@
 <div class="refsect3">
 <a name="id-1.3.59.7.13.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstBitmask (which is not explicitly typed)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1136,17 +1177,210 @@
 <div class="refsect3">
 <a name="id-1.3.59.7.15.6"></a><h4>Returns</h4>
 <p> the bitmask.</p>
-<p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-VALUE-HOLDS-FLAG-SET:CAPS"></a><h3>GST_VALUE_HOLDS_FLAG_SET()</h3>
+<pre class="programlisting">#define GST_VALUE_HOLDS_FLAG_SET(x)     (G_TYPE_CHECK_VALUE_TYPE ((x), GST_TYPE_FLAG_SET))
+</pre>
+<p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS" title="GST_TYPE_FLAG_SET"><span class="type">GST_TYPE_FLAG_SET</span></a> value.</p>
+<div class="refsect3">
+<a name="id-1.3.59.7.16.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-TYPE-FLAG-SET:CAPS"></a><h3>GST_TYPE_FLAG_SET</h3>
+<pre class="programlisting">#define GST_TYPE_FLAG_SET                   (_gst_flagset_type)
+</pre>
+<p>a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a 32-bit flag bitfield, with 32-bit
+mask indicating which of the bits in the field are explicitly set.
+Useful for negotiation.</p>
+<div class="refsect3">
+<a name="id-1.3.59.7.17.5"></a><h4>Returns</h4>
+<p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFlags (which is not explicitly typed)</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-structure-get-flagset"></a><h3>gst_structure_get_flagset ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_structure_get_flagset (<em class="parameter"><code>const <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+                           <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fieldname</code></em>,
+                           <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *value_flags</code></em>,
+                           <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *value_mask</code></em>);</pre>
+<p>Read the GstFlagSet flags and mask out of the structure into the
+provided pointers.</p>
+<div class="refsect3">
+<a name="id-1.3.59.7.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>fieldname</p></td>
+<td class="parameter_description"><p>the name of a field</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>value_flags</p></td>
+<td class="parameter_description"><p> a pointer to a guint for the flags field. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>value_mask</p></td>
+<td class="parameter_description"><p> a pointer to a guint for the mask field. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.59.7.18.6"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the values could be set correctly. If there was no field
+with <em class="parameter"><code>fieldname</code></em>
+or the existing field did not contain a GstFlagSet, this
+function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-value-get-flagset-flags"></a><h3>gst_value_get_flagset_flags ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_value_get_flagset_flags (<em class="parameter"><code>const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<p>Retrieve the flags field of a GstFlagSet <em class="parameter"><code>value</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.59.7.19.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a GValue initialized to <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS" title="GST_TYPE_FLAG_SET"><span class="type">GST_TYPE_FLAG_SET</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.59.7.19.6"></a><h4>Returns</h4>
+<p> the flags field of the flagset instance.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-value-get-flagset-mask"></a><h3>gst_value_get_flagset_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_value_get_flagset_mask (<em class="parameter"><code>const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<p>Retrieve the mask field of a GstFlagSet <em class="parameter"><code>value</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.59.7.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a GValue initialized to <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS" title="GST_TYPE_FLAG_SET"><span class="type">GST_TYPE_FLAG_SET</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.59.7.20.6"></a><h4>Returns</h4>
+<p> the mask field of the flagset instance.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-value-set-flagset"></a><h3>gst_value_set_flagset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_value_set_flagset (<em class="parameter"><code><a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>,
+                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> mask</code></em>);</pre>
+<p>Sets <em class="parameter"><code>value</code></em>
+ to the flags and mask values provided in <em class="parameter"><code>flags</code></em>
+ and <em class="parameter"><code>mask</code></em>
+.
+The <em class="parameter"><code>flags</code></em>
+ value indicates the values of flags, the <em class="parameter"><code>mask</code></em>
+ represents
+which bits in the flag value have been set, and which are "don't care"</p>
+<div class="refsect3">
+<a name="id-1.3.59.7.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a GValue initialized to <span class="type">GST_TYPE_FLAGS</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>The value of the flags set or unset</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>The mask indicate which flags bits must match for comparisons</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-FLAG-SET-MASK-EXACT:CAPS"></a><h3>GST_FLAG_SET_MASK_EXACT</h3>
+<pre class="programlisting">#define GST_FLAG_SET_MASK_EXACT ((guint)(-1))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-VALUE-HOLDS-INT64-RANGE:CAPS"></a><h3>GST_VALUE_HOLDS_INT64_RANGE()</h3>
 <pre class="programlisting">#define GST_VALUE_HOLDS_INT64_RANGE(x)    ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_int64_range_type)
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS" title="GST_TYPE_INT64_RANGE"><span class="type">GST_TYPE_INT64_RANGE</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.16.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.23.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1168,9 +1402,8 @@
 </pre>
 <p>a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an <span class="type">gint64</span> range</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.17.5"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.24.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstInt64Range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1185,7 +1418,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.18.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.25.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1220,7 +1453,7 @@
 <p>Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.19.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.26.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1235,9 +1468,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.19.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.26.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1248,7 +1480,7 @@
 <p>Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.20.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.27.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1263,9 +1495,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.20.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.27.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1282,7 +1513,7 @@
  and <em class="parameter"><code>step</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.21.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.28.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1322,7 +1553,7 @@
 <p>Gets the step of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.22.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.29.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1337,9 +1568,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.22.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.29.6"></a><h4>Returns</h4>
 <p> the step of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1349,7 +1579,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS" title="GST_TYPE_DOUBLE_RANGE"><span class="type">GST_TYPE_DOUBLE_RANGE</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.23.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.30.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1371,9 +1601,8 @@
 </pre>
 <p>a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a floating point range with double precision</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.24.5"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.31.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1388,7 +1617,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.25.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.32.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1423,7 +1652,7 @@
 <p>Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.26.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.33.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1438,9 +1667,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.26.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.33.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1451,7 +1679,7 @@
 <p>Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.27.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.34.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1466,9 +1694,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.27.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.34.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1478,7 +1705,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST"><span class="type">GST_TYPE_LIST</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.28.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.35.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1504,9 +1731,8 @@
 will be chosen in the end. This means that all values in the list are
 meaningful on their own.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.29.5"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.36.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstValueList (which is not explicitly typed)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1516,7 +1742,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS" title="GST_TYPE_ARRAY"><span class="type">GST_TYPE_ARRAY</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.30.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.37.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1543,9 +1769,8 @@
 used for example to express channel layouts for multichannel audio where
 each channel needs to be mapped to a position in the room.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.31.5"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.38.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstArrayList (which is not explicitly typed)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1558,7 +1783,7 @@
  to the GstValueList in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.32.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.39.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1590,7 +1815,7 @@
  to the GstValueList in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.33.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.40.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1611,7 +1836,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1623,7 +1848,7 @@
  to the GstValueList in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.34.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.41.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1659,7 +1884,7 @@
 <em class="parameter"><code>dest</code></em>
  will be initialized to the type <a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST"><span class="type">GST_TYPE_LIST</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.35.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.42.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1704,7 +1929,7 @@
 
 were equal).</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.36.6"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.43.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1739,7 +1964,7 @@
 <p>Gets the number of values contained in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.37.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.44.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1754,9 +1979,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.37.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.44.6"></a><h4>Returns</h4>
 <p> the number of values</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1770,7 +1994,7 @@
 has the index <em class="parameter"><code>index</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.38.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.45.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1792,7 +2016,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.38.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.45.6"></a><h4>Returns</h4>
 <p> the value at the given index. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -1804,7 +2028,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS" title="GST_TYPE_FRACTION"><span class="type">GST_TYPE_FRACTION</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.39.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.46.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1827,9 +2051,8 @@
 <p>a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a fraction of an integer numerator over
 an integer denominator</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.40.5"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.47.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFraction (which is not explicitly typed)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1846,7 +2069,7 @@
 The fraction gets reduced to the smallest numerator and denominator,
 and if necessary the sign is moved to the numerator.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.41.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.48.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1881,7 +2104,7 @@
 <p>Gets the numerator of the fraction specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.42.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.49.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1896,9 +2119,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.42.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.49.6"></a><h4>Returns</h4>
 <p> the numerator of the fraction.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1909,7 +2131,7 @@
 <p>Gets the denominator of the fraction specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.43.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.50.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1924,9 +2146,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.43.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.50.6"></a><h4>Returns</h4>
 <p> the denominator of the fraction.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1940,7 +2161,7 @@
 <em class="parameter"><code>product</code></em>
  to the product of the two fractions.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.44.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.51.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1967,9 +2188,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.44.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.51.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in case of an error (like integer overflow), <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1984,7 +2204,7 @@
  and sets <em class="parameter"><code>dest</code></em>
  to the result.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.45.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.52.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2011,9 +2231,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.45.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.52.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in case of an error (like integer overflow), <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2023,7 +2242,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS" title="GST_TYPE_FRACTION_RANGE"><span class="type">GST_TYPE_FRACTION_RANGE</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.46.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.53.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2045,9 +2264,8 @@
 </pre>
 <p>a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a GstFraction range</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.47.5"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.54.5"></a><h4>Returns</h4>
 <p> the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFractionRange</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2062,7 +2280,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.48.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.55.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2097,7 +2315,7 @@
 <p>Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.49.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.56.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2112,9 +2330,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.49.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.56.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2125,7 +2342,7 @@
 <p>Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.50.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.57.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2140,9 +2357,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.50.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.57.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2162,7 +2378,7 @@
 /<em class="parameter"><code>denominator_end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.51.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.58.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2206,7 +2422,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="GstDateTime.html#GST-TYPE-DATE-TIME:CAPS" title="GST_TYPE_DATE_TIME"><span class="type">GST_TYPE_DATE_TIME</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.52.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.59.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2228,7 +2444,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_CAPS</span> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.53.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.60.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2256,7 +2472,7 @@
  will be taken by the <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.54.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.61.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2289,7 +2505,7 @@
 before getting rid of the <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.55.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.62.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2304,7 +2520,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.55.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.62.6"></a><h4>Returns</h4>
 <p> the contents of <em class="parameter"><code>value</code></em>
 . </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
@@ -2317,7 +2533,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_CAPS_FEATURES</span> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.56.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.63.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2342,7 +2558,7 @@
  to <em class="parameter"><code>features</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.57.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.64.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2372,7 +2588,7 @@
 <p>Gets the contents of <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.58.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.65.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2387,7 +2603,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.58.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.65.6"></a><h4>Returns</h4>
 <p> the contents of <em class="parameter"><code>value</code></em>
 . </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
@@ -2400,7 +2616,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_STRUCTURE</span> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.59.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.66.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2425,7 +2641,7 @@
  to <em class="parameter"><code>structure</code></em>
 .  The actual</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.60.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.67.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2455,7 +2671,7 @@
 <p>Gets the contents of <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.61.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.68.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2470,7 +2686,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.61.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.68.6"></a><h4>Returns</h4>
 <p> the contents of <em class="parameter"><code>value</code></em>
 . </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
@@ -2483,7 +2699,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_BUFFER</span> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.62.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.69.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2509,7 +2725,7 @@
 a reference to <em class="parameter"><code>v</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.63.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.70.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2524,7 +2740,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.63.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.70.6"></a><h4>Returns</h4>
 <p> buffer. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -2538,7 +2754,7 @@
  as the value of <em class="parameter"><code>v</code></em>
 .  Caller retains reference to buffer.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.64.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.71.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2569,7 +2785,7 @@
  as the value of <em class="parameter"><code>v</code></em>
 .  Caller gives away reference to buffer.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.65.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.72.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2598,7 +2814,7 @@
 </pre>
 <p>Checks if the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_SAMPLE</span> value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.66.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.73.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2624,7 +2840,7 @@
 a reference to <em class="parameter"><code>v</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.67.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.74.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2639,7 +2855,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.67.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.74.6"></a><h4>Returns</h4>
 <p> sample. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -2653,7 +2869,7 @@
  as the value of <em class="parameter"><code>v</code></em>
 .  Caller retains reference to sample.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.68.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.75.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2684,7 +2900,7 @@
  as the value of <em class="parameter"><code>v</code></em>
 .  Caller gives away reference to sample.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.69.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.76.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2722,7 +2938,7 @@
                         <em class="parameter"><code>const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value2</code></em>);</pre>
 <p>Used together with <a class="link" href="gstreamer-GstValue.html#gst-value-compare" title="gst_value_compare ()"><code class="function">gst_value_compare()</code></a> to compare <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> items.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.71.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.78.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2744,10 +2960,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.71.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.78.6"></a><h4>Returns</h4>
 <p> one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN
 or GST_VALUE_UNORDERED</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2758,7 +2973,7 @@
 <p>Used by <a class="link" href="gstreamer-GstValue.html#gst-value-serialize" title="gst_value_serialize ()"><code class="function">gst_value_serialize()</code></a> to obtain a non-binary form of the <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>.</p>
 <p>Free-function: g_free</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.72.6"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.79.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2773,7 +2988,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.72.7"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.79.7"></a><h4>Returns</h4>
 <p> the string representation of the value. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -2786,7 +3001,7 @@
                             <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *s</code></em>);</pre>
 <p>Used by <a class="link" href="gstreamer-GstValue.html#gst-value-deserialize" title="gst_value_deserialize ()"><code class="function">gst_value_deserialize()</code></a> to parse a non-binary form into the <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.73.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.80.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2808,9 +3023,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.73.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.80.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2823,7 +3037,7 @@
 (which means: multiple possible values, such as data lists or data
 ranges) value.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.74.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.81.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2838,9 +3052,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.74.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.81.6"></a><h4>Returns</h4>
 <p> true if the value is "fixed".</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2851,7 +3064,7 @@
 <p>Registers functions to perform calculations on <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> items of a given
 type. Each type can only be added once.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.75.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.82.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2875,7 +3088,7 @@
 <p>Initialises the target value to be of the same type as source and then copies
 the contents from source to target.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.76.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.83.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2907,7 +3120,7 @@
 getting back this string later on using <a class="link" href="gstreamer-GstValue.html#gst-value-deserialize" title="gst_value_deserialize ()"><code class="function">gst_value_deserialize()</code></a>.</p>
 <p>Free-function: g_free</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.77.6"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.84.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2922,7 +3135,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.77.7"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.84.7"></a><h4>Returns</h4>
 <p> the serialization for <em class="parameter"><code>value</code></em>
 or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none exists. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
@@ -2937,7 +3150,7 @@
 <p>Tries to deserialize a string into the type specified by the given GValue.
 If the operation succeeds, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is returned, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.78.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.85.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2960,9 +3173,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.78.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.85.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2985,7 +3197,7 @@
 , GST_VALUE_LESS_THAN is returned.
 If the values are equal, GST_VALUE_EQUAL is returned.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.79.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.86.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3007,9 +3219,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.79.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.86.6"></a><h4>Returns</h4>
 <p> comparison result</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3022,7 +3233,7 @@
  and <em class="parameter"><code>value2</code></em>
  can be compared.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.80.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.87.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3044,9 +3255,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.80.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.87.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the values can be compared</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3060,7 +3270,7 @@
  and <em class="parameter"><code>value2</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.81.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.88.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3087,9 +3297,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.81.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.88.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the union succeeded.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3108,7 +3317,7 @@
 integer range.  If there is the possibility that two values can
 be unioned, this function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.82.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.89.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3130,10 +3339,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.82.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.89.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there is a function allowing the two values to
 be unioned.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3149,7 +3357,7 @@
 .
 Note that this means subtraction as in sets, not as in mathematics.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.83.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.90.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3179,9 +3387,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.83.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.90.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the subtraction is not empty</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3194,7 +3401,7 @@
  from <em class="parameter"><code>minuend</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.84.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.91.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3216,9 +3423,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.84.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.91.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a subtraction is possible</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3235,7 +3441,7 @@
 <em class="parameter"><code>dest</code></em>
  is not modified.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.85.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.92.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3264,9 +3470,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.85.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.92.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the intersection is non-empty</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3279,7 +3484,7 @@
 Two values will produce a valid intersection if they have the same
 type.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.86.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.93.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3301,9 +3506,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.86.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.93.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the values can intersect</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3319,7 +3523,7 @@
  is a subset of <em class="parameter"><code>value2</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.3.59.7.87.6"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.94.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3351,7 +3555,7 @@
  to the GstValueArray in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.88.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.95.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3383,7 +3587,7 @@
  to the GstValueArray in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.89.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.96.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3404,7 +3608,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3414,7 +3618,7 @@
 <p>Gets the number of values contained in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.90.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.97.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3429,9 +3633,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.90.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.97.6"></a><h4>Returns</h4>
 <p> the number of values</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3445,7 +3648,7 @@
 has the index <em class="parameter"><code>index</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.91.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.98.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3467,7 +3670,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.91.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.98.6"></a><h4>Returns</h4>
 <p> the value at the given index. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -3482,7 +3685,7 @@
  to the GstValueArray in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.92.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.99.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3518,7 +3721,7 @@
 If <em class="parameter"><code>src</code></em>
  is already fixed, this function returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.59.7.93.5"></a><h4>Parameters</h4>
+<a name="id-1.3.59.7.100.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3540,11 +3743,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.59.7.93.6"></a><h4>Returns</h4>
+<a name="id-1.3.59.7.100.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>dest</code></em>
 contains a fixated version of <em class="parameter"><code>src</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -3640,7 +3842,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index ef5ff11..a7e595c 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GstVersion</title>
+<title>GstVersion: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="gstreamer-GstValue.html" title="GstValue">
 <link rel="next" href="gstreamer-device-probing.html" title="GStreamer Device Discovery and Device Probing">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -98,14 +98,14 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VERSION-MICRO:CAPS"></a><h3>GST_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_VERSION_MICRO (0)
+<pre class="programlisting">#define GST_VERSION_MICRO (1)
 </pre>
 <p>The micro version of GStreamer at compile time:</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VERSION-NANO:CAPS"></a><h3>GST_VERSION_NANO</h3>
-<pre class="programlisting">#define GST_VERSION_NANO (1)
+<pre class="programlisting">#define GST_VERSION_NANO (0)
 </pre>
 <p>The nano version of GStreamer at compile time:
 Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</p>
@@ -150,7 +150,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-device-probing.html b/docs/gst/html/gstreamer-device-probing.html
index f4021c2..66ce1e0 100644
--- a/docs/gst/html/gstreamer-device-probing.html
+++ b/docs/gst/html/gstreamer-device-probing.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GStreamer Device Discovery and Device Probing</title>
+<title>GStreamer Device Discovery and Device Probing: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="gstreamer-GstVersion.html" title="GstVersion">
 <link rel="next" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -38,7 +38,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-gstconfig.html b/docs/gst/html/gstreamer-gstconfig.html
index 8642d17..df98b12 100644
--- a/docs/gst/html/gstreamer-gstconfig.html
+++ b/docs/gst/html/gstreamer-gstconfig.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: gstconfig</title>
+<title>gstconfig: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstClock.html" title="GstClock">
 <link rel="next" href="GstContext.html" title="GstContext">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -106,6 +106,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-gstconfig.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-gstconfig.other_details"></a><h2>Types and Values</h2>
@@ -156,7 +157,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-gstprotection.html b/docs/gst/html/gstreamer-gstprotection.html
index 5459d08..c3c8e72 100644
--- a/docs/gst/html/gstreamer-gstprotection.html
+++ b/docs/gst/html/gstreamer-gstprotection.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: gstprotection</title>
+<title>gstprotection: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="GstPreset.html" title="GstPreset">
 <link rel="next" href="GstQuery.html" title="GstQuery">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -135,9 +135,8 @@
 <a name="id-1.3.42.7.2.6"></a><h4>Returns</h4>
 <p> a pointer to the added <a class="link" href="gstreamer-gstprotection.html#GstProtectionMeta" title="struct GstProtectionMeta"><span class="type">GstProtectionMeta</span></a> if successful; <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
 unsuccessful.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -177,7 +176,7 @@
 indicated by that system ID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no element has been found. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -218,7 +217,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-hierarchy.html b/docs/gst/html/gstreamer-hierarchy.html
index d9b7031..a4d1d80 100644
--- a/docs/gst/html/gstreamer-hierarchy.html
+++ b/docs/gst/html/gstreamer-hierarchy.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: Object Hierarchy</title>
+<title>Object Hierarchy: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="gstreamer-GstInfo.html" title="GstInfo">
 <link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -75,7 +75,6 @@
 </pre>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer-support.html b/docs/gst/html/gstreamer-support.html
index 9386278..f72815a 100644
--- a/docs/gst/html/gstreamer-support.html
+++ b/docs/gst/html/gstreamer-support.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GStreamer Core Support</title>
+<title>GStreamer Core Support: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="GstDeviceProviderFactory.html" title="GstDeviceProviderFactory">
 <link rel="next" href="gstreamer-GstInfo.html" title="GstInfo">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -31,7 +31,6 @@
     </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/gstreamer.html b/docs/gst/html/gstreamer.html
index 37bd61d..b0c05fb 100644
--- a/docs/gst/html/gstreamer.html
+++ b/docs/gst/html/gstreamer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GStreamer Overview</title>
+<title>GStreamer Overview: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="next" href="gst-building.html" title="Building GStreamer and GStreamer Applications">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -51,7 +51,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index 0eecc93..59adc32 100644
--- a/docs/gst/html/index.html
+++ b/docs/gst/html/index.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="next" href="gstreamer.html" title="GStreamer Overview">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Core Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Core 1.0 (1.5.0.1)
+      for GStreamer Core 1.0 (1.5.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</a>.
     </p></div>
@@ -171,7 +171,7 @@
                     values in them.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose">Abstract base class for management of <span class="type">GstPlugin</span> objects</span>
+<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose"> — Abstract base class for management of <span class="type">GstPlugin</span> objects</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstSegment.html">GstSegment</a></span><span class="refpurpose"> — Structure describing the configured region of interest
@@ -252,7 +252,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/index.sgml b/docs/gst/html/index.sgml
index 8cbd137..b6f8ba7 100644
--- a/docs/gst/html/index.sgml
+++ b/docs/gst/html/index.sgml
@@ -41,6 +41,8 @@
 <ANCHOR id="GstAllocator-struct" href="gstreamer-1.0/GstAllocator.html#GstAllocator-struct">
 <ANCHOR id="GstAllocatorClass" href="gstreamer-1.0/GstAllocator.html#GstAllocatorClass">
 <ANCHOR id="GstAllocatorFlags" href="gstreamer-1.0/GstAllocator.html#GstAllocatorFlags">
+<ANCHOR id="GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS" href="gstreamer-1.0/GstAllocator.html#GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS">
+<ANCHOR id="GST-ALLOCATOR-FLAG-LAST:CAPS" href="gstreamer-1.0/GstAllocator.html#GST-ALLOCATOR-FLAG-LAST:CAPS">
 <ANCHOR id="GstAllocationParams-struct" href="gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct">
 <ANCHOR id="GST-ALLOCATOR-SYSMEM:CAPS" href="gstreamer-1.0/GstAllocator.html#GST-ALLOCATOR-SYSMEM:CAPS">
 <ANCHOR id="GstAllocator.see-also" href="gstreamer-1.0/GstAllocator.html#GstAllocator.see-also">
@@ -94,6 +96,8 @@
 <ANCHOR id="GstBin-struct" href="gstreamer-1.0/GstBin.html#GstBin-struct">
 <ANCHOR id="GstBinClass" href="gstreamer-1.0/GstBin.html#GstBinClass">
 <ANCHOR id="GstBinFlags" href="gstreamer-1.0/GstBin.html#GstBinFlags">
+<ANCHOR id="GST-BIN-FLAG-NO-RESYNC:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-FLAG-NO-RESYNC:CAPS">
+<ANCHOR id="GST-BIN-FLAG-LAST:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-FLAG-LAST:CAPS">
 <ANCHOR id="GstBin.property-details" href="gstreamer-1.0/GstBin.html#GstBin.property-details">
 <ANCHOR id="GstBin--async-handling" href="gstreamer-1.0/GstBin.html#GstBin--async-handling">
 <ANCHOR id="GstBin--message-forward" href="gstreamer-1.0/GstBin.html#GstBin--message-forward">
@@ -181,7 +185,26 @@
 <ANCHOR id="GstBuffer.other_details" href="gstreamer-1.0/GstBuffer.html#GstBuffer.other_details">
 <ANCHOR id="GstBuffer-struct" href="gstreamer-1.0/GstBuffer.html#GstBuffer-struct">
 <ANCHOR id="GstBufferFlags" href="gstreamer-1.0/GstBuffer.html#GstBufferFlags">
+<ANCHOR id="GST-BUFFER-FLAG-LIVE:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-LIVE:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-DECODE-ONLY:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-DECODE-ONLY:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-DISCONT:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-DISCONT:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-RESYNC:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-RESYNC:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-CORRUPTED:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-CORRUPTED:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-MARKER:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-MARKER:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-HEADER:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-HEADER:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-GAP:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-DROPPABLE:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-DROPPABLE:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-DELTA-UNIT:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-DELTA-UNIT:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-TAG-MEMORY:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-TAG-MEMORY:CAPS">
+<ANCHOR id="GST-BUFFER-FLAG-LAST:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-FLAG-LAST:CAPS">
 <ANCHOR id="GstBufferCopyFlags" href="gstreamer-1.0/GstBuffer.html#GstBufferCopyFlags">
+<ANCHOR id="GST-BUFFER-COPY-NONE:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-NONE:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-FLAGS:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-FLAGS:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-TIMESTAMPS:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-TIMESTAMPS:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-META:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-META:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-MEMORY:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-MEMORY:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-MERGE:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-MERGE:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-DEEP:CAPS" href="gstreamer-1.0/GstBuffer.html#GST-BUFFER-COPY-DEEP:CAPS">
 <ANCHOR id="GstBuffer.see-also" href="gstreamer-1.0/GstBuffer.html#GstBuffer.see-also">
 <ANCHOR id="GstBufferList" href="gstreamer-1.0/GstBufferList.html">
 <ANCHOR id="GstBufferList.functions" href="gstreamer-1.0/GstBufferList.html#GstBufferList.functions">
@@ -238,6 +261,11 @@
 <ANCHOR id="GstBufferPool-struct" href="gstreamer-1.0/GstBufferPool.html#GstBufferPool-struct">
 <ANCHOR id="GstBufferPoolClass" href="gstreamer-1.0/GstBufferPool.html#GstBufferPoolClass">
 <ANCHOR id="GstBufferPoolAcquireFlags" href="gstreamer-1.0/GstBufferPool.html#GstBufferPoolAcquireFlags">
+<ANCHOR id="GST-BUFFER-POOL-ACQUIRE-FLAG-NONE:CAPS" href="gstreamer-1.0/GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-NONE:CAPS">
+<ANCHOR id="GST-BUFFER-POOL-ACQUIRE-FLAG-KEY-UNIT:CAPS" href="gstreamer-1.0/GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-KEY-UNIT:CAPS">
+<ANCHOR id="GST-BUFFER-POOL-ACQUIRE-FLAG-DONTWAIT:CAPS" href="gstreamer-1.0/GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-DONTWAIT:CAPS">
+<ANCHOR id="GST-BUFFER-POOL-ACQUIRE-FLAG-DISCONT:CAPS" href="gstreamer-1.0/GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-DISCONT:CAPS">
+<ANCHOR id="GST-BUFFER-POOL-ACQUIRE-FLAG-LAST:CAPS" href="gstreamer-1.0/GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-LAST:CAPS">
 <ANCHOR id="GstBufferPoolAcquireParams" href="gstreamer-1.0/GstBufferPool.html#GstBufferPoolAcquireParams">
 <ANCHOR id="GstBufferPool.see-also" href="gstreamer-1.0/GstBufferPool.html#GstBufferPool.see-also">
 <ANCHOR id="GstBus" href="gstreamer-1.0/GstBus.html">
@@ -276,7 +304,12 @@
 <ANCHOR id="GstBus.other_details" href="gstreamer-1.0/GstBus.html#GstBus.other_details">
 <ANCHOR id="GstBus-struct" href="gstreamer-1.0/GstBus.html#GstBus-struct">
 <ANCHOR id="GstBusFlags" href="gstreamer-1.0/GstBus.html#GstBusFlags">
+<ANCHOR id="GST-BUS-FLUSHING:CAPS" href="gstreamer-1.0/GstBus.html#GST-BUS-FLUSHING:CAPS">
+<ANCHOR id="GST-BUS-FLAG-LAST:CAPS" href="gstreamer-1.0/GstBus.html#GST-BUS-FLAG-LAST:CAPS">
 <ANCHOR id="GstBusSyncReply" href="gstreamer-1.0/GstBus.html#GstBusSyncReply">
+<ANCHOR id="GST-BUS-DROP:CAPS" href="gstreamer-1.0/GstBus.html#GST-BUS-DROP:CAPS">
+<ANCHOR id="GST-BUS-PASS:CAPS" href="gstreamer-1.0/GstBus.html#GST-BUS-PASS:CAPS">
+<ANCHOR id="GST-BUS-ASYNC:CAPS" href="gstreamer-1.0/GstBus.html#GST-BUS-ASYNC:CAPS">
 <ANCHOR id="GstBus.property-details" href="gstreamer-1.0/GstBus.html#GstBus.property-details">
 <ANCHOR id="GstBus--enable-async" href="gstreamer-1.0/GstBus.html#GstBus--enable-async">
 <ANCHOR id="GstBus.signal-details" href="gstreamer-1.0/GstBus.html#GstBus.signal-details">
@@ -359,7 +392,10 @@
 <ANCHOR id="GstCaps-struct" href="gstreamer-1.0/GstCaps.html#GstCaps-struct">
 <ANCHOR id="GstStaticCaps" href="gstreamer-1.0/GstCaps.html#GstStaticCaps">
 <ANCHOR id="GstCapsIntersectMode" href="gstreamer-1.0/GstCaps.html#GstCapsIntersectMode">
+<ANCHOR id="GST-CAPS-INTERSECT-ZIG-ZAG:CAPS" href="gstreamer-1.0/GstCaps.html#GST-CAPS-INTERSECT-ZIG-ZAG:CAPS">
+<ANCHOR id="GST-CAPS-INTERSECT-FIRST:CAPS" href="gstreamer-1.0/GstCaps.html#GST-CAPS-INTERSECT-FIRST:CAPS">
 <ANCHOR id="GstCapsFlags" href="gstreamer-1.0/GstCaps.html#GstCapsFlags">
+<ANCHOR id="GST-CAPS-FLAG-ANY:CAPS" href="gstreamer-1.0/GstCaps.html#GST-CAPS-FLAG-ANY:CAPS">
 <ANCHOR id="GST-CAPS-ANY:CAPS" href="gstreamer-1.0/GstCaps.html#GST-CAPS-ANY:CAPS">
 <ANCHOR id="GST-CAPS-NONE:CAPS" href="gstreamer-1.0/GstCaps.html#GST-CAPS-NONE:CAPS">
 <ANCHOR id="GST-STATIC-CAPS-ANY:CAPS" href="gstreamer-1.0/GstCaps.html#GST-STATIC-CAPS-ANY:CAPS">
@@ -450,6 +486,7 @@
 <ANCHOR id="GstClock" href="gstreamer-1.0/GstClock.html">
 <ANCHOR id="GstClock.functions" href="gstreamer-1.0/GstClock.html#GstClock.functions">
 <ANCHOR id="GstClock.properties" href="gstreamer-1.0/GstClock.html#GstClock.properties">
+<ANCHOR id="GstClock.signals" href="gstreamer-1.0/GstClock.html#GstClock.signals">
 <ANCHOR id="GstClock.other" href="gstreamer-1.0/GstClock.html#GstClock.other">
 <ANCHOR id="GstClock.object-hierarchy" href="gstreamer-1.0/GstClock.html#GstClock.object-hierarchy">
 <ANCHOR id="GstClock.includes" href="gstreamer-1.0/GstClock.html#GstClock.includes">
@@ -495,6 +532,9 @@
 <ANCHOR id="gst-clock-set-calibration" href="gstreamer-1.0/GstClock.html#gst-clock-set-calibration">
 <ANCHOR id="gst-clock-get-timeout" href="gstreamer-1.0/GstClock.html#gst-clock-get-timeout">
 <ANCHOR id="gst-clock-set-timeout" href="gstreamer-1.0/GstClock.html#gst-clock-set-timeout">
+<ANCHOR id="gst-clock-wait-for-sync" href="gstreamer-1.0/GstClock.html#gst-clock-wait-for-sync">
+<ANCHOR id="gst-clock-is-synced" href="gstreamer-1.0/GstClock.html#gst-clock-is-synced">
+<ANCHOR id="gst-clock-set-synced" href="gstreamer-1.0/GstClock.html#gst-clock-set-synced">
 <ANCHOR id="gst-clock-id-get-time" href="gstreamer-1.0/GstClock.html#gst-clock-id-get-time">
 <ANCHOR id="gst-clock-id-wait" href="gstreamer-1.0/GstClock.html#gst-clock-id-wait">
 <ANCHOR id="gst-clock-id-wait-async" href="gstreamer-1.0/GstClock.html#gst-clock-id-wait-async">
@@ -510,12 +550,32 @@
 <ANCHOR id="GstClockID" href="gstreamer-1.0/GstClock.html#GstClockID">
 <ANCHOR id="GstClockEntry" href="gstreamer-1.0/GstClock.html#GstClockEntry">
 <ANCHOR id="GstClockEntryType" href="gstreamer-1.0/GstClock.html#GstClockEntryType">
+<ANCHOR id="GST-CLOCK-ENTRY-SINGLE:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-ENTRY-SINGLE:CAPS">
+<ANCHOR id="GST-CLOCK-ENTRY-PERIODIC:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-ENTRY-PERIODIC:CAPS">
 <ANCHOR id="GstClockReturn" href="gstreamer-1.0/GstClock.html#GstClockReturn">
+<ANCHOR id="GST-CLOCK-OK:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-OK:CAPS">
+<ANCHOR id="GST-CLOCK-EARLY:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-EARLY:CAPS">
+<ANCHOR id="GST-CLOCK-UNSCHEDULED:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-UNSCHEDULED:CAPS">
+<ANCHOR id="GST-CLOCK-BUSY:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-BUSY:CAPS">
+<ANCHOR id="GST-CLOCK-BADTIME:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-BADTIME:CAPS">
+<ANCHOR id="GST-CLOCK-ERROR:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-ERROR:CAPS">
+<ANCHOR id="GST-CLOCK-UNSUPPORTED:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-UNSUPPORTED:CAPS">
+<ANCHOR id="GST-CLOCK-DONE:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-DONE:CAPS">
 <ANCHOR id="GstClockFlags" href="gstreamer-1.0/GstClock.html#GstClockFlags">
+<ANCHOR id="GST-CLOCK-FLAG-CAN-DO-SINGLE-SYNC:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-CAN-DO-SINGLE-SYNC:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-CAN-DO-SINGLE-ASYNC:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-CAN-DO-SINGLE-ASYNC:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-CAN-DO-PERIODIC-SYNC:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-CAN-DO-PERIODIC-SYNC:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-CAN-DO-PERIODIC-ASYNC:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-CAN-DO-PERIODIC-ASYNC:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-CAN-SET-RESOLUTION:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-CAN-SET-RESOLUTION:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-CAN-SET-MASTER:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-CAN-SET-MASTER:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-NEEDS-STARTUP-SYNC:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-NEEDS-STARTUP-SYNC:CAPS">
+<ANCHOR id="GST-CLOCK-FLAG-LAST:CAPS" href="gstreamer-1.0/GstClock.html#GST-CLOCK-FLAG-LAST:CAPS">
 <ANCHOR id="GstClock.property-details" href="gstreamer-1.0/GstClock.html#GstClock.property-details">
 <ANCHOR id="GstClock--timeout" href="gstreamer-1.0/GstClock.html#GstClock--timeout">
 <ANCHOR id="GstClock--window-size" href="gstreamer-1.0/GstClock.html#GstClock--window-size">
 <ANCHOR id="GstClock--window-threshold" href="gstreamer-1.0/GstClock.html#GstClock--window-threshold">
+<ANCHOR id="GstClock.signal-details" href="gstreamer-1.0/GstClock.html#GstClock.signal-details">
+<ANCHOR id="GstClock-synced" href="gstreamer-1.0/GstClock.html#GstClock-synced">
 <ANCHOR id="GstClock.see-also" href="gstreamer-1.0/GstClock.html#GstClock.see-also">
 <ANCHOR id="gstreamer-gstconfig" href="gstreamer-1.0/gstreamer-gstconfig.html">
 <ANCHOR id="gstreamer-gstconfig.other" href="gstreamer-1.0/gstreamer-gstconfig.html#gstreamer-gstconfig.other">
@@ -724,9 +784,31 @@
 <ANCHOR id="GstElement-struct" href="gstreamer-1.0/GstElement.html#GstElement-struct">
 <ANCHOR id="GstElementClass" href="gstreamer-1.0/GstElement.html#GstElementClass">
 <ANCHOR id="GstElementFlags" href="gstreamer-1.0/GstElement.html#GstElementFlags">
+<ANCHOR id="GST-ELEMENT-FLAG-LOCKED-STATE:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-LOCKED-STATE:CAPS">
+<ANCHOR id="GST-ELEMENT-FLAG-SINK:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-SINK:CAPS">
+<ANCHOR id="GST-ELEMENT-FLAG-SOURCE:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-SOURCE:CAPS">
+<ANCHOR id="GST-ELEMENT-FLAG-PROVIDE-CLOCK:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-PROVIDE-CLOCK:CAPS">
+<ANCHOR id="GST-ELEMENT-FLAG-REQUIRE-CLOCK:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-REQUIRE-CLOCK:CAPS">
+<ANCHOR id="GST-ELEMENT-FLAG-INDEXABLE:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-INDEXABLE:CAPS">
+<ANCHOR id="GST-ELEMENT-FLAG-LAST:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-LAST:CAPS">
 <ANCHOR id="GstState" href="gstreamer-1.0/GstElement.html#GstState">
+<ANCHOR id="GST-STATE-VOID-PENDING:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-VOID-PENDING:CAPS">
+<ANCHOR id="GST-STATE-NULL:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-NULL:CAPS">
+<ANCHOR id="GST-STATE-READY:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-READY:CAPS">
+<ANCHOR id="GST-STATE-PAUSED:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-PAUSED:CAPS">
+<ANCHOR id="GST-STATE-PLAYING:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-PLAYING:CAPS">
 <ANCHOR id="GstStateChange" href="gstreamer-1.0/GstElement.html#GstStateChange">
+<ANCHOR id="GST-STATE-CHANGE-NULL-TO-READY:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-NULL-TO-READY:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-READY-TO-PAUSED:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-READY-TO-PAUSED:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-PAUSED-TO-PLAYING:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-PAUSED-TO-PLAYING:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-PLAYING-TO-PAUSED:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-PLAYING-TO-PAUSED:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-PAUSED-TO-READY:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-PAUSED-TO-READY:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-READY-TO-NULL:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-READY-TO-NULL:CAPS">
 <ANCHOR id="GstStateChangeReturn" href="gstreamer-1.0/GstElement.html#GstStateChangeReturn">
+<ANCHOR id="GST-STATE-CHANGE-FAILURE:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-FAILURE:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-SUCCESS:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-SUCCESS:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-ASYNC:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-ASYNC:CAPS">
+<ANCHOR id="GST-STATE-CHANGE-NO-PREROLL:CAPS" href="gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS">
 <ANCHOR id="GST-ELEMENT-METADATA-AUTHOR:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-METADATA-AUTHOR:CAPS">
 <ANCHOR id="GST-ELEMENT-METADATA-DESCRIPTION:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-METADATA-DESCRIPTION:CAPS">
 <ANCHOR id="GST-ELEMENT-METADATA-DOC-URI:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-METADATA-DOC-URI:CAPS">
@@ -800,9 +882,61 @@
 <ANCHOR id="gst-error-get-message" href="gstreamer-1.0/gstreamer-GstGError.html#gst-error-get-message">
 <ANCHOR id="gstreamer-GstGError.other_details" href="gstreamer-1.0/gstreamer-GstGError.html#gstreamer-GstGError.other_details">
 <ANCHOR id="GstCoreError" href="gstreamer-1.0/gstreamer-GstGError.html#GstCoreError">
+<ANCHOR id="GST-CORE-ERROR-FAILED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-FAILED:CAPS">
+<ANCHOR id="GST-CORE-ERROR-TOO-LAZY:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-TOO-LAZY:CAPS">
+<ANCHOR id="GST-CORE-ERROR-NOT-IMPLEMENTED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-NOT-IMPLEMENTED:CAPS">
+<ANCHOR id="GST-CORE-ERROR-STATE-CHANGE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-STATE-CHANGE:CAPS">
+<ANCHOR id="GST-CORE-ERROR-PAD:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-PAD:CAPS">
+<ANCHOR id="GST-CORE-ERROR-THREAD:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-THREAD:CAPS">
+<ANCHOR id="GST-CORE-ERROR-NEGOTIATION:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-NEGOTIATION:CAPS">
+<ANCHOR id="GST-CORE-ERROR-EVENT:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-EVENT:CAPS">
+<ANCHOR id="GST-CORE-ERROR-SEEK:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-SEEK:CAPS">
+<ANCHOR id="GST-CORE-ERROR-CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-CAPS">
+<ANCHOR id="GST-CORE-ERROR-TAG:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-TAG:CAPS">
+<ANCHOR id="GST-CORE-ERROR-MISSING-PLUGIN:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-MISSING-PLUGIN:CAPS">
+<ANCHOR id="GST-CORE-ERROR-CLOCK:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-CLOCK:CAPS">
+<ANCHOR id="GST-CORE-ERROR-DISABLED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-DISABLED:CAPS">
+<ANCHOR id="GST-CORE-ERROR-NUM-ERRORS:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR-NUM-ERRORS:CAPS">
 <ANCHOR id="GstLibraryError" href="gstreamer-1.0/gstreamer-GstGError.html#GstLibraryError">
+<ANCHOR id="GST-LIBRARY-ERROR-FAILED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-FAILED:CAPS">
+<ANCHOR id="GST-LIBRARY-ERROR-TOO-LAZY:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-TOO-LAZY:CAPS">
+<ANCHOR id="GST-LIBRARY-ERROR-INIT:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-INIT:CAPS">
+<ANCHOR id="GST-LIBRARY-ERROR-SHUTDOWN:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-SHUTDOWN:CAPS">
+<ANCHOR id="GST-LIBRARY-ERROR-SETTINGS:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-SETTINGS:CAPS">
+<ANCHOR id="GST-LIBRARY-ERROR-ENCODE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-ENCODE:CAPS">
+<ANCHOR id="GST-LIBRARY-ERROR-NUM-ERRORS:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR-NUM-ERRORS:CAPS">
 <ANCHOR id="GstResourceError" href="gstreamer-1.0/gstreamer-GstGError.html#GstResourceError">
+<ANCHOR id="GST-RESOURCE-ERROR-FAILED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-FAILED:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-TOO-LAZY:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-TOO-LAZY:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-NOT-FOUND:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-NOT-FOUND:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-BUSY:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-BUSY:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-OPEN-READ:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-OPEN-READ:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-OPEN-WRITE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-OPEN-WRITE:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-OPEN-READ-WRITE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-OPEN-READ-WRITE:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-CLOSE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-CLOSE:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-READ:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-READ:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-WRITE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-WRITE:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-SEEK:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-SEEK:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-SYNC:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-SYNC:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-SETTINGS:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-SETTINGS:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-NO-SPACE-LEFT:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-NO-SPACE-LEFT:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-NOT-AUTHORIZED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-NOT-AUTHORIZED:CAPS">
+<ANCHOR id="GST-RESOURCE-ERROR-NUM-ERRORS:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR-NUM-ERRORS:CAPS">
 <ANCHOR id="GstStreamError" href="gstreamer-1.0/gstreamer-GstGError.html#GstStreamError">
+<ANCHOR id="GST-STREAM-ERROR-FAILED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-FAILED:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-TOO-LAZY:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-TOO-LAZY:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-NOT-IMPLEMENTED:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-NOT-IMPLEMENTED:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-TYPE-NOT-FOUND:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-TYPE-NOT-FOUND:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-WRONG-TYPE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-WRONG-TYPE:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-CODEC-NOT-FOUND:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-CODEC-NOT-FOUND:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-DECODE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-DECODE:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-ENCODE:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-ENCODE:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-DEMUX:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-DEMUX:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-MUX:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-MUX:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-FORMAT:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-FORMAT:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-DECRYPT:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-DECRYPT:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-DECRYPT-NOKEY:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-DECRYPT-NOKEY:CAPS">
+<ANCHOR id="GST-STREAM-ERROR-NUM-ERRORS:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-STREAM-ERROR-NUM-ERRORS:CAPS">
 <ANCHOR id="GST-CORE-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-CORE-ERROR:CAPS">
 <ANCHOR id="GST-LIBRARY-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-LIBRARY-ERROR:CAPS">
 <ANCHOR id="GST-RESOURCE-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstGError.html#GST-RESOURCE-ERROR:CAPS">
@@ -885,12 +1019,66 @@
 <ANCHOR id="GstEvent.other_details" href="gstreamer-1.0/GstEvent.html#GstEvent.other_details">
 <ANCHOR id="GstEvent-struct" href="gstreamer-1.0/GstEvent.html#GstEvent-struct">
 <ANCHOR id="GstEventTypeFlags" href="gstreamer-1.0/GstEvent.html#GstEventTypeFlags">
+<ANCHOR id="GST-EVENT-TYPE-UPSTREAM:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TYPE-UPSTREAM:CAPS">
+<ANCHOR id="GST-EVENT-TYPE-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TYPE-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-EVENT-TYPE-SERIALIZED:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TYPE-SERIALIZED:CAPS">
+<ANCHOR id="GST-EVENT-TYPE-STICKY:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TYPE-STICKY:CAPS">
+<ANCHOR id="GST-EVENT-TYPE-STICKY-MULTI:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TYPE-STICKY-MULTI:CAPS">
 <ANCHOR id="GST-EVENT-TYPE-BOTH:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TYPE-BOTH:CAPS">
 <ANCHOR id="GstEventType" href="gstreamer-1.0/GstEvent.html#GstEventType">
+<ANCHOR id="GST-EVENT-UNKNOWN:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-UNKNOWN:CAPS">
+<ANCHOR id="GST-EVENT-FLUSH-START:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-FLUSH-START:CAPS">
+<ANCHOR id="GST-EVENT-FLUSH-STOP:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-FLUSH-STOP:CAPS">
+<ANCHOR id="GST-EVENT-STREAM-START:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-STREAM-START:CAPS">
+<ANCHOR id="GST-EVENT-CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CAPS">
+<ANCHOR id="GST-EVENT-SEGMENT:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-SEGMENT:CAPS">
+<ANCHOR id="GST-EVENT-TAG:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TAG:CAPS">
+<ANCHOR id="GST-EVENT-BUFFERSIZE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-BUFFERSIZE:CAPS">
+<ANCHOR id="GST-EVENT-SINK-MESSAGE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-SINK-MESSAGE:CAPS">
+<ANCHOR id="GST-EVENT-EOS:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-EOS:CAPS">
+<ANCHOR id="GST-EVENT-TOC:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TOC:CAPS">
+<ANCHOR id="GST-EVENT-PROTECTION:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-PROTECTION:CAPS">
+<ANCHOR id="GST-EVENT-SEGMENT-DONE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-SEGMENT-DONE:CAPS">
+<ANCHOR id="GST-EVENT-GAP:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-GAP:CAPS">
+<ANCHOR id="GST-EVENT-QOS:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-QOS:CAPS">
+<ANCHOR id="GST-EVENT-SEEK:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-SEEK:CAPS">
+<ANCHOR id="GST-EVENT-NAVIGATION:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-NAVIGATION:CAPS">
+<ANCHOR id="GST-EVENT-LATENCY:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-LATENCY:CAPS">
+<ANCHOR id="GST-EVENT-STEP:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-STEP:CAPS">
+<ANCHOR id="GST-EVENT-RECONFIGURE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-RECONFIGURE:CAPS">
+<ANCHOR id="GST-EVENT-TOC-SELECT:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-TOC-SELECT:CAPS">
+<ANCHOR id="GST-EVENT-CUSTOM-UPSTREAM:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CUSTOM-UPSTREAM:CAPS">
+<ANCHOR id="GST-EVENT-CUSTOM-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CUSTOM-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-EVENT-CUSTOM-DOWNSTREAM-OOB:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CUSTOM-DOWNSTREAM-OOB:CAPS">
+<ANCHOR id="GST-EVENT-CUSTOM-DOWNSTREAM-STICKY:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CUSTOM-DOWNSTREAM-STICKY:CAPS">
+<ANCHOR id="GST-EVENT-CUSTOM-BOTH:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CUSTOM-BOTH:CAPS">
+<ANCHOR id="GST-EVENT-CUSTOM-BOTH-OOB:CAPS" href="gstreamer-1.0/GstEvent.html#GST-EVENT-CUSTOM-BOTH-OOB:CAPS">
 <ANCHOR id="GstStreamFlags" href="gstreamer-1.0/GstEvent.html#GstStreamFlags">
+<ANCHOR id="GST-STREAM-FLAG-NONE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-STREAM-FLAG-NONE:CAPS">
+<ANCHOR id="GST-STREAM-FLAG-SPARSE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-STREAM-FLAG-SPARSE:CAPS">
+<ANCHOR id="GST-STREAM-FLAG-SELECT:CAPS" href="gstreamer-1.0/GstEvent.html#GST-STREAM-FLAG-SELECT:CAPS">
+<ANCHOR id="GST-STREAM-FLAG-UNSELECT:CAPS" href="gstreamer-1.0/GstEvent.html#GST-STREAM-FLAG-UNSELECT:CAPS">
 <ANCHOR id="GstQOSType" href="gstreamer-1.0/GstEvent.html#GstQOSType">
+<ANCHOR id="GST-QOS-TYPE-OVERFLOW:CAPS" href="gstreamer-1.0/GstEvent.html#GST-QOS-TYPE-OVERFLOW:CAPS">
+<ANCHOR id="GST-QOS-TYPE-UNDERFLOW:CAPS" href="gstreamer-1.0/GstEvent.html#GST-QOS-TYPE-UNDERFLOW:CAPS">
+<ANCHOR id="GST-QOS-TYPE-THROTTLE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-QOS-TYPE-THROTTLE:CAPS">
 <ANCHOR id="GstSeekType" href="gstreamer-1.0/GstEvent.html#GstSeekType">
+<ANCHOR id="GST-SEEK-TYPE-NONE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-TYPE-NONE:CAPS">
+<ANCHOR id="GST-SEEK-TYPE-SET:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-TYPE-SET:CAPS">
+<ANCHOR id="GST-SEEK-TYPE-END:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-TYPE-END:CAPS">
 <ANCHOR id="GstSeekFlags" href="gstreamer-1.0/GstEvent.html#GstSeekFlags">
+<ANCHOR id="GST-SEEK-FLAG-NONE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-NONE:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-FLUSH:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-FLUSH:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-ACCURATE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-ACCURATE:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-KEY-UNIT:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-KEY-UNIT:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-SEGMENT:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-SEGMENT:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-TRICKMODE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-TRICKMODE:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-SKIP:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-SKIP:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-SNAP-BEFORE:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-SNAP-BEFORE:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-SNAP-AFTER:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-SNAP-AFTER:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-SNAP-NEAREST:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-SNAP-NEAREST:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-TRICKMODE-KEY-UNITS:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-TRICKMODE-KEY-UNITS:CAPS">
+<ANCHOR id="GST-SEEK-FLAG-TRICKMODE-NO-AUDIO:CAPS" href="gstreamer-1.0/GstEvent.html#GST-SEEK-FLAG-TRICKMODE-NO-AUDIO:CAPS">
 <ANCHOR id="GstEvent.see-also" href="gstreamer-1.0/GstEvent.html#GstEvent.see-also">
 <ANCHOR id="gstreamer-GstFormat" href="gstreamer-1.0/gstreamer-GstFormat.html">
 <ANCHOR id="gstreamer-GstFormat.functions" href="gstreamer-1.0/gstreamer-GstFormat.html#gstreamer-GstFormat.functions">
@@ -907,6 +1095,12 @@
 <ANCHOR id="gst-format-iterate-definitions" href="gstreamer-1.0/gstreamer-GstFormat.html#gst-format-iterate-definitions">
 <ANCHOR id="gstreamer-GstFormat.other_details" href="gstreamer-1.0/gstreamer-GstFormat.html#gstreamer-GstFormat.other_details">
 <ANCHOR id="GstFormat" href="gstreamer-1.0/gstreamer-GstFormat.html#GstFormat">
+<ANCHOR id="GST-FORMAT-UNDEFINED:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-UNDEFINED:CAPS">
+<ANCHOR id="GST-FORMAT-DEFAULT:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS">
+<ANCHOR id="GST-FORMAT-BYTES:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS">
+<ANCHOR id="GST-FORMAT-TIME:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS">
+<ANCHOR id="GST-FORMAT-BUFFERS:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BUFFERS:CAPS">
+<ANCHOR id="GST-FORMAT-PERCENT:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-PERCENT:CAPS">
 <ANCHOR id="GST-FORMAT-PERCENT-MAX:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-PERCENT-MAX:CAPS">
 <ANCHOR id="GST-FORMAT-PERCENT-SCALE:CAPS" href="gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-PERCENT-SCALE:CAPS">
 <ANCHOR id="GstFormatDefinition" href="gstreamer-1.0/gstreamer-GstFormat.html#GstFormatDefinition">
@@ -969,7 +1163,14 @@
 <ANCHOR id="gstreamer-GstIterator.other_details" href="gstreamer-1.0/gstreamer-GstIterator.html#gstreamer-GstIterator.other_details">
 <ANCHOR id="GstIterator" href="gstreamer-1.0/gstreamer-GstIterator.html#GstIterator">
 <ANCHOR id="GstIteratorItem" href="gstreamer-1.0/gstreamer-GstIterator.html#GstIteratorItem">
+<ANCHOR id="GST-ITERATOR-ITEM-SKIP:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-ITEM-SKIP:CAPS">
+<ANCHOR id="GST-ITERATOR-ITEM-PASS:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-ITEM-PASS:CAPS">
+<ANCHOR id="GST-ITERATOR-ITEM-END:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-ITEM-END:CAPS">
 <ANCHOR id="GstIteratorResult" href="gstreamer-1.0/gstreamer-GstIterator.html#GstIteratorResult">
+<ANCHOR id="GST-ITERATOR-DONE:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-DONE:CAPS">
+<ANCHOR id="GST-ITERATOR-OK:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-OK:CAPS">
+<ANCHOR id="GST-ITERATOR-RESYNC:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-RESYNC:CAPS">
+<ANCHOR id="GST-ITERATOR-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstIterator.html#GST-ITERATOR-ERROR:CAPS">
 <ANCHOR id="gstreamer-GstIterator.see-also" href="gstreamer-1.0/gstreamer-GstIterator.html#gstreamer-GstIterator.see-also">
 <ANCHOR id="GstMemory" href="gstreamer-1.0/GstMemory.html">
 <ANCHOR id="GstMemory.functions" href="gstreamer-1.0/GstMemory.html#GstMemory.functions">
@@ -1011,8 +1212,18 @@
 <ANCHOR id="gst-memory-is-span" href="gstreamer-1.0/GstMemory.html#gst-memory-is-span">
 <ANCHOR id="GstMemory.other_details" href="gstreamer-1.0/GstMemory.html#GstMemory.other_details">
 <ANCHOR id="GstMemoryFlags" href="gstreamer-1.0/GstMemory.html#GstMemoryFlags">
+<ANCHOR id="GST-MEMORY-FLAG-READONLY:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-READONLY:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-NO-SHARE:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-NO-SHARE:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-ZERO-PADDED:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-LAST:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MEMORY-FLAG-LAST:CAPS">
 <ANCHOR id="GstMemory-struct" href="gstreamer-1.0/GstMemory.html#GstMemory-struct">
 <ANCHOR id="GstMapFlags" href="gstreamer-1.0/GstMemory.html#GstMapFlags">
+<ANCHOR id="GST-MAP-READ:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MAP-READ:CAPS">
+<ANCHOR id="GST-MAP-WRITE:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MAP-WRITE:CAPS">
+<ANCHOR id="GST-MAP-FLAG-LAST:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MAP-FLAG-LAST:CAPS">
 <ANCHOR id="GstMapInfo" href="gstreamer-1.0/GstMemory.html#GstMapInfo">
 <ANCHOR id="GST-MAP-INFO-INIT:CAPS" href="gstreamer-1.0/GstMemory.html#GST-MAP-INFO-INIT:CAPS">
 <ANCHOR id="GstMemory.see-also" href="gstreamer-1.0/GstMemory.html#GstMemory.see-also">
@@ -1114,9 +1325,59 @@
 <ANCHOR id="GstMessage.other_details" href="gstreamer-1.0/GstMessage.html#GstMessage.other_details">
 <ANCHOR id="GstMessage-struct" href="gstreamer-1.0/GstMessage.html#GstMessage-struct">
 <ANCHOR id="GstMessageType" href="gstreamer-1.0/GstMessage.html#GstMessageType">
+<ANCHOR id="GST-MESSAGE-UNKNOWN:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-UNKNOWN:CAPS">
+<ANCHOR id="GST-MESSAGE-EOS:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-EOS:CAPS">
+<ANCHOR id="GST-MESSAGE-ERROR:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-ERROR:CAPS">
+<ANCHOR id="GST-MESSAGE-WARNING:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-WARNING:CAPS">
+<ANCHOR id="GST-MESSAGE-INFO:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-INFO:CAPS">
+<ANCHOR id="GST-MESSAGE-TAG:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-TAG:CAPS">
+<ANCHOR id="GST-MESSAGE-BUFFERING:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-BUFFERING:CAPS">
+<ANCHOR id="GST-MESSAGE-STATE-CHANGED:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STATE-CHANGED:CAPS">
+<ANCHOR id="GST-MESSAGE-STATE-DIRTY:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STATE-DIRTY:CAPS">
+<ANCHOR id="GST-MESSAGE-STEP-DONE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STEP-DONE:CAPS">
+<ANCHOR id="GST-MESSAGE-CLOCK-PROVIDE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-CLOCK-PROVIDE:CAPS">
+<ANCHOR id="GST-MESSAGE-CLOCK-LOST:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-CLOCK-LOST:CAPS">
+<ANCHOR id="GST-MESSAGE-NEW-CLOCK:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-NEW-CLOCK:CAPS">
+<ANCHOR id="GST-MESSAGE-STRUCTURE-CHANGE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STRUCTURE-CHANGE:CAPS">
+<ANCHOR id="GST-MESSAGE-STREAM-STATUS:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STREAM-STATUS:CAPS">
+<ANCHOR id="GST-MESSAGE-APPLICATION:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-APPLICATION:CAPS">
+<ANCHOR id="GST-MESSAGE-ELEMENT:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-ELEMENT:CAPS">
+<ANCHOR id="GST-MESSAGE-SEGMENT-START:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-SEGMENT-START:CAPS">
+<ANCHOR id="GST-MESSAGE-SEGMENT-DONE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS">
+<ANCHOR id="GST-MESSAGE-DURATION-CHANGED:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-DURATION-CHANGED:CAPS">
+<ANCHOR id="GST-MESSAGE-LATENCY:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-LATENCY:CAPS">
+<ANCHOR id="GST-MESSAGE-ASYNC-START:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-ASYNC-START:CAPS">
+<ANCHOR id="GST-MESSAGE-ASYNC-DONE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS">
+<ANCHOR id="GST-MESSAGE-REQUEST-STATE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-REQUEST-STATE:CAPS">
+<ANCHOR id="GST-MESSAGE-STEP-START:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STEP-START:CAPS">
+<ANCHOR id="GST-MESSAGE-QOS:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-QOS:CAPS">
+<ANCHOR id="GST-MESSAGE-PROGRESS:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-PROGRESS:CAPS">
+<ANCHOR id="GST-MESSAGE-TOC:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-TOC:CAPS">
+<ANCHOR id="GST-MESSAGE-RESET-TIME:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-RESET-TIME:CAPS">
+<ANCHOR id="GST-MESSAGE-STREAM-START:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-STREAM-START:CAPS">
+<ANCHOR id="GST-MESSAGE-NEED-CONTEXT:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-NEED-CONTEXT:CAPS">
+<ANCHOR id="GST-MESSAGE-HAVE-CONTEXT:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-HAVE-CONTEXT:CAPS">
+<ANCHOR id="GST-MESSAGE-EXTENDED:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-EXTENDED:CAPS">
+<ANCHOR id="GST-MESSAGE-DEVICE-ADDED:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-DEVICE-ADDED:CAPS">
+<ANCHOR id="GST-MESSAGE-DEVICE-REMOVED:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-DEVICE-REMOVED:CAPS">
+<ANCHOR id="GST-MESSAGE-ANY:CAPS" href="gstreamer-1.0/GstMessage.html#GST-MESSAGE-ANY:CAPS">
 <ANCHOR id="GstStructureChangeType" href="gstreamer-1.0/GstMessage.html#GstStructureChangeType">
+<ANCHOR id="GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS">
+<ANCHOR id="GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS">
 <ANCHOR id="GstStreamStatusType" href="gstreamer-1.0/GstMessage.html#GstStreamStatusType">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-CREATE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-CREATE:CAPS">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-ENTER:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-ENTER:CAPS">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-LEAVE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-LEAVE:CAPS">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-DESTROY:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-DESTROY:CAPS">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-START:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-START:CAPS">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-PAUSE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-PAUSE:CAPS">
+<ANCHOR id="GST-STREAM-STATUS-TYPE-STOP:CAPS" href="gstreamer-1.0/GstMessage.html#GST-STREAM-STATUS-TYPE-STOP:CAPS">
 <ANCHOR id="GstProgressType" href="gstreamer-1.0/GstMessage.html#GstProgressType">
+<ANCHOR id="GST-PROGRESS-TYPE-START:CAPS" href="gstreamer-1.0/GstMessage.html#GST-PROGRESS-TYPE-START:CAPS">
+<ANCHOR id="GST-PROGRESS-TYPE-CONTINUE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-PROGRESS-TYPE-CONTINUE:CAPS">
+<ANCHOR id="GST-PROGRESS-TYPE-COMPLETE:CAPS" href="gstreamer-1.0/GstMessage.html#GST-PROGRESS-TYPE-COMPLETE:CAPS">
+<ANCHOR id="GST-PROGRESS-TYPE-CANCELED:CAPS" href="gstreamer-1.0/GstMessage.html#GST-PROGRESS-TYPE-CANCELED:CAPS">
+<ANCHOR id="GST-PROGRESS-TYPE-ERROR:CAPS" href="gstreamer-1.0/GstMessage.html#GST-PROGRESS-TYPE-ERROR:CAPS">
 <ANCHOR id="GstMessage.see-also" href="gstreamer-1.0/GstMessage.html#GstMessage.see-also">
 <ANCHOR id="gstreamer-GstMeta" href="gstreamer-1.0/gstreamer-GstMeta.html">
 <ANCHOR id="gstreamer-GstMeta.functions" href="gstreamer-1.0/gstreamer-GstMeta.html#gstreamer-GstMeta.functions">
@@ -1141,6 +1402,11 @@
 <ANCHOR id="gstreamer-GstMeta.other_details" href="gstreamer-1.0/gstreamer-GstMeta.html#gstreamer-GstMeta.other_details">
 <ANCHOR id="GstMeta" href="gstreamer-1.0/gstreamer-GstMeta.html#GstMeta">
 <ANCHOR id="GstMetaFlags" href="gstreamer-1.0/gstreamer-GstMeta.html#GstMetaFlags">
+<ANCHOR id="GST-META-FLAG-NONE:CAPS" href="gstreamer-1.0/gstreamer-GstMeta.html#GST-META-FLAG-NONE:CAPS">
+<ANCHOR id="GST-META-FLAG-READONLY:CAPS" href="gstreamer-1.0/gstreamer-GstMeta.html#GST-META-FLAG-READONLY:CAPS">
+<ANCHOR id="GST-META-FLAG-POOLED:CAPS" href="gstreamer-1.0/gstreamer-GstMeta.html#GST-META-FLAG-POOLED:CAPS">
+<ANCHOR id="GST-META-FLAG-LOCKED:CAPS" href="gstreamer-1.0/gstreamer-GstMeta.html#GST-META-FLAG-LOCKED:CAPS">
+<ANCHOR id="GST-META-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMeta.html#GST-META-FLAG-LAST:CAPS">
 <ANCHOR id="GstMetaInfo" href="gstreamer-1.0/gstreamer-GstMeta.html#GstMetaInfo">
 <ANCHOR id="GstMetaTransformCopy" href="gstreamer-1.0/gstreamer-GstMeta.html#GstMetaTransformCopy">
 <ANCHOR id="GST-META-TAG-MEMORY-STR:CAPS" href="gstreamer-1.0/gstreamer-GstMeta.html#GST-META-TAG-MEMORY-STR:CAPS">
@@ -1183,7 +1449,14 @@
 <ANCHOR id="gstreamer-GstMiniObject.other_details" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gstreamer-GstMiniObject.other_details">
 <ANCHOR id="GstMiniObject" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObject">
 <ANCHOR id="GstMiniObjectFlags" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectFlags">
+<ANCHOR id="GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS">
+<ANCHOR id="GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS">
+<ANCHOR id="GST-MINI-OBJECT-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LAST:CAPS">
 <ANCHOR id="GstLockFlags" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstLockFlags">
+<ANCHOR id="GST-LOCK-FLAG-READ:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READ:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-WRITE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-WRITE:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-EXCLUSIVE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-EXCLUSIVE:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-LAST:CAPS">
 <ANCHOR id="GstObject" href="gstreamer-1.0/GstObject.html">
 <ANCHOR id="GstObject.functions" href="gstreamer-1.0/GstObject.html#GstObject.functions">
 <ANCHOR id="GstObject.properties" href="gstreamer-1.0/GstObject.html#GstObject.properties">
@@ -1209,11 +1482,12 @@
 <ANCHOR id="gst-object-get-name" href="gstreamer-1.0/GstObject.html#gst-object-get-name">
 <ANCHOR id="gst-object-set-parent" href="gstreamer-1.0/GstObject.html#gst-object-set-parent">
 <ANCHOR id="gst-object-get-parent" href="gstreamer-1.0/GstObject.html#gst-object-get-parent">
-<ANCHOR id="gst-object-has-parent" href="gstreamer-1.0/GstObject.html#gst-object-has-parent">
+<ANCHOR id="gst-object-has-as-parent" href="gstreamer-1.0/GstObject.html#gst-object-has-as-parent">
 <ANCHOR id="gst-object-unparent" href="gstreamer-1.0/GstObject.html#gst-object-unparent">
 <ANCHOR id="gst-object-default-deep-notify" href="gstreamer-1.0/GstObject.html#gst-object-default-deep-notify">
 <ANCHOR id="gst-object-default-error" href="gstreamer-1.0/GstObject.html#gst-object-default-error">
 <ANCHOR id="gst-object-check-uniqueness" href="gstreamer-1.0/GstObject.html#gst-object-check-uniqueness">
+<ANCHOR id="gst-object-has-as-ancestor" href="gstreamer-1.0/GstObject.html#gst-object-has-as-ancestor">
 <ANCHOR id="gst-object-has-ancestor" href="gstreamer-1.0/GstObject.html#gst-object-has-ancestor">
 <ANCHOR id="gst-object-ref" href="gstreamer-1.0/GstObject.html#gst-object-ref">
 <ANCHOR id="gst-object-unref" href="gstreamer-1.0/GstObject.html#gst-object-unref">
@@ -1237,6 +1511,7 @@
 <ANCHOR id="GstObject-struct" href="gstreamer-1.0/GstObject.html#GstObject-struct">
 <ANCHOR id="GstObjectClass" href="gstreamer-1.0/GstObject.html#GstObjectClass">
 <ANCHOR id="GstObjectFlags" href="gstreamer-1.0/GstObject.html#GstObjectFlags">
+<ANCHOR id="GST-OBJECT-FLAG-LAST:CAPS" href="gstreamer-1.0/GstObject.html#GST-OBJECT-FLAG-LAST:CAPS">
 <ANCHOR id="GstObject.property-details" href="gstreamer-1.0/GstObject.html#GstObject.property-details">
 <ANCHOR id="GstObject--name" href="gstreamer-1.0/GstObject.html#GstObject--name">
 <ANCHOR id="GstObject--parent" href="gstreamer-1.0/GstObject.html#GstObject--parent">
@@ -1426,13 +1701,83 @@
 <ANCHOR id="GstPad.other_details" href="gstreamer-1.0/GstPad.html#GstPad.other_details">
 <ANCHOR id="GstPad-struct" href="gstreamer-1.0/GstPad.html#GstPad-struct">
 <ANCHOR id="GstPadDirection" href="gstreamer-1.0/GstPad.html#GstPadDirection">
+<ANCHOR id="GST-PAD-UNKNOWN:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-UNKNOWN:CAPS">
+<ANCHOR id="GST-PAD-SRC:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-SRC:CAPS">
+<ANCHOR id="GST-PAD-SINK:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-SINK:CAPS">
 <ANCHOR id="GstPadFlags" href="gstreamer-1.0/GstPad.html#GstPadFlags">
+<ANCHOR id="GST-PAD-FLAG-BLOCKED:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-BLOCKED:CAPS">
+<ANCHOR id="GST-PAD-FLAG-FLUSHING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-FLUSHING:CAPS">
+<ANCHOR id="GST-PAD-FLAG-EOS:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-EOS:CAPS">
+<ANCHOR id="GST-PAD-FLAG-BLOCKING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-BLOCKING:CAPS">
+<ANCHOR id="GST-PAD-FLAG-NEED-PARENT:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS">
+<ANCHOR id="GST-PAD-FLAG-NEED-RECONFIGURE:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-NEED-RECONFIGURE:CAPS">
+<ANCHOR id="GST-PAD-FLAG-PENDING-EVENTS:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PENDING-EVENTS:CAPS">
+<ANCHOR id="GST-PAD-FLAG-FIXED-CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-FIXED-CAPS">
+<ANCHOR id="GST-PAD-FLAG-PROXY-CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PROXY-CAPS">
+<ANCHOR id="GST-PAD-FLAG-PROXY-ALLOCATION:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PROXY-ALLOCATION:CAPS">
+<ANCHOR id="GST-PAD-FLAG-PROXY-SCHEDULING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PROXY-SCHEDULING:CAPS">
+<ANCHOR id="GST-PAD-FLAG-ACCEPT-INTERSECT:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-ACCEPT-INTERSECT:CAPS">
+<ANCHOR id="GST-PAD-FLAG-LAST:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-LAST:CAPS">
 <ANCHOR id="GstPadLinkReturn" href="gstreamer-1.0/GstPad.html#GstPadLinkReturn">
+<ANCHOR id="GST-PAD-LINK-OK:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-OK:CAPS">
+<ANCHOR id="GST-PAD-LINK-WRONG-HIERARCHY:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-WRONG-HIERARCHY:CAPS">
+<ANCHOR id="GST-PAD-LINK-WAS-LINKED:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-WAS-LINKED:CAPS">
+<ANCHOR id="GST-PAD-LINK-WRONG-DIRECTION:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-WRONG-DIRECTION:CAPS">
+<ANCHOR id="GST-PAD-LINK-NOFORMAT:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-NOFORMAT:CAPS">
+<ANCHOR id="GST-PAD-LINK-NOSCHED:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-NOSCHED:CAPS">
+<ANCHOR id="GST-PAD-LINK-REFUSED:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-REFUSED:CAPS">
 <ANCHOR id="GstPadLinkCheck" href="gstreamer-1.0/GstPad.html#GstPadLinkCheck">
+<ANCHOR id="GST-PAD-LINK-CHECK-NOTHING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-CHECK-NOTHING:CAPS">
+<ANCHOR id="GST-PAD-LINK-CHECK-HIERARCHY:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-CHECK-HIERARCHY:CAPS">
+<ANCHOR id="GST-PAD-LINK-CHECK-TEMPLATE-CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-CHECK-TEMPLATE-CAPS">
+<ANCHOR id="GST-PAD-LINK-CHECK-CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-CHECK-CAPS">
+<ANCHOR id="GST-PAD-LINK-CHECK-DEFAULT:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS">
 <ANCHOR id="GstFlowReturn" href="gstreamer-1.0/GstPad.html#GstFlowReturn">
+<ANCHOR id="GST-FLOW-CUSTOM-SUCCESS-2:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-SUCCESS-2:CAPS">
+<ANCHOR id="GST-FLOW-CUSTOM-SUCCESS-1:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-SUCCESS-1:CAPS">
+<ANCHOR id="GST-FLOW-CUSTOM-SUCCESS:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-SUCCESS:CAPS">
+<ANCHOR id="GST-FLOW-OK:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS">
+<ANCHOR id="GST-FLOW-NOT-LINKED:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-NOT-LINKED:CAPS">
+<ANCHOR id="GST-FLOW-FLUSHING:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-FLUSHING:CAPS">
+<ANCHOR id="GST-FLOW-EOS:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-EOS:CAPS">
+<ANCHOR id="GST-FLOW-NOT-NEGOTIATED:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-NOT-NEGOTIATED:CAPS">
+<ANCHOR id="GST-FLOW-ERROR:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-ERROR:CAPS">
+<ANCHOR id="GST-FLOW-NOT-SUPPORTED:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-NOT-SUPPORTED:CAPS">
+<ANCHOR id="GST-FLOW-CUSTOM-ERROR:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-ERROR:CAPS">
+<ANCHOR id="GST-FLOW-CUSTOM-ERROR-1:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-ERROR-1:CAPS">
+<ANCHOR id="GST-FLOW-CUSTOM-ERROR-2:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-ERROR-2:CAPS">
 <ANCHOR id="GstPadMode" href="gstreamer-1.0/GstPad.html#GstPadMode">
+<ANCHOR id="GST-PAD-MODE-NONE:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-MODE-NONE:CAPS">
+<ANCHOR id="GST-PAD-MODE-PUSH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-MODE-PUSH:CAPS">
+<ANCHOR id="GST-PAD-MODE-PULL:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-MODE-PULL:CAPS">
 <ANCHOR id="GstPadProbeReturn" href="gstreamer-1.0/GstPad.html#GstPadProbeReturn">
+<ANCHOR id="GST-PAD-PROBE-DROP:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-DROP:CAPS">
+<ANCHOR id="GST-PAD-PROBE-OK:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-OK:CAPS">
+<ANCHOR id="GST-PAD-PROBE-REMOVE:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-REMOVE:CAPS">
+<ANCHOR id="GST-PAD-PROBE-PASS:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-PASS:CAPS">
 <ANCHOR id="GstPadProbeType" href="gstreamer-1.0/GstPad.html#GstPadProbeType">
+<ANCHOR id="GST-PAD-PROBE-TYPE-INVALID:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-INVALID:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-IDLE:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-IDLE:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-BLOCK:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-BLOCK:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-BUFFER:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-BUFFER:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-BUFFER-LIST:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-BUFFER-LIST:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-EVENT-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-EVENT-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-EVENT-UPSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-EVENT-UPSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-EVENT-FLUSH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-EVENT-FLUSH:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-QUERY-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-QUERY-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-QUERY-UPSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-QUERY-UPSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-PUSH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-PUSH:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-PULL:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-PULL:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-BLOCKING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-BLOCKING:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-DATA-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-DATA-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-DATA-UPSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-DATA-UPSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-DATA-BOTH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-DATA-BOTH:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-BLOCK-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-BLOCK-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-BLOCK-UPSTREAM:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-BLOCK-UPSTREAM:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-EVENT-BOTH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-EVENT-BOTH:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-QUERY-BOTH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-QUERY-BOTH:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-ALL-BOTH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-ALL-BOTH:CAPS">
+<ANCHOR id="GST-PAD-PROBE-TYPE-SCHEDULING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-PROBE-TYPE-SCHEDULING:CAPS">
 <ANCHOR id="GstPadProbeInfo" href="gstreamer-1.0/GstPad.html#GstPadProbeInfo">
 <ANCHOR id="GstPad.property-details" href="gstreamer-1.0/GstPad.html#GstPad.property-details">
 <ANCHOR id="GstPad--caps" href="gstreamer-1.0/GstPad.html#GstPad--caps">
@@ -1466,7 +1811,11 @@
 <ANCHOR id="GstStaticPadTemplate" href="gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate">
 <ANCHOR id="GstPadTemplate-struct" href="gstreamer-1.0/GstPadTemplate.html#GstPadTemplate-struct">
 <ANCHOR id="GstPadTemplateFlags" href="gstreamer-1.0/GstPadTemplate.html#GstPadTemplateFlags">
+<ANCHOR id="GST-PAD-TEMPLATE-FLAG-LAST:CAPS" href="gstreamer-1.0/GstPadTemplate.html#GST-PAD-TEMPLATE-FLAG-LAST:CAPS">
 <ANCHOR id="GstPadPresence" href="gstreamer-1.0/GstPadTemplate.html#GstPadPresence">
+<ANCHOR id="GST-PAD-ALWAYS:CAPS" href="gstreamer-1.0/GstPadTemplate.html#GST-PAD-ALWAYS:CAPS">
+<ANCHOR id="GST-PAD-SOMETIMES:CAPS" href="gstreamer-1.0/GstPadTemplate.html#GST-PAD-SOMETIMES:CAPS">
+<ANCHOR id="GST-PAD-REQUEST:CAPS" href="gstreamer-1.0/GstPadTemplate.html#GST-PAD-REQUEST:CAPS">
 <ANCHOR id="GstPadTemplate.property-details" href="gstreamer-1.0/GstPadTemplate.html#GstPadTemplate.property-details">
 <ANCHOR id="GstPadTemplate--caps" href="gstreamer-1.0/GstPadTemplate.html#GstPadTemplate--caps">
 <ANCHOR id="GstPadTemplate--direction" href="gstreamer-1.0/GstPadTemplate.html#GstPadTemplate--direction">
@@ -1510,8 +1859,18 @@
 <ANCHOR id="gstreamer-GstParse.other_details" href="gstreamer-1.0/gstreamer-GstParse.html#gstreamer-GstParse.other_details">
 <ANCHOR id="GST-PARSE-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR:CAPS">
 <ANCHOR id="GstParseError" href="gstreamer-1.0/gstreamer-GstParse.html#GstParseError">
+<ANCHOR id="GST-PARSE-ERROR-SYNTAX:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-SYNTAX:CAPS">
+<ANCHOR id="GST-PARSE-ERROR-NO-SUCH-ELEMENT:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-NO-SUCH-ELEMENT:CAPS">
+<ANCHOR id="GST-PARSE-ERROR-NO-SUCH-PROPERTY:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-NO-SUCH-PROPERTY:CAPS">
+<ANCHOR id="GST-PARSE-ERROR-LINK:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-LINK:CAPS">
+<ANCHOR id="GST-PARSE-ERROR-COULD-NOT-SET-PROPERTY:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-COULD-NOT-SET-PROPERTY:CAPS">
+<ANCHOR id="GST-PARSE-ERROR-EMPTY-BIN:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-EMPTY-BIN:CAPS">
+<ANCHOR id="GST-PARSE-ERROR-EMPTY:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-ERROR-EMPTY:CAPS">
 <ANCHOR id="GstParseContext-struct" href="gstreamer-1.0/gstreamer-GstParse.html#GstParseContext-struct">
 <ANCHOR id="GstParseFlags" href="gstreamer-1.0/gstreamer-GstParse.html#GstParseFlags">
+<ANCHOR id="GST-PARSE-FLAG-NONE:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-FLAG-NONE:CAPS">
+<ANCHOR id="GST-PARSE-FLAG-FATAL-ERRORS:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-FLAG-FATAL-ERRORS:CAPS">
+<ANCHOR id="GST-PARSE-FLAG-NO-SINGLE-ELEMENT-BINS:CAPS" href="gstreamer-1.0/gstreamer-GstParse.html#GST-PARSE-FLAG-NO-SINGLE-ELEMENT-BINS:CAPS">
 <ANCHOR id="GstPipeline" href="gstreamer-1.0/GstPipeline.html">
 <ANCHOR id="GstPipeline.functions" href="gstreamer-1.0/GstPipeline.html#GstPipeline.functions">
 <ANCHOR id="GstPipeline.properties" href="gstreamer-1.0/GstPipeline.html#GstPipeline.properties">
@@ -1535,6 +1894,8 @@
 <ANCHOR id="GstPipeline.other_details" href="gstreamer-1.0/GstPipeline.html#GstPipeline.other_details">
 <ANCHOR id="GstPipeline-struct" href="gstreamer-1.0/GstPipeline.html#GstPipeline-struct">
 <ANCHOR id="GstPipelineFlags" href="gstreamer-1.0/GstPipeline.html#GstPipelineFlags">
+<ANCHOR id="GST-PIPELINE-FLAG-FIXED-CLOCK:CAPS" href="gstreamer-1.0/GstPipeline.html#GST-PIPELINE-FLAG-FIXED-CLOCK:CAPS">
+<ANCHOR id="GST-PIPELINE-FLAG-LAST:CAPS" href="gstreamer-1.0/GstPipeline.html#GST-PIPELINE-FLAG-LAST:CAPS">
 <ANCHOR id="GstPipeline.property-details" href="gstreamer-1.0/GstPipeline.html#GstPipeline.property-details">
 <ANCHOR id="GstPipeline--auto-flush-bus" href="gstreamer-1.0/GstPipeline.html#GstPipeline--auto-flush-bus">
 <ANCHOR id="GstPipeline--delay" href="gstreamer-1.0/GstPipeline.html#GstPipeline--delay">
@@ -1576,11 +1937,20 @@
 <ANCHOR id="GstPlugin.other_details" href="gstreamer-1.0/GstPlugin.html#GstPlugin.other_details">
 <ANCHOR id="GST-PLUGIN-ERROR:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-ERROR:CAPS">
 <ANCHOR id="GstPluginError" href="gstreamer-1.0/GstPlugin.html#GstPluginError">
+<ANCHOR id="GST-PLUGIN-ERROR-MODULE:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-ERROR-MODULE:CAPS">
+<ANCHOR id="GST-PLUGIN-ERROR-DEPENDENCIES:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-ERROR-DEPENDENCIES:CAPS">
+<ANCHOR id="GST-PLUGIN-ERROR-NAME-MISMATCH:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-ERROR-NAME-MISMATCH:CAPS">
 <ANCHOR id="GstPlugin-struct" href="gstreamer-1.0/GstPlugin.html#GstPlugin-struct">
 <ANCHOR id="GstPluginDesc" href="gstreamer-1.0/GstPlugin.html#GstPluginDesc">
 <ANCHOR id="GST-LICENSE-UNKNOWN:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-LICENSE-UNKNOWN:CAPS">
 <ANCHOR id="GstPluginFlags" href="gstreamer-1.0/GstPlugin.html#GstPluginFlags">
+<ANCHOR id="GST-PLUGIN-FLAG-CACHED:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-FLAG-CACHED:CAPS">
+<ANCHOR id="GST-PLUGIN-FLAG-BLACKLISTED:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-FLAG-BLACKLISTED:CAPS">
 <ANCHOR id="GstPluginDependencyFlags" href="gstreamer-1.0/GstPlugin.html#GstPluginDependencyFlags">
+<ANCHOR id="GST-PLUGIN-DEPENDENCY-FLAG-NONE:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-NONE:CAPS">
+<ANCHOR id="GST-PLUGIN-DEPENDENCY-FLAG-RECURSE:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-RECURSE:CAPS">
+<ANCHOR id="GST-PLUGIN-DEPENDENCY-FLAG-PATHS-ARE-DEFAULT-ONLY:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-PATHS-ARE-DEFAULT-ONLY:CAPS">
+<ANCHOR id="GST-PLUGIN-DEPENDENCY-FLAG-FILE-NAME-IS-SUFFIX:CAPS" href="gstreamer-1.0/GstPlugin.html#GST-PLUGIN-DEPENDENCY-FLAG-FILE-NAME-IS-SUFFIX:CAPS">
 <ANCHOR id="GstPlugin.see-also" href="gstreamer-1.0/GstPlugin.html#GstPlugin.see-also">
 <ANCHOR id="GstPluginFeature" href="gstreamer-1.0/GstPluginFeature.html">
 <ANCHOR id="GstPluginFeature.functions" href="gstreamer-1.0/GstPluginFeature.html#GstPluginFeature.functions">
@@ -1605,6 +1975,10 @@
 <ANCHOR id="GstPluginFeature.other_details" href="gstreamer-1.0/GstPluginFeature.html#GstPluginFeature.other_details">
 <ANCHOR id="GstPluginFeature-struct" href="gstreamer-1.0/GstPluginFeature.html#GstPluginFeature-struct">
 <ANCHOR id="GstRank" href="gstreamer-1.0/GstPluginFeature.html#GstRank">
+<ANCHOR id="GST-RANK-NONE:CAPS" href="gstreamer-1.0/GstPluginFeature.html#GST-RANK-NONE:CAPS">
+<ANCHOR id="GST-RANK-MARGINAL:CAPS" href="gstreamer-1.0/GstPluginFeature.html#GST-RANK-MARGINAL:CAPS">
+<ANCHOR id="GST-RANK-SECONDARY:CAPS" href="gstreamer-1.0/GstPluginFeature.html#GST-RANK-SECONDARY:CAPS">
+<ANCHOR id="GST-RANK-PRIMARY:CAPS" href="gstreamer-1.0/GstPluginFeature.html#GST-RANK-PRIMARY:CAPS">
 <ANCHOR id="GstPluginFeature.see-also" href="gstreamer-1.0/GstPluginFeature.html#GstPluginFeature.see-also">
 <ANCHOR id="gstreamer-GstPoll" href="gstreamer-1.0/gstreamer-GstPoll.html">
 <ANCHOR id="gstreamer-GstPoll.functions" href="gstreamer-1.0/gstreamer-GstPoll.html#gstreamer-GstPoll.functions">
@@ -1774,10 +2148,39 @@
 <ANCHOR id="GstQuery.other_details" href="gstreamer-1.0/GstQuery.html#GstQuery.other_details">
 <ANCHOR id="GstQuery-struct" href="gstreamer-1.0/GstQuery.html#GstQuery-struct">
 <ANCHOR id="GstQueryTypeFlags" href="gstreamer-1.0/GstQuery.html#GstQueryTypeFlags">
+<ANCHOR id="GST-QUERY-TYPE-UPSTREAM:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-TYPE-UPSTREAM:CAPS">
+<ANCHOR id="GST-QUERY-TYPE-DOWNSTREAM:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-TYPE-DOWNSTREAM:CAPS">
+<ANCHOR id="GST-QUERY-TYPE-SERIALIZED:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-TYPE-SERIALIZED:CAPS">
 <ANCHOR id="GST-QUERY-TYPE-BOTH:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-TYPE-BOTH:CAPS">
 <ANCHOR id="GstQueryType" href="gstreamer-1.0/GstQuery.html#GstQueryType">
+<ANCHOR id="GST-QUERY-UNKNOWN:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-UNKNOWN:CAPS">
+<ANCHOR id="GST-QUERY-POSITION:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-POSITION:CAPS">
+<ANCHOR id="GST-QUERY-DURATION:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-DURATION:CAPS">
+<ANCHOR id="GST-QUERY-LATENCY:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-LATENCY:CAPS">
+<ANCHOR id="GST-QUERY-JITTER:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-JITTER:CAPS">
+<ANCHOR id="GST-QUERY-RATE:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-RATE:CAPS">
+<ANCHOR id="GST-QUERY-SEEKING:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-SEEKING:CAPS">
+<ANCHOR id="GST-QUERY-SEGMENT:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-SEGMENT:CAPS">
+<ANCHOR id="GST-QUERY-CONVERT:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-CONVERT:CAPS">
+<ANCHOR id="GST-QUERY-FORMATS:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-FORMATS:CAPS">
+<ANCHOR id="GST-QUERY-BUFFERING:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-BUFFERING:CAPS">
+<ANCHOR id="GST-QUERY-CUSTOM:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-CUSTOM:CAPS">
+<ANCHOR id="GST-QUERY-URI:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-URI:CAPS">
+<ANCHOR id="GST-QUERY-ALLOCATION:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-ALLOCATION:CAPS">
+<ANCHOR id="GST-QUERY-SCHEDULING:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-SCHEDULING:CAPS">
+<ANCHOR id="GST-QUERY-ACCEPT-CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-ACCEPT-CAPS">
+<ANCHOR id="GST-QUERY-CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-CAPS">
+<ANCHOR id="GST-QUERY-DRAIN:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-DRAIN:CAPS">
+<ANCHOR id="GST-QUERY-CONTEXT:CAPS" href="gstreamer-1.0/GstQuery.html#GST-QUERY-CONTEXT:CAPS">
 <ANCHOR id="GstBufferingMode" href="gstreamer-1.0/GstQuery.html#GstBufferingMode">
+<ANCHOR id="GST-BUFFERING-STREAM:CAPS" href="gstreamer-1.0/GstQuery.html#GST-BUFFERING-STREAM:CAPS">
+<ANCHOR id="GST-BUFFERING-DOWNLOAD:CAPS" href="gstreamer-1.0/GstQuery.html#GST-BUFFERING-DOWNLOAD:CAPS">
+<ANCHOR id="GST-BUFFERING-TIMESHIFT:CAPS" href="gstreamer-1.0/GstQuery.html#GST-BUFFERING-TIMESHIFT:CAPS">
+<ANCHOR id="GST-BUFFERING-LIVE:CAPS" href="gstreamer-1.0/GstQuery.html#GST-BUFFERING-LIVE:CAPS">
 <ANCHOR id="GstSchedulingFlags" href="gstreamer-1.0/GstQuery.html#GstSchedulingFlags">
+<ANCHOR id="GST-SCHEDULING-FLAG-SEEKABLE:CAPS" href="gstreamer-1.0/GstQuery.html#GST-SCHEDULING-FLAG-SEEKABLE:CAPS">
+<ANCHOR id="GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS" href="gstreamer-1.0/GstQuery.html#GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS">
+<ANCHOR id="GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS" href="gstreamer-1.0/GstQuery.html#GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS">
 <ANCHOR id="GstQuery.see-also" href="gstreamer-1.0/GstQuery.html#GstQuery.see-also">
 <ANCHOR id="GstRegistry" href="gstreamer-1.0/GstRegistry.html">
 <ANCHOR id="GstRegistry.functions" href="gstreamer-1.0/GstRegistry.html#GstRegistry.functions">
@@ -1836,6 +2239,13 @@
 <ANCHOR id="GstSegment.other_details" href="gstreamer-1.0/GstSegment.html#GstSegment.other_details">
 <ANCHOR id="GstSegment-struct" href="gstreamer-1.0/GstSegment.html#GstSegment-struct">
 <ANCHOR id="GstSegmentFlags" href="gstreamer-1.0/GstSegment.html#GstSegmentFlags">
+<ANCHOR id="GST-SEGMENT-FLAG-NONE:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-NONE:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-RESET:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-RESET:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-TRICKMODE:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-TRICKMODE:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-SKIP:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-SKIP:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-SEGMENT:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-SEGMENT:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-TRICKMODE-KEY-UNITS:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-TRICKMODE-KEY-UNITS:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-TRICKMODE-NO-AUDIO:CAPS" href="gstreamer-1.0/GstSegment.html#GST-SEGMENT-FLAG-TRICKMODE-NO-AUDIO:CAPS">
 <ANCHOR id="GstSegment.see-also" href="gstreamer-1.0/GstSegment.html#GstSegment.see-also">
 <ANCHOR id="GstStructure" href="gstreamer-1.0/GstStructure.html">
 <ANCHOR id="GstStructure.functions" href="gstreamer-1.0/GstStructure.html#GstStructure.functions">
@@ -1928,6 +2338,9 @@
 <ANCHOR id="gst-system-clock-set-default" href="gstreamer-1.0/GstSystemClock.html#gst-system-clock-set-default">
 <ANCHOR id="GstSystemClock.other_details" href="gstreamer-1.0/GstSystemClock.html#GstSystemClock.other_details">
 <ANCHOR id="GstClockType" href="gstreamer-1.0/GstSystemClock.html#GstClockType">
+<ANCHOR id="GST-CLOCK-TYPE-REALTIME:CAPS" href="gstreamer-1.0/GstSystemClock.html#GST-CLOCK-TYPE-REALTIME:CAPS">
+<ANCHOR id="GST-CLOCK-TYPE-MONOTONIC:CAPS" href="gstreamer-1.0/GstSystemClock.html#GST-CLOCK-TYPE-MONOTONIC:CAPS">
+<ANCHOR id="GST-CLOCK-TYPE-OTHER:CAPS" href="gstreamer-1.0/GstSystemClock.html#GST-CLOCK-TYPE-OTHER:CAPS">
 <ANCHOR id="GstSystemClock-struct" href="gstreamer-1.0/GstSystemClock.html#GstSystemClock-struct">
 <ANCHOR id="GstSystemClock.property-details" href="gstreamer-1.0/GstSystemClock.html#GstSystemClock.property-details">
 <ANCHOR id="GstSystemClock--clock-type" href="gstreamer-1.0/GstSystemClock.html#GstSystemClock--clock-type">
@@ -2008,8 +2421,23 @@
 <ANCHOR id="GstTagList.other_details" href="gstreamer-1.0/GstTagList.html#GstTagList.other_details">
 <ANCHOR id="GstTagList-struct" href="gstreamer-1.0/GstTagList.html#GstTagList-struct">
 <ANCHOR id="GstTagMergeMode" href="gstreamer-1.0/GstTagList.html#GstTagMergeMode">
+<ANCHOR id="GST-TAG-MERGE-UNDEFINED:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-UNDEFINED:CAPS">
+<ANCHOR id="GST-TAG-MERGE-REPLACE-ALL:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-REPLACE-ALL:CAPS">
+<ANCHOR id="GST-TAG-MERGE-REPLACE:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS">
+<ANCHOR id="GST-TAG-MERGE-APPEND:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-APPEND:CAPS">
+<ANCHOR id="GST-TAG-MERGE-PREPEND:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-PREPEND:CAPS">
+<ANCHOR id="GST-TAG-MERGE-KEEP:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-KEEP:CAPS">
+<ANCHOR id="GST-TAG-MERGE-KEEP-ALL:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-KEEP-ALL:CAPS">
+<ANCHOR id="GST-TAG-MERGE-COUNT:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-MERGE-COUNT:CAPS">
 <ANCHOR id="GstTagFlag" href="gstreamer-1.0/GstTagList.html#GstTagFlag">
+<ANCHOR id="GST-TAG-FLAG-UNDEFINED:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-FLAG-UNDEFINED:CAPS">
+<ANCHOR id="GST-TAG-FLAG-META:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-FLAG-META:CAPS">
+<ANCHOR id="GST-TAG-FLAG-ENCODED:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-FLAG-ENCODED:CAPS">
+<ANCHOR id="GST-TAG-FLAG-DECODED:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-FLAG-DECODED:CAPS">
+<ANCHOR id="GST-TAG-FLAG-COUNT:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-FLAG-COUNT:CAPS">
 <ANCHOR id="GstTagScope" href="gstreamer-1.0/GstTagList.html#GstTagScope">
+<ANCHOR id="GST-TAG-SCOPE-STREAM:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-SCOPE-STREAM:CAPS">
+<ANCHOR id="GST-TAG-SCOPE-GLOBAL:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-SCOPE-GLOBAL:CAPS">
 <ANCHOR id="GST-TAG-TITLE:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-TITLE:CAPS">
 <ANCHOR id="GST-TAG-TITLE-SORTNAME:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-TITLE-SORTNAME:CAPS">
 <ANCHOR id="GST-TAG-ARTIST:CAPS" href="gstreamer-1.0/GstTagList.html#GST-TAG-ARTIST:CAPS">
@@ -2145,6 +2573,9 @@
 <ANCHOR id="GstTask.other_details" href="gstreamer-1.0/GstTask.html#GstTask.other_details">
 <ANCHOR id="GstTask-struct" href="gstreamer-1.0/GstTask.html#GstTask-struct">
 <ANCHOR id="GstTaskState" href="gstreamer-1.0/GstTask.html#GstTaskState">
+<ANCHOR id="GST-TASK-STARTED:CAPS" href="gstreamer-1.0/GstTask.html#GST-TASK-STARTED:CAPS">
+<ANCHOR id="GST-TASK-STOPPED:CAPS" href="gstreamer-1.0/GstTask.html#GST-TASK-STOPPED:CAPS">
+<ANCHOR id="GST-TASK-PAUSED:CAPS" href="gstreamer-1.0/GstTask.html#GST-TASK-PAUSED:CAPS">
 <ANCHOR id="GstTask.see-also" href="gstreamer-1.0/GstTask.html#GstTask.see-also">
 <ANCHOR id="GstTaskPool" href="gstreamer-1.0/GstTaskPool.html">
 <ANCHOR id="GstTaskPool.functions" href="gstreamer-1.0/GstTaskPool.html#GstTaskPool.functions">
@@ -2211,9 +2642,22 @@
 <ANCHOR id="GstToc.other_details" href="gstreamer-1.0/GstToc.html#GstToc.other_details">
 <ANCHOR id="GstToc-struct" href="gstreamer-1.0/GstToc.html#GstToc-struct">
 <ANCHOR id="GstTocScope" href="gstreamer-1.0/GstToc.html#GstTocScope">
+<ANCHOR id="GST-TOC-SCOPE-GLOBAL:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-SCOPE-GLOBAL:CAPS">
+<ANCHOR id="GST-TOC-SCOPE-CURRENT:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-SCOPE-CURRENT:CAPS">
 <ANCHOR id="GstTocEntry-struct" href="gstreamer-1.0/GstToc.html#GstTocEntry-struct">
 <ANCHOR id="GstTocEntryType" href="gstreamer-1.0/GstToc.html#GstTocEntryType">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-ANGLE:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-ANGLE:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-VERSION:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-VERSION:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-EDITION:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-EDITION:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-INVALID:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-INVALID:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-TITLE:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-TITLE:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-TRACK:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-TRACK:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-CHAPTER:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-ENTRY-TYPE-CHAPTER:CAPS">
 <ANCHOR id="GstTocLoopType" href="gstreamer-1.0/GstToc.html#GstTocLoopType">
+<ANCHOR id="GST-TOC-LOOP-NONE:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-LOOP-NONE:CAPS">
+<ANCHOR id="GST-TOC-LOOP-FORWARD:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-LOOP-FORWARD:CAPS">
+<ANCHOR id="GST-TOC-LOOP-REVERSE:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-LOOP-REVERSE:CAPS">
+<ANCHOR id="GST-TOC-LOOP-PING-PONG:CAPS" href="gstreamer-1.0/GstToc.html#GST-TOC-LOOP-PING-PONG:CAPS">
 <ANCHOR id="GstToc.see-also" href="gstreamer-1.0/GstToc.html#GstToc.see-also">
 <ANCHOR id="gstreamer-GstTocSetter" href="gstreamer-1.0/gstreamer-GstTocSetter.html">
 <ANCHOR id="gstreamer-GstTocSetter.functions" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gstreamer-GstTocSetter.functions">
@@ -2242,6 +2686,12 @@
 <ANCHOR id="gstreamer-GstTypeFind.other_details" href="gstreamer-1.0/gstreamer-GstTypeFind.html#gstreamer-GstTypeFind.other_details">
 <ANCHOR id="GstTypeFind" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFind">
 <ANCHOR id="GstTypeFindProbability" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability">
+<ANCHOR id="GST-TYPE-FIND-NONE:CAPS" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-NONE:CAPS">
+<ANCHOR id="GST-TYPE-FIND-MINIMUM:CAPS" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MINIMUM:CAPS">
+<ANCHOR id="GST-TYPE-FIND-POSSIBLE:CAPS" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-POSSIBLE:CAPS">
+<ANCHOR id="GST-TYPE-FIND-LIKELY:CAPS" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-LIKELY:CAPS">
+<ANCHOR id="GST-TYPE-FIND-NEARLY-CERTAIN:CAPS" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-NEARLY-CERTAIN:CAPS">
+<ANCHOR id="GST-TYPE-FIND-MAXIMUM:CAPS" href="gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS">
 <ANCHOR id="GstTypeFindFactory" href="gstreamer-1.0/GstTypeFindFactory.html">
 <ANCHOR id="GstTypeFindFactory.functions" href="gstreamer-1.0/GstTypeFindFactory.html#GstTypeFindFactory.functions">
 <ANCHOR id="GstTypeFindFactory.other" href="gstreamer-1.0/GstTypeFindFactory.html#GstTypeFindFactory.other">
@@ -2335,7 +2785,14 @@
 <ANCHOR id="GstURIHandler-struct" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler-struct">
 <ANCHOR id="GstURIHandlerInterface" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandlerInterface">
 <ANCHOR id="GstURIType" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIType">
+<ANCHOR id="GST-URI-UNKNOWN:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-UNKNOWN:CAPS">
+<ANCHOR id="GST-URI-SINK:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-SINK:CAPS">
+<ANCHOR id="GST-URI-SRC:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-SRC:CAPS">
 <ANCHOR id="GstURIError" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIError">
+<ANCHOR id="GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS">
+<ANCHOR id="GST-URI-ERROR-BAD-URI:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-URI:CAPS">
+<ANCHOR id="GST-URI-ERROR-BAD-STATE:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-STATE:CAPS">
+<ANCHOR id="GST-URI-ERROR-BAD-REFERENCE:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-REFERENCE:CAPS">
 <ANCHOR id="GST-URI-NO-PORT:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS">
 <ANCHOR id="gstreamer-GstUtils" href="gstreamer-1.0/gstreamer-GstUtils.html">
 <ANCHOR id="gstreamer-GstUtils.functions" href="gstreamer-1.0/gstreamer-GstUtils.html#gstreamer-GstUtils.functions">
@@ -2422,6 +2879,9 @@
 <ANCHOR id="gst-util-array-binary-search" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-util-array-binary-search">
 <ANCHOR id="gstreamer-GstUtils.other_details" href="gstreamer-1.0/gstreamer-GstUtils.html#gstreamer-GstUtils.other_details">
 <ANCHOR id="GstSearchMode" href="gstreamer-1.0/gstreamer-GstUtils.html#GstSearchMode">
+<ANCHOR id="GST-SEARCH-MODE-EXACT:CAPS" href="gstreamer-1.0/gstreamer-GstUtils.html#GST-SEARCH-MODE-EXACT:CAPS">
+<ANCHOR id="GST-SEARCH-MODE-BEFORE:CAPS" href="gstreamer-1.0/gstreamer-GstUtils.html#GST-SEARCH-MODE-BEFORE:CAPS">
+<ANCHOR id="GST-SEARCH-MODE-AFTER:CAPS" href="gstreamer-1.0/gstreamer-GstUtils.html#GST-SEARCH-MODE-AFTER:CAPS">
 <ANCHOR id="gstreamer-GstValue" href="gstreamer-1.0/gstreamer-GstValue.html">
 <ANCHOR id="gstreamer-GstValue.functions" href="gstreamer-1.0/gstreamer-GstValue.html#gstreamer-GstValue.functions">
 <ANCHOR id="gstreamer-GstValue.other" href="gstreamer-1.0/gstreamer-GstValue.html#gstreamer-GstValue.other">
@@ -2442,6 +2902,13 @@
 <ANCHOR id="GST-TYPE-BITMASK:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS">
 <ANCHOR id="gst-value-set-bitmask" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-bitmask">
 <ANCHOR id="gst-value-get-bitmask" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-bitmask">
+<ANCHOR id="GST-VALUE-HOLDS-FLAG-SET:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-FLAG-SET:CAPS">
+<ANCHOR id="GST-TYPE-FLAG-SET:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-FLAG-SET:CAPS">
+<ANCHOR id="gst-structure-get-flagset" href="gstreamer-1.0/gstreamer-GstValue.html#gst-structure-get-flagset">
+<ANCHOR id="gst-value-get-flagset-flags" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-flagset-flags">
+<ANCHOR id="gst-value-get-flagset-mask" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-flagset-mask">
+<ANCHOR id="gst-value-set-flagset" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-flagset">
+<ANCHOR id="GST-FLAG-SET-MASK-EXACT:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-FLAG-SET-MASK-EXACT:CAPS">
 <ANCHOR id="GST-VALUE-HOLDS-INT64-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-INT64-RANGE:CAPS">
 <ANCHOR id="GST-TYPE-INT64-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS">
 <ANCHOR id="gst-value-set-int64-range" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-int64-range">
@@ -2704,12 +3171,50 @@
 <ANCHOR id="gst-debug-bin-to-dot-file-with-ts" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-bin-to-dot-file-with-ts">
 <ANCHOR id="gstreamer-GstInfo.other_details" href="gstreamer-1.0/gstreamer-GstInfo.html#gstreamer-GstInfo.other_details">
 <ANCHOR id="GstDebugLevel" href="gstreamer-1.0/gstreamer-GstInfo.html#GstDebugLevel">
+<ANCHOR id="GST-LEVEL-NONE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-NONE:CAPS">
+<ANCHOR id="GST-LEVEL-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-ERROR:CAPS">
+<ANCHOR id="GST-LEVEL-WARNING:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-WARNING:CAPS">
+<ANCHOR id="GST-LEVEL-FIXME:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-FIXME:CAPS">
+<ANCHOR id="GST-LEVEL-INFO:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-INFO:CAPS">
+<ANCHOR id="GST-LEVEL-DEBUG:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-DEBUG:CAPS">
+<ANCHOR id="GST-LEVEL-LOG:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-LOG:CAPS">
+<ANCHOR id="GST-LEVEL-TRACE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-TRACE:CAPS">
+<ANCHOR id="GST-LEVEL-MEMDUMP:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-MEMDUMP:CAPS">
+<ANCHOR id="GST-LEVEL-COUNT:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-COUNT:CAPS">
 <ANCHOR id="GST-LEVEL-DEFAULT:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-DEFAULT:CAPS">
 <ANCHOR id="GST-LEVEL-MAX:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-LEVEL-MAX:CAPS">
 <ANCHOR id="GstDebugColorFlags" href="gstreamer-1.0/gstreamer-GstInfo.html#GstDebugColorFlags">
+<ANCHOR id="GST-DEBUG-FG-BLACK:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-BLACK:CAPS">
+<ANCHOR id="GST-DEBUG-FG-RED:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-RED:CAPS">
+<ANCHOR id="GST-DEBUG-FG-GREEN:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-GREEN:CAPS">
+<ANCHOR id="GST-DEBUG-FG-YELLOW:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-YELLOW:CAPS">
+<ANCHOR id="GST-DEBUG-FG-BLUE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-BLUE:CAPS">
+<ANCHOR id="GST-DEBUG-FG-MAGENTA:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-MAGENTA:CAPS">
+<ANCHOR id="GST-DEBUG-FG-CYAN:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-CYAN:CAPS">
+<ANCHOR id="GST-DEBUG-FG-WHITE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-FG-WHITE:CAPS">
+<ANCHOR id="GST-DEBUG-BG-BLACK:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-BLACK:CAPS">
+<ANCHOR id="GST-DEBUG-BG-RED:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-RED:CAPS">
+<ANCHOR id="GST-DEBUG-BG-GREEN:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-GREEN:CAPS">
+<ANCHOR id="GST-DEBUG-BG-YELLOW:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-YELLOW:CAPS">
+<ANCHOR id="GST-DEBUG-BG-BLUE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-BLUE:CAPS">
+<ANCHOR id="GST-DEBUG-BG-MAGENTA:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-MAGENTA:CAPS">
+<ANCHOR id="GST-DEBUG-BG-CYAN:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-CYAN:CAPS">
+<ANCHOR id="GST-DEBUG-BG-WHITE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BG-WHITE:CAPS">
+<ANCHOR id="GST-DEBUG-BOLD:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-BOLD:CAPS">
+<ANCHOR id="GST-DEBUG-UNDERLINE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-UNDERLINE:CAPS">
 <ANCHOR id="GstDebugColorMode" href="gstreamer-1.0/gstreamer-GstInfo.html#GstDebugColorMode">
+<ANCHOR id="GST-DEBUG-COLOR-MODE-OFF:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-COLOR-MODE-OFF:CAPS">
+<ANCHOR id="GST-DEBUG-COLOR-MODE-ON:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-COLOR-MODE-ON:CAPS">
+<ANCHOR id="GST-DEBUG-COLOR-MODE-UNIX:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-COLOR-MODE-UNIX:CAPS">
 <ANCHOR id="GstDebugCategory" href="gstreamer-1.0/gstreamer-GstInfo.html#GstDebugCategory">
 <ANCHOR id="GstDebugGraphDetails" href="gstreamer-1.0/gstreamer-GstInfo.html#GstDebugGraphDetails">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-MEDIA-TYPE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-MEDIA-TYPE:CAPS">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-CAPS-DETAILS:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-CAPS-DETAILS:CAPS">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-NON-DEFAULT-PARAMS:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-NON-DEFAULT-PARAMS:CAPS">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-STATES:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-STATES:CAPS">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-FULL-PARAMS:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-FULL-PARAMS:CAPS">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-ALL:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-ALL:CAPS">
+<ANCHOR id="GST-DEBUG-GRAPH-SHOW-VERBOSE:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-GRAPH-SHOW-VERBOSE:CAPS">
 <ANCHOR id="GST-CAT-DEFAULT:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-CAT-DEFAULT:CAPS">
 <ANCHOR id="GST-TIME-FORMAT:CAPS" href="gstreamer-1.0/gstreamer-GstInfo.html#GST-TIME-FORMAT:CAPS">
 <ANCHOR id="gstreamer-GstInfo.see-also" href="gstreamer-1.0/gstreamer-GstInfo.html#gstreamer-GstInfo.see-also">
@@ -2723,6 +3228,7 @@
 <ANCHOR id="annotation-glossterm-out" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-out">
 <ANCHOR id="annotation-glossterm-out callee-allocates" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-out callee-allocates">
 <ANCHOR id="annotation-glossterm-out caller-allocates" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-out caller-allocates">
+<ANCHOR id="annotation-glossterm-rename-to" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-rename-to">
 <ANCHOR id="annotation-glossterm-scope async" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-scope async">
 <ANCHOR id="annotation-glossterm-scope call" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-scope call">
 <ANCHOR id="annotation-glossterm-skip" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-skip">
@@ -2731,3 +3237,4 @@
 <ANCHOR id="annotation-glossterm-transfer full" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-transfer full">
 <ANCHOR id="annotation-glossterm-transfer none" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-transfer none">
 <ANCHOR id="annotation-glossterm-type" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-type">
+<ANCHOR id="annotation-glossterm-virtual" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-virtual">
diff --git a/docs/gst/html/libgstreamer.html b/docs/gst/html/libgstreamer.html
index 043e7f3..324ed48 100644
--- a/docs/gst/html/libgstreamer.html
+++ b/docs/gst/html/libgstreamer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Core Reference Manual: GStreamer Core Library</title>
+<title>GStreamer Core Library: GStreamer 1.0 Core Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="prev" href="gst-running.html" title="Running GStreamer Applications">
 <link rel="next" href="gstreamer-Gst.html" title="Gst">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -156,7 +156,7 @@
                     values in them.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose">Abstract base class for management of <span class="type">GstPlugin</span> objects</span>
+<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose"> — Abstract base class for management of <span class="type">GstPlugin</span> objects</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstSegment.html">GstSegment</a></span><span class="refpurpose"> — Structure describing the configured region of interest
@@ -219,7 +219,6 @@
     </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/gst/html/style.css b/docs/gst/html/style.css
index c141ddd..3675420 100644
--- a/docs/gst/html/style.css
+++ b/docs/gst/html/style.css
@@ -60,7 +60,7 @@
 div.informaltable table
 {
   border-collapse: separate;
-  border-spacing: 1em 0.5em;
+  border-spacing: 1em 0.3em;
   border: none;
 }
 
@@ -148,6 +148,8 @@
 h4
 {
   color: #555753;
+  margin-top: 1em;
+  margin-bottom: 1em;
 }
 
 hr
@@ -166,17 +168,16 @@
   padding-bottom: 0.25em;
 }
 
-dl.toc > dd > dl > dt
+dl.toc > dt
 {
   padding-top: 0.25em;
   padding-bottom: 0.25em;
+  font-weight: bold;
 }
 
-dl.toc > dt
+dl.toc > dl
 {
-  padding-top: 1em;
   padding-bottom: 0.5em;
-  font-weight: bold;
 }
 
 .parameter
@@ -346,7 +347,9 @@
 }
 
 @media screen {
-  sup a.footnote
+  /* these have a <sup> as a first child, but since there are no parent selectors
+   * we can't use that. */
+  a.footnote
   {
     position: relative;
     top: 0em ! important;
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 66d4113..df909e2 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -180,6 +180,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -272,6 +273,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -283,6 +285,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -369,6 +372,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/libs/gstreamer-libs-docs.sgml b/docs/libs/gstreamer-libs-docs.sgml
index 0070771..406d606 100644
--- a/docs/libs/gstreamer-libs-docs.sgml
+++ b/docs/libs/gstreamer-libs-docs.sgml
@@ -76,6 +76,7 @@
       <xi:include href="xml/gstnetclientclock.xml" />
       <xi:include href="xml/gstnettimepacket.xml" />
       <xi:include href="xml/gstnettimeprovider.xml" />
+      <xi:include href="xml/gstptpclock.xml" />
     </chapter>
 
     <chapter id="gstreamer-check">
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
index f1db3a0..1db7642 100644
--- a/docs/libs/gstreamer-libs-sections.txt
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -890,7 +890,9 @@
 <TITLE>GstNetClientClock</TITLE>
 <INCLUDE>gst/net/gstnet.h</INCLUDE>
 GstNetClientClock
+GstNtpClock
 gst_net_client_clock_new
+gst_ntp_clock_new
 <SUBSECTION Standard>
 GstNetClientClockClass
 GstNetClientClockPrivate
@@ -899,8 +901,15 @@
 GST_TYPE_NET_CLIENT_CLOCK
 GST_NET_CLIENT_CLOCK_CLASS
 GST_IS_NET_CLIENT_CLOCK_CLASS
+GstNtpClockClass
+GST_NTP_CLOCK
+GST_IS_NTP_CLOCK
+GST_TYPE_NTP_CLOCK
+GST_NTP_CLOCK_CLASS
+GST_IS_NTP_CLOCK_CLASS
 <SUBSECTION Private>
 gst_net_client_clock_get_type
+gst_ntp_clock_get_type
 </SECTION>
 
 
@@ -942,6 +951,32 @@
 </SECTION>
 
 <SECTION>
+<FILE>gstptpclock</FILE>
+<TITLE>GstPtpClock</TITLE>
+<INCLUDE>gst/net/net.h</INCLUDE>
+gst_ptp_init
+gst_ptp_deinit
+gst_ptp_is_initialized
+gst_ptp_is_supported
+
+GstPtpClock
+gst_ptp_clock_new
+
+gst_ptp_statistics_callback_add
+gst_ptp_statistics_callback_remove
+<SUBSECTION Standard>
+GstPtpClockClass
+GstPtpClockPrivate
+GST_PTP_CLOCK
+GST_IS_PTP_CLOCK
+GST_TYPE_PTP_CLOCK
+GST_PTP_CLOCK_CLASS
+GST_IS_PTP_CLOCK_CLASS
+<SUBSECTION Private>
+gst_ptp_clock_get_type
+</SECTION>
+
+<SECTION>
 <FILE>gstcheck</FILE>
 <TITLE>GstCheck</TITLE>
 <INCLUDE>gst/check/gstcheck.h</INCLUDE>
diff --git a/docs/libs/html/GstARGBControlBinding.html b/docs/libs/html/GstARGBControlBinding.html
index 85db73d..d374da5 100644
--- a/docs/libs/html/GstARGBControlBinding.html
+++ b/docs/libs/html/GstARGBControlBinding.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstARGBControlBinding</title>
+<title>GstARGBControlBinding: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="prev" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="next" href="GstDirectControlBinding.html" title="GstDirectControlBinding">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -203,7 +203,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstAdapter.html b/docs/libs/html/GstAdapter.html
index 8cbd748..96acf73 100644
--- a/docs/libs/html/GstAdapter.html
+++ b/docs/libs/html/GstAdapter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstAdapter</title>
+<title>GstAdapter: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstPushSrc.html" title="GstPushSrc">
 <link rel="next" href="gstreamer-libs-GstBitReader.html" title="GstBitReader">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -317,7 +317,7 @@
 <p>An element using <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> in its sink pad chain function should ensure that
 when the FLUSH_STOP event is received, that any queued data is cleared using
 <a class="link" href="GstAdapter.html#gst-adapter-clear" title="gst_adapter_clear ()"><code class="function">gst_adapter_clear()</code></a>. Data should also be cleared or processed on EOS and
-when changing state from <code class="literal">GST_STATE_PAUSED</code> to <code class="literal">GST_STATE_READY</code>.</p>
+when changing state from <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-READY:CAPS"><code class="literal">GST_STATE_READY</code></a>.</p>
 <p>Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might
 need to clear the adapter after a discontinuity.</p>
 <p>The adapter will keep track of the timestamps of the buffers
@@ -506,8 +506,9 @@
  + <em class="parameter"><code>size</code></em>
 ) bytes
 available before calling this function.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.8.8.7.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.8.8.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -554,8 +555,9 @@
  and into a new <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> structure which is returned. Depending on
 the value of the <em class="parameter"><code>size</code></em>
  argument an empty <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> structure may be returned.</p>
+<p><span class="annotation">[<acronym title="Rename the original symbol's name to SYMBOL."><span class="acronym">rename-to</span></acronym> gst_adapter_copy]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.8.8.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.8.8.8.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -582,11 +584,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.8.8.8.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.8.8.8.7"></a><h4>Returns</h4>
 <p> A new <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> structure containing the copied data. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -649,7 +651,6 @@
 <a name="id-1.2.4.8.8.10.6"></a><h4>Returns</h4>
 <p> number of bytes available in <em class="parameter"><code>adapter</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -680,7 +681,6 @@
 <p> number of bytes that are available in <em class="parameter"><code>adapter</code></em>
 without expensive
 operations</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -832,7 +832,7 @@
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> when no longer needed. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -924,7 +924,7 @@
 available. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -965,7 +965,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.8.8.17.7"></a><h4>Returns</h4>
 <p> The previously seen pts.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1007,7 +1006,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.8.8.18.7"></a><h4>Returns</h4>
 <p> The previously seen dts.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1056,9 +1054,8 @@
 <div class="refsect3">
 <a name="id-1.2.4.8.8.19.7"></a><h4>Returns</h4>
 <p> The previously seen pts at given offset.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1106,9 +1103,8 @@
 <div class="refsect3">
 <a name="id-1.2.4.8.8.20.7"></a><h4>Returns</h4>
 <p> The previously seen dts at given offset.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1193,7 +1189,6 @@
 gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);
 // -&gt; returns -1
 </pre>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1268,7 +1263,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.8.8.22.8"></a><h4>Returns</h4>
 <p> offset of the first match, or -1 if no match was found.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1282,7 +1276,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstBaseParse.html b/docs/libs/html/GstBaseParse.html
index 56b69c7..2667f84 100644
--- a/docs/libs/html/GstBaseParse.html
+++ b/docs/libs/html/GstBaseParse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstBaseParse</title>
+<title>GstBaseParse: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="next" href="GstBaseSrc.html" title="GstBaseSrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -395,9 +395,9 @@
 needs to set the fixed caps on srcpad, when the format is ensured (e.g.
 when base class calls subclass' <em class="parameter"><code>set_sink_caps</code></em>
  function).</p>
-<p>This base class uses <code class="literal">GST_FORMAT_DEFAULT</code> as a meaning of frames. So,
+<p>This base class uses <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><code class="literal">GST_FORMAT_DEFAULT</code></a> as a meaning of frames. So,
 subclass conversion routine needs to know that conversion from
-<code class="literal">GST_FORMAT_TIME</code> to <code class="literal">GST_FORMAT_DEFAULT</code> must return the
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><code class="literal">GST_FORMAT_DEFAULT</code></a> must return the
 frame number that can be found from the given byte position.</p>
 <p><a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> uses subclasses conversion methods also for seeking (or
 otherwise uses its own default one, see also below).</p>
@@ -859,7 +859,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -911,7 +911,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.9.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if conversion was successful.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -970,7 +969,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.9.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating whether entry was added</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1016,7 +1014,6 @@
 <a name="id-1.2.4.3.9.15.6"></a><h4>Returns</h4>
 <p> a newly-allocated <a class="link" href="GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a>. Free with
 <a class="link" href="GstBaseParse.html#gst-base-parse-frame-free" title="gst_base_parse_frame_free ()"><code class="function">gst_base_parse_frame_free()</code></a> when no longer needed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1087,7 +1084,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.9.18.7"></a><h4>Returns</h4>
 <p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1140,7 +1136,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.9.19.8"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that should be escalated to caller (of caller)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1590,7 +1585,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstBaseSink.html b/docs/libs/html/GstBaseSink.html
index e1537c8..c8b89d3 100644
--- a/docs/libs/html/GstBaseSink.html
+++ b/docs/libs/html/GstBaseSink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstBaseSink</title>
+<title>GstBaseSink: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstBaseSrc.html" title="GstBaseSrc">
 <link rel="next" href="GstBaseTransform.html" title="GstBaseTransform">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -477,7 +477,7 @@
 
 <p></p>
 <p><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will handle the prerolling correctly. This means that it will
-return <code class="literal">GST_STATE_CHANGE_ASYNC</code> from a state change to PAUSED until the first
+return <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-CHANGE-ASYNC:CAPS"><code class="literal">GST_STATE_CHANGE_ASYNC</code></a> from a state change to PAUSED until the first
 buffer arrives in this element. The base class will call the
 <a class="link" href="GstBaseSink.html#GstBaseSinkClass.preroll"><code class="function">GstBaseSinkClass.preroll()</code></a> vmethod with this preroll buffer and will then
 commit the state change to the next asynchronously pending state.</p>
@@ -499,13 +499,13 @@
 <a class="link" href="GstBaseSink.html#GstBaseSinkClass.get-times"><code class="function">GstBaseSinkClass.get_times()</code></a> call before posting an EOS message. When the
 element receives EOS in PAUSED, preroll completes, the event is queued and an
 EOS message is posted when going to PLAYING.</p>
-<p><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will internally use the <code class="literal">GST_EVENT_SEGMENT</code> events to schedule
+<p><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will internally use the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#GST-EVENT-SEGMENT:CAPS"><code class="literal">GST_EVENT_SEGMENT</code></a> events to schedule
 synchronisation and clipping of buffers. Buffers that fall completely outside
 of the current segment are dropped. Buffers that fall partially in the
 segment are rendered (and prerolled). Subclasses should do any subbuffer
 clipping themselves when needed.</p>
 <p><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will by default report the current playback position in
-<code class="literal">GST_FORMAT_TIME</code> based on the current clock time and segment information.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> based on the current clock time and segment information.
 If no clock has been set on the element, the query will be forwarded
 upstream.</p>
 <p>The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.set-caps"><code class="function">GstBaseSinkClass.set_caps()</code></a> function will be called when the subclass
@@ -610,7 +610,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.2.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query succeeded.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -637,7 +636,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.3.6"></a><h4>Returns</h4>
 <p> The configured latency.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -676,9 +674,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.4.7"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> if the preroll completed and processing can
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if the preroll completed and processing can
 continue. Any other return value should be returned from the render vmethod.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -729,7 +726,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.5.8"></a><h4>Returns</h4>
 <p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -741,9 +737,9 @@
 against the clock it must unblock when going from PLAYING to the PAUSED state
 and call this method before continuing to render the remaining data.</p>
 <p>This function will block until a state change to PLAYING happens (in which
-case this function returns <code class="literal">GST_FLOW_OK</code>) or the processing must be stopped due
+case this function returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a>) or the processing must be stopped due
 to a state change to READY or a FLUSH event (in which case this function
-returns <code class="literal">GST_FLOW_FLUSHING</code>).</p>
+returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><code class="literal">GST_FLOW_FLUSHING</code></a>).</p>
 <p>This function should only be called with the PREROLL_LOCK held, like in the
 render function.</p>
 <div class="refsect3">
@@ -763,9 +759,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.6.8"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> if the preroll completed and processing can
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if the preroll completed and processing can
 continue. Any other return value should be returned from the render vmethod.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -779,9 +774,9 @@
  is reached. It is usually called by
 subclasses that use their own internal synchronisation.</p>
 <p>If <em class="parameter"><code>time</code></em>
- is not valid, no synchronisation is done and <code class="literal">GST_CLOCK_BADTIME</code> is
+ is not valid, no synchronisation is done and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-BADTIME:CAPS"><code class="literal">GST_CLOCK_BADTIME</code></a> is
 returned. Likewise, if synchronisation is disabled in the element or there
-is no clock, no synchronisation is done and <code class="literal">GST_CLOCK_BADTIME</code> is returned.</p>
+is no clock, no synchronisation is done and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-BADTIME:CAPS"><code class="literal">GST_CLOCK_BADTIME</code></a> is returned.</p>
 <p>This function should only be called with the PREROLL_LOCK held, like when
 receiving an EOS event in the <a class="link" href="GstBaseSink.html#GstBaseSinkClass.event"><code class="function">GstBaseSinkClass.event()</code></a> vmethod or when
 receiving a buffer in
@@ -820,7 +815,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.7.9"></a><h4>Returns</h4>
 <p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="type">GstClockReturn</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -886,7 +880,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sink is configured to synchronize against the clock.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -950,7 +943,6 @@
 <p> The maximum time in nanoseconds that a buffer can be late
 before it is dropped and not rendered. A value of -1 means an
 unlimited time.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1010,7 +1002,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sink is configured to perform Quality-of-Service.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1074,7 +1065,6 @@
 <a name="id-1.2.4.5.9.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sink is configured to perform asynchronous state
 changes.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1137,7 +1127,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.17.6"></a><h4>Returns</h4>
 <p> The synchronisation offset.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1205,7 +1194,6 @@
 <a name="id-1.2.4.5.9.19.6"></a><h4>Returns</h4>
 <p> the render delay of <em class="parameter"><code>sink</code></em>
 .</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1297,7 +1285,6 @@
 <a name="id-1.2.4.5.9.22.6"></a><h4>Returns</h4>
 <p> the number of bytes <em class="parameter"><code>sink</code></em>
 will pull in pull mode.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1326,7 +1313,6 @@
 <a name="id-1.2.4.5.9.23.6"></a><h4>Returns</h4>
 <p> the number of nanoseconds <em class="parameter"><code>sink</code></em>
 will put between frames.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1390,7 +1376,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1417,9 +1403,8 @@
 <a name="id-1.2.4.5.9.26.6"></a><h4>Returns</h4>
 <p> the maximum number of bits per second <em class="parameter"><code>sink</code></em>
 will render.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1479,7 +1464,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sink is configured to store the last received sample.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1798,7 +1782,7 @@
 rendering of the buffers when it would exceed to max-bitrate.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: 0</p>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1862,7 +1846,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstBaseSrc.html b/docs/libs/html/GstBaseSrc.html
index 33569d8..cb609fe 100644
--- a/docs/libs/html/GstBaseSrc.html
+++ b/docs/libs/html/GstBaseSrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstBaseSrc</title>
+<title>GstBaseSrc: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstBaseParse.html" title="GstBaseParse">
 <link rel="next" href="GstBaseSink.html" title="GstBaseSink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -295,18 +295,18 @@
 </ul></div>
 <p>The source can be configured to operate in any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> with the
 <a class="link" href="GstBaseSrc.html#gst-base-src-set-format" title="gst_base_src_set_format ()"><code class="function">gst_base_src_set_format()</code></a> method. The currently set format determines
-the format of the internal <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html"><span class="type">GstSegment</span></a> and any <code class="literal">GST_EVENT_SEGMENT</code>
-events. The default format for <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is <code class="literal">GST_FORMAT_BYTES</code>.</p>
+the format of the internal <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html"><span class="type">GstSegment</span></a> and any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#GST-EVENT-SEGMENT:CAPS"><code class="literal">GST_EVENT_SEGMENT</code></a>
+events. The default format for <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><code class="literal">GST_FORMAT_BYTES</code></a>.</p>
 <p><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> always supports push mode scheduling. If the following
 conditions are met, it also supports pull mode scheduling:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>The format is set to <code class="literal">GST_FORMAT_BYTES</code> (default).</p></li>
+<li class="listitem"><p>The format is set to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><code class="literal">GST_FORMAT_BYTES</code></a> (default).</p></li>
 <li class="listitem"><p><a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p></li>
 </ul></div>
 <p>If all the conditions are met for operating in pull mode, <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is
 automatically seekable in push mode as well. The following conditions must
 be met to make the element seekable in push mode when the format is not
-<code class="literal">GST_FORMAT_BYTES</code>:</p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><code class="literal">GST_FORMAT_BYTES</code></a>:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem"><p>
     <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
@@ -335,7 +335,7 @@
 <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.create"><code class="function">GstBaseSrcClass.create()</code></a> method will not be called in PAUSED but only in
 PLAYING. To signal the pipeline that the element will not produce data, the
 return value from the READY to PAUSED state will be
-<code class="literal">GST_STATE_CHANGE_NO_PREROLL</code>.</p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS"><code class="literal">GST_STATE_CHANGE_NO_PREROLL</code></a>.</p>
 <p>A typical live source will timestamp the buffers it creates with the
 current running time of the pipeline. This is one reason why a live source
 can only produce data in the PLAYING state, when the clock is actually
@@ -414,7 +414,7 @@
 
 An application may send an EOS event to a source element to make it
 perform the EOS logic (send EOS event downstream or post a
-<code class="literal">GST_MESSAGE_SEGMENT_DONE</code> on the bus). This can typically be done
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"><code class="literal">GST_MESSAGE_SEGMENT_DONE</code></a> on the bus). This can typically be done
 with the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-send-event"><code class="function">gst_element_send_event()</code></a> function on the element or its parent bin.
 
 After the EOS has been sent to the element, the application should wait for
@@ -433,9 +433,9 @@
 against the clock it must unblock when going from PLAYING to the PAUSED state
 and call this method before continuing to produce the remaining data.</p>
 <p>This function will block until a state change to PLAYING happens (in which
-case this function returns <code class="literal">GST_FLOW_OK</code>) or the processing must be stopped due
+case this function returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a>) or the processing must be stopped due
 to a state change to READY or a FLUSH event (in which case this function
-returns <code class="literal">GST_FLOW_FLUSHING</code>).</p>
+returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><code class="literal">GST_FLOW_FLUSHING</code></a>).</p>
 <div class="refsect3">
 <a name="id-1.2.4.4.9.2.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -453,10 +453,9 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.4.9.2.7"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> if <em class="parameter"><code>src</code></em>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if <em class="parameter"><code>src</code></em>
 is PLAYING and processing can
 continue. Any other return value should be returned from the create vmethod.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -483,7 +482,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.3.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -543,7 +541,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if element is in live mode.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -593,7 +590,7 @@
 for sending SEGMENT events and for performing seeks.</p>
 <p>If a format of GST_FORMAT_BYTES is set, the element will be able to
 operate in pull mode if the <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
-<p>This function must only be called in states &lt; <code class="literal">GST_STATE_PAUSED</code>.</p>
+<p>This function must only be called in states &lt; <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.2.4.4.9.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -669,7 +666,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.8.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query succeeded.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -697,7 +693,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.9.6"></a><h4>Returns</h4>
 <p> the number of bytes pushed with each buffer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -758,7 +753,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.11.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the base class will automatically timestamp outgoing buffers.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -861,7 +855,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -911,7 +905,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.15.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if preparation of the seamless segment succeeded.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -946,7 +939,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.9.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps could be set</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1046,7 +1038,6 @@
 <a name="id-1.2.4.4.9.19.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>src</code></em>
 is operating in async mode.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1417,7 +1408,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstBaseTransform.html b/docs/libs/html/GstBaseTransform.html
index 46ca63d..a468918 100644
--- a/docs/libs/html/GstBaseTransform.html
+++ b/docs/libs/html/GstBaseTransform.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstBaseTransform</title>
+<title>GstBaseTransform: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstBaseSink.html" title="GstBaseSink">
 <link rel="next" href="GstPushSrc.html" title="GstPushSrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -453,7 +453,6 @@
 <a name="id-1.2.4.6.9.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the transform is configured in passthrough mode.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -530,7 +529,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.0.1</p>
+<p class="since">Since: 1.0.1</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -558,7 +557,6 @@
 <a name="id-1.2.4.6.9.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the transform is configured in in_place mode.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -623,7 +621,6 @@
 <a name="id-1.2.4.6.9.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if QoS is enabled.</p>
 <p>MT safe.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -711,7 +708,7 @@
                                   <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> gap_aware</code></em>);</pre>
 <p>If <em class="parameter"><code>gap_aware</code></em>
  is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (the default), output buffers will have the
-<code class="literal">GST_BUFFER_FLAG_GAP</code> flag unset.</p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS"><code class="literal">GST_BUFFER_FLAG_GAP</code></a> flag unset.</p>
 <p>If set to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the element must handle output buffers with this flag set
 correctly, i.e. it can assume that the buffer contains neutral data but must
 unset the flag if the output is no neutral data.</p>
@@ -1228,7 +1225,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstCollectPads.html b/docs/libs/html/GstCollectPads.html
index 2e6a23d..c9af5fa 100644
--- a/docs/libs/html/GstCollectPads.html
+++ b/docs/libs/html/GstCollectPads.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstCollectPads</title>
+<title>GstCollectPads: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-libs-GstByteWriter.html" title="GstByteWriter">
 <link rel="next" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -498,8 +498,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.3.6"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> for success</p>
-<p></p>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> for success</p>
 </div>
 </div>
 <hr>
@@ -565,7 +564,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.4.8"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that corresponds to the result of clipping.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -626,7 +624,6 @@
 <p> Integer less than zero when first timestamp is deemed older than the second one.
 Zero if the timestamps are deemed equally old.
 Integer greater than zero when second timestamp is deemed older than the first one.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -676,7 +673,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could handle the event</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -713,7 +709,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -761,7 +757,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could handle the event</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -795,8 +790,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.9.6"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> for success</p>
-<p></p>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> for success</p>
 </div>
 </div>
 <hr>
@@ -1105,7 +1099,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.19.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad could be removed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1186,7 +1179,6 @@
 <a name="id-1.2.4.12.8.22.8"></a><h4>Returns</h4>
 <p> The maximum number of bytes queued on all pads. This function
 returns 0 if a pad has no queued buffer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1235,7 +1227,6 @@
 <p> The number of bytes flushed This can be less than <em class="parameter"><code>size</code></em>
 and
 is 0 if the pad was end-of-stream.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1277,7 +1268,6 @@
 <p> The buffer in <em class="parameter"><code>data</code></em>
 or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no buffer is queued.
 should unref the buffer after usage.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1418,7 +1408,6 @@
 <p> A sub buffer. The size of the buffer can be less that requested.
 A return of <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> signals that the pad is end-of-stream.
 Unref the buffer after use.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1595,7 +1584,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1794,7 +1783,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2101,7 +2090,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstDirectControlBinding.html b/docs/libs/html/GstDirectControlBinding.html
index 72d2413..24e53af 100644
--- a/docs/libs/html/GstDirectControlBinding.html
+++ b/docs/libs/html/GstDirectControlBinding.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstDirectControlBinding</title>
+<title>GstDirectControlBinding: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="prev" href="GstARGBControlBinding.html" title="GstARGBControlBinding">
 <link rel="next" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -144,7 +144,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstInterpolationControlSource.html b/docs/libs/html/GstInterpolationControlSource.html
index bd7e925..c34ab80 100644
--- a/docs/libs/html/GstInterpolationControlSource.html
+++ b/docs/libs/html/GstInterpolationControlSource.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstInterpolationControlSource</title>
+<title>GstInterpolationControlSource: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="prev" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">
 <link rel="next" href="GstLFOControlSource.html" title="GstLFOControlSource">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -180,7 +180,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstLFOControlSource.html b/docs/libs/html/GstLFOControlSource.html
index 0cf4976..3d0dc16 100644
--- a/docs/libs/html/GstLFOControlSource.html
+++ b/docs/libs/html/GstLFOControlSource.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstLFOControlSource</title>
+<title>GstLFOControlSource: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="prev" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">
 <link rel="next" href="GstTriggerControlSource.html" title="GstTriggerControlSource">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -255,7 +255,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstNetClientClock.html b/docs/libs/html/GstNetClientClock.html
index 583e869..2076d45 100644
--- a/docs/libs/html/GstNetClientClock.html
+++ b/docs/libs/html/GstNetClientClock.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstNetClientClock</title>
+<title>GstNetClientClock: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
 <link rel="prev" href="gstreamer-libs-GstNetAddressMeta.html" title="GstNetAddressMeta">
 <link rel="next" href="gstreamer-libs-GstNetTimePacket.html" title="GstNetTimePacket">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,14 +41,24 @@
 <col width="150px" class="functions_return">
 <col class="functions_name">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="function_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *
 </td>
 <td class="function_name">
 <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()">gst_net_client_clock_new</a> <span class="c_punctuation">()</span>
 </td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstNetClientClock.html#gst-ntp-clock-new" title="gst_ntp_clock_new ()">gst_ntp_clock_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -64,7 +74,12 @@
 <td class="property_type">
 <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
 <td class="property_name"><a class="link" href="GstNetClientClock.html#GstNetClientClock--address" title="The “address” property">address</a></td>
-<td class="property_flags">Read / Write</td>
+<td class="property_flags">Read / Write / Construct</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">guint64</span></td>
+<td class="property_name"><a class="link" href="GstNetClientClock.html#GstNetClientClock--base-time" title="The “base-time” property">base-time</a></td>
+<td class="property_flags">Read / Write / Construct Only</td>
 </tr>
 <tr>
 <td class="property_type">
@@ -80,7 +95,7 @@
 <tr>
 <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
 <td class="property_name"><a class="link" href="GstNetClientClock.html#GstNetClientClock--port" title="The “port” property">port</a></td>
-<td class="property_flags">Read / Write</td>
+<td class="property_flags">Read / Write / Construct</td>
 </tr>
 <tr>
 <td class="property_type"><span class="type">guint64</span></td>
@@ -97,10 +112,16 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="GstNetClientClock.html#GstNetClientClock-struct" title="struct GstNetClientClock">GstNetClientClock</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="GstNetClientClock.html#GstNtpClock" title="GstNtpClock">GstNtpClock</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -120,17 +141,18 @@
 </div>
 <div class="refsect1">
 <a name="GstNetClientClock.description"></a><h2>Description</h2>
-<p>This object implements a custom <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time
-to a remote time provider such as <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>.</p>
-<p>A new clock is created with <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()"><code class="function">gst_net_client_clock_new()</code></a> which takes the
-address and port of the remote time provider along with a name and
-an initial time.</p>
+<p><a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> implements a custom <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time
+to a remote time provider such as <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>. <a class="link" href="GstNetClientClock.html#GstNtpClock" title="GstNtpClock"><span class="type">GstNtpClock</span></a>
+implements a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time to a remote NTPv4 server.</p>
+<p>A new clock is created with <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()"><code class="function">gst_net_client_clock_new()</code></a> or
+<a class="link" href="GstNetClientClock.html#gst-ntp-clock-new" title="gst_ntp_clock_new ()"><code class="function">gst_ntp_clock_new()</code></a>, which takes the address and port of the remote time
+provider along with a name and an initial time.</p>
 <p>This clock will poll the time provider and will update its calibration
 parameters based on the local and remote observations.</p>
 <p>The "round-trip" property limits the maximum round trip packets can take.</p>
 <p>Various parameters of the clock can be configured with the parent <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>
 "timeout", "window-size" and "window-threshold" object properties.</p>
-<p>A <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> is typically set on a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a> with 
+<p>A <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> and <a class="link" href="GstNetClientClock.html#GstNtpClock" title="GstNtpClock"><span class="type">GstNtpClock</span></a> is typically set on a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a> with
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html#gst-pipeline-use-clock"><code class="function">gst_pipeline_use_clock()</code></a>.</p>
 <p>If you set a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a> on the clock via the "bus" object property, it will
 send <em class="parameter"><code>GST_MESSAGE_ELEMENT</code></em>
@@ -187,9 +209,59 @@
 <a name="id-1.2.6.4.9.2.6"></a><h4>Returns</h4>
 <p> a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that receives a time from the remote
 clock.</p>
-<p></p>
 </div>
 </div>
+<hr>
+<div class="refsect2">
+<a name="gst-ntp-clock-new"></a><h3>gst_ntp_clock_new ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *
+gst_ntp_clock_new (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+                   <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *remote_address</code></em>,
+                   <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> remote_port</code></em>,
+                   <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);</pre>
+<p>Create a new <a class="link" href="GstNetClientClock.html#GstNtpClock" title="GstNtpClock"><span class="type">GstNtpClock</span></a> that will report the time provided by
+the NTPv4 server on <em class="parameter"><code>remote_address</code></em>
+ and <em class="parameter"><code>remote_port</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.2.6.4.9.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>a name for the clock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>remote_address</p></td>
+<td class="parameter_description"><p>the address of the remote clock provider</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>remote_port</p></td>
+<td class="parameter_description"><p>the port of the remote clock provider</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>base_time</p></td>
+<td class="parameter_description"><p>initial time of the clock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.6.4.9.3.6"></a><h4>Returns</h4>
+<p> a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that receives a time from the remote
+clock.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="GstNetClientClock.other_details"></a><h2>Types and Values</h2>
@@ -198,6 +270,12 @@
 <pre class="programlisting">struct GstNetClientClock;</pre>
 <p>Opaque <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> structure.</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstNtpClock"></a><h3>GstNtpClock</h3>
+<pre class="programlisting">typedef struct _GstNetClientClock GstNtpClock;
+</pre>
+</div>
 </div>
 <div class="refsect1">
 <a name="GstNetClientClock.property-details"></a><h2>Property Details</h2>
@@ -205,11 +283,19 @@
 <a name="GstNetClientClock--address"></a><h3>The <code class="literal">“address”</code> property</h3>
 <pre class="programlisting">  “address”                  <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>The IP address of the machine providing a time server.</p>
-<p>Flags: Read / Write</p>
+<p>Flags: Read / Write / Construct</p>
 <p>Default value: "127.0.0.1"</p>
 </div>
 <hr>
 <div class="refsect2">
+<a name="GstNetClientClock--base-time"></a><h3>The <code class="literal">“base-time”</code> property</h3>
+<pre class="programlisting">  “base-time”                <span class="type">guint64</span></pre>
+<p>Initial time that is reported before synchronization.</p>
+<p>Flags: Read / Write / Construct Only</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstNetClientClock--bus"></a><h3>The <code class="literal">“bus”</code> property</h3>
 <pre class="programlisting">  “bus”                      <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a> *</pre>
 <p>A GstBus on which to send clock status information.</p>
@@ -228,7 +314,7 @@
 <a name="GstNetClientClock--port"></a><h3>The <code class="literal">“port”</code> property</h3>
 <pre class="programlisting">  “port”                     <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
 <p>The port on which the remote server is listening.</p>
-<p>Flags: Read / Write</p>
+<p>Flags: Read / Write / Construct</p>
 <p>Allowed values: [0,65535]</p>
 <p>Default value: 5637</p>
 </div>
@@ -247,7 +333,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstNetTimeProvider.html b/docs/libs/html/GstNetTimeProvider.html
index 40d9632..d01eb77 100644
--- a/docs/libs/html/GstNetTimeProvider.html
+++ b/docs/libs/html/GstNetTimeProvider.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstNetTimeProvider</title>
+<title>GstNetTimeProvider: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
 <link rel="prev" href="gstreamer-libs-GstNetTimePacket.html" title="GstNetTimePacket">
-<link rel="next" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<link rel="next" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,7 +22,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="gstreamer-net.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gstreamer-libs-GstNetTimePacket.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gstreamer-check.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gstreamer-libs-GstPtpClock.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="GstNetTimeProvider"></a><div class="titlepage"></div>
@@ -161,7 +161,6 @@
 <div class="refsect3">
 <a name="id-1.2.6.6.9.2.6"></a><h4>Returns</h4>
 <p> the new <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>, or NULL on error</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -213,7 +212,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstPushSrc.html b/docs/libs/html/GstPushSrc.html
index fd272d4..d2e29ea 100644
--- a/docs/libs/html/GstPushSrc.html
+++ b/docs/libs/html/GstPushSrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstPushSrc</title>
+<title>GstPushSrc: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstBaseTransform.html" title="GstBaseTransform">
 <link rel="next" href="GstAdapter.html" title="GstAdapter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -86,6 +86,7 @@
 </div>
 <div class="refsect1">
 <a name="GstPushSrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="GstPushSrc.other_details"></a><h2>Types and Values</h2>
@@ -117,7 +118,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstTestClock.html b/docs/libs/html/GstTestClock.html
index a5aaa38..a306d5e 100644
--- a/docs/libs/html/GstTestClock.html
+++ b/docs/libs/html/GstTestClock.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstTestClock</title>
+<title>GstTestClock: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
 <link rel="prev" href="gstreamer-libs-GstStreamConsistency.html" title="GstStreamConsistency">
 <link rel="next" href="gstreamer-hierarchy.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -458,7 +458,7 @@
 <p> a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> cast to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -487,7 +487,7 @@
 <p> a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> cast to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -526,7 +526,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -564,7 +564,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -593,9 +593,8 @@
 <div class="refsect3">
 <a name="id-1.2.7.6.9.6.7"></a><h4>Returns</h4>
 <p> the number of pending clock notifications.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -634,9 +633,8 @@
 <a name="id-1.2.7.6.9.7.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the clock has been asked to provide the given clock
 notification, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -675,7 +673,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -713,7 +711,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -753,7 +751,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -783,7 +781,7 @@
 notification. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -812,9 +810,8 @@
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> set to the time of the next pending clock
 notification. If no clock notifications have been requested
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><code class="literal">GST_CLOCK_TIME_NONE</code></a> will be returned.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -859,7 +856,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -885,7 +882,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -918,7 +915,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -928,7 +925,7 @@
 <pre class="programlisting">struct GstTestClock;</pre>
 <p>A <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> structure which is based on a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> along with some
 private data.</p>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -953,7 +950,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -977,7 +974,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstTimedValueControlSource.html b/docs/libs/html/GstTimedValueControlSource.html
index 7b6040f..ab57d73 100644
--- a/docs/libs/html/GstTimedValueControlSource.html
+++ b/docs/libs/html/GstTimedValueControlSource.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstTimedValueControlSource</title>
+<title>GstTimedValueControlSource: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="prev" href="GstDirectControlBinding.html" title="GstDirectControlBinding">
 <link rel="next" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -208,7 +208,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.2.7"></a><h4>Returns</h4>
 <p> the found <a href="https://developer.gnome.org/glib/unstable/glib-Sequences.html#GSequenceIter"><span class="type">GSequenceIter</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -249,7 +248,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.3.6"></a><h4>Returns</h4>
 <p> FALSE if the values couldn't be set, TRUE otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -286,7 +284,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.4.6"></a><h4>Returns</h4>
 <p> FALSE if the values couldn't be set, TRUE otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -352,7 +349,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.6.6"></a><h4>Returns</h4>
 <p> FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -403,7 +399,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.8.6"></a><h4>Returns</h4>
 <p> the number of control points that are set.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -562,7 +557,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstTriggerControlSource.html b/docs/libs/html/GstTriggerControlSource.html
index 72c00df..45a8bfe 100644
--- a/docs/libs/html/GstTriggerControlSource.html
+++ b/docs/libs/html/GstTriggerControlSource.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstTriggerControlSource</title>
+<title>GstTriggerControlSource: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
 <link rel="prev" href="GstLFOControlSource.html" title="GstLFOControlSource">
 <link rel="next" href="gstreamer-net.html" title="GStreamer Network Classes">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -149,7 +149,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
index 4d09a10..8de508f 100644
--- a/docs/libs/html/annotation-glossary.html
+++ b/docs/libs/html/annotation-glossary.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: Annotation Glossary</title>
+<title>Annotation Glossary: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -24,6 +24,8 @@
                      <span class="dim">|</span> 
                   <a class="shortcut" href="#glsO">O</a>
                      <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsR">R</a>
+                     <span class="dim">|</span> 
                   <a class="shortcut" href="#glsS">S</a>
                      <span class="dim">|</span> 
                   <a class="shortcut" href="#glsT">T</a></span></td>
@@ -57,11 +59,16 @@
 <dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
 <dt><span class="glossterm"><a name="annotation-glossterm-out%20caller-allocates"></a>out caller-allocates</span></dt>
 <dd class="glossdef"><p>Out parameter, where caller must allocate storage.</p></dd>
+<a name="glsR"></a><h3 class="title">R</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-rename-to"></a>rename-to</span></dt>
+<dd class="glossdef"><p>Rename the original symbol's name to SYMBOL.</p></dd>
 <a name="glsS"></a><h3 class="title">S</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-scope%20async"></a>scope async</span></dt>
 <dd class="glossdef"><p>The callback is valid until first called.</p></dd>
 <dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
 <dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-skip"></a>skip</span></dt>
+<dd class="glossdef"><p>Exposed in C code, not necessarily available in other languages.</p></dd>
 <a name="glsT"></a><h3 class="title">T</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
 <dd class="glossdef"><p>Free data container after the code is done.</p></dd>
@@ -75,7 +82,6 @@
 <dd class="glossdef"><p>Override the parsed C type with given type.</p></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/api-index-deprecated.html b/docs/libs/html/api-index-deprecated.html
index 50d7948..5734237 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: Index of deprecated API</title>
+<title>Index of deprecated API: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="prev" href="api-index-full.html" title="API Index">
 <link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -29,7 +29,6 @@
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index c405bdc..5387815 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: API Index</title>
+<title>API Index: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="prev" href="gstreamer-hierarchy.html" title="Object Hierarchy">
 <link rel="next" href="api-index-deprecated.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -2164,6 +2164,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstNetClientClock.html#GstNetClientClock--base-time" title="The “base-time” property">GstNetClientClock:base-time</a>, object property in <a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstNetClientClock.html#GstNetClientClock--bus" title="The “bus” property">GstNetClientClock:bus</a>, object property in <a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
 </dt>
 <dd></dd>
@@ -2251,8 +2255,48 @@
 <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()">gst_net_time_provider_new</a>, function in <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider">GstNetTimeProvider</a>
 </dt>
 <dd></dd>
+<dt>
+<a class="link" href="GstNetClientClock.html#GstNtpClock" title="GstNtpClock">GstNtpClock</a>, typedef in <a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstNetClientClock.html#gst-ntp-clock-new" title="gst_ntp_clock_new ()">gst_ntp_clock_new</a>, function in <a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
+</dt>
+<dd></dd>
 <a name="idxP"></a><h3 class="title">P</h3>
 <dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#GstPtpClock" title="struct GstPtpClock">GstPtpClock</a>, struct in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-clock-new" title="gst_ptp_clock_new ()">gst_ptp_clock_new</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-deinit" title="gst_ptp_deinit ()">gst_ptp_deinit</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-init" title="gst_ptp_init ()">gst_ptp_init</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-is-initialized" title="gst_ptp_is_initialized ()">gst_ptp_is_initialized</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-is-supported" title="gst_ptp_is_supported ()">gst_ptp_is_supported</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-add" title="gst_ptp_statistics_callback_add ()">gst_ptp_statistics_callback_add</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-remove" title="gst_ptp_statistics_callback_remove ()">gst_ptp_statistics_callback_remove</a>, function in <a class="link" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">GstPtpClock</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstPushSrc.html#GstPushSrc-struct" title="struct GstPushSrc">GstPushSrc</a>, struct in <a class="link" href="GstPushSrc.html" title="GstPushSrc">GstPushSrc</a>
 </dt>
 <dd></dd>
@@ -2469,7 +2513,6 @@
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-base.html b/docs/libs/html/gstreamer-base.html
index 473c678..bc82243 100644
--- a/docs/libs/html/gstreamer-base.html
+++ b/docs/libs/html/gstreamer-base.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GStreamer Base and Utillity Classes</title>
+<title>GStreamer Base and Utillity Classes: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
 <link rel="prev" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
 <link rel="next" href="GstBaseParse.html" title="GstBaseParse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,7 +74,6 @@
       </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-check.html b/docs/libs/html/gstreamer-check.html
index d9d674c..073addc 100644
--- a/docs/libs/html/gstreamer-check.html
+++ b/docs/libs/html/gstreamer-check.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GStreamer Check Unit Testing</title>
+<title>GStreamer Check Unit Testing: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
-<link rel="prev" href="GstNetTimeProvider.html" title="GstNetTimeProvider">
+<link rel="prev" href="gstreamer-libs-GstPtpClock.html" title="GstPtpClock">
 <link rel="next" href="gstreamer-libs-GstCheck.html" title="GstCheck">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -16,7 +16,7 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="gstreamer-libs.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="GstNetTimeProvider.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gstreamer-libs-GstPtpClock.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gstreamer-libs-GstCheck.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
@@ -42,7 +42,6 @@
       </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-control.html b/docs/libs/html/gstreamer-control.html
index 42a3ea0..6d5bee2 100644
--- a/docs/libs/html/gstreamer-control.html
+++ b/docs/libs/html/gstreamer-control.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GStreamer Dynamic Parameter Control</title>
+<title>GStreamer Dynamic Parameter Control: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
 <link rel="prev" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">
 <link rel="next" href="GstARGBControlBinding.html" title="GstARGBControlBinding">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -48,7 +48,6 @@
       </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-hierarchy.html b/docs/libs/html/gstreamer-hierarchy.html
index 56cbe3d..4f523e6 100644
--- a/docs/libs/html/gstreamer-hierarchy.html
+++ b/docs/libs/html/gstreamer-hierarchy.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: Object Hierarchy</title>
+<title>Object Hierarchy: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="prev" href="GstTestClock.html" title="GstTestClock">
 <link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -50,7 +50,6 @@
 </pre>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-1.0.devhelp2 b/docs/libs/html/gstreamer-libs-1.0.devhelp2
index fe829d4..112951b 100644
--- a/docs/libs/html/gstreamer-libs-1.0.devhelp2
+++ b/docs/libs/html/gstreamer-libs-1.0.devhelp2
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
 <book xmlns="http://www.devhelp.net/book" title="GStreamer 1.0 Library Reference Manual" link="index.html" author="" name="gstreamer-libs-1.0" version="2" language="c">
   <chapters>
     <sub name="GStreamer Libraries" link="gstreamer-libs.html">
@@ -32,6 +31,7 @@
         <sub name="GstNetClientClock" link="GstNetClientClock.html"/>
         <sub name="GstNetTimePacket" link="gstreamer-libs-GstNetTimePacket.html"/>
         <sub name="GstNetTimeProvider" link="GstNetTimeProvider.html"/>
+        <sub name="GstPtpClock" link="gstreamer-libs-GstPtpClock.html"/>
       </sub>
       <sub name="GStreamer Check Unit Testing" link="gstreamer-check.html">
         <sub name="GstCheck" link="gstreamer-libs-GstCheck.html"/>
@@ -76,7 +76,6 @@
     <keyword type="enum" name="enum GstBaseParseFrameFlags" link="GstBaseParse.html#GstBaseParseFrameFlags"/>
     <keyword type="macro" name="GST_BASE_PARSE_FLOW_DROPPED" link="GstBaseParse.html#GST-BASE-PARSE-FLOW-DROPPED:CAPS"/>
     <keyword type="property" name="The “disable-passthrough” property" link="GstBaseParse.html#GstBaseParse--disable-passthrough"/>
-    <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#id-1.2.4.4.8.19"/>
     <keyword type="function" name="gst_base_src_wait_playing ()" link="GstBaseSrc.html#gst-base-src-wait-playing"/>
     <keyword type="function" name="gst_base_src_start_wait ()" link="GstBaseSrc.html#gst-base-src-start-wait"/>
     <keyword type="function" name="gst_base_src_start_complete ()" link="GstBaseSrc.html#gst-base-src-start-complete"/>
@@ -156,8 +155,6 @@
     <keyword type="property" name="The “sync” property" link="GstBaseSink.html#GstBaseSink--sync"/>
     <keyword type="property" name="The “throttle-time” property" link="GstBaseSink.html#GstBaseSink--throttle-time"/>
     <keyword type="property" name="The “ts-offset” property" link="GstBaseSink.html#GstBaseSink--ts-offset"/>
-    <keyword type="" name="Use Cases" link="GstBaseTransform.html#id-1.2.4.6.8.5"/>
-    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#id-1.2.4.6.8.6"/>
     <keyword type="function" name="gst_base_transform_is_passthrough ()" link="GstBaseTransform.html#gst-base-transform-is-passthrough"/>
     <keyword type="function" name="gst_base_transform_set_passthrough ()" link="GstBaseTransform.html#gst-base-transform-set-passthrough"/>
     <keyword type="function" name="gst_base_transform_set_prefer_passthrough ()" link="GstBaseTransform.html#gst-base-transform-set-prefer-passthrough" since="1.0.1"/>
@@ -547,8 +544,11 @@
     <keyword type="function" name="gst_net_address_meta_get_info ()" link="gstreamer-libs-GstNetAddressMeta.html#gst-net-address-meta-get-info"/>
     <keyword type="struct" name="struct GstNetAddressMeta" link="gstreamer-libs-GstNetAddressMeta.html#GstNetAddressMeta"/>
     <keyword type="function" name="gst_net_client_clock_new ()" link="GstNetClientClock.html#gst-net-client-clock-new"/>
+    <keyword type="function" name="gst_ntp_clock_new ()" link="GstNetClientClock.html#gst-ntp-clock-new" since="1.6"/>
     <keyword type="struct" name="struct GstNetClientClock" link="GstNetClientClock.html#GstNetClientClock-struct"/>
+    <keyword type="typedef" name="GstNtpClock" link="GstNetClientClock.html#GstNtpClock"/>
     <keyword type="property" name="The “address” property" link="GstNetClientClock.html#GstNetClientClock--address"/>
+    <keyword type="property" name="The “base-time” property" link="GstNetClientClock.html#GstNetClientClock--base-time"/>
     <keyword type="property" name="The “bus” property" link="GstNetClientClock.html#GstNetClientClock--bus"/>
     <keyword type="property" name="The “minimum-update-interval” property" link="GstNetClientClock.html#GstNetClientClock--minimum-update-interval"/>
     <keyword type="property" name="The “port” property" link="GstNetClientClock.html#GstNetClientClock--port"/>
@@ -567,6 +567,14 @@
     <keyword type="property" name="The “address” property" link="GstNetTimeProvider.html#GstNetTimeProvider--address"/>
     <keyword type="property" name="The “clock” property" link="GstNetTimeProvider.html#GstNetTimeProvider--clock"/>
     <keyword type="property" name="The “port” property" link="GstNetTimeProvider.html#GstNetTimeProvider--port"/>
+    <keyword type="function" name="gst_ptp_init ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-init" since="1.6"/>
+    <keyword type="function" name="gst_ptp_deinit ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-deinit" since="1.6"/>
+    <keyword type="function" name="gst_ptp_is_initialized ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-is-initialized" since="1.6"/>
+    <keyword type="function" name="gst_ptp_is_supported ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-is-supported" since="1.6"/>
+    <keyword type="function" name="gst_ptp_clock_new ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-clock-new" since="1.6"/>
+    <keyword type="function" name="gst_ptp_statistics_callback_add ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-add" since="1.6"/>
+    <keyword type="function" name="gst_ptp_statistics_callback_remove ()" link="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-remove" since="1.6"/>
+    <keyword type="struct" name="struct GstPtpClock" link="gstreamer-libs-GstPtpClock.html#GstPtpClock"/>
     <keyword type="macro" name="GST_START_TEST()" link="gstreamer-libs-GstCheck.html#GST-START-TEST:CAPS"/>
     <keyword type="macro" name="ASSERT_BUFFER_REFCOUNT()" link="gstreamer-libs-GstCheck.html#ASSERT-BUFFER-REFCOUNT:CAPS"/>
     <keyword type="macro" name="ASSERT_CAPS_REFCOUNT()" link="gstreamer-libs-GstCheck.html#ASSERT-CAPS-REFCOUNT:CAPS"/>
@@ -647,5 +655,27 @@
     <keyword type="struct" name="struct GstTestClock" link="GstTestClock.html#GstTestClock-struct"/>
     <keyword type="struct" name="struct GstTestClockClass" link="GstTestClock.html#GstTestClockClass" since="1.2"/>
     <keyword type="property" name="The “start-time” property" link="GstTestClock.html#GstTestClock--start-time"/>
+    <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NONE" link="GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NEW_FRAME" link="GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NEW-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NO_FRAME" link="GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NO-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_CLIP" link="GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-CLIP:CAPS"/>
+    <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_DROP" link="GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-DROP:CAPS"/>
+    <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_QUEUE" link="GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-QUEUE:CAPS"/>
+    <keyword type="constant" name="GST_BASE_SRC_FLAG_STARTING" link="GstBaseSrc.html#GST-BASE-SRC-FLAG-STARTING:CAPS"/>
+    <keyword type="constant" name="GST_BASE_SRC_FLAG_STARTED" link="GstBaseSrc.html#GST-BASE-SRC-FLAG-STARTED:CAPS"/>
+    <keyword type="constant" name="GST_BASE_SRC_FLAG_LAST" link="GstBaseSrc.html#GST-BASE-SRC-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_COLLECT_PADS_STATE_EOS" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-EOS:CAPS"/>
+    <keyword type="constant" name="GST_COLLECT_PADS_STATE_FLUSHING" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-FLUSHING:CAPS"/>
+    <keyword type="constant" name="GST_COLLECT_PADS_STATE_NEW_SEGMENT" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-NEW-SEGMENT:CAPS"/>
+    <keyword type="constant" name="GST_COLLECT_PADS_STATE_WAITING" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-WAITING:CAPS"/>
+    <keyword type="constant" name="GST_COLLECT_PADS_STATE_LOCKED" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-LOCKED:CAPS"/>
+    <keyword type="constant" name="GST_INTERPOLATION_MODE_NONE" link="GstInterpolationControlSource.html#GST-INTERPOLATION-MODE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_INTERPOLATION_MODE_LINEAR" link="GstInterpolationControlSource.html#GST-INTERPOLATION-MODE-LINEAR:CAPS"/>
+    <keyword type="constant" name="GST_INTERPOLATION_MODE_CUBIC" link="GstInterpolationControlSource.html#GST-INTERPOLATION-MODE-CUBIC:CAPS"/>
+    <keyword type="constant" name="GST_LFO_WAVEFORM_SINE" link="GstLFOControlSource.html#GST-LFO-WAVEFORM-SINE:CAPS"/>
+    <keyword type="constant" name="GST_LFO_WAVEFORM_SQUARE" link="GstLFOControlSource.html#GST-LFO-WAVEFORM-SQUARE:CAPS"/>
+    <keyword type="constant" name="GST_LFO_WAVEFORM_SAW" link="GstLFOControlSource.html#GST-LFO-WAVEFORM-SAW:CAPS"/>
+    <keyword type="constant" name="GST_LFO_WAVEFORM_REVERSE_SAW" link="GstLFOControlSource.html#GST-LFO-WAVEFORM-REVERSE-SAW:CAPS"/>
+    <keyword type="constant" name="GST_LFO_WAVEFORM_TRIANGLE" link="GstLFOControlSource.html#GST-LFO-WAVEFORM-TRIANGLE:CAPS"/>
   </functions>
 </book>
diff --git a/docs/libs/html/gstreamer-libs-GstBitReader.html b/docs/libs/html/gstreamer-libs-GstBitReader.html
index 0ff8044..12c2a56 100644
--- a/docs/libs/html/gstreamer-libs-GstBitReader.html
+++ b/docs/libs/html/gstreamer-libs-GstBitReader.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstBitReader</title>
+<title>GstBitReader: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstAdapter.html" title="GstAdapter">
 <link rel="next" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -448,7 +448,6 @@
 <a name="id-1.2.4.9.7.6.6"></a><h4>Returns</h4>
 <p> The current position of <em class="parameter"><code>reader</code></em>
 in bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -476,7 +475,6 @@
 <a name="id-1.2.4.9.7.7.6"></a><h4>Returns</h4>
 <p> The remaining number of bits of <em class="parameter"><code>reader</code></em>
 instance.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -513,7 +511,6 @@
 <a name="id-1.2.4.9.7.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the position could be set successfully, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -541,7 +538,6 @@
 <a name="id-1.2.4.9.7.9.6"></a><h4>Returns</h4>
 <p> The total number of bits of <em class="parameter"><code>reader</code></em>
 instance.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -578,7 +574,6 @@
 <a name="id-1.2.4.9.7.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>nbits</code></em>
 bits could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -605,7 +600,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.11.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -648,7 +642,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -691,7 +684,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -734,7 +726,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -777,7 +768,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -820,7 +810,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -863,7 +852,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.17.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -906,7 +894,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -949,7 +936,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.19.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1043,7 +1029,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.22.6"></a><h4>Returns</h4>
 <p> unsigned 16 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1082,7 +1067,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.23.6"></a><h4>Returns</h4>
 <p> unsigned 32 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1121,7 +1105,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.24.6"></a><h4>Returns</h4>
 <p> unsigned 64 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1160,7 +1143,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.25.6"></a><h4>Returns</h4>
 <p> unsigned 8 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1199,7 +1181,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.26.6"></a><h4>Returns</h4>
 <p> unsigned 16 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1238,7 +1219,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.27.6"></a><h4>Returns</h4>
 <p> unsigned 32 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1277,7 +1257,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.28.6"></a><h4>Returns</h4>
 <p> unsigned 64 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1316,7 +1295,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.9.7.29.6"></a><h4>Returns</h4>
 <p> unsigned 8 bit integer with the bits.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1371,7 +1349,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstBufferStraw.html b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
index 862cb2b..702cfa3 100644
--- a/docs/libs/html/gstreamer-libs-GstBufferStraw.html
+++ b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstBufferStraw</title>
+<title>GstBufferStraw: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
 <link rel="prev" href="gstreamer-libs-GstCheck.html" title="GstCheck">
 <link rel="next" href="gstreamer-libs-GstStreamConsistency.html" title="GstStreamConsistency">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -163,7 +163,6 @@
 <div class="refsect3">
 <a name="id-1.2.7.4.6.3.7"></a><h4>Returns</h4>
 <p> the captured <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -173,7 +172,7 @@
 gst_buffer_straw_stop_pipeline (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
                                 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>Set <em class="parameter"><code>bin</code></em>
- to <span class="type">GST_STATE_NULL</span> and release resource allocated in
+ to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><span class="type">GST_STATE_NULL</span></a> and release resource allocated in
 <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()"><code class="function">gst_buffer_straw_start_pipeline()</code></a>.</p>
 <p>You must have previously called <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()"><code class="function">gst_buffer_straw_start_pipeline()</code></a> on
 <em class="parameter"><code>pipeline</code></em>
@@ -208,7 +207,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstByteReader.html b/docs/libs/html/gstreamer-libs-GstByteReader.html
index 0a5fc83..a85a681 100644
--- a/docs/libs/html/gstreamer-libs-GstByteReader.html
+++ b/docs/libs/html/gstreamer-libs-GstByteReader.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstByteReader</title>
+<title>GstByteReader: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-libs-GstBitReader.html" title="GstBitReader">
 <link rel="next" href="gstreamer-libs-GstByteWriter.html" title="GstByteWriter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1169,8 +1169,9 @@
 <p>Unlike <a class="link" href="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-sub-reader" title="gst_byte_reader_get_sub_reader ()"><code class="function">gst_byte_reader_get_sub_reader()</code></a>, this function does not modify the
 current position of <em class="parameter"><code>reader</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.10.7.6.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.10.7.6.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1198,14 +1199,13 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.10.7.6.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.10.7.6.8"></a><h4>Returns</h4>
 <p> FALSE on error or if <em class="parameter"><code>reader</code></em>
 does not contain <em class="parameter"><code>size</code></em>
 more bytes from
 the current position, and otherwise TRUE</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1223,8 +1223,9 @@
 position of <em class="parameter"><code>reader</code></em>
  and moves it forward by <em class="parameter"><code>size</code></em>
  bytes.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.10.7.7.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.10.7.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1252,14 +1253,13 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.10.7.7.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.10.7.7.8"></a><h4>Returns</h4>
 <p> FALSE on error or if <em class="parameter"><code>reader</code></em>
 does not contain <em class="parameter"><code>size</code></em>
 more bytes from
 the current position, and otherwise TRUE</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1286,7 +1286,6 @@
 <a name="id-1.2.4.10.7.8.6"></a><h4>Returns</h4>
 <p> The current position of <em class="parameter"><code>reader</code></em>
 in bytes.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1314,7 +1313,6 @@
 <a name="id-1.2.4.10.7.9.6"></a><h4>Returns</h4>
 <p> The remaining number of bytes of <em class="parameter"><code>reader</code></em>
 instance.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1351,7 +1349,6 @@
 <a name="id-1.2.4.10.7.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the position could be set successfully, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1379,7 +1376,6 @@
 <a name="id-1.2.4.10.7.11.6"></a><h4>Returns</h4>
 <p> The total number of bytes of <em class="parameter"><code>reader</code></em>
 instance.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1416,7 +1412,6 @@
 <a name="id-1.2.4.10.7.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>nbytes</code></em>
 bytes could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1452,7 +1447,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1489,7 +1483,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1526,7 +1519,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1563,7 +1555,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1600,7 +1591,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.17.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1637,7 +1627,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1674,7 +1663,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.19.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1711,7 +1699,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.20.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1748,7 +1735,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.21.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1784,7 +1770,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.22.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1821,7 +1806,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.23.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1858,7 +1842,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.24.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1895,7 +1878,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.25.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1932,7 +1914,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.26.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1969,7 +1950,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.27.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2006,7 +1986,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2043,7 +2022,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.29.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2080,7 +2058,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.30.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2116,7 +2093,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.31.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2153,7 +2129,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.32.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2190,7 +2165,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.33.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2227,7 +2201,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.34.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2264,7 +2237,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.35.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2301,7 +2273,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.36.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2338,7 +2309,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.37.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2375,7 +2345,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.38.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2412,7 +2381,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.39.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2448,7 +2416,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.40.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2485,7 +2452,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.41.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2522,7 +2488,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.42.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2559,7 +2524,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.43.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2596,7 +2560,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.44.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2633,7 +2596,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.45.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2670,7 +2632,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.46.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2707,7 +2668,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.47.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2744,7 +2704,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.48.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2781,7 +2740,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.49.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2818,7 +2776,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.50.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2855,7 +2812,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.51.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2892,7 +2848,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.52.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2929,7 +2884,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.53.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2966,7 +2920,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.54.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3003,7 +2956,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.55.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3040,7 +2992,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.56.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3085,7 +3036,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.57.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3131,7 +3081,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.58.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3176,7 +3125,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.59.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3261,7 +3209,6 @@
 gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4);
 // -&gt; returns -1
 </pre>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3335,9 +3282,8 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.61.8"></a><h4>Returns</h4>
 <p> offset of the first match, or -1 if no match was found.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3383,7 +3329,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.63.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be found, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3422,7 +3367,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.64.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3464,7 +3408,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.65.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3513,7 +3456,6 @@
 , <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise. The
 string put into <em class="parameter"><code>str</code></em>
 must be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3560,7 +3502,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be read, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise. The
 string put into <em class="parameter"><code>str</code></em>
 must be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3607,7 +3548,6 @@
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be read, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise. The
 string put into <em class="parameter"><code>str</code></em>
 must be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3637,7 +3577,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.70.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3668,7 +3607,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.71.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3698,7 +3636,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.72.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3728,7 +3665,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.73.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a string could be skipped, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3788,7 +3724,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.75.6"></a><h4>Returns</h4>
 <p> signed 8 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3818,7 +3753,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.76.6"></a><h4>Returns</h4>
 <p> signed 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3848,7 +3782,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.77.6"></a><h4>Returns</h4>
 <p> signed 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3878,7 +3811,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.78.6"></a><h4>Returns</h4>
 <p> signed 24 bit integer (as gint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3908,7 +3840,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.79.6"></a><h4>Returns</h4>
 <p> signed 24 bit integer (as gint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3938,7 +3869,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.80.6"></a><h4>Returns</h4>
 <p> signed 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3968,7 +3898,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.81.6"></a><h4>Returns</h4>
 <p> signed 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3998,7 +3927,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.82.6"></a><h4>Returns</h4>
 <p> signed 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4028,7 +3956,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.83.6"></a><h4>Returns</h4>
 <p> signed 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4056,7 +3983,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.84.6"></a><h4>Returns</h4>
 <p> unsigned 8 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4086,7 +4012,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.85.6"></a><h4>Returns</h4>
 <p> unsigned 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4116,7 +4041,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.86.6"></a><h4>Returns</h4>
 <p> unsigned 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4146,7 +4070,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.87.6"></a><h4>Returns</h4>
 <p> unsigned 24 bit integer (as guint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4176,7 +4099,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.88.6"></a><h4>Returns</h4>
 <p> unsigned 24 bit integer (as guint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4206,7 +4128,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.89.6"></a><h4>Returns</h4>
 <p> unsigned 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4236,7 +4157,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.90.6"></a><h4>Returns</h4>
 <p> unsigned 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4266,7 +4186,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.91.6"></a><h4>Returns</h4>
 <p> unsigned 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4296,7 +4215,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.92.6"></a><h4>Returns</h4>
 <p> unsigned 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4324,7 +4242,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.93.6"></a><h4>Returns</h4>
 <p> signed 8 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4354,7 +4271,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.94.6"></a><h4>Returns</h4>
 <p> signed 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4384,7 +4300,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.95.6"></a><h4>Returns</h4>
 <p> signed 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4414,7 +4329,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.96.6"></a><h4>Returns</h4>
 <p> signed 24 bit integer (as gint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4444,7 +4358,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.97.6"></a><h4>Returns</h4>
 <p> signed 24 bit integer (as gint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4474,7 +4387,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.98.6"></a><h4>Returns</h4>
 <p> signed 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4504,7 +4416,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.99.6"></a><h4>Returns</h4>
 <p> signed 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4534,7 +4445,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.100.6"></a><h4>Returns</h4>
 <p> signed 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4564,7 +4474,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.101.6"></a><h4>Returns</h4>
 <p> signed 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4592,7 +4501,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.102.6"></a><h4>Returns</h4>
 <p> unsigned 8 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4622,7 +4530,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.103.6"></a><h4>Returns</h4>
 <p> unsigned 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4652,7 +4559,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.104.6"></a><h4>Returns</h4>
 <p> unsigned 16 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4682,7 +4588,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.105.6"></a><h4>Returns</h4>
 <p> unsigned 24 bit integer (as guint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4712,7 +4617,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.106.6"></a><h4>Returns</h4>
 <p> unsigned 24 bit integer (as guint32)</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4742,7 +4646,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.107.6"></a><h4>Returns</h4>
 <p> unsigned 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4772,7 +4675,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.108.6"></a><h4>Returns</h4>
 <p> unsigned 32 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4802,7 +4704,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.109.6"></a><h4>Returns</h4>
 <p> unsigned 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4832,7 +4733,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.110.6"></a><h4>Returns</h4>
 <p> unsigned 64 bit integer.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4861,7 +4761,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.111.6"></a><h4>Returns</h4>
 <p> floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4890,7 +4789,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.112.6"></a><h4>Returns</h4>
 <p> floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4919,7 +4817,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.113.6"></a><h4>Returns</h4>
 <p> double precision floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4948,7 +4845,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.114.6"></a><h4>Returns</h4>
 <p> double precision floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -4977,7 +4873,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.115.6"></a><h4>Returns</h4>
 <p> floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5006,7 +4901,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.116.6"></a><h4>Returns</h4>
 <p> floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5035,7 +4929,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.117.6"></a><h4>Returns</h4>
 <p> double precision floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5064,7 +4957,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.10.7.118.6"></a><h4>Returns</h4>
 <p> double precision floating point value read</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -5221,7 +5113,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstByteWriter.html b/docs/libs/html/gstreamer-libs-GstByteWriter.html
index c04e184..5fad617 100644
--- a/docs/libs/html/gstreamer-libs-GstByteWriter.html
+++ b/docs/libs/html/gstreamer-libs-GstByteWriter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstByteWriter</title>
+<title>GstByteWriter: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">
 <link rel="next" href="GstCollectPads.html" title="GstCollectPads">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1034,7 +1034,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.14.5"></a><h4>Returns</h4>
 <p> The current position of the read/write cursor</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1071,7 +1070,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the new position could be set</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1099,7 +1097,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.16.6"></a><h4>Returns</h4>
 <p> the remaining size of data that can still be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1125,7 +1122,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.17.5"></a><h4>Returns</h4>
 <p> The current, initialized size of the data</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1162,7 +1158,6 @@
 <a name="id-1.2.4.11.7.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if at least <em class="parameter"><code>size</code></em>
 bytes are still available</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1172,7 +1167,8 @@
 gst_byte_writer_put_int8 (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>,
                           <em class="parameter"><code><span class="type">gint8</span> val</code></em>);</pre>
 <p>Writes a signed 8 bit integer to <em class="parameter"><code>writer</code></em>
-.</p>
+ without
+checking if there is enough free space available in the byte writer.</p>
 <div class="refsect3">
 <a name="id-1.2.4.11.7.19.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1195,11 +1191,6 @@
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.4.11.7.19.6"></a><h4>Returns</h4>
-<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1234,7 +1225,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.20.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1270,7 +1260,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.21.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1306,7 +1295,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.22.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1342,7 +1330,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.23.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1378,7 +1365,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.24.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1414,7 +1400,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.25.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1450,7 +1435,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.26.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1486,7 +1470,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.27.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1522,7 +1505,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1558,7 +1540,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.29.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1594,7 +1575,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.30.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1630,7 +1610,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.31.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1666,7 +1645,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.32.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1702,7 +1680,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.33.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1738,7 +1715,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.34.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1774,7 +1750,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.35.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1810,7 +1785,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.36.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1846,7 +1820,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.37.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1882,7 +1855,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.38.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1918,7 +1890,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.39.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1954,7 +1925,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.40.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1990,7 +1960,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.41.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the string could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2026,7 +1995,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.42.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2062,7 +2030,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.43.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2099,7 +2066,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.44.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2144,7 +2110,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.45.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2188,7 +2153,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.46.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -2238,7 +2202,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.11.7.47.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the data could be written</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -3081,7 +3044,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstCheck.html b/docs/libs/html/gstreamer-libs-GstCheck.html
index a824fe5..4a0393f 100644
--- a/docs/libs/html/gstreamer-libs-GstCheck.html
+++ b/docs/libs/html/gstreamer-libs-GstCheck.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstCheck</title>
+<title>GstCheck: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
 <link rel="prev" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
 <link rel="next" href="gstreamer-libs-GstBufferStraw.html" title="GstBufferStraw">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -695,7 +695,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -728,7 +728,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -761,7 +761,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -794,7 +794,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -998,7 +998,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1032,7 +1032,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1066,7 +1066,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1100,7 +1100,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1748,7 +1748,7 @@
 <p> a new pad. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1784,7 +1784,7 @@
 <p> a new pad. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1826,7 +1826,7 @@
 <p> a new pad. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1861,7 +1861,7 @@
 <p> a new pad. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1905,7 +1905,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1930,7 +1930,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1943,7 +1943,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstDataQueue.html b/docs/libs/html/gstreamer-libs-GstDataQueue.html
index bc8c7c0..1436fbc 100644
--- a/docs/libs/html/gstreamer-libs-GstDataQueue.html
+++ b/docs/libs/html/gstreamer-libs-GstDataQueue.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstDataQueue</title>
+<title>GstDataQueue: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-libs-GstTypeFindHelper.html" title="GstTypeFindHelper">
 <link rel="next" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -208,8 +208,9 @@
                                   <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);</pre>
 <p>The prototype of the function used to inform the queue that it should be
 considered as full.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.2.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -246,9 +247,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.2.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.2.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the queue should be considered full.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -279,8 +279,9 @@
 the <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> will call the respective callback to signal full or empty condition.
 If the callbacks are NULL the <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> will instead emit 'full' and 'empty'
 signals.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.5.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.5.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -317,11 +318,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.5.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.5.7"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -343,8 +343,9 @@
  if the push was successful. If <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 is returned, the caller is responsible for freeing <em class="parameter"><code>item</code></em>
  and its contents.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.6.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.6.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -366,13 +367,12 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.6.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.6.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>item</code></em>
 was successfully pushed on the <em class="parameter"><code>queue</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -394,8 +394,9 @@
  if the push was successful. If <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 is returned, the caller is responsible for freeing <em class="parameter"><code>item</code></em>
  and its contents.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.7.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -417,13 +418,12 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.7.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.7.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>item</code></em>
 was successfully pushed on the <em class="parameter"><code>queue</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -438,8 +438,9 @@
 <em class="parameter"><code>queue</code></em>
  is set to the flushing state.
 MT safe.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.8.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -461,13 +462,12 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.8.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.8.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if an <em class="parameter"><code>item</code></em>
 was successfully retrieved from the <em class="parameter"><code>queue</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -482,8 +482,9 @@
 one item is available, OR the <em class="parameter"><code>queue</code></em>
  is set to the flushing state.
 MT safe.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.9.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -505,13 +506,12 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.9.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.9.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if an <em class="parameter"><code>item</code></em>
 was successfully retrieved from the <em class="parameter"><code>queue</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -522,8 +522,9 @@
 . Any call to <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()"><span class="type">gst_data_queue_push</span></a> and
 <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-pop" title="gst_data_queue_pop ()"><span class="type">gst_data_queue_pop</span></a> will be released.
 MT safe.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.10.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.10.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -537,7 +538,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -554,8 +555,9 @@
  is in flushing state, 
 all calls to those two functions will return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT Safe.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.11.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.11.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -576,7 +578,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -585,8 +587,9 @@
 gst_data_queue_drop_head (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
                           <em class="parameter"><code><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
 <p>Pop and unref the head-most <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> with the given <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.12.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.12.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -608,11 +611,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.12.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.12.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if an element was removed.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -624,8 +626,9 @@
 <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction" title="GstDataQueueCheckFullFunction ()"><span class="type">GstDataQueueCheckFullFunction</span></a> registered with <em class="parameter"><code>queue</code></em>
 .
 MT safe.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.13.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.13.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -640,12 +643,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.13.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.13.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>queue</code></em>
 is full.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -655,8 +657,9 @@
 <p>Queries if there are any items in the <em class="parameter"><code>queue</code></em>
 .
 MT safe.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.14.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.14.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -671,12 +674,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.14.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.7.14.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>queue</code></em>
 is empty.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -685,8 +687,9 @@
 gst_data_queue_get_level (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
                           <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueSize" title="struct GstDataQueueSize"><span class="type">GstDataQueueSize</span></a> *level</code></em>);</pre>
 <p>Get the current level of the queue.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.15.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.15.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -707,7 +710,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -716,8 +719,9 @@
 gst_data_queue_limits_changed (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);</pre>
 <p>Inform the queue that the limits for the fullness check have changed and that
 any blocking <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()"><code class="function">gst_data_queue_push()</code></a> should be unblocked to recheck the limits.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.15.7.16.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.7.16.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -731,7 +735,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -858,7 +862,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstFlowCombiner.html b/docs/libs/html/gstreamer-libs-GstFlowCombiner.html
index 1623e1f..3d53caf 100644
--- a/docs/libs/html/gstreamer-libs-GstFlowCombiner.html
+++ b/docs/libs/html/gstreamer-libs-GstFlowCombiner.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstFlowCombiner</title>
+<title>GstFlowCombiner: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="GstCollectPads.html" title="GstCollectPads">
 <link rel="next" href="gstreamer-libs-GstTypeFindHelper.html" title="GstTypeFindHelper">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -104,7 +104,7 @@
 it has in its list and computes the combined return value and provides
 it to the caller.</p>
 <p>To add a new pad to the <span class="type">GstFlowCombiner</span> use <a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-add-pad" title="gst_flow_combiner_add_pad ()"><code class="function">gst_flow_combiner_add_pad()</code></a>.
-The new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> is stored with a default value of <code class="literal">GST_FLOW_OK</code>.</p>
+The new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> is stored with a default value of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a>.</p>
 <p>In case you want a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> to be removed, use <a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-remove-pad" title="gst_flow_combiner_remove_pad ()"><code class="function">gst_flow_combiner_remove_pad()</code></a>.</p>
 <p>Please be aware that this struct isn't thread safe as its designed to be
  used by demuxers, those usually will have a single thread operating it.</p>
@@ -113,14 +113,14 @@
 helper struct is to follow the standard rules for <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> combination.
 These rules are:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p><code class="literal">GST_FLOW_EOS</code>: only if all returns are EOS too</p></li>
-<li class="listitem"><p><code class="literal">GST_FLOW_NOT_LINKED</code>: only if all returns are NOT_LINKED too</p></li>
-<li class="listitem"><p><code class="literal">GST_FLOW_ERROR</code> or below: if at least one returns an error return</p></li>
-<li class="listitem"><p><code class="literal">GST_FLOW_NOT_NEGOTIATED</code>: if at least one returns a not-negotiated return</p></li>
-<li class="listitem"><p><code class="literal">GST_FLOW_FLUSHING</code>: if at least one returns flushing</p></li>
-<li class="listitem"><p><code class="literal">GST_FLOW_OK</code>: otherwise</p></li>
+<li class="listitem"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-EOS:CAPS"><code class="literal">GST_FLOW_EOS</code></a>: only if all returns are EOS too</p></li>
+<li class="listitem"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-NOT-LINKED:CAPS"><code class="literal">GST_FLOW_NOT_LINKED</code></a>: only if all returns are NOT_LINKED too</p></li>
+<li class="listitem"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-ERROR:CAPS"><code class="literal">GST_FLOW_ERROR</code></a> or below: if at least one returns an error return</p></li>
+<li class="listitem"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-NOT-NEGOTIATED:CAPS"><code class="literal">GST_FLOW_NOT_NEGOTIATED</code></a>: if at least one returns a not-negotiated return</p></li>
+<li class="listitem"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><code class="literal">GST_FLOW_FLUSHING</code></a>: if at least one returns flushing</p></li>
+<li class="listitem"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a>: otherwise</p></li>
 </ul></div>
-<p><code class="literal">GST_FLOW_ERROR</code> or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are
+<p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-ERROR:CAPS"><code class="literal">GST_FLOW_ERROR</code></a> or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are
 returned immediatelly from the <a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-update-flow" title="gst_flow_combiner_update_flow ()"><code class="function">gst_flow_combiner_update_flow()</code></a> function.</p>
 </div>
 <div class="refsect1">
@@ -133,9 +133,8 @@
 <div class="refsect3">
 <a name="id-1.2.4.13.6.2.5"></a><h4>Returns</h4>
 <p> A new <span class="type">GstFlowCombiner</span></p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -158,7 +157,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -196,9 +195,8 @@
 <div class="refsect3">
 <a name="id-1.2.4.13.6.4.7"></a><h4>Returns</h4>
 <p> The combined <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -229,7 +227,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -260,7 +258,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -283,7 +281,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -291,7 +289,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstNetAddressMeta.html b/docs/libs/html/gstreamer-libs-GstNetAddressMeta.html
index 9a83a6a..a00de6e 100644
--- a/docs/libs/html/gstreamer-libs-GstNetAddressMeta.html
+++ b/docs/libs/html/gstreamer-libs-GstNetAddressMeta.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstNetAddressMeta</title>
+<title>GstNetAddressMeta: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
 <link rel="prev" href="gstreamer-net.html" title="GStreamer Network Classes">
 <link rel="next" href="GstNetClientClock.html" title="GstNetClientClock">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -177,7 +177,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
index bc49f6a..0ddb98c 100644
--- a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
+++ b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstNetTimePacket</title>
+<title>GstNetTimePacket: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
 <link rel="prev" href="GstNetClientClock.html" title="GstNetClientClock">
 <link rel="next" href="GstNetTimeProvider.html" title="GstNetTimeProvider">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -152,7 +152,6 @@
 <div class="refsect3">
 <a name="id-1.2.6.5.7.2.8"></a><h4>Returns</h4>
 <p> The new <a class="link" href="gstreamer-libs-GstNetTimePacket.html#GstNetTimePacket" title="struct GstNetTimePacket"><span class="type">GstNetTimePacket</span></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -181,7 +180,6 @@
 <a name="id-1.2.6.5.7.3.6"></a><h4>Returns</h4>
 <p> a copy of <em class="parameter"><code>packet</code></em>
 , free with <a class="link" href="gstreamer-libs-GstNetTimePacket.html#gst-net-time-packet-free" title="gst_net_time_packet_free ()"><code class="function">gst_net_time_packet_free()</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -295,7 +293,6 @@
 <div class="refsect3">
 <a name="id-1.2.6.5.7.6.7"></a><h4>Returns</h4>
 <p> TRUE if successful, FALSE in case an error occurred.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -326,7 +323,6 @@
 <div class="refsect3">
 <a name="id-1.2.6.5.7.7.7"></a><h4>Returns</h4>
 <p> A newly allocated sequence of <a class="link" href="gstreamer-libs-GstNetTimePacket.html#GST-NET-TIME-PACKET-SIZE:CAPS" title="GST_NET_TIME_PACKET_SIZE"><span class="type">GST_NET_TIME_PACKET_SIZE</span></a> bytes.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -377,7 +373,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstPtpClock.html b/docs/libs/html/gstreamer-libs-GstPtpClock.html
new file mode 100644
index 0000000..72b0d10
--- /dev/null
+++ b/docs/libs/html/gstreamer-libs-GstPtpClock.html
@@ -0,0 +1,349 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstPtpClock: GStreamer 1.0 Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
+<link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
+<link rel="prev" href="GstNetTimeProvider.html" title="GstNetTimeProvider">
+<link rel="next" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gstreamer-libs-GstPtpClock.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gstreamer-net.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="GstNetTimeProvider.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gstreamer-check.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gstreamer-libs-GstPtpClock"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gstreamer-libs-GstPtpClock.top_of_page"></a>GstPtpClock</span></h2>
+<p>GstPtpClock — Special clock that synchronizes to a remote time
+                    provider via PTP (IEEE1588:2008).</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-init" title="gst_ptp_init ()">gst_ptp_init</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-deinit" title="gst_ptp_deinit ()">gst_ptp_deinit</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-is-initialized" title="gst_ptp_is_initialized ()">gst_ptp_is_initialized</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-is-supported" title="gst_ptp_is_supported ()">gst_ptp_is_supported</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-clock-new" title="gst_ptp_clock_new ()">gst_ptp_clock_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-add" title="gst_ptp_statistics_callback_add ()">gst_ptp_statistics_callback_add</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-remove" title="gst_ptp_statistics_callback_remove ()">gst_ptp_statistics_callback_remove</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gstreamer-libs-GstPtpClock.html#GstPtpClock" title="struct GstPtpClock">GstPtpClock</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/net/net.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.description"></a><h2>Description</h2>
+<p>GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only
+mode, that allows a GStreamer pipeline to synchronize to a PTP network
+clock in some specific domain.</p>
+<p>The PTP subsystem can be initialized with <a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-init" title="gst_ptp_init ()"><code class="function">gst_ptp_init()</code></a>, which then starts
+a helper process to do the actual communication via the PTP ports. This is
+required as PTP listens on ports &lt; 1024 and thus requires special
+privileges. Once this helper process is started, the main process will
+synchronize to all PTP domains that are detected on the selected
+interfaces.</p>
+<p>gst_ptp_clock_new() then allows to create a GstClock that provides the PTP
+time from a master clock inside a specific PTP domain. This clock will only
+return valid timestamps once the timestamps in the PTP domain are known. To
+check this, you can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-wait-for-sync"><code class="function">gst_clock_wait_for_sync()</code></a>, the GstClock::synced
+signal and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-is-synced"><code class="function">gst_clock_is_synced()</code></a>.</p>
+<p>To gather statistics about the PTP clock synchronization,
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-add" title="gst_ptp_statistics_callback_add ()"><code class="function">gst_ptp_statistics_callback_add()</code></a> can be used. This gives the application
+the possibility to collect all kinds of statistics from the clock
+synchronization.</p>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-ptp-init"></a><h3>gst_ptp_init ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_ptp_init (<em class="parameter"><code><span class="type">guint64</span> clock_id</code></em>,
+              <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **interfaces</code></em>);</pre>
+<p>Initialize the GStreamer PTP subsystem and create a PTP ordinary clock in
+slave-only mode for all domains on the given <em class="parameter"><code>interfaces</code></em>
+ with the
+given <em class="parameter"><code>clock_id</code></em>
+.</p>
+<p>If <em class="parameter"><code>clock_id</code></em>
+ is <code class="literal">GST_PTP_CLOCK_ID_NONE</code>, a clock id is automatically
+generated from the MAC address of the first network interface.</p>
+<p>This function is automatically called by <a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-clock-new" title="gst_ptp_clock_new ()"><code class="function">gst_ptp_clock_new()</code></a> with default
+parameters if it wasn't called before.</p>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.2.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>clock_id</p></td>
+<td class="parameter_description"><p>PTP clock id of this process' clock or <code class="literal">GST_PTP_CLOCK_ID_NONE</code></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interfaces</p></td>
+<td class="parameter_description"><p> network interfaces to run the clock on. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.2.8"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the GStreamer PTP clock subsystem could be initialized.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-ptp-deinit"></a><h3>gst_ptp_deinit ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_ptp_deinit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Deinitialize the GStreamer PTP subsystem and stop the PTP clock. If there
+are any remaining GstPtpClock instances, they won't be further synchronized
+to the PTP network clock.</p>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-ptp-is-initialized"></a><h3>gst_ptp_is_initialized ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_ptp_is_initialized (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Check if the GStreamer PTP clock subsystem is initialized.</p>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.4.5"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the GStreamer PTP clock subsystem is intialized.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-ptp-is-supported"></a><h3>gst_ptp_is_supported ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_ptp_is_supported (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Check if PTP clocks are generally supported on this system, and if previous
+initializations did not fail.</p>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.5.5"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if PTP clocks are generally supported on this system, and
+previous initializations did not fail.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-ptp-clock-new"></a><h3>gst_ptp_clock_new ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *
+gst_ptp_clock_new (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+                   <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> domain</code></em>);</pre>
+<p>Creates a new PTP clock instance that exports the PTP time of the master
+clock in <em class="parameter"><code>domain</code></em>
+. This clock can be slaved to other clocks as needed.</p>
+<p>If <a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-init" title="gst_ptp_init ()"><code class="function">gst_ptp_init()</code></a> was not called before, this will call <a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-init" title="gst_ptp_init ()"><code class="function">gst_ptp_init()</code></a> with
+default parameters.</p>
+<p>This clock only returns valid timestamps after it received the first
+times from the PTP master clock on the network. Once this happens the
+GstPtpClock::internal-clock property will become non-NULL. You can
+check this with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-wait-for-sync"><code class="function">gst_clock_wait_for_sync()</code></a>, the GstClock::synced signal and
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-is-synced"><code class="function">gst_clock_is_synced()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.6.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Name of the clock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>domain</p></td>
+<td class="parameter_description"><p>PTP domain</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-ptp-statistics-callback-add"></a><h3>gst_ptp_statistics_callback_add ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+gst_ptp_statistics_callback_add (<em class="parameter"><code><span class="type">GstPtpStatisticsCallback</span> callback</code></em>,
+                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_data</code></em>);</pre>
+<p>Installs a new statistics callback for gathering PTP statistics. See
+GstPtpStatisticsCallback for a list of statistics that are provided.</p>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>GstPtpStatisticsCallback to call</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>Data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>destroy_data</p></td>
+<td class="parameter_description"><p>GDestroyNotify to destroy the data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.7.6"></a><h4>Returns</h4>
+<p> Id for the callback that can be passed to
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-remove" title="gst_ptp_statistics_callback_remove ()"><code class="function">gst_ptp_statistics_callback_remove()</code></a></p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-ptp-statistics-callback-remove"></a><h3>gst_ptp_statistics_callback_remove ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_ptp_statistics_callback_remove (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> id</code></em>);</pre>
+<p>Removes a PTP statistics callback that was previously added with
+<a class="link" href="gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-add" title="gst_ptp_statistics_callback_add ()"><code class="function">gst_ptp_statistics_callback_add()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.6.7.7.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>Callback id to remove</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstPtpClock"></a><h3>struct GstPtpClock</h3>
+<pre class="programlisting">struct GstPtpClock {
+  GstSystemClock clock;
+};
+</pre>
+<p>Opaque <a class="link" href="gstreamer-libs-GstPtpClock.html#GstPtpClock" title="struct GstPtpClock"><span class="type">GstPtpClock</span></a> structure.</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstPtpClock.see-also"></a><h2>See Also</h2>
+<p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a></p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstQueueArray.html b/docs/libs/html/gstreamer-libs-GstQueueArray.html
index 0f540e7..250c233 100644
--- a/docs/libs/html/gstreamer-libs-GstQueueArray.html
+++ b/docs/libs/html/gstreamer-libs-GstQueueArray.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstQueueArray</title>
+<title>GstQueueArray: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">
 <link rel="next" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -147,8 +147,9 @@
 <p>Allocates a new <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object with an initial
 queue size of <em class="parameter"><code>initial_size</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.2.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -163,11 +164,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.2.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.2.7"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -176,8 +176,9 @@
 gst_queue_array_free (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
 <p>Frees queue <em class="parameter"><code>array</code></em>
  and all memory associated to it.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.3.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.3.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -191,7 +192,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -200,8 +201,9 @@
 gst_queue_array_get_length (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
 <p>Returns the length of the queue <em class="parameter"><code>array</code></em>
 </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.4.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.4.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -216,12 +218,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.4.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.4.7"></a><h4>Returns</h4>
 <p> the length of the queue <em class="parameter"><code>array</code></em>
 .</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -231,8 +232,9 @@
 <p>Returns and head of the queue <em class="parameter"><code>array</code></em>
  and removes
 it from the queue.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.5.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.5.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -247,11 +249,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.5.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.5.7"></a><h4>Returns</h4>
 <p> The head of the queue</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -261,8 +262,9 @@
 <p>Returns and head of the queue <em class="parameter"><code>array</code></em>
  and does not
 remove it from the queue.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.6.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.6.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -277,11 +279,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.6.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.6.7"></a><h4>Returns</h4>
 <p> The head of the queue</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -292,8 +293,9 @@
 <p>Pushes <em class="parameter"><code>data</code></em>
  to the tail of the queue <em class="parameter"><code>array</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.7.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -314,7 +316,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -323,8 +325,9 @@
 gst_queue_array_is_empty (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
 <p>Checks if the queue <em class="parameter"><code>array</code></em>
  is empty.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.8.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -339,12 +342,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.8.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.8.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the queue <em class="parameter"><code>array</code></em>
 is empty</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -355,8 +357,9 @@
 <p>Drops the queue element at position <em class="parameter"><code>idx</code></em>
  from queue <em class="parameter"><code>array</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.9.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -378,11 +381,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.9.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.9.7"></a><h4>Returns</h4>
 <p> the dropped element</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -402,8 +404,9 @@
 random offset. The index can be used in connection with
 <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element" title="gst_queue_array_drop_element ()"><code class="function">gst_queue_array_drop_element()</code></a>. FIXME: return index 0-based and make
 <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element" title="gst_queue_array_drop_element ()"><code class="function">gst_queue_array_drop_element()</code></a> take a 0-based index.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.10.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.7.10.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -431,11 +434,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.16.7.10.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.7.10.8"></a><h4>Returns</h4>
 <p> Index of the found element or -1 if nothing was found.</p>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -447,7 +449,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
index c3c232e..c751e3e 100644
--- a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
+++ b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstStreamConsistency</title>
+<title>GstStreamConsistency: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
 <link rel="prev" href="gstreamer-libs-GstBufferStraw.html" title="GstBufferStraw">
 <link rel="next" href="GstTestClock.html" title="GstTestClock">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -123,7 +123,6 @@
 <div class="refsect3">
 <a name="id-1.2.7.5.7.2.6"></a><h4>Returns</h4>
 <p> A <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> structure used to track data flow.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -204,7 +203,6 @@
 <div class="refsect3">
 <a name="id-1.2.7.5.7.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad was added</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -218,7 +216,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
index 3c09174..8b2c309 100644
--- a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
+++ b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GstTypeFindHelper</title>
+<title>GstTypeFindHelper: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
 <link rel="prev" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">
 <link rel="next" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -151,7 +151,7 @@
 assumption being that the buffer represents the beginning of the stream or
 file.</p>
 <p>All available typefinders will be called on the data in order of rank. If
-a typefinding function returns a probability of <code class="literal">GST_TYPE_FIND_MAXIMUM</code>,
+a typefinding function returns a probability of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><code class="literal">GST_TYPE_FIND_MAXIMUM</code></a>,
 typefinding is stopped immediately and the found caps will be returned
 right away. Otherwise, all available typefind functions will the tried,
 and the caps with the highest probability will be returned, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
@@ -250,7 +250,7 @@
 assumption being that the data represents the beginning of the stream or
 file.</p>
 <p>All available typefinders will be called on the data in order of rank. If
-a typefinding function returns a probability of <code class="literal">GST_TYPE_FIND_MAXIMUM</code>,
+a typefinding function returns a probability of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><code class="literal">GST_TYPE_FIND_MAXIMUM</code></a>,
 typefinding is stopped immediately and the found caps will be returned
 right away. Otherwise, all available typefind functions will the tried,
 and the caps with the highest probability will be returned, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
@@ -357,7 +357,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.14.6.6.7"></a><h4>Returns</h4>
 <p> GST_FLOW_OK for success</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -443,7 +442,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs.html b/docs/libs/html/gstreamer-libs.html
index 1c7844b..ac3f5a6 100644
--- a/docs/libs/html/gstreamer-libs.html
+++ b/docs/libs/html/gstreamer-libs.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: Part I. GStreamer Libraries</title>
+<title>Part I. GStreamer Libraries: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="prev" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="next" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -110,6 +110,10 @@
 <span class="refentrytitle"><a href="GstNetTimeProvider.html">GstNetTimeProvider</a></span><span class="refpurpose"> — Special object that exposed the time of a clock
                     on the network.</span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstPtpClock.html">GstPtpClock</a></span><span class="refpurpose"> — Special clock that synchronizes to a remote time
+                    provider via PTP (IEEE1588:2008).</span>
+</dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-check.html">GStreamer Check Unit Testing</a></span></dt>
 <dd><dl>
@@ -137,7 +141,6 @@
     </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-net.html b/docs/libs/html/gstreamer-net.html
index 6991078..52408e9 100644
--- a/docs/libs/html/gstreamer-net.html
+++ b/docs/libs/html/gstreamer-net.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer 1.0 Library Reference Manual: GStreamer Network Classes</title>
+<title>GStreamer Network Classes: GStreamer 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
 <link rel="prev" href="GstTriggerControlSource.html" title="GstTriggerControlSource">
 <link rel="next" href="gstreamer-libs-GstNetAddressMeta.html" title="GstNetAddressMeta">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -38,13 +38,16 @@
 <span class="refentrytitle"><a href="GstNetTimeProvider.html">GstNetTimeProvider</a></span><span class="refpurpose"> — Special object that exposed the time of a clock
                     on the network.</span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstPtpClock.html">GstPtpClock</a></span><span class="refpurpose"> — Special clock that synchronizes to a remote time
+                    provider via PTP (IEEE1588:2008).</span>
+</dt>
 </dl></div>
 <p>
         libgstnet-1.0.so provides network elements and objects.
       </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index e890dc1..df94a76 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
 <link rel="next" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Library 1.0 (1.5.0.1)
+      for GStreamer Library 1.0 (1.5.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</a>.
     </p></div>
@@ -110,6 +110,10 @@
 <span class="refentrytitle"><a href="GstNetTimeProvider.html">GstNetTimeProvider</a></span><span class="refpurpose"> — Special object that exposed the time of a clock
                     on the network.</span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstPtpClock.html">GstPtpClock</a></span><span class="refpurpose"> — Special clock that synchronizes to a remote time
+                    provider via PTP (IEEE1588:2008).</span>
+</dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-check.html">GStreamer Check Unit Testing</a></span></dt>
 <dd><dl>
@@ -134,7 +138,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 905e164..9f44b6d 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -36,6 +36,12 @@
 <ANCHOR id="GstBaseParseClass" href="gstreamer-libs-1.0/GstBaseParse.html#GstBaseParseClass">
 <ANCHOR id="GstBaseParseFrame" href="gstreamer-libs-1.0/GstBaseParse.html#GstBaseParseFrame">
 <ANCHOR id="GstBaseParseFrameFlags" href="gstreamer-libs-1.0/GstBaseParse.html#GstBaseParseFrameFlags">
+<ANCHOR id="GST-BASE-PARSE-FRAME-FLAG-NONE:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NONE:CAPS">
+<ANCHOR id="GST-BASE-PARSE-FRAME-FLAG-NEW-FRAME:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NEW-FRAME:CAPS">
+<ANCHOR id="GST-BASE-PARSE-FRAME-FLAG-NO-FRAME:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NO-FRAME:CAPS">
+<ANCHOR id="GST-BASE-PARSE-FRAME-FLAG-CLIP:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-CLIP:CAPS">
+<ANCHOR id="GST-BASE-PARSE-FRAME-FLAG-DROP:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-DROP:CAPS">
+<ANCHOR id="GST-BASE-PARSE-FRAME-FLAG-QUEUE:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-QUEUE:CAPS">
 <ANCHOR id="GST-BASE-PARSE-FLOW-DROPPED:CAPS" href="gstreamer-libs-1.0/GstBaseParse.html#GST-BASE-PARSE-FLOW-DROPPED:CAPS">
 <ANCHOR id="GstBaseParse.property-details" href="gstreamer-libs-1.0/GstBaseParse.html#GstBaseParse.property-details">
 <ANCHOR id="GstBaseParse--disable-passthrough" href="gstreamer-libs-1.0/GstBaseParse.html#GstBaseParse--disable-passthrough">
@@ -74,6 +80,9 @@
 <ANCHOR id="GstBaseSrc-struct" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc-struct">
 <ANCHOR id="GstBaseSrcClass" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrcClass">
 <ANCHOR id="GstBaseSrcFlags" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrcFlags">
+<ANCHOR id="GST-BASE-SRC-FLAG-STARTING:CAPS" href="gstreamer-libs-1.0/GstBaseSrc.html#GST-BASE-SRC-FLAG-STARTING:CAPS">
+<ANCHOR id="GST-BASE-SRC-FLAG-STARTED:CAPS" href="gstreamer-libs-1.0/GstBaseSrc.html#GST-BASE-SRC-FLAG-STARTED:CAPS">
+<ANCHOR id="GST-BASE-SRC-FLAG-LAST:CAPS" href="gstreamer-libs-1.0/GstBaseSrc.html#GST-BASE-SRC-FLAG-LAST:CAPS">
 <ANCHOR id="GstBaseSrc.property-details" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc.property-details">
 <ANCHOR id="GstBaseSrc--blocksize" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc--blocksize">
 <ANCHOR id="GstBaseSrc--do-timestamp" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc--do-timestamp">
@@ -506,6 +515,11 @@
 <ANCHOR id="GstCollectPads-struct" href="gstreamer-libs-1.0/GstCollectPads.html#GstCollectPads-struct">
 <ANCHOR id="GstCollectData" href="gstreamer-libs-1.0/GstCollectPads.html#GstCollectData">
 <ANCHOR id="GstCollectPadsStateFlags" href="gstreamer-libs-1.0/GstCollectPads.html#GstCollectPadsStateFlags">
+<ANCHOR id="GST-COLLECT-PADS-STATE-EOS:CAPS" href="gstreamer-libs-1.0/GstCollectPads.html#GST-COLLECT-PADS-STATE-EOS:CAPS">
+<ANCHOR id="GST-COLLECT-PADS-STATE-FLUSHING:CAPS" href="gstreamer-libs-1.0/GstCollectPads.html#GST-COLLECT-PADS-STATE-FLUSHING:CAPS">
+<ANCHOR id="GST-COLLECT-PADS-STATE-NEW-SEGMENT:CAPS" href="gstreamer-libs-1.0/GstCollectPads.html#GST-COLLECT-PADS-STATE-NEW-SEGMENT:CAPS">
+<ANCHOR id="GST-COLLECT-PADS-STATE-WAITING:CAPS" href="gstreamer-libs-1.0/GstCollectPads.html#GST-COLLECT-PADS-STATE-WAITING:CAPS">
+<ANCHOR id="GST-COLLECT-PADS-STATE-LOCKED:CAPS" href="gstreamer-libs-1.0/GstCollectPads.html#GST-COLLECT-PADS-STATE-LOCKED:CAPS">
 <ANCHOR id="gstreamer-libs-GstFlowCombiner" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html">
 <ANCHOR id="gstreamer-libs-GstFlowCombiner.functions" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.functions">
 <ANCHOR id="gstreamer-libs-GstFlowCombiner.includes" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.includes">
@@ -631,6 +645,9 @@
 <ANCHOR id="GstInterpolationControlSource.other_details" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GstInterpolationControlSource.other_details">
 <ANCHOR id="GstInterpolationControlSource-struct" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GstInterpolationControlSource-struct">
 <ANCHOR id="GstInterpolationMode" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GstInterpolationMode">
+<ANCHOR id="GST-INTERPOLATION-MODE-NONE:CAPS" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GST-INTERPOLATION-MODE-NONE:CAPS">
+<ANCHOR id="GST-INTERPOLATION-MODE-LINEAR:CAPS" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GST-INTERPOLATION-MODE-LINEAR:CAPS">
+<ANCHOR id="GST-INTERPOLATION-MODE-CUBIC:CAPS" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GST-INTERPOLATION-MODE-CUBIC:CAPS">
 <ANCHOR id="GstInterpolationControlSource.property-details" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GstInterpolationControlSource.property-details">
 <ANCHOR id="GstInterpolationControlSource--mode" href="gstreamer-libs-1.0/GstInterpolationControlSource.html#GstInterpolationControlSource--mode">
 <ANCHOR id="GstLFOControlSource" href="gstreamer-libs-1.0/GstLFOControlSource.html">
@@ -645,6 +662,11 @@
 <ANCHOR id="GstLFOControlSource.other_details" href="gstreamer-libs-1.0/GstLFOControlSource.html#GstLFOControlSource.other_details">
 <ANCHOR id="GstLFOControlSource-struct" href="gstreamer-libs-1.0/GstLFOControlSource.html#GstLFOControlSource-struct">
 <ANCHOR id="GstLFOWaveform" href="gstreamer-libs-1.0/GstLFOControlSource.html#GstLFOWaveform">
+<ANCHOR id="GST-LFO-WAVEFORM-SINE:CAPS" href="gstreamer-libs-1.0/GstLFOControlSource.html#GST-LFO-WAVEFORM-SINE:CAPS">
+<ANCHOR id="GST-LFO-WAVEFORM-SQUARE:CAPS" href="gstreamer-libs-1.0/GstLFOControlSource.html#GST-LFO-WAVEFORM-SQUARE:CAPS">
+<ANCHOR id="GST-LFO-WAVEFORM-SAW:CAPS" href="gstreamer-libs-1.0/GstLFOControlSource.html#GST-LFO-WAVEFORM-SAW:CAPS">
+<ANCHOR id="GST-LFO-WAVEFORM-REVERSE-SAW:CAPS" href="gstreamer-libs-1.0/GstLFOControlSource.html#GST-LFO-WAVEFORM-REVERSE-SAW:CAPS">
+<ANCHOR id="GST-LFO-WAVEFORM-TRIANGLE:CAPS" href="gstreamer-libs-1.0/GstLFOControlSource.html#GST-LFO-WAVEFORM-TRIANGLE:CAPS">
 <ANCHOR id="GstLFOControlSource.property-details" href="gstreamer-libs-1.0/GstLFOControlSource.html#GstLFOControlSource.property-details">
 <ANCHOR id="GstLFOControlSource--amplitude" href="gstreamer-libs-1.0/GstLFOControlSource.html#GstLFOControlSource--amplitude">
 <ANCHOR id="GstLFOControlSource--frequency" href="gstreamer-libs-1.0/GstLFOControlSource.html#GstLFOControlSource--frequency">
@@ -685,10 +707,13 @@
 <ANCHOR id="GstNetClientClock.description" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock.description">
 <ANCHOR id="GstNetClientClock.functions_details" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock.functions_details">
 <ANCHOR id="gst-net-client-clock-new" href="gstreamer-libs-1.0/GstNetClientClock.html#gst-net-client-clock-new">
+<ANCHOR id="gst-ntp-clock-new" href="gstreamer-libs-1.0/GstNetClientClock.html#gst-ntp-clock-new">
 <ANCHOR id="GstNetClientClock.other_details" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock.other_details">
 <ANCHOR id="GstNetClientClock-struct" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock-struct">
+<ANCHOR id="GstNtpClock" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNtpClock">
 <ANCHOR id="GstNetClientClock.property-details" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock.property-details">
 <ANCHOR id="GstNetClientClock--address" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock--address">
+<ANCHOR id="GstNetClientClock--base-time" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock--base-time">
 <ANCHOR id="GstNetClientClock--bus" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock--bus">
 <ANCHOR id="GstNetClientClock--minimum-update-interval" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock--minimum-update-interval">
 <ANCHOR id="GstNetClientClock--port" href="gstreamer-libs-1.0/GstNetClientClock.html#GstNetClientClock--port">
@@ -727,6 +752,22 @@
 <ANCHOR id="GstNetTimeProvider--clock" href="gstreamer-libs-1.0/GstNetTimeProvider.html#GstNetTimeProvider--clock">
 <ANCHOR id="GstNetTimeProvider--port" href="gstreamer-libs-1.0/GstNetTimeProvider.html#GstNetTimeProvider--port">
 <ANCHOR id="GstNetTimeProvider.see-also" href="gstreamer-libs-1.0/GstNetTimeProvider.html#GstNetTimeProvider.see-also">
+<ANCHOR id="gstreamer-libs-GstPtpClock" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html">
+<ANCHOR id="gstreamer-libs-GstPtpClock.functions" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.functions">
+<ANCHOR id="gstreamer-libs-GstPtpClock.other" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.other">
+<ANCHOR id="gstreamer-libs-GstPtpClock.includes" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.includes">
+<ANCHOR id="gstreamer-libs-GstPtpClock.description" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.description">
+<ANCHOR id="gstreamer-libs-GstPtpClock.functions_details" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.functions_details">
+<ANCHOR id="gst-ptp-init" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-init">
+<ANCHOR id="gst-ptp-deinit" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-deinit">
+<ANCHOR id="gst-ptp-is-initialized" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-is-initialized">
+<ANCHOR id="gst-ptp-is-supported" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-is-supported">
+<ANCHOR id="gst-ptp-clock-new" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-clock-new">
+<ANCHOR id="gst-ptp-statistics-callback-add" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-add">
+<ANCHOR id="gst-ptp-statistics-callback-remove" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gst-ptp-statistics-callback-remove">
+<ANCHOR id="gstreamer-libs-GstPtpClock.other_details" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.other_details">
+<ANCHOR id="GstPtpClock" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#GstPtpClock">
+<ANCHOR id="gstreamer-libs-GstPtpClock.see-also" href="gstreamer-libs-1.0/gstreamer-libs-GstPtpClock.html#gstreamer-libs-GstPtpClock.see-also">
 <ANCHOR id="gstreamer-libs-GstCheck" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html">
 <ANCHOR id="gstreamer-libs-GstCheck.functions" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gstreamer-libs-GstCheck.functions">
 <ANCHOR id="gstreamer-libs-GstCheck.other" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gstreamer-libs-GstCheck.other">
@@ -846,8 +887,10 @@
 <ANCHOR id="annotation-glossterm-nullable" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-nullable">
 <ANCHOR id="annotation-glossterm-out" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-out">
 <ANCHOR id="annotation-glossterm-out caller-allocates" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-out caller-allocates">
+<ANCHOR id="annotation-glossterm-rename-to" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-rename-to">
 <ANCHOR id="annotation-glossterm-scope async" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-scope async">
 <ANCHOR id="annotation-glossterm-scope call" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-scope call">
+<ANCHOR id="annotation-glossterm-skip" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-skip">
 <ANCHOR id="annotation-glossterm-transfer container" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-transfer container">
 <ANCHOR id="annotation-glossterm-transfer floating" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-transfer floating">
 <ANCHOR id="annotation-glossterm-transfer full" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-transfer full">
diff --git a/docs/libs/html/style.css b/docs/libs/html/style.css
index c141ddd..3675420 100644
--- a/docs/libs/html/style.css
+++ b/docs/libs/html/style.css
@@ -60,7 +60,7 @@
 div.informaltable table
 {
   border-collapse: separate;
-  border-spacing: 1em 0.5em;
+  border-spacing: 1em 0.3em;
   border: none;
 }
 
@@ -148,6 +148,8 @@
 h4
 {
   color: #555753;
+  margin-top: 1em;
+  margin-bottom: 1em;
 }
 
 hr
@@ -166,17 +168,16 @@
   padding-bottom: 0.25em;
 }
 
-dl.toc > dd > dl > dt
+dl.toc > dt
 {
   padding-top: 0.25em;
   padding-bottom: 0.25em;
+  font-weight: bold;
 }
 
-dl.toc > dt
+dl.toc > dl
 {
-  padding-top: 1em;
   padding-bottom: 0.5em;
-  font-weight: bold;
 }
 
 .parameter
@@ -346,7 +347,9 @@
 }
 
 @media screen {
-  sup a.footnote
+  /* these have a <sup> as a first child, but since there are no parent selectors
+   * we can't use that. */
+  a.footnote
   {
     position: relative;
     top: 0em ! important;
diff --git a/docs/manual/Makefile.in b/docs/manual/Makefile.in
index 29a9ee2..f6e2e98 100644
--- a/docs/manual/Makefile.in
+++ b/docs/manual/Makefile.in
@@ -214,6 +214,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -304,6 +305,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -315,6 +317,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -401,6 +404,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 8ba1779..24b87ae 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -178,6 +178,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -268,6 +269,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -279,6 +281,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -365,6 +368,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/plugins/gstreamer-plugins.args b/docs/plugins/gstreamer-plugins.args
index 5d3afc5..79066a6 100644
--- a/docs/plugins/gstreamer-plugins.args
+++ b/docs/plugins/gstreamer-plugins.args
@@ -99,6 +99,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstTee::allow-not-linked</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Allow not linked</NICK>
+<BLURB>Return GTS_FLOW_OK even if there are not source pads or all are unlinked.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstQueue2::current-level-buffers</NAME>
 <TYPE>guint</TYPE>
 <RANGE></RANGE>
@@ -844,7 +854,7 @@
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>pattern</NICK>
-<BLURB>pattern.</BLURB>
+<BLURB>Set the pattern (unused).</BLURB>
 <DEFAULT>NULL</DEFAULT>
 </ARG>
 
@@ -999,6 +1009,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstCapsFilter::caps-change-mode</NAME>
+<TYPE>GstCapsFilterCapsChangeMode</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Caps Change Mode</NICK>
+<BLURB>Filter caps change behaviour.</BLURB>
+<DEFAULT>Only accept the current filter caps</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstDownloadBuffer::high-percent</NAME>
 <TYPE>gint</TYPE>
 <RANGE>[0,100]</RANGE>
@@ -1068,3 +1088,13 @@
 <DEFAULT>NULL</DEFAULT>
 </ARG>
 
+<ARG>
+<NAME>GstStreamidDemux::active-pad</NAME>
+<TYPE>GstPad*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Active pad</NICK>
+<BLURB>The currently active src pad.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gstreamer-plugins.hierarchy b/docs/plugins/gstreamer-plugins.hierarchy
index c26d933..892e984 100644
--- a/docs/plugins/gstreamer-plugins.hierarchy
+++ b/docs/plugins/gstreamer-plugins.hierarchy
@@ -30,6 +30,7 @@
         GstOutputSelector
         GstQueue
         GstQueue2
+        GstStreamidDemux
         GstTee
         GstTypeFindElement
         GstValve
diff --git a/docs/plugins/gstreamer-plugins.signals b/docs/plugins/gstreamer-plugins.signals
index 99e36eb..23bfbd5 100644
--- a/docs/plugins/gstreamer-plugins.signals
+++ b/docs/plugins/gstreamer-plugins.signals
@@ -1,7 +1,7 @@
 <SIGNAL>
 <NAME>GstTypeFindElement::have-type</NAME>
 <RETURNS>void</RETURNS>
-<FLAGS>f</FLAGS>
+<FLAGS>l</FLAGS>
 GstTypeFindElement *gsttypefindelement
 guint  arg1
 GstCaps *arg2
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 0fcdcce..29bce4b 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: gstreamer Elements</title>
+<title>gstreamer Elements: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="prev" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="next" href="gstreamer-plugins-capsfilter.html" title="capsfilter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -80,7 +80,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index 7dc1224..0b86941 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: gstreamer Plugins</title>
+<title>gstreamer Plugins: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="prev" href="gstreamer-plugins-valve.html" title="valve">
 <link rel="next" href="gstreamer-plugins-plugin-coreelements.html" title="coreelements">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -23,11 +23,10 @@
 <div class="titlepage"><div><div><h1 class="title">
 <a name="id-1.3"></a>gstreamer Plugins</h1></div></div></div>
 <div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose">GStreamer core elements</span>
+<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose"> — GStreamer core elements</span>
 </dt></dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-1.0.devhelp2 b/docs/plugins/html/gstreamer-plugins-1.0.devhelp2
index 634c2c8..6704e6e 100644
--- a/docs/plugins/html/gstreamer-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gstreamer-plugins-1.0.devhelp2
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
 <book xmlns="http://www.devhelp.net/book" title="GStreamer Core Plugins 1.0 Plugins Reference Manual" link="index.html" author="" name="gstreamer-plugins-1.0" version="2" language="c">
   <chapters>
     <sub name="gstreamer Elements" link="ch01.html">
@@ -27,13 +26,9 @@
     </sub>
   </chapters>
   <functions>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-capsfilter.html#id-1.2.2.7.3"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#id-1.2.2.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#id-1.2.2.7.4.2"/>
     <keyword type="struct" name="struct GstCapsFilter" link="gstreamer-plugins-capsfilter.html#GstCapsFilter-struct"/>
     <keyword type="property" name="The “caps” property" link="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-downloadbuffer.html#id-1.2.3.7.8.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-downloadbuffer.html#id-1.2.3.7.8.2"/>
+    <keyword type="property" name="The “caps-change-mode” property" link="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps-change-mode"/>
     <keyword type="struct" name="struct GstDownloadBuffer" link="gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer-struct"/>
     <keyword type="property" name="The “high-percent” property" link="gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer--high-percent"/>
     <keyword type="property" name="The “low-percent” property" link="gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer--low-percent"/>
@@ -42,9 +37,6 @@
     <keyword type="property" name="The “temp-location” property" link="gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer--temp-location"/>
     <keyword type="property" name="The “temp-remove” property" link="gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer--temp-remove"/>
     <keyword type="property" name="The “temp-template” property" link="gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer--temp-template"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesrc.html#id-1.2.4.8.4"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#id-1.2.4.8.5.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#id-1.2.4.8.5.2"/>
     <keyword type="struct" name="struct GstFakeSrc" link="gstreamer-plugins-fakesrc.html#GstFakeSrc-struct"/>
     <keyword type="enum" name="enum GstFakeSrcDataType" link="gstreamer-plugins-fakesrc.html#GstFakeSrcDataType"/>
     <keyword type="enum" name="enum GstFakeSrcFillType" link="gstreamer-plugins-fakesrc.html#GstFakeSrcFillType"/>
@@ -68,9 +60,6 @@
     <keyword type="property" name="The “sizetype” property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizetype"/>
     <keyword type="property" name="The “sync” property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--sync"/>
     <keyword type="signal" name="The “handoff” signal" link="gstreamer-plugins-fakesrc.html#GstFakeSrc-handoff"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesink.html#id-1.2.5.8.3"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#id-1.2.5.8.4.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#id-1.2.5.8.4.2"/>
     <keyword type="struct" name="struct GstFakeSink" link="gstreamer-plugins-fakesink.html#GstFakeSink-struct"/>
     <keyword type="enum" name="enum GstFakeSinkStateError" link="gstreamer-plugins-fakesink.html#GstFakeSinkStateError"/>
     <keyword type="property" name="The “can-activate-pull” property" link="gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-pull"/>
@@ -83,34 +72,19 @@
     <keyword type="property" name="The “state-error” property" link="gstreamer-plugins-fakesink.html#GstFakeSink--state-error"/>
     <keyword type="signal" name="The “handoff” signal" link="gstreamer-plugins-fakesink.html#GstFakeSink-handoff"/>
     <keyword type="signal" name="The “preroll-handoff” signal" link="gstreamer-plugins-fakesink.html#GstFakeSink-preroll-handoff"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#id-1.2.6.8.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#id-1.2.6.8.3.2.2"/>
     <keyword type="struct" name="struct GstFdSink" link="gstreamer-plugins-fdsink.html#GstFdSink-struct"/>
     <keyword type="property" name="The “fd” property" link="gstreamer-plugins-fdsink.html#GstFdSink--fd"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-fdsrc.html#id-1.2.7.8.7"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#id-1.2.7.8.8.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#id-1.2.7.8.8.2"/>
     <keyword type="struct" name="struct GstFdSrc" link="gstreamer-plugins-fdsrc.html#GstFdSrc-struct"/>
     <keyword type="property" name="The “fd” property" link="gstreamer-plugins-fdsrc.html#GstFdSrc--fd"/>
     <keyword type="property" name="The “timeout” property" link="gstreamer-plugins-fdsrc.html#GstFdSrc--timeout"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesrc.html#id-1.2.8.8.3"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#id-1.2.8.8.4.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#id-1.2.8.8.4.2"/>
     <keyword type="struct" name="struct GstFileSrc" link="gstreamer-plugins-filesrc.html#GstFileSrc-struct"/>
     <keyword type="property" name="The “location” property" link="gstreamer-plugins-filesrc.html#GstFileSrc--location"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesink.html#id-1.2.9.8.3"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#id-1.2.9.8.4.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#id-1.2.9.8.4.2"/>
     <keyword type="struct" name="struct GstFileSink" link="gstreamer-plugins-filesink.html#GstFileSink-struct"/>
     <keyword type="property" name="The “append” property" link="gstreamer-plugins-filesink.html#GstFileSink--append"/>
     <keyword type="property" name="The “buffer-mode” property" link="gstreamer-plugins-filesink.html#GstFileSink--buffer-mode"/>
     <keyword type="property" name="The “buffer-size” property" link="gstreamer-plugins-filesink.html#GstFileSink--buffer-size"/>
     <keyword type="property" name="The “location” property" link="gstreamer-plugins-filesink.html#GstFileSink--location"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#id-1.2.10.6.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#id-1.2.10.6.3.2.2"/>
     <keyword type="struct" name="struct GstFunnel" link="gstreamer-plugins-funnel.html#GstFunnel-struct"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#id-1.2.11.8.2.1.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#id-1.2.11.8.2.1.2"/>
     <keyword type="struct" name="struct GstIdentity" link="gstreamer-plugins-identity.html#GstIdentity-struct"/>
     <keyword type="property" name="The “check-imperfect-offset” property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset"/>
     <keyword type="property" name="The “check-imperfect-timestamp” property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp"/>
@@ -125,8 +99,6 @@
     <keyword type="property" name="The “sleep-time” property" link="gstreamer-plugins-identity.html#GstIdentity--sleep-time"/>
     <keyword type="property" name="The “sync” property" link="gstreamer-plugins-identity.html#GstIdentity--sync"/>
     <keyword type="signal" name="The “handoff” signal" link="gstreamer-plugins-identity.html#GstIdentity-handoff"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-input-selector.html#id-1.2.12.8.5.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#id-1.2.12.8.5.2"/>
     <keyword type="struct" name="struct GstInputSelector" link="gstreamer-plugins-input-selector.html#GstInputSelector-struct"/>
     <keyword type="enum" name="enum GstInputSelectorSyncMode" link="gstreamer-plugins-input-selector.html#GstInputSelectorSyncMode"/>
     <keyword type="property" name="The “active-pad” property" link="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad"/>
@@ -135,9 +107,6 @@
     <keyword type="property" name="The “sync-mode” property" link="gstreamer-plugins-input-selector.html#GstInputSelector--sync-mode"/>
     <keyword type="property" name="The “sync-streams” property" link="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams"/>
     <keyword type="signal" name="The “block” signal" link="gstreamer-plugins-input-selector.html#GstInputSelector-block"/>
-    <keyword type="" name="" link="gstreamer-plugins-multiqueue.html#id-1.2.13.8.2"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#id-1.2.13.8.3.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#id-1.2.13.8.3.2"/>
     <keyword type="struct" name="struct GstMultiQueue" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-struct"/>
     <keyword type="property" name="The “extra-size-buffers” property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers"/>
     <keyword type="property" name="The “extra-size-bytes” property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes"/>
@@ -151,15 +120,11 @@
     <keyword type="property" name="The “use-buffering” property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering"/>
     <keyword type="signal" name="The “overrun” signal" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-overrun"/>
     <keyword type="signal" name="The “underrun” signal" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-underrun"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-output-selector.html#id-1.2.14.7.2.1.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#id-1.2.14.7.2.1.2"/>
     <keyword type="struct" name="struct GstOutputSelector" link="gstreamer-plugins-output-selector.html#GstOutputSelector-struct"/>
     <keyword type="enum" name="enum GstOutputSelectorPadNegotiationMode" link="gstreamer-plugins-output-selector.html#GstOutputSelectorPadNegotiationMode"/>
     <keyword type="property" name="The “active-pad” property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad"/>
     <keyword type="property" name="The “pad-negotiation-mode” property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode"/>
     <keyword type="property" name="The “resend-latest” property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#id-1.2.15.8.7.3.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#id-1.2.15.8.7.3.2"/>
     <keyword type="struct" name="struct GstQueue" link="gstreamer-plugins-queue.html#GstQueue-struct"/>
     <keyword type="enum" name="enum GstQueueLeaky" link="gstreamer-plugins-queue.html#GstQueueLeaky"/>
     <keyword type="property" name="The “current-level-buffers” property" link="gstreamer-plugins-queue.html#GstQueue--current-level-buffers"/>
@@ -178,8 +143,6 @@
     <keyword type="signal" name="The “pushing” signal" link="gstreamer-plugins-queue.html#GstQueue-pushing"/>
     <keyword type="signal" name="The “running” signal" link="gstreamer-plugins-queue.html#GstQueue-running"/>
     <keyword type="signal" name="The “underrun” signal" link="gstreamer-plugins-queue.html#GstQueue-underrun"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#id-1.2.16.7.7.1.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#id-1.2.16.7.7.1.2"/>
     <keyword type="struct" name="struct GstQueue2" link="gstreamer-plugins-queue2.html#GstQueue2-struct"/>
     <keyword type="property" name="The “current-level-buffers” property" link="gstreamer-plugins-queue2.html#GstQueue2--current-level-buffers"/>
     <keyword type="property" name="The “current-level-bytes” property" link="gstreamer-plugins-queue2.html#GstQueue2--current-level-bytes"/>
@@ -195,9 +158,6 @@
     <keyword type="property" name="The “temp-template” property" link="gstreamer-plugins-queue2.html#GstQueue2--temp-template"/>
     <keyword type="property" name="The “use-buffering” property" link="gstreamer-plugins-queue2.html#GstQueue2--use-buffering"/>
     <keyword type="property" name="The “use-rate-estimate” property" link="gstreamer-plugins-queue2.html#GstQueue2--use-rate-estimate"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-tee.html#id-1.2.17.7.4"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#id-1.2.17.7.5.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#id-1.2.17.7.5.2"/>
     <keyword type="struct" name="struct GstTee" link="gstreamer-plugins-tee.html#GstTee-struct"/>
     <keyword type="enum" name="enum GstTeePullMode" link="gstreamer-plugins-tee.html#GstTeePullMode"/>
     <keyword type="property" name="The “alloc-pad” property" link="gstreamer-plugins-tee.html#GstTee--alloc-pad"/>
@@ -206,16 +166,48 @@
     <keyword type="property" name="The “num-src-pads” property" link="gstreamer-plugins-tee.html#GstTee--num-src-pads"/>
     <keyword type="property" name="The “pull-mode” property" link="gstreamer-plugins-tee.html#GstTee--pull-mode"/>
     <keyword type="property" name="The “silent” property" link="gstreamer-plugins-tee.html#GstTee--silent"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#id-1.2.18.8.4.2.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#id-1.2.18.8.4.2.2"/>
+    <keyword type="property" name="The “allow-not-linked” property" link="gstreamer-plugins-tee.html#GstTee--allow-not-linked"/>
     <keyword type="struct" name="struct GstTypeFindElement" link="gstreamer-plugins-typefind.html#GstTypeFindElement-struct"/>
     <keyword type="property" name="The “caps” property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--caps"/>
     <keyword type="property" name="The “force-caps” property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps"/>
     <keyword type="property" name="The “minimum” property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum"/>
     <keyword type="signal" name="The “have-type” signal" link="gstreamer-plugins-typefind.html#GstTypeFindElement-have-type"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#id-1.2.19.7.3.4.1"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#id-1.2.19.7.3.4.2"/>
     <keyword type="struct" name="struct GstValve" link="gstreamer-plugins-valve.html#GstValve-struct"/>
     <keyword type="property" name="The “drop” property" link="gstreamer-plugins-valve.html#GstValve--drop"/>
+    <keyword type="constant" name="FAKE_SRC_DATA_ALLOCATE" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-DATA-ALLOCATE:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_DATA_SUBBUFFER" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-DATA-SUBBUFFER:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_FILLTYPE_NOTHING" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-NOTHING:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_FILLTYPE_ZERO" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-ZERO:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_FILLTYPE_RANDOM" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-RANDOM:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_FILLTYPE_PATTERN" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-PATTERN:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_FILLTYPE_PATTERN_CONT" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-PATTERN-CONT:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_FIRST_LAST_LOOP" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-FIRST-LAST-LOOP:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_LAST_FIRST_LOOP" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-LAST-FIRST-LOOP:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_PING_PONG" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-PING-PONG:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_ORDERED_RANDOM" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-ORDERED-RANDOM:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_RANDOM" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-RANDOM:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_PATTERN_LOOP" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-PATTERN-LOOP:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_PING_PONG_PATTERN" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-PING-PONG-PATTERN:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_GET_ALWAYS_SUCEEDS" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-GET-ALWAYS-SUCEEDS:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_SIZETYPE_EMPTY" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-SIZETYPE-EMPTY:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_SIZETYPE_FIXED" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-SIZETYPE-FIXED:CAPS"/>
+    <keyword type="constant" name="FAKE_SRC_SIZETYPE_RANDOM" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-SIZETYPE-RANDOM:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_NONE" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-NONE:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_NULL_READY" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-NULL-READY:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_READY_PAUSED" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-READY-PAUSED:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-PAUSED-PLAYING:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-PLAYING-PAUSED:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_PAUSED_READY" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-PAUSED-READY:CAPS"/>
+    <keyword type="constant" name="FAKE_SINK_STATE_ERROR_READY_NULL" link="gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-READY-NULL:CAPS"/>
+    <keyword type="constant" name="GST_INPUT_SELECTOR_SYNC_MODE_ACTIVE_SEGMENT" link="gstreamer-plugins-input-selector.html#GST-INPUT-SELECTOR-SYNC-MODE-ACTIVE-SEGMENT:CAPS"/>
+    <keyword type="constant" name="GST_INPUT_SELECTOR_SYNC_MODE_CLOCK" link="gstreamer-plugins-input-selector.html#GST-INPUT-SELECTOR-SYNC-MODE-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_OUTPUT_SELECTOR_PAD_NEGOTIATION_MODE_NONE" link="gstreamer-plugins-output-selector.html#GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_OUTPUT_SELECTOR_PAD_NEGOTIATION_MODE_ALL" link="gstreamer-plugins-output-selector.html#GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-ALL:CAPS"/>
+    <keyword type="constant" name="GST_OUTPUT_SELECTOR_PAD_NEGOTIATION_MODE_ACTIVE" link="gstreamer-plugins-output-selector.html#GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-ACTIVE:CAPS"/>
+    <keyword type="constant" name="GST_QUEUE_NO_LEAK" link="gstreamer-plugins-queue.html#GST-QUEUE-NO-LEAK:CAPS"/>
+    <keyword type="constant" name="GST_QUEUE_LEAK_UPSTREAM" link="gstreamer-plugins-queue.html#GST-QUEUE-LEAK-UPSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_QUEUE_LEAK_DOWNSTREAM" link="gstreamer-plugins-queue.html#GST-QUEUE-LEAK-DOWNSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_TEE_PULL_MODE_NEVER" link="gstreamer-plugins-tee.html#GST-TEE-PULL-MODE-NEVER:CAPS"/>
+    <keyword type="constant" name="GST_TEE_PULL_MODE_SINGLE" link="gstreamer-plugins-tee.html#GST-TEE-PULL-MODE-SINGLE:CAPS"/>
   </functions>
 </book>
diff --git a/docs/plugins/html/gstreamer-plugins-capsfilter.html b/docs/plugins/html/gstreamer-plugins-capsfilter.html
index 8bf3567..0eef2f4 100644
--- a/docs/plugins/html/gstreamer-plugins-capsfilter.html
+++ b/docs/plugins/html/gstreamer-plugins-capsfilter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: capsfilter</title>
+<title>capsfilter: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="ch01.html" title="gstreamer Elements">
 <link rel="next" href="gstreamer-plugins-downloadbuffer.html" title="downloadbuffer">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,12 +41,19 @@
 <col width="300px" class="properties_name">
 <col width="200px" class="properties_flags">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="property_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> *</td>
 <td class="property_name"><a class="link" href="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps" title="The “caps” property">caps</a></td>
 <td class="property_flags">Read / Write</td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstCapsFilterCapsChangeMode</span></td>
+<td class="property_name"><a class="link" href="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps-change-mode" title="The “caps-change-mode” property">caps-change-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <a name="GstCapsFilter"></a><div class="refsect1">
@@ -186,6 +193,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-capsfilter.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-capsfilter.other_details"></a><h2>Types and Values</h2>
@@ -203,10 +211,17 @@
 <p>Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.</p>
 <p>Flags: Read / Write</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstCapsFilter--caps-change-mode"></a><h3>The <code class="literal">“caps-change-mode”</code> property</h3>
+<pre class="programlisting">  “caps-change-mode”         <span class="type">GstCapsFilterCapsChangeMode</span></pre>
+<p>Filter caps change behaviour.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Only accept the current filter caps</p>
+</div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-downloadbuffer.html b/docs/plugins/html/gstreamer-plugins-downloadbuffer.html
index de4be66..a07ff85 100644
--- a/docs/plugins/html/gstreamer-plugins-downloadbuffer.html
+++ b/docs/plugins/html/gstreamer-plugins-downloadbuffer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: downloadbuffer</title>
+<title>downloadbuffer: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-capsfilter.html" title="capsfilter">
 <link rel="next" href="gstreamer-plugins-fakesrc.html" title="fakesrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -212,6 +212,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-downloadbuffer.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-downloadbuffer.other_details"></a><h2>Types and Values</h2>
@@ -284,7 +285,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-fakesink.html b/docs/plugins/html/gstreamer-plugins-fakesink.html
index cee9da9..a1c0122 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesink.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: fakesink</title>
+<title>fakesink: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-fakesrc.html" title="fakesrc">
 <link rel="next" href="gstreamer-plugins-fdsink.html" title="fdsink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -216,6 +216,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fakesink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fakesink.other_details"></a><h2>Types and Values</h2>
@@ -452,7 +453,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-fakesrc.html b/docs/plugins/html/gstreamer-plugins-fakesrc.html
index a3de3ec..bcdc61e 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: fakesrc</title>
+<title>fakesrc: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-downloadbuffer.html" title="downloadbuffer">
 <link rel="next" href="gstreamer-plugins-fakesink.html" title="fakesink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -271,6 +271,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fakesrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fakesrc.other_details"></a><h2>Types and Values</h2>
@@ -561,7 +562,7 @@
 <div class="refsect2">
 <a name="GstFakeSrc--pattern"></a><h3>The <code class="literal">“pattern”</code> property</h3>
 <pre class="programlisting">  “pattern”                  <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
-<p>pattern.</p>
+<p>Set the pattern (unused).</p>
 <p>Flags: Read / Write</p>
 <p>Default value: NULL</p>
 </div>
@@ -667,7 +668,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-fdsink.html b/docs/plugins/html/gstreamer-plugins-fdsink.html
index 7118c0d..cec2c60 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsink.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: fdsink</title>
+<title>fdsink: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-fakesink.html" title="fakesink">
 <link rel="next" href="gstreamer-plugins-fdsrc.html" title="fdsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -145,6 +145,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsink.other_details"></a><h2>Types and Values</h2>
@@ -171,7 +172,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-fdsrc.html b/docs/plugins/html/gstreamer-plugins-fdsrc.html
index 6ba6c1c..40f2995 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: fdsrc</title>
+<title>fdsrc: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-fdsink.html" title="fdsink">
 <link rel="next" href="gstreamer-plugins-filesrc.html" title="filesrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -176,6 +176,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsrc.other_details"></a><h2>Types and Values</h2>
@@ -210,7 +211,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-filesink.html b/docs/plugins/html/gstreamer-plugins-filesink.html
index 8f4d739..090ae42 100644
--- a/docs/plugins/html/gstreamer-plugins-filesink.html
+++ b/docs/plugins/html/gstreamer-plugins-filesink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: filesink</title>
+<title>filesink: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-filesrc.html" title="filesrc">
 <link rel="next" href="gstreamer-plugins-funnel.html" title="funnel">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -174,6 +174,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesink.other_details"></a><h2>Types and Values</h2>
@@ -223,7 +224,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-filesrc.html b/docs/plugins/html/gstreamer-plugins-filesrc.html
index eca92ea..5871411 100644
--- a/docs/plugins/html/gstreamer-plugins-filesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-filesrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: filesrc</title>
+<title>filesrc: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-fdsrc.html" title="fdsrc">
 <link rel="next" href="gstreamer-plugins-filesink.html" title="filesink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -157,6 +157,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesrc.other_details"></a><h2>Types and Values</h2>
@@ -182,7 +183,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-funnel.html b/docs/plugins/html/gstreamer-plugins-funnel.html
index c01f7d6..32c69a8 100644
--- a/docs/plugins/html/gstreamer-plugins-funnel.html
+++ b/docs/plugins/html/gstreamer-plugins-funnel.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: funnel</title>
+<title>funnel: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-filesink.html" title="filesink">
 <link rel="next" href="gstreamer-plugins-identity.html" title="identity">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -58,7 +58,7 @@
 <a name="gstreamer-plugins-funnel.description"></a><h2>Description</h2>
 <p>Takes packets from various input sinks into one output source.</p>
 <p>funnel always outputs a single, open ended segment from
-0 with in <code class="literal">GST_FORMAT_TIME</code> and outputs the buffers of the
+0 with in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> and outputs the buffers of the
 different sinkpads with timestamps that are set to the
 running time for that stream. funnel does not synchronize
 the different input streams but simply forwards all buffers
@@ -148,6 +148,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-funnel.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-funnel.other_details"></a><h2>Types and Values</h2>
@@ -159,7 +160,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-identity.html b/docs/plugins/html/gstreamer-plugins-identity.html
index 82fd87e..3af480c 100644
--- a/docs/plugins/html/gstreamer-plugins-identity.html
+++ b/docs/plugins/html/gstreamer-plugins-identity.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: identity</title>
+<title>identity: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-funnel.html" title="funnel">
 <link rel="next" href="gstreamer-plugins-input-selector.html" title="input-selector">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -234,6 +234,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-identity.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-identity.other_details"></a><h2>Types and Values</h2>
@@ -390,7 +391,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-input-selector.html b/docs/plugins/html/gstreamer-plugins-input-selector.html
index 2903ee3..04d08f4 100644
--- a/docs/plugins/html/gstreamer-plugins-input-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-input-selector.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: input-selector</title>
+<title>input-selector: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-identity.html" title="identity">
 <link rel="next" href="gstreamer-plugins-multiqueue.html" title="multiqueue">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -131,8 +131,8 @@
 "active": If the pad is currently active (<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>)
 </li>
 <li class="listitem">
-"always-ok" : Make an inactive pads return <span class="type">GST_FLOW_OK</span> instead of
-<span class="type">GST_FLOW_NOT_LINKED</span>
+"always-ok" : Make an inactive pads return <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> instead of
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-NOT-LINKED:CAPS"><span class="type">GST_FLOW_NOT_LINKED</span></a>
 </li>
 </ul></div>
 <div class="refsynopsisdiv">
@@ -220,6 +220,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-input-selector.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-input-selector.other_details"></a><h2>Types and Values</h2>
@@ -347,10 +348,6 @@
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.12.12.2.6"></a><h4>Returns</h4>
-<p></p>
-</div>
 <p>Flags: Action</p>
 </div>
 </div>
@@ -360,7 +357,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-multiqueue.html b/docs/plugins/html/gstreamer-plugins-multiqueue.html
index f6c0c67..db1f934 100644
--- a/docs/plugins/html/gstreamer-plugins-multiqueue.html
+++ b/docs/plugins/html/gstreamer-plugins-multiqueue.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: multiqueue</title>
+<title>multiqueue: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-input-selector.html" title="input-selector">
 <link rel="next" href="gstreamer-plugins-output-selector.html" title="output-selector">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -310,6 +310,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-multiqueue.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-multiqueue.other_details"></a><h2>Types and Values</h2>
@@ -484,7 +485,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-output-selector.html b/docs/plugins/html/gstreamer-plugins-output-selector.html
index 14f9a10..9907c7f 100644
--- a/docs/plugins/html/gstreamer-plugins-output-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-output-selector.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: output-selector</title>
+<title>output-selector: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-multiqueue.html" title="multiqueue">
 <link rel="next" href="gstreamer-plugins-queue.html" title="queue">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -177,6 +177,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-output-selector.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-output-selector.other_details"></a><h2>Types and Values</h2>
@@ -260,7 +261,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index 7a405d0..153eb33 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: coreelements</title>
+<title>coreelements: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gstreamer Plugins">
 <link rel="prev" href="ch02.html" title="gstreamer Plugins">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -49,7 +49,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer git</td>
+<td>GStreamer source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</span></p></td>
@@ -131,6 +131,10 @@
 <td>Simple data queue</td>
 </tr>
 <tr>
+<td><p><span class="term">streamiddemux</span></p></td>
+<td>1-to-N output stream by stream-id</td>
+</tr>
+<tr>
 <td><p><span class="term"><a class="link" href="gstreamer-plugins-tee.html" title="tee">tee</a></span></p></td>
 <td>1-to-N pipe fitting</td>
 </tr>
@@ -147,7 +151,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-queue.html b/docs/plugins/html/gstreamer-plugins-queue.html
index eca1ab6..fbd3977 100644
--- a/docs/plugins/html/gstreamer-plugins-queue.html
+++ b/docs/plugins/html/gstreamer-plugins-queue.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: queue</title>
+<title>queue: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-output-selector.html" title="output-selector">
 <link rel="next" href="gstreamer-plugins-queue2.html" title="queue2">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -276,6 +276,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-queue.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-queue.other_details"></a><h2>Types and Values</h2>
@@ -362,7 +363,7 @@
 max. sizes though).</p>
 <p>Flags: Read / Write</p>
 <p>Default value: FALSE</p>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -567,7 +568,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-queue2.html b/docs/plugins/html/gstreamer-plugins-queue2.html
index 7ffbfb4..c19ce70 100644
--- a/docs/plugins/html/gstreamer-plugins-queue2.html
+++ b/docs/plugins/html/gstreamer-plugins-queue2.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: queue2</title>
+<title>queue2: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-queue.html" title="queue">
 <link rel="next" href="gstreamer-plugins-tee.html" title="tee">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -243,6 +243,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-queue2.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-queue2.other_details"></a><h2>Types and Values</h2>
@@ -372,7 +373,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-tee.html b/docs/plugins/html/gstreamer-plugins-tee.html
index d60c91b..468f092 100644
--- a/docs/plugins/html/gstreamer-plugins-tee.html
+++ b/docs/plugins/html/gstreamer-plugins-tee.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: tee</title>
+<title>tee: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-queue2.html" title="queue2">
 <link rel="next" href="gstreamer-plugins-typefind.html" title="typefind">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,6 +74,11 @@
 <td class="property_name"><a class="link" href="gstreamer-plugins-tee.html#GstTee--silent" title="The “silent” property">silent</a></td>
 <td class="property_flags">Read / Write / Construct</td>
 </tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gstreamer-plugins-tee.html#GstTee--allow-not-linked" title="The “allow-not-linked” property">allow-not-linked</a></td>
+<td class="property_flags">Read / Write / Construct</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -215,6 +220,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-tee.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-tee.other_details"></a><h2>Types and Values</h2>
@@ -306,6 +312,18 @@
 <p>Flags: Read / Write / Construct</p>
 <p>Default value: TRUE</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstTee--allow-not-linked"></a><h3>The <code class="literal">“allow-not-linked”</code> property</h3>
+<pre class="programlisting">  “allow-not-linked”         <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>This property makes sink pad return GST_FLOW_OK even if there are no
+source pads or any of them is linked.</p>
+<p>This is useful to avoid errors when you have a dynamic pipeline and during
+a reconnection you can have all the pads unlinked or removed.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: FALSE</p>
+<p class="since">Since: 1.6</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-tee.see-also"></a><h2>See Also</h2>
@@ -313,7 +331,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-typefind.html b/docs/plugins/html/gstreamer-plugins-typefind.html
index fc72585..0d0363f 100644
--- a/docs/plugins/html/gstreamer-plugins-typefind.html
+++ b/docs/plugins/html/gstreamer-plugins-typefind.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: typefind</title>
+<title>typefind: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-tee.html" title="tee">
 <link rel="next" href="gstreamer-plugins-valve.html" title="valve">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,7 +74,7 @@
 <tbody><tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement-have-type" title="The “have-type” signal">have-type</a></td>
-<td class="signal_flags">Run First</td>
+<td class="signal_flags">Run Last</td>
 </tr></tbody>
 </table></div>
 </div>
@@ -195,6 +195,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-typefind.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-typefind.other_details"></a><h2>Types and Values</h2>
@@ -272,12 +273,11 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run First</p>
+<p>Flags: Run Last</p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gstreamer-plugins-valve.html b/docs/plugins/html/gstreamer-plugins-valve.html
index 7fcb942..26f423a 100644
--- a/docs/plugins/html/gstreamer-plugins-valve.html
+++ b/docs/plugins/html/gstreamer-plugins-valve.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Core Plugins 1.0 Plugins Reference Manual: valve</title>
+<title>valve: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gstreamer Elements">
 <link rel="prev" href="gstreamer-plugins-typefind.html" title="typefind">
 <link rel="next" href="ch02.html" title="gstreamer Plugins">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -75,7 +75,7 @@
 <p>The valve is a simple element that drops buffers when the <a class="link" href="gstreamer-plugins-valve.html#GstValve--drop" title="The “drop” property"><span class="type">“drop”</span></a>
 property is set to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and lets then through otherwise.</p>
 <p>Any downstream error received while the <a class="link" href="gstreamer-plugins-valve.html#GstValve--drop" title="The “drop” property"><span class="type">“drop”</span></a> property is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
-is ignored. So downstream element can be set to  <code class="literal">GST_STATE_NULL</code> and removed,
+is ignored. So downstream element can be set to  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> and removed,
 without using pad blocking.</p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
@@ -162,6 +162,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-valve.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-valve.other_details"></a><h2>Types and Values</h2>
@@ -183,7 +184,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 5386857..f8a7042 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
 <link rel="next" href="ch01.html" title="gstreamer Elements">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Core Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Core Plugins 1.0 (1.5.0.1)
+      for GStreamer Core Plugins 1.0 (1.5.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/</a>.
     </p></div>
@@ -82,12 +82,11 @@
 </dl></dd>
 <dt><span class="chapter"><a href="ch02.html">gstreamer Plugins</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose">GStreamer core elements</span>
+<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose"> — GStreamer core elements</span>
 </dt></dl></dd>
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index 99195c8..d93ef06 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -10,6 +10,7 @@
 <ANCHOR id="GstCapsFilter-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-capsfilter.html#GstCapsFilter-struct">
 <ANCHOR id="gstreamer-plugins-capsfilter.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-capsfilter.html#gstreamer-plugins-capsfilter.property-details">
 <ANCHOR id="GstCapsFilter--caps" href="gstreamer-plugins-1.0/gstreamer-plugins-capsfilter.html#GstCapsFilter--caps">
+<ANCHOR id="GstCapsFilter--caps-change-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-capsfilter.html#GstCapsFilter--caps-change-mode">
 <ANCHOR id="gstreamer-plugins-downloadbuffer" href="gstreamer-plugins-1.0/gstreamer-plugins-downloadbuffer.html">
 <ANCHOR id="gstreamer-plugins-downloadbuffer.properties" href="gstreamer-plugins-1.0/gstreamer-plugins-downloadbuffer.html#gstreamer-plugins-downloadbuffer.properties">
 <ANCHOR id="GstDownloadBuffer" href="gstreamer-plugins-1.0/gstreamer-plugins-downloadbuffer.html#GstDownloadBuffer">
@@ -38,9 +39,27 @@
 <ANCHOR id="gstreamer-plugins-fakesrc.other_details" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#gstreamer-plugins-fakesrc.other_details">
 <ANCHOR id="GstFakeSrc-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc-struct">
 <ANCHOR id="GstFakeSrcDataType" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrcDataType">
+<ANCHOR id="FAKE-SRC-DATA-ALLOCATE:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-DATA-ALLOCATE:CAPS">
+<ANCHOR id="FAKE-SRC-DATA-SUBBUFFER:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-DATA-SUBBUFFER:CAPS">
 <ANCHOR id="GstFakeSrcFillType" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrcFillType">
+<ANCHOR id="FAKE-SRC-FILLTYPE-NOTHING:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-NOTHING:CAPS">
+<ANCHOR id="FAKE-SRC-FILLTYPE-ZERO:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-ZERO:CAPS">
+<ANCHOR id="FAKE-SRC-FILLTYPE-RANDOM:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-RANDOM:CAPS">
+<ANCHOR id="FAKE-SRC-FILLTYPE-PATTERN:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-PATTERN:CAPS">
+<ANCHOR id="FAKE-SRC-FILLTYPE-PATTERN-CONT:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-FILLTYPE-PATTERN-CONT:CAPS">
 <ANCHOR id="GstFakeSrcOutputType" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrcOutputType">
+<ANCHOR id="FAKE-SRC-FIRST-LAST-LOOP:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-FIRST-LAST-LOOP:CAPS">
+<ANCHOR id="FAKE-SRC-LAST-FIRST-LOOP:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-LAST-FIRST-LOOP:CAPS">
+<ANCHOR id="FAKE-SRC-PING-PONG:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-PING-PONG:CAPS">
+<ANCHOR id="FAKE-SRC-ORDERED-RANDOM:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-ORDERED-RANDOM:CAPS">
+<ANCHOR id="FAKE-SRC-RANDOM:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-RANDOM:CAPS">
+<ANCHOR id="FAKE-SRC-PATTERN-LOOP:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-PATTERN-LOOP:CAPS">
+<ANCHOR id="FAKE-SRC-PING-PONG-PATTERN:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-PING-PONG-PATTERN:CAPS">
+<ANCHOR id="FAKE-SRC-GET-ALWAYS-SUCEEDS:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-GET-ALWAYS-SUCEEDS:CAPS">
 <ANCHOR id="GstFakeSrcSizeType" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrcSizeType">
+<ANCHOR id="FAKE-SRC-SIZETYPE-EMPTY:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-SIZETYPE-EMPTY:CAPS">
+<ANCHOR id="FAKE-SRC-SIZETYPE-FIXED:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-SIZETYPE-FIXED:CAPS">
+<ANCHOR id="FAKE-SRC-SIZETYPE-RANDOM:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#FAKE-SRC-SIZETYPE-RANDOM:CAPS">
 <ANCHOR id="gstreamer-plugins-fakesrc.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#gstreamer-plugins-fakesrc.property-details">
 <ANCHOR id="GstFakeSrc--can-activate-pull" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--can-activate-pull">
 <ANCHOR id="GstFakeSrc--can-activate-push" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--can-activate-push">
@@ -73,6 +92,13 @@
 <ANCHOR id="gstreamer-plugins-fakesink.other_details" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#gstreamer-plugins-fakesink.other_details">
 <ANCHOR id="GstFakeSink-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink-struct">
 <ANCHOR id="GstFakeSinkStateError" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSinkStateError">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-NONE:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-NONE:CAPS">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-NULL-READY:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-NULL-READY:CAPS">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-READY-PAUSED:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-READY-PAUSED:CAPS">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-PAUSED-PLAYING:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-PAUSED-PLAYING:CAPS">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-PLAYING-PAUSED:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-PLAYING-PAUSED:CAPS">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-PAUSED-READY:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-PAUSED-READY:CAPS">
+<ANCHOR id="FAKE-SINK-STATE-ERROR-READY-NULL:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#FAKE-SINK-STATE-ERROR-READY-NULL:CAPS">
 <ANCHOR id="gstreamer-plugins-fakesink.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#gstreamer-plugins-fakesink.property-details">
 <ANCHOR id="GstFakeSink--can-activate-pull" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-pull">
 <ANCHOR id="GstFakeSink--can-activate-push" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-push">
@@ -186,6 +212,8 @@
 <ANCHOR id="gstreamer-plugins-input-selector.other_details" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#gstreamer-plugins-input-selector.other_details">
 <ANCHOR id="GstInputSelector-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector-struct">
 <ANCHOR id="GstInputSelectorSyncMode" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelectorSyncMode">
+<ANCHOR id="GST-INPUT-SELECTOR-SYNC-MODE-ACTIVE-SEGMENT:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GST-INPUT-SELECTOR-SYNC-MODE-ACTIVE-SEGMENT:CAPS">
+<ANCHOR id="GST-INPUT-SELECTOR-SYNC-MODE-CLOCK:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GST-INPUT-SELECTOR-SYNC-MODE-CLOCK:CAPS">
 <ANCHOR id="gstreamer-plugins-input-selector.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#gstreamer-plugins-input-selector.property-details">
 <ANCHOR id="GstInputSelector--active-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--active-pad">
 <ANCHOR id="GstInputSelector--cache-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--cache-buffers">
@@ -230,6 +258,9 @@
 <ANCHOR id="gstreamer-plugins-output-selector.other_details" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#gstreamer-plugins-output-selector.other_details">
 <ANCHOR id="GstOutputSelector-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector-struct">
 <ANCHOR id="GstOutputSelectorPadNegotiationMode" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelectorPadNegotiationMode">
+<ANCHOR id="GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-NONE:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-NONE:CAPS">
+<ANCHOR id="GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-ALL:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-ALL:CAPS">
+<ANCHOR id="GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-ACTIVE:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GST-OUTPUT-SELECTOR-PAD-NEGOTIATION-MODE-ACTIVE:CAPS">
 <ANCHOR id="gstreamer-plugins-output-selector.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#gstreamer-plugins-output-selector.property-details">
 <ANCHOR id="GstOutputSelector--active-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad">
 <ANCHOR id="GstOutputSelector--pad-negotiation-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode">
@@ -246,6 +277,9 @@
 <ANCHOR id="gstreamer-plugins-queue.other_details" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#gstreamer-plugins-queue.other_details">
 <ANCHOR id="GstQueue-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue-struct">
 <ANCHOR id="GstQueueLeaky" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueueLeaky">
+<ANCHOR id="GST-QUEUE-NO-LEAK:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GST-QUEUE-NO-LEAK:CAPS">
+<ANCHOR id="GST-QUEUE-LEAK-UPSTREAM:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GST-QUEUE-LEAK-UPSTREAM:CAPS">
+<ANCHOR id="GST-QUEUE-LEAK-DOWNSTREAM:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GST-QUEUE-LEAK-DOWNSTREAM:CAPS">
 <ANCHOR id="gstreamer-plugins-queue.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#gstreamer-plugins-queue.property-details">
 <ANCHOR id="GstQueue--current-level-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--current-level-buffers">
 <ANCHOR id="GstQueue--current-level-bytes" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--current-level-bytes">
@@ -298,6 +332,8 @@
 <ANCHOR id="gstreamer-plugins-tee.other_details" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#gstreamer-plugins-tee.other_details">
 <ANCHOR id="GstTee-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee-struct">
 <ANCHOR id="GstTeePullMode" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTeePullMode">
+<ANCHOR id="GST-TEE-PULL-MODE-NEVER:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GST-TEE-PULL-MODE-NEVER:CAPS">
+<ANCHOR id="GST-TEE-PULL-MODE-SINGLE:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GST-TEE-PULL-MODE-SINGLE:CAPS">
 <ANCHOR id="gstreamer-plugins-tee.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#gstreamer-plugins-tee.property-details">
 <ANCHOR id="GstTee--alloc-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--alloc-pad">
 <ANCHOR id="GstTee--has-chain" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--has-chain">
@@ -305,6 +341,7 @@
 <ANCHOR id="GstTee--num-src-pads" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--num-src-pads">
 <ANCHOR id="GstTee--pull-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--pull-mode">
 <ANCHOR id="GstTee--silent" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--silent">
+<ANCHOR id="GstTee--allow-not-linked" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--allow-not-linked">
 <ANCHOR id="gstreamer-plugins-tee.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#gstreamer-plugins-tee.see-also">
 <ANCHOR id="gstreamer-plugins-typefind" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html">
 <ANCHOR id="gstreamer-plugins-typefind.properties" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#gstreamer-plugins-typefind.properties">
diff --git a/docs/plugins/html/style.css b/docs/plugins/html/style.css
index c141ddd..3675420 100644
--- a/docs/plugins/html/style.css
+++ b/docs/plugins/html/style.css
@@ -60,7 +60,7 @@
 div.informaltable table
 {
   border-collapse: separate;
-  border-spacing: 1em 0.5em;
+  border-spacing: 1em 0.3em;
   border: none;
 }
 
@@ -148,6 +148,8 @@
 h4
 {
   color: #555753;
+  margin-top: 1em;
+  margin-bottom: 1em;
 }
 
 hr
@@ -166,17 +168,16 @@
   padding-bottom: 0.25em;
 }
 
-dl.toc > dd > dl > dt
+dl.toc > dt
 {
   padding-top: 0.25em;
   padding-bottom: 0.25em;
+  font-weight: bold;
 }
 
-dl.toc > dt
+dl.toc > dl
 {
-  padding-top: 1em;
   padding-bottom: 0.5em;
-  font-weight: bold;
 }
 
 .parameter
@@ -346,7 +347,9 @@
 }
 
 @media screen {
-  sup a.footnote
+  /* these have a <sup> as a first child, but since there are no parent selectors
+   * we can't use that. */
+  a.footnote
   {
     position: relative;
     top: 0em ! important;
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index c98c7f3..d994e08 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -3,10 +3,10 @@
   <description>GStreamer core elements</description>
   <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
   <basename>libgstcoreelements.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gstreamer</source>
-  <package>GStreamer git</package>
+  <package>GStreamer source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -310,6 +310,27 @@
       </pads>
     </element>
     <element>
+      <name>streamiddemux</name>
+      <longname>Streamid Demux</longname>
+      <class>Generic</class>
+      <description>1-to-N output stream by stream-id</description>
+      <author>HoonHee Lee &lt;hoonhee.lee@lge.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>src_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>tee</name>
       <longname>Tee pipe fitting</longname>
       <class>Generic</class>
diff --git a/docs/pwg/Makefile.in b/docs/pwg/Makefile.in
index 76d7c46..70a7ee3 100644
--- a/docs/pwg/Makefile.in
+++ b/docs/pwg/Makefile.in
@@ -214,6 +214,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -304,6 +305,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -315,6 +317,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -401,6 +404,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/slides/Makefile.in b/docs/slides/Makefile.in
index 6107fc8..3ded9db 100644
--- a/docs/slides/Makefile.in
+++ b/docs/slides/Makefile.in
@@ -159,6 +159,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -249,6 +250,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -260,6 +262,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -346,6 +349,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/docs/xsl/Makefile.in b/docs/xsl/Makefile.in
index 24178c9..950859f 100644
--- a/docs/xsl/Makefile.in
+++ b/docs/xsl/Makefile.in
@@ -159,6 +159,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -249,6 +250,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -260,6 +262,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -346,6 +349,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 7698117..ad53eea 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -397,6 +397,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -487,6 +488,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -498,6 +500,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -584,6 +587,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/gst/gst.c b/gst/gst.c
index cd91242..fcd966c 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -192,6 +192,17 @@
  */
 
 #ifdef G_OS_WIN32
+/* Note: DllMain is only called when DLLs are loaded or unloaded, so this will
+ * never be called if libgstreamer-1.0 is linked statically. Do not add any code
+ * here to, say, initialize variables or set things up since that will only
+ * happen for dynamically-built GStreamer.
+ *
+ * Also, ideally this should not be defined when GStreamer is built statically.
+ * i.e., it should be conditional on #ifdef DLL_EXPORT. It will be ignored, but
+ * if other libraries make the same mistake of defining it when building
+ * statically, there will be a symbol collision during linking. Fixing this
+ * requires one to build two object files: one for static linking and another
+ * for dynamic linking. */
 BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
 BOOL WINAPI
 DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
diff --git a/gst/gstallocator.h b/gst/gstallocator.h
index 99deee2..5dadd44 100644
--- a/gst/gstallocator.h
+++ b/gst/gstallocator.h
@@ -97,6 +97,8 @@
  * @mem_copy: the implementation of the GstMemoryCopyFunction
  * @mem_share: the implementation of the GstMemoryShareFunction
  * @mem_is_span: the implementation of the GstMemoryIsSpanFunction
+ * @mem_unmap_full: the implementation of the GstMemoryUnmapFullFunction.
+ *      Will be used instead of @mem_unmap if present. Since 1.6
  *
  * The #GstAllocator is used to create new memory.
  */
@@ -104,18 +106,20 @@
 {
   GstObject  object;
 
-  const gchar              *mem_type;
+  const gchar               *mem_type;
 
   /*< public >*/
-  GstMemoryMapFunction      mem_map;
-  GstMemoryUnmapFunction    mem_unmap;
+  GstMemoryMapFunction       mem_map;
+  GstMemoryUnmapFunction     mem_unmap;
 
-  GstMemoryCopyFunction     mem_copy;
-  GstMemoryShareFunction    mem_share;
-  GstMemoryIsSpanFunction   mem_is_span;
+  GstMemoryCopyFunction      mem_copy;
+  GstMemoryShareFunction     mem_share;
+  GstMemoryIsSpanFunction    mem_is_span;
+
+  GstMemoryUnmapFullFunction mem_unmap_full;
 
   /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
+  gpointer _gst_reserved[GST_PADDING - 1];
 
   GstAllocatorPrivate *priv;
 };
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index 07d1e29..63bd3f2 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -284,13 +284,40 @@
   GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_TAG_MEMORY);
 }
 
+/* transfer full for return and transfer none for @mem */
+static inline GstMemory *
+_memory_get_exclusive_reference (GstMemory * mem)
+{
+  GstMemory *ret = NULL;
+
+  if (gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE)) {
+    ret = gst_memory_ref (mem);
+  } else {
+    /* we cannot take another exclusive lock as the memory is already
+     * locked WRITE + EXCLUSIVE according to part-miniobject.txt */
+    ret = gst_memory_copy (mem, 0, -1);
+
+    if (ret) {
+      if (!gst_memory_lock (ret, GST_LOCK_FLAG_EXCLUSIVE)) {
+        gst_memory_unref (ret);
+        ret = NULL;
+      }
+    }
+  }
+
+  if (!ret)
+    GST_CAT_WARNING (GST_CAT_BUFFER, "Failed to acquire an exclusive lock for "
+        "memory %p", mem);
+
+  return ret;
+}
+
 static inline void
-_memory_add (GstBuffer * buffer, gint idx, GstMemory * mem, gboolean lock)
+_memory_add (GstBuffer * buffer, gint idx, GstMemory * mem)
 {
   guint i, len = GST_BUFFER_MEM_LEN (buffer);
 
-  GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %d, mem %p, lock %d", buffer,
-      idx, mem, lock);
+  GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %d, mem %p", buffer, idx, mem);
 
   if (G_UNLIKELY (len >= GST_BUFFER_MEM_MAX)) {
     /* too many buffer, span them. */
@@ -312,8 +339,6 @@
     GST_BUFFER_MEM_PTR (buffer, i) = GST_BUFFER_MEM_PTR (buffer, i - 1);
   }
   /* and insert the new buffer */
-  if (lock)
-    gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE);
   GST_BUFFER_MEM_PTR (buffer, idx) = mem;
   GST_BUFFER_MEM_LEN (buffer) = len + 1;
 
@@ -451,17 +476,22 @@
         if (tocopy < bsize && !deep && !GST_MEMORY_IS_NO_SHARE (mem)) {
           /* we need to clip something */
           newmem = gst_memory_share (mem, skip, tocopy);
-          if (newmem)
+          if (newmem) {
+            gst_memory_lock (newmem, GST_LOCK_FLAG_EXCLUSIVE);
             skip = 0;
+          }
         }
 
         if (deep || GST_MEMORY_IS_NO_SHARE (mem) || (!newmem && tocopy < bsize)) {
           /* deep copy or we're not allowed to share this memory
            * between buffers, always copy then */
           newmem = gst_memory_copy (mem, skip, tocopy);
-          skip = 0;
+          if (newmem) {
+            gst_memory_lock (newmem, GST_LOCK_FLAG_EXCLUSIVE);
+            skip = 0;
+          }
         } else if (!newmem) {
-          newmem = gst_memory_ref (mem);
+          newmem = _memory_get_exclusive_reference (mem);
         }
 
         if (!newmem) {
@@ -469,7 +499,7 @@
           return FALSE;
         }
 
-        _memory_add (dest, -1, newmem, TRUE);
+        _memory_add (dest, -1, newmem);
         left -= tocopy;
       }
     }
@@ -487,6 +517,9 @@
   }
 
   if (flags & GST_BUFFER_COPY_META) {
+    /* NOTE: GstGLSyncMeta copying relies on the meta
+     *       being copied now, after the buffer data,
+     *       so this has to happen last */
     for (walk = GST_BUFFER_META (src); walk; walk = walk->next) {
       GstMeta *meta = &walk->meta;
       const GstMetaInfo *info = meta->info;
@@ -706,8 +739,10 @@
 
   newbuf = gst_buffer_new ();
 
-  if (mem != NULL)
-    _memory_add (newbuf, -1, mem, TRUE);
+  if (mem != NULL) {
+    gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE);
+    _memory_add (newbuf, -1, mem);
+  }
 
   GST_CAT_LOG (GST_CAT_BUFFER,
       "new buffer %p of size %" G_GSIZE_FORMAT " from allocator %p", newbuf,
@@ -801,7 +836,8 @@
   mem =
       gst_memory_new_wrapped (flags, data, maxsize, offset, size, user_data,
       notify);
-  _memory_add (newbuf, -1, mem, TRUE);
+  gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE);
+  _memory_add (newbuf, -1, mem);
   GST_BUFFER_FLAG_UNSET (newbuf, GST_BUFFER_FLAG_TAG_MEMORY);
 
   return newbuf;
@@ -892,13 +928,18 @@
 void
 gst_buffer_insert_memory (GstBuffer * buffer, gint idx, GstMemory * mem)
 {
+  GstMemory *tmp;
+
   g_return_if_fail (GST_IS_BUFFER (buffer));
   g_return_if_fail (gst_buffer_is_writable (buffer));
   g_return_if_fail (mem != NULL);
   g_return_if_fail (idx == -1 ||
       (idx >= 0 && idx <= GST_BUFFER_MEM_LEN (buffer)));
 
-  _memory_add (buffer, idx, mem, TRUE);
+  tmp = _memory_get_exclusive_reference (mem);
+  g_return_if_fail (tmp != NULL);
+  gst_memory_unref (mem);
+  _memory_add (buffer, idx, tmp);
 }
 
 static GstMemory *
@@ -1948,7 +1989,7 @@
 
     mem = GST_BUFFER_MEM_PTR (buf2, i);
     GST_BUFFER_MEM_PTR (buf2, i) = NULL;
-    _memory_add (buf1, -1, mem, FALSE);
+    _memory_add (buf1, -1, mem);
   }
 
   GST_BUFFER_MEM_LEN (buf2) = 0;
diff --git a/gst/gstclock.c b/gst/gstclock.c
index 2d8de0f..6faade6 100644
--- a/gst/gstclock.c
+++ b/gst/gstclock.c
@@ -128,6 +128,12 @@
   PROP_TIMEOUT
 };
 
+enum
+{
+  SIGNAL_SYNCED,
+  SIGNAL_LAST
+};
+
 #define GST_CLOCK_SLAVE_LOCK(clock)     g_mutex_lock (&GST_CLOCK_CAST (clock)->priv->slave_lock)
 #define GST_CLOCK_SLAVE_UNLOCK(clock)   g_mutex_unlock (&GST_CLOCK_CAST (clock)->priv->slave_lock)
 
@@ -135,6 +141,8 @@
 {
   GMutex slave_lock;            /* order: SLAVE_LOCK, OBJECT_LOCK */
 
+  GCond sync_cond;
+
   /* with LOCK */
   GstClockTime internal_calibration;
   GstClockTime external_calibration;
@@ -159,6 +167,8 @@
 
   gint pre_count;
   gint post_count;
+
+  gboolean synced;
 };
 
 /* seqlocks */
@@ -227,7 +237,7 @@
 static void gst_clock_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-/* static guint gst_clock_signals[LAST_SIGNAL] = { 0 }; */
+static guint gst_clock_signals[SIGNAL_LAST] = { 0 };
 
 static GstClockID
 gst_clock_entry_new (GstClock * clock, GstClockTime time,
@@ -694,6 +704,25 @@
           0, G_MAXUINT64, DEFAULT_TIMEOUT,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  /**
+   * GstClock::synced:
+   * @clock: the clock
+   * @synced: if the clock is synced now
+   *
+   * Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once
+   * the clock is synchronized, or when it completely lost synchronization.
+   * This signal will not be emitted on clocks without the flag.
+   *
+   * This signal will be emitted from an arbitrary thread, most likely not
+   * the application's main thread.
+   *
+   * Since: 1.6
+   */
+  gst_clock_signals[SIGNAL_SYNCED] =
+      g_signal_new ("synced", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      0, NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
+
   g_type_class_add_private (klass, sizeof (GstClockPrivate));
 }
 
@@ -713,6 +742,7 @@
   priv->rate_denominator = 1;
 
   g_mutex_init (&priv->slave_lock);
+  g_cond_init (&priv->sync_cond);
   priv->window_size = DEFAULT_WINDOW_SIZE;
   priv->window_threshold = DEFAULT_WINDOW_THRESHOLD;
   priv->filling = TRUE;
@@ -754,6 +784,7 @@
   GST_CLOCK_SLAVE_UNLOCK (clock);
 
   g_mutex_clear (&clock->priv->slave_lock);
+  g_cond_clear (&clock->priv->sync_cond);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -972,6 +1003,11 @@
 
   g_return_val_if_fail (GST_IS_CLOCK (clock), GST_CLOCK_TIME_NONE);
 
+  if (G_UNLIKELY (GST_OBJECT_FLAG_IS_SET (clock,
+              GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC) && !clock->priv->synced))
+    GST_CAT_WARNING_OBJECT (GST_CAT_CLOCK, clock,
+        "clocked is not synchronized yet");
+
   cclass = GST_CLOCK_GET_CLASS (clock);
 
   if (G_UNLIKELY (cclass->get_internal_time == NULL))
@@ -1492,3 +1528,109 @@
       break;
   }
 }
+
+
+/**
+ * gst_clock_wait_for_sync:
+ * @clock: a GstClock
+ * @timeout: timeout for waiting or %GST_CLOCK_TIME_NONE
+ *
+ * Waits until @clock is synced for reporting the current time. If @timeout
+ * is %GST_CLOCK_TIME_NONE it will wait forever, otherwise it will time out
+ * after @timeout nanoseconds.
+ *
+ * For asynchronous waiting, the GstClock::synced signal can be used.
+ *
+ *
+ * This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+ * is not set on the clock, or if the clock is already synced.
+ *
+ * Returns: %TRUE if waiting was successful, or %FALSE on timeout
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_clock_wait_for_sync (GstClock * clock, GstClockTime timeout)
+{
+  gboolean timed_out = FALSE;
+
+  g_return_val_if_fail (GST_IS_CLOCK (clock), FALSE);
+
+  GST_OBJECT_LOCK (clock);
+  if (!GST_OBJECT_FLAG_IS_SET (clock, GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC)
+      || clock->priv->synced) {
+    GST_OBJECT_UNLOCK (clock);
+    return TRUE;
+  }
+
+  if (timeout != GST_CLOCK_TIME_NONE) {
+    gint64 end_time = g_get_monotonic_time () + gst_util_uint64_scale (timeout,
+        G_TIME_SPAN_SECOND, GST_SECOND);
+
+    while (!clock->priv->synced && !timed_out) {
+      timed_out =
+          !g_cond_wait_until (&clock->priv->sync_cond,
+          GST_OBJECT_GET_LOCK (clock), end_time);
+    }
+  } else {
+    timed_out = FALSE;
+    while (!clock->priv->synced) {
+      g_cond_wait (&clock->priv->sync_cond, GST_OBJECT_GET_LOCK (clock));
+    }
+  }
+  GST_OBJECT_UNLOCK (clock);
+
+  return !timed_out;
+}
+
+/**
+ * gst_clock_is_synced:
+ * @clock: a GstClock
+ *
+ * Checks if the clock is currently synced.
+ *
+ * This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock.
+ *
+ * Returns: %TRUE if the clock is currently synced
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_clock_is_synced (GstClock * clock)
+{
+  g_return_val_if_fail (GST_IS_CLOCK (clock), TRUE);
+
+  return !GST_OBJECT_FLAG_IS_SET (clock, GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC)
+      || clock->priv->synced;
+}
+
+/**
+ * gst_clock_set_synced:
+ * @clock: a GstClock
+ * @synced: if the clock is synced
+ *
+ * Sets @clock to synced and emits the GstClock::synced signal, and wakes up any
+ * thread waiting in gst_clock_wait_synced().
+ *
+ * This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+ * is set on the clock, and is intended to be called by subclasses only.
+ *
+ * Since: 1.6
+ */
+void
+gst_clock_set_synced (GstClock * clock, gboolean synced)
+{
+  g_return_if_fail (GST_IS_CLOCK (clock));
+  g_return_if_fail (GST_OBJECT_FLAG_IS_SET (clock,
+          GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC));
+
+  GST_OBJECT_LOCK (clock);
+  if (clock->priv->synced != ! !synced) {
+    clock->priv->synced = ! !synced;
+    g_cond_signal (&clock->priv->sync_cond);
+    GST_OBJECT_UNLOCK (clock);
+    g_signal_emit (clock, gst_clock_signals[SIGNAL_SYNCED], 0, ! !synced);
+  } else {
+    GST_OBJECT_UNLOCK (clock);
+  }
+}
diff --git a/gst/gstclock.h b/gst/gstclock.h
index c2239e5..9369755 100644
--- a/gst/gstclock.h
+++ b/gst/gstclock.h
@@ -375,6 +375,8 @@
  * @GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC: clock can do async periodic timeout callbacks
  * @GST_CLOCK_FLAG_CAN_SET_RESOLUTION: clock's resolution can be changed
  * @GST_CLOCK_FLAG_CAN_SET_MASTER: clock can be slaved to a master clock
+ * @GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC: clock needs to be synced before it can be used
+ *     Since: 1.6
  * @GST_CLOCK_FLAG_LAST: subclasses can add additional flags starting from this flag
  *
  * The capabilities of this clock
@@ -386,6 +388,7 @@
   GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC  = (GST_OBJECT_FLAG_LAST << 3),
   GST_CLOCK_FLAG_CAN_SET_RESOLUTION     = (GST_OBJECT_FLAG_LAST << 4),
   GST_CLOCK_FLAG_CAN_SET_MASTER         = (GST_OBJECT_FLAG_LAST << 5),
+  GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC     = (GST_OBJECT_FLAG_LAST << 6),
   /* padding */
   GST_CLOCK_FLAG_LAST                   = (GST_OBJECT_FLAG_LAST << 8)
 } GstClockFlags;
@@ -496,6 +499,12 @@
                                                          GstClockTime cdenom);
 GstClockTime            gst_clock_unadjust_unlocked     (GstClock * clock, GstClockTime external);
 
+/* waiting for, signalling and checking for synchronization */
+gboolean                gst_clock_wait_for_sync         (GstClock * clock, GstClockTime timeout);
+gboolean                gst_clock_is_synced             (GstClock * clock);
+
+/* to be used by subclasses only */
+void                    gst_clock_set_synced            (GstClock * clock, gboolean synced);
 
 /* creating IDs that can be used to get notifications */
 GstClockID              gst_clock_new_single_shot_id    (GstClock *clock,
diff --git a/gst/gstmemory.c b/gst/gstmemory.c
index 3505ac2..511a6f3 100644
--- a/gst/gstmemory.c
+++ b/gst/gstmemory.c
@@ -123,6 +123,7 @@
 
   mem->allocator = gst_object_ref (allocator);
   if (parent) {
+    /* FIXME 2.0: this can fail if the memory is already write locked */
     gst_memory_lock (parent, GST_LOCK_FLAG_EXCLUSIVE);
     gst_memory_ref (parent);
   }
@@ -337,7 +338,10 @@
   g_return_if_fail (info != NULL);
   g_return_if_fail (info->memory == mem);
 
-  mem->allocator->mem_unmap (mem);
+  if (mem->allocator->mem_unmap_full)
+    mem->allocator->mem_unmap_full (mem, info->flags);
+  else
+    mem->allocator->mem_unmap (mem);
   gst_memory_unlock (mem, (GstLockFlags) info->flags);
 }
 
@@ -387,8 +391,28 @@
   g_return_val_if_fail (!GST_MEMORY_FLAG_IS_SET (mem, GST_MEMORY_FLAG_NO_SHARE),
       NULL);
 
+  /* whether we can lock the memory exclusively */
+  /* in order to maintain backwards compatibility by not requiring subclasses
+   * to lock the memory themselves and propagate the possible failure in their
+   * mem_share implementation */
+  /* FIXME 2.0: remove and fix gst_memory_init() and/or all memory subclasses
+   * to propagate this failure case */
+  if (!gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE))
+    return NULL;
+
+  /* double lock to ensure we are not mapped writable without an
+   * exclusive lock. */
+  if (!gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE)) {
+    gst_memory_unlock (mem, GST_LOCK_FLAG_EXCLUSIVE);
+    return NULL;
+  }
+
   shared = mem->allocator->mem_share (mem, offset, size);
 
+  /* unlocking before calling the subclass would be racy */
+  gst_memory_unlock (mem, GST_LOCK_FLAG_EXCLUSIVE);
+  gst_memory_unlock (mem, GST_LOCK_FLAG_EXCLUSIVE);
+
   return shared;
 }
 
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index 4819e2a..5c66464 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -237,12 +237,19 @@
  * @mem: a #GstMemory
  *
  * Return the pointer previously retrieved with gst_memory_map().
- *
- * Returns: %TRUE on success.
  */
 typedef void        (*GstMemoryUnmapFunction)     (GstMemory *mem);
 
 /**
+ * GstMemoryUnmapFullFunction:
+ * @mem: a #GstMemory
+ * @flags: a #GstMapFlags
+ *
+ * Return the pointer previously retrieved with gst_memory_map() with @flags.
+ */
+typedef void        (*GstMemoryUnmapFullFunction)     (GstMemory *mem, GstMapFlags flags);
+
+/**
  * GstMemoryCopyFunction:
  * @mem: a #GstMemory
  * @offset: an offset
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index d65bd02..9486dad 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -193,11 +193,13 @@
       access_mode &= ~GST_LOCK_FLAG_EXCLUSIVE;
     }
 
-    if (access_mode) {
-      /* shared counter > 1 and write access is not allowed */
-      if (access_mode & GST_LOCK_FLAG_WRITE && IS_SHARED (state))
-        goto lock_failed;
+    /* shared counter > 1 and write access is not allowed */
+    if (((state & GST_LOCK_FLAG_WRITE) != 0
+            || (access_mode & GST_LOCK_FLAG_WRITE) != 0)
+        && IS_SHARED (newstate))
+      goto lock_failed;
 
+    if (access_mode) {
       if ((state & LOCK_FLAG_MASK) == 0) {
         /* nothing mapped, set access_mode */
         newstate |= access_mode;
diff --git a/gst/gstobject.c b/gst/gstobject.c
index 198a7db..1f58c8d 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -779,7 +779,7 @@
 }
 
 /**
- * gst_object_has_parent:
+ * gst_object_has_as_parent:
  * @object: a #GstObject to check
  * @parent: a #GstObject to check as parent
  *
@@ -793,7 +793,7 @@
  * Since: 1.6
  */
 gboolean
-gst_object_has_parent (GstObject * object, GstObject * parent)
+gst_object_has_as_parent (GstObject * object, GstObject * parent)
 {
   gboolean result = FALSE;
 
@@ -807,7 +807,7 @@
 }
 
 /**
- * gst_object_has_ancestor:
+ * gst_object_has_as_ancestor:
  * @object: a #GstObject to check
  * @ancestor: a #GstObject to check as ancestor
  *
@@ -819,7 +819,7 @@
  * MT safe. Grabs and releases @object's locks.
  */
 gboolean
-gst_object_has_ancestor (GstObject * object, GstObject * ancestor)
+gst_object_has_as_ancestor (GstObject * object, GstObject * ancestor)
 {
   GstObject *parent, *tmp;
 
@@ -842,6 +842,32 @@
 }
 
 /**
+ * gst_object_has_ancestor:
+ * @object: a #GstObject to check
+ * @ancestor: a #GstObject to check as ancestor
+ *
+ * Check if @object has an ancestor @ancestor somewhere up in
+ * the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.
+ *
+ * Returns: %TRUE if @ancestor is an ancestor of @object.
+ *
+ * Deprecated: Use gst_object_has_as_ancestor() instead.
+ *
+ * MT safe. Grabs and releases @object's locks.
+ */
+/* FIXME 2.0: remove */
+#ifndef GST_REMOVE_DEPRECATED
+#ifdef GST_DISABLE_DEPRECATED
+gboolean gst_object_has_ancestor (GstObject * object, GstObject * ancestor);
+#endif
+gboolean
+gst_object_has_ancestor (GstObject * object, GstObject * ancestor)
+{
+  return gst_object_has_as_ancestor (object, ancestor);
+}
+#endif
+
+/**
  * gst_object_check_uniqueness:
  * @list: (transfer none) (element-type Gst.Object): a list of #GstObject to
  *      check through
diff --git a/gst/gstobject.h b/gst/gstobject.h
index b9e6661..b478f3b 100644
--- a/gst/gstobject.h
+++ b/gst/gstobject.h
@@ -212,8 +212,11 @@
 gboolean	gst_object_set_parent		(GstObject *object, GstObject *parent);
 GstObject*	gst_object_get_parent		(GstObject *object);
 void		gst_object_unparent		(GstObject *object);
-gboolean	gst_object_has_parent		(GstObject *object, GstObject *parent);
+gboolean	gst_object_has_as_parent		(GstObject *object, GstObject *parent);
+gboolean	gst_object_has_as_ancestor	(GstObject *object, GstObject *ancestor);
+#ifndef GST_DISABLE_DEPRECATED
 gboolean	gst_object_has_ancestor		(GstObject *object, GstObject *ancestor);
+#endif
 
 void            gst_object_default_deep_notify  (GObject *object, GstObject *orig,
                                                  GParamSpec *pspec, gchar **excluded_props);
diff --git a/gst/gstpad.c b/gst/gstpad.c
index a7e1c37..962f2fd 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -4031,13 +4031,13 @@
     if (G_UNLIKELY ((chainfunc = GST_PAD_CHAINFUNC (pad)) == NULL))
       goto no_function;
 
-    GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
+    GST_CAT_DEBUG_OBJECT (GST_CAT_SCHEDULING, pad,
         "calling chainfunction &%s with buffer %" GST_PTR_FORMAT,
         GST_DEBUG_FUNCPTR_NAME (chainfunc), GST_BUFFER (data));
 
     ret = chainfunc (pad, parent, GST_BUFFER_CAST (data));
 
-    GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
+    GST_CAT_DEBUG_OBJECT (GST_CAT_SCHEDULING, pad,
         "called chainfunction &%s with buffer %p, returned %s",
         GST_DEBUG_FUNCPTR_NAME (chainfunc), data, gst_flow_get_name (ret));
   } else {
@@ -4046,13 +4046,13 @@
     if (G_UNLIKELY ((chainlistfunc = GST_PAD_CHAINLISTFUNC (pad)) == NULL))
       goto no_function;
 
-    GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
+    GST_CAT_DEBUG_OBJECT (GST_CAT_SCHEDULING, pad,
         "calling chainlistfunction &%s",
         GST_DEBUG_FUNCPTR_NAME (chainlistfunc));
 
     ret = chainlistfunc (pad, parent, GST_BUFFER_LIST_CAST (data));
 
-    GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
+    GST_CAT_DEBUG_OBJECT (GST_CAT_SCHEDULING, pad,
         "called chainlistfunction &%s, returned %s",
         GST_DEBUG_FUNCPTR_NAME (chainlistfunc), gst_flow_get_name (ret));
   }
diff --git a/gst/gststructure.c b/gst/gststructure.c
index 8b0b54b..0617115 100644
--- a/gst/gststructure.c
+++ b/gst/gststructure.c
@@ -619,7 +619,8 @@
  * @fieldname: the name of the field to set
  * @...: variable arguments
  *
- * Parses the variable arguments and sets fields accordingly.
+ * Parses the variable arguments and sets fields accordingly. Fields that
+ * weren't already part of the structure are added as needed.
  * Variable arguments should be in the form field name, field type
  * (as a GType), value(s).  The last variable argument should be %NULL.
  */
@@ -1720,6 +1721,44 @@
   return TRUE;
 }
 
+/**
+ * gst_structure_get_flagset:
+ * @structure: a #GstStructure
+ * @fieldname: the name of a field
+ * @value_flags: (out) (allow-none): a pointer to a guint for the flags field
+ * @value_mask: (out) (allow-none): a pointer to a guint for the mask field
+ *
+ * Read the GstFlagSet flags and mask out of the structure into the
+ * provided pointers.
+ *
+ * Returns: %TRUE if the values could be set correctly. If there was no field
+ * with @fieldname or the existing field did not contain a GstFlagSet, this
+ * function returns %FALSE.
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_structure_get_flagset (const GstStructure * structure,
+    const gchar * fieldname, guint * value_flags, guint * value_mask)
+{
+  GstStructureField *field;
+
+  g_return_val_if_fail (structure != NULL, FALSE);
+  g_return_val_if_fail (fieldname != NULL, FALSE);
+
+  field = gst_structure_get_field (structure, fieldname);
+
+  if (field == NULL || !GST_VALUE_HOLDS_FLAG_SET (&field->value))
+    return FALSE;
+
+  if (value_flags)
+    *value_flags = gst_value_get_flagset_flags (&field->value);
+  if (value_mask)
+    *value_mask = gst_value_get_flagset_mask (&field->value);
+
+  return TRUE;
+}
+
 typedef struct _GstStructureAbbreviation
 {
   const gchar *type_name;
@@ -2296,8 +2335,8 @@
 
     if (G_UNLIKELY (type == G_TYPE_INVALID)) {
       GType try_types[] =
-          { G_TYPE_INT, G_TYPE_DOUBLE, GST_TYPE_FRACTION, G_TYPE_BOOLEAN,
-        G_TYPE_STRING
+          { G_TYPE_INT, G_TYPE_DOUBLE, GST_TYPE_FRACTION, GST_TYPE_FLAG_SET,
+        G_TYPE_BOOLEAN, G_TYPE_STRING
       };
       int i;
 
diff --git a/gst/gststructure.h b/gst/gststructure.h
index 014ef37..a2b7926 100644
--- a/gst/gststructure.h
+++ b/gst/gststructure.h
@@ -288,6 +288,11 @@
                                                           gint                * value_numerator,
                                                           gint                * value_denominator);
 
+gboolean              gst_structure_get_flagset          (const GstStructure  * structure,
+                                                          const gchar         * fieldname,
+                                                          guint               * value_flags,
+                                                          guint               * value_mask);
+
 gchar *               gst_structure_to_string    (const GstStructure * structure) G_GNUC_MALLOC;
 
 GstStructure *        gst_structure_from_string  (const gchar * string,
diff --git a/gst/gsturi.c b/gst/gsturi.c
index 3d78562..fd905cb 100644
--- a/gst/gsturi.c
+++ b/gst/gsturi.c
@@ -724,11 +724,11 @@
  * Returns: the #GstURIType of the URI handler.
  * Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly.
  */
-guint
+GstURIType
 gst_uri_handler_get_uri_type (GstURIHandler * handler)
 {
   GstURIHandlerInterface *iface;
-  guint ret;
+  GstURIType ret;
 
   g_return_val_if_fail (GST_IS_URI_HANDLER (handler), GST_URI_UNKNOWN);
 
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index 123e51e..4310222 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -116,6 +116,14 @@
   GstValueSubtractFunc func;
 };
 
+struct _GstFlagSetClass
+{
+  GTypeClass parent;
+  GType flags_type;             /* Type of the GFlags this flagset carries (can be 0) */
+};
+
+typedef struct _GstFlagSetClass GstFlagSetClass;
+
 #define FUNDAMENTAL_TYPE_ID_MAX \
     (G_TYPE_FUNDAMENTAL_MAX >> G_TYPE_FUNDAMENTAL_SHIFT)
 #define FUNDAMENTAL_TYPE_ID(type) \
@@ -871,7 +879,7 @@
           continue;
         v2 = &g_array_index (array2, GValue, j);
         if (gst_value_compare_with_func (v1, v2, compare) == GST_VALUE_EQUAL) {
-          /* mark item as removed now that we found it in array2 and 
+          /* mark item as removed now that we found it in array2 and
            * decrement the number of remaining items in array2. */
           removed[j] = 1;
           to_remove--;
@@ -2086,6 +2094,18 @@
   return FALSE;
 }
 
+static gboolean
+gst_value_compare_structure (const GValue * value1, const GValue * value2)
+{
+  GstStructure *structure1 = GST_STRUCTURE (g_value_get_boxed (value1));
+  GstStructure *structure2 = GST_STRUCTURE (g_value_get_boxed (value2));
+
+  if (gst_structure_is_equal (structure1, structure2))
+    return GST_VALUE_EQUAL;
+
+  return GST_VALUE_UNORDERED;
+}
+
 /*******************
  * GstCapsFeatures *
  *******************/
@@ -3146,7 +3166,7 @@
 
 /* we just compare the value here */
 static gint
-gst_value_compare_flags (const GValue * value1, const GValue * value2)
+gst_value_compare_gflags (const GValue * value1, const GValue * value2)
 {
   guint fl1, fl2;
   GFlagsClass *klass1 =
@@ -3170,7 +3190,7 @@
 
 /* the different flags are serialized separated with a + */
 static gchar *
-gst_value_serialize_flags (const GValue * value)
+gst_value_serialize_gflags (const GValue * value)
 {
   guint flags;
   GFlagsValue *fl;
@@ -3211,46 +3231,96 @@
 }
 
 static gboolean
-gst_value_deserialize_flags (GValue * dest, const gchar * s)
+gst_value_gflags_str_to_flags (GFlagsClass * klass, const gchar * s,
+    guint * out_flags, guint * out_mask)
 {
   GFlagsValue *fl;
-  gchar *endptr = NULL;
-  GFlagsClass *klass = (GFlagsClass *) g_type_class_ref (G_VALUE_TYPE (dest));
-  gchar **split;
-  guint flags;
-  gint i;
+  gchar delimiter;
+  const gchar *pos = NULL;
+  const gchar *next;
+  gchar *cur_str, *endptr;
+
+  guint flags = 0;
+  guint mask = 0;
+  guint val;
 
   g_return_val_if_fail (klass, FALSE);
 
-  /* split into parts delimited with + */
-  split = g_strsplit (s, "+", 0);
+  /* split into parts delimited with + or / and
+   * compose the set of flags and mask. */
+  pos = s;
 
-  flags = 0;
-  i = 0;
-  /* loop over each part */
-  while (split[i]) {
-    if (!(fl = g_flags_get_value_by_name (klass, split[i]))) {
-      if (!(fl = g_flags_get_value_by_nick (klass, split[i]))) {
-        gint val = strtol (split[i], &endptr, 0);
+  if (*pos == '\0')
+    goto done;                  /* Empty string, nothing to do */
 
-        /* just or numeric value */
-        if (endptr && *endptr == '\0') {
-          flags |= val;
-        }
-      }
-    }
-    if (fl) {
-      flags |= fl->value;
-    }
-    i++;
+  /* As a special case if the first char isn't a delimiter, assume
+   * it's a '+' - for GFlags strings, which don't start with a
+   * delimiter, while GFlagSet always will */
+  if (*pos == '/' || *pos == '+') {
+    delimiter = *pos;
+    pos++;
+  } else {
+    delimiter = '+';
   }
-  g_strfreev (split);
-  g_type_class_unref (klass);
-  g_value_set_flags (dest, flags);
+
+  do {
+    /* Find the next delimiter */
+    next = pos;
+    while (*next != '\0' && *next != '+' && *next != '/')
+      next++;
+    cur_str = g_strndup (pos, next - pos);
+
+    if ((fl = g_flags_get_value_by_name (klass, cur_str)))
+      val = fl->value;
+    else if ((fl = g_flags_get_value_by_nick (klass, cur_str)))
+      val = fl->value;
+    else {
+      val = strtoul (cur_str, &endptr, 0);
+      /* direct numeric value */
+      if (endptr == NULL || *endptr != '\0')
+        val = 0;                /* Invalid numeric, ignore it */
+    }
+    g_free (cur_str);
+
+    if (val) {
+      mask |= val;
+      if (delimiter == '+')
+        flags |= val;
+    }
+
+    /* Advance to the next delimiter */
+    pos = next;
+    delimiter = *pos;
+    pos++;
+  } while (delimiter != '\0');
+
+done:
+  if (out_flags)
+    *out_flags = flags;
+  if (out_mask)
+    *out_mask = mask;
 
   return TRUE;
 }
 
+
+static gboolean
+gst_value_deserialize_gflags (GValue * dest, const gchar * s)
+{
+  GFlagsClass *klass = (GFlagsClass *) g_type_class_ref (G_VALUE_TYPE (dest));
+  gboolean res = FALSE;
+  guint flags = 0;
+
+  if (gst_value_gflags_str_to_flags (klass, s, &flags, NULL)) {
+    g_value_set_flags (dest, flags);
+    res = TRUE;
+  }
+
+  g_type_class_unref (klass);
+
+  return res;
+}
+
 /****************
  * subset *
  ****************/
@@ -3317,6 +3387,31 @@
   return TRUE;
 }
 
+/* A flag set is a subset of another if the superset allows the
+ * flags of the subset */
+static gboolean
+gst_value_is_subset_flagset_flagset (const GValue * value1,
+    const GValue * value2)
+{
+  guint f1, f2;
+  guint m1, m2;
+
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (value1), FALSE);
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (value2), FALSE);
+
+  f1 = value1->data[0].v_uint;
+  f2 = value2->data[0].v_uint;
+
+  m1 = value1->data[1].v_uint;
+  m2 = value2->data[1].v_uint;
+
+  /* Not a subset if masked bits of superset disagree */
+  if ((f1 & m1) != (f2 & (m1 & m2)))
+    return FALSE;
+
+  return TRUE;
+}
+
 /**
  * gst_value_is_subset:
  * @value1: a #GValue
@@ -3338,6 +3433,9 @@
   } else if (GST_VALUE_HOLDS_INT64_RANGE (value1)
       && GST_VALUE_HOLDS_INT64_RANGE (value2)) {
     return gst_value_is_subset_int64_range_int64_range (value1, value2);
+  } else if (GST_VALUE_HOLDS_FLAG_SET (value1) &&
+      GST_VALUE_HOLDS_FLAG_SET (value2)) {
+    return gst_value_is_subset_flagset_flagset (value1, value2);
   }
 
   /*
@@ -3503,6 +3601,40 @@
   return FALSE;
 }
 
+static gboolean
+gst_value_union_flagset_flagset (GValue * dest, const GValue * src1,
+    const GValue * src2)
+{
+  /* We can union 2 flag sets where they do not disagree on
+   * required (masked) flag bits */
+  guint64 f1, f2;
+  guint64 m1, m2;
+
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (src1), FALSE);
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (src2), FALSE);
+
+  f1 = src1->data[0].v_uint;
+  f2 = src2->data[0].v_uint;
+
+  m1 = src1->data[1].v_uint;
+  m2 = src2->data[1].v_uint;
+
+  /* Can't union if masked bits disagree */
+  if ((f1 & (m1 & m2)) != (f2 & (m1 & m2)))
+    return FALSE;
+
+  if (dest) {
+    g_value_init (dest, GST_TYPE_FLAG_SET);
+    /* Copy masked bits from src2 to src1 */
+    f1 &= ~m2;
+    f1 |= (f2 & m2);
+    m1 |= m2;
+    gst_value_set_flagset (dest, f1, m1);
+  }
+
+  return TRUE;
+}
+
 /****************
  * intersection *
  ****************/
@@ -3828,6 +3960,60 @@
   return FALSE;
 }
 
+/* Two flagsets intersect if the masked bits in both
+ * flagsets are exactly equal */
+static gboolean
+gst_value_intersect_flagset_flagset (GValue * dest,
+    const GValue * src1, const GValue * src2)
+{
+  guint f1, f2;
+  guint m1, m2;
+  GType type1, type2, flagset_type;
+
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (src1), FALSE);
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (src2), FALSE);
+
+  f1 = src1->data[0].v_uint;
+  f2 = src2->data[0].v_uint;
+
+  m1 = src1->data[1].v_uint;
+  m2 = src2->data[1].v_uint;
+
+  /* Don't intersect if masked bits disagree */
+  if ((f1 & (m1 & m2)) != (f2 & (m1 & m2)))
+    return FALSE;
+
+  /* Allow intersection with the generic FlagSet type, on one
+   * side, but not 2 different subtypes - that makes no sense */
+  type1 = G_VALUE_TYPE (src1);
+  type2 = G_VALUE_TYPE (src2);
+  flagset_type = GST_TYPE_FLAG_SET;
+
+  if (type1 != type2 && type1 != flagset_type && type2 != flagset_type)
+    return FALSE;
+
+  if (dest) {
+    GType dest_type;
+
+    /* Prefer an output type that matches a sub-type,
+     * rather than the generic type */
+    if (type1 != flagset_type)
+      dest_type = type1;
+    else
+      dest_type = type2;
+
+    g_value_init (dest, dest_type);
+
+    /* The compatible set is all the bits from src1 that it
+     * cares about and all the bits from src2 that it cares
+     * about. */
+    dest->data[0].v_uint = (f1 & m1) | (f2 & m2);
+    dest->data[1].v_uint = m1 | m2;
+  }
+
+  return TRUE;
+}
+
 /***************
  * subtraction *
  ***************/
@@ -4611,7 +4797,7 @@
  *
  * Compares @value1 and @value2 using the @compare function. Works like
  * gst_value_compare() but allows to save time determining the compare function
- * a multiple times. 
+ * a multiple times.
  *
  * Returns: comparison result
  */
@@ -4835,6 +5021,14 @@
       return intersect_info->func (dest, value2, value1);
     }
   }
+
+  /* Failed to find a direct intersection, check if these are
+   * GstFlagSet sub-types. */
+  if (G_UNLIKELY (GST_VALUE_HOLDS_FLAG_SET (value1) &&
+          GST_VALUE_HOLDS_FLAG_SET (value2))) {
+    return gst_value_intersect_flagset_flagset (dest, value1, value2);
+  }
+
   return FALSE;
 }
 
@@ -5183,6 +5377,9 @@
         return FALSE;
     }
     return TRUE;
+  } else if (GST_VALUE_HOLDS_FLAG_SET (value)) {
+    /* Flagsets are only fixed if there are no 'don't care' bits */
+    return (gst_value_get_flagset_mask (value) == GST_FLAG_SET_MASK_EXACT);
   }
   return gst_type_is_fixed (type);
 }
@@ -5248,6 +5445,16 @@
       g_value_unset (dest);
 
     return res;
+  } else if (GST_VALUE_HOLDS_FLAG_SET (src)) {
+    guint flags;
+
+    if (gst_value_get_flagset_mask (src) == GST_FLAG_SET_MASK_EXACT)
+      return FALSE;             /* Already fixed */
+
+    flags = gst_value_get_flagset_flags (src);
+    g_value_init (dest, G_VALUE_TYPE (src));
+    gst_value_set_flagset (dest, flags, GST_FLAG_SET_MASK_EXACT);
+    return TRUE;
   } else {
     return FALSE;
   }
@@ -5894,6 +6101,272 @@
   return GST_VALUE_UNORDERED;
 }
 
+/************
+ * flagset *
+ ************/
+
+/* helper functions */
+static void
+gst_value_init_flagset (GValue * value)
+{
+  value->data[0].v_uint = 0;
+  value->data[1].v_uint = 0;
+}
+
+static void
+gst_value_copy_flagset (const GValue * src_value, GValue * dest_value)
+{
+  dest_value->data[0].v_uint = src_value->data[0].v_uint;
+  dest_value->data[1].v_uint = src_value->data[1].v_uint;
+}
+
+static gchar *
+gst_value_collect_flagset (GValue * value, guint n_collect_values,
+    GTypeCValue * collect_values, guint collect_flags)
+{
+  if (n_collect_values != 2)
+    return g_strdup_printf ("not enough value locations for `%s' passed",
+        G_VALUE_TYPE_NAME (value));
+
+  gst_value_set_flagset (value,
+      (guint) collect_values[0].v_int, (guint) collect_values[1].v_int);
+
+  return NULL;
+}
+
+static gchar *
+gst_value_lcopy_flagset (const GValue * value, guint n_collect_values,
+    GTypeCValue * collect_values, guint collect_flags)
+{
+  guint *flags = collect_values[0].v_pointer;
+  guint *mask = collect_values[1].v_pointer;
+
+  *flags = value->data[0].v_uint;
+  *mask = value->data[1].v_uint;
+
+  return NULL;
+}
+
+/**
+ * gst_value_set_flagset:
+ * @value: a GValue initialized to #GST_TYPE_FLAGS
+ * @flags: The value of the flags set or unset
+ * @mask: The mask indicate which flags bits must match for comparisons
+ *
+ * Sets @value to the flags and mask values provided in @flags and @mask.
+ * The @flags value indicates the values of flags, the @mask represents
+ * which bits in the flag value have been set, and which are "don't care"
+ *
+ * Since: 1.6
+ */
+void
+gst_value_set_flagset (GValue * value, guint flags, guint mask)
+{
+  g_return_if_fail (GST_VALUE_HOLDS_FLAG_SET (value));
+
+  /* Normalise and only keep flags mentioned in the mask */
+  value->data[0].v_uint = flags & mask;
+  value->data[1].v_uint = mask;
+}
+
+/**
+ * gst_value_get_flagset_flags:
+ * @value: a GValue initialized to #GST_TYPE_FLAG_SET
+ *
+ * Retrieve the flags field of a GstFlagSet @value.
+ *
+ * Returns: the flags field of the flagset instance.
+ *
+ * Since: 1.6
+ */
+guint
+gst_value_get_flagset_flags (const GValue * value)
+{
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (value), 0);
+
+  return value->data[0].v_uint;
+}
+
+/**
+ * gst_value_get_flagset_mask:
+ * @value: a GValue initialized to #GST_TYPE_FLAG_SET
+ *
+ * Retrieve the mask field of a GstFlagSet @value.
+ *
+ * Returns: the mask field of the flagset instance.
+ *
+ * Since: 1.6
+ */
+guint
+gst_value_get_flagset_mask (const GValue * value)
+{
+  g_return_val_if_fail (GST_VALUE_HOLDS_FLAG_SET (value), 1);
+
+  return value->data[1].v_uint;
+}
+
+static gchar *
+gst_value_serialize_flagset (const GValue * value)
+{
+  guint flags = value->data[0].v_uint;
+  guint mask = value->data[1].v_uint;
+  GstFlagSetClass *set_klass =
+      (GstFlagSetClass *) g_type_class_ref (G_VALUE_TYPE (value));
+  gchar *result;
+
+  result = g_strdup_printf ("%x:%x", flags, mask);
+
+  /* If this flag set class has an associated GFlags GType, and some
+   * bits in the mask, serialize the bits in human-readable form to
+   * aid debugging */
+  if (mask && set_klass->flags_type) {
+    GFlagsClass *flags_klass =
+        (GFlagsClass *) (g_type_class_ref (set_klass->flags_type));
+    GFlagsValue *fl;
+    gchar *tmp;
+    gboolean first = TRUE;
+
+    g_return_val_if_fail (flags_klass, NULL);
+
+    /* some bits in the mask are set, so serialize one by one, according
+     * to whether that bit is set or cleared in the flags value */
+    while (mask) {
+      fl = g_flags_get_first_value (flags_klass, mask);
+      if (fl == NULL) {
+        /* No more bits match in the flags mask - time to stop */
+        mask = 0;
+        break;
+      }
+
+      tmp = g_strconcat (result,
+          first ? ":" : "",
+          (flags & fl->value) ? "+" : "/", fl->value_nick, NULL);
+      g_free (result);
+      result = tmp;
+      first = FALSE;
+
+      /* clear flag */
+      mask &= ~fl->value;
+    }
+    g_type_class_unref (flags_klass);
+
+  }
+  g_type_class_unref (set_klass);
+
+  return result;
+}
+
+static gboolean
+gst_value_deserialize_flagset (GValue * dest, const gchar * s)
+{
+  gboolean res = FALSE;
+  guint flags, mask;
+  gchar *cur, *next;
+
+  if (G_UNLIKELY (s == NULL))
+    return FALSE;
+
+  if (G_UNLIKELY (dest == NULL || !GST_VALUE_HOLDS_FLAG_SET (dest)))
+    return FALSE;
+
+  /* Flagset strings look like %x:%x - hex flags : hex bitmask,
+   * 32-bit each, or like a concatenated list of flag nicks,
+   * with either '+' or '/' in front. The first form
+   * may optionally be followed by ':' and a set of text flag descriptions
+   * for easier debugging */
+
+  /* Try and interpret as hex form first, as it's the most efficient */
+  /* Read the flags first */
+  flags = strtoul (s, &next, 16);
+  if (G_UNLIKELY ((flags == 0 && errno == EINVAL) || s == next))
+    goto try_as_flags_string;
+  /* Next char should be a colon */
+  if (next[0] == ':')
+    next++;
+
+  /* Read the mask */
+  cur = next;
+  mask = strtoul (cur, &next, 16);
+  if (G_UNLIKELY ((mask == 0 && errno == EINVAL) || cur == next))
+    goto try_as_flags_string;
+
+  /* Next char should be NULL terminator, or a ':' */
+  if (G_UNLIKELY (next[0] != 0 && next[0] != ':'))
+    goto try_as_flags_string;
+
+  res = TRUE;
+
+try_as_flags_string:
+
+  if (!res) {
+    const gchar *set_class = g_type_name (G_VALUE_TYPE (dest));
+    GFlagsClass *flags_klass = NULL;
+    const gchar *end;
+
+    if (g_str_equal (set_class, "GstFlagSet"))
+      goto done;                /* There's no hope to parse a generic flag set */
+
+    /* Flags class is the FlagSet class with 'Set' removed from the end */
+    end = g_strrstr (set_class, "Set");
+
+    if (end != NULL) {
+      gchar *class_name = g_strndup (set_class, end - set_class);
+      GType flags_type = g_type_from_name (class_name);
+
+      g_free (class_name);
+
+      if (flags_type != 0)
+        flags_klass = g_type_class_ref (flags_type);
+    }
+
+    if (flags_klass) {
+      res = gst_value_gflags_str_to_flags (flags_klass, s, &flags, &mask);
+      g_type_class_unref (flags_klass);
+    }
+  }
+
+  if (res)
+    gst_value_set_flagset (dest, flags, mask);
+done:
+  return res;
+
+}
+
+static void
+gst_value_transform_flagset_string (const GValue * src_value,
+    GValue * dest_value)
+{
+  dest_value->data[0].v_pointer = gst_value_serialize_flagset (src_value);
+}
+
+static void
+gst_value_transform_string_flagset (const GValue * src_value,
+    GValue * dest_value)
+{
+  if (!gst_value_deserialize_flagset (dest_value, src_value->data[0].v_pointer)) {
+    /* If the deserialize fails, ensure we leave the flags in a
+     * valid, if incorrect, state */
+    gst_value_set_flagset (dest_value, 0, 0);
+  }
+}
+
+static gint
+gst_value_compare_flagset (const GValue * value1, const GValue * value2)
+{
+  guint v1, v2;
+  guint m1, m2;
+
+  v1 = value1->data[0].v_uint;
+  v2 = value2->data[0].v_uint;
+
+  m1 = value1->data[1].v_uint;
+  m2 = value2->data[1].v_uint;
+
+  if (v1 == v2 && m1 == m2)
+    return GST_VALUE_EQUAL;
+
+  return GST_VALUE_UNORDERED;
+}
 
 /***********************
  * GstAllocationParams *
@@ -5959,23 +6432,14 @@
 }
 
 static GTypeInfo _info = {
-  0,
-  NULL,
-  NULL,
-  NULL,
-  NULL,
-  NULL,
-  0,
-  0,
-  NULL,
-  NULL,
+  0, NULL, NULL, NULL, NULL, NULL, 0, 0, NULL, NULL,
 };
 
 static GTypeFundamentalInfo _finfo = {
   0
 };
 
-#define FUNC_VALUE_GET_TYPE(type, name)                         \
+#define FUNC_VALUE_GET_TYPE_CLASSED(type, name, csize, flags)   \
 GType _gst_ ## type ## _type = 0;                               \
                                                                 \
 GType gst_ ## type ## _get_type (void)                          \
@@ -5984,26 +6448,29 @@
                                                                 \
   if (g_once_init_enter (&gst_ ## type ## _type)) {             \
     GType _type;                                                \
+    _info.class_size = csize;                                   \
+    _finfo.type_flags = flags;                                  \
     _info.value_table = & _gst_ ## type ## _value_table;        \
     _type = g_type_register_fundamental (                       \
         g_type_fundamental_next (),                             \
         name, &_info, &_finfo, 0);                              \
-    _gst_ ## type ## _type = _type;                              \
+    _gst_ ## type ## _type = _type;                             \
     g_once_init_leave(&gst_ ## type ## _type, _type);           \
   }                                                             \
                                                                 \
   return gst_ ## type ## _type;                                 \
 }
 
+#define FUNC_VALUE_GET_TYPE(type, name) \
+  FUNC_VALUE_GET_TYPE_CLASSED(type, name, 0, 0)
+
 static const GTypeValueTable _gst_int_range_value_table = {
   gst_value_init_int_range,
   NULL,
   gst_value_copy_int_range,
   NULL,
   (char *) "ii",
-  gst_value_collect_int_range,
-  (char *) "pp",
-  gst_value_lcopy_int_range
+  gst_value_collect_int_range, (char *) "pp", gst_value_lcopy_int_range
 };
 
 FUNC_VALUE_GET_TYPE (int_range, "GstIntRange");
@@ -6015,8 +6482,7 @@
   NULL,
   (char *) "qq",
   gst_value_collect_int64_range,
-  (char *) "pp",
-  gst_value_lcopy_int64_range
+  (char *) "pp", gst_value_lcopy_int64_range
 };
 
 FUNC_VALUE_GET_TYPE (int64_range, "GstInt64Range");
@@ -6028,8 +6494,7 @@
   NULL,
   (char *) "dd",
   gst_value_collect_double_range,
-  (char *) "pp",
-  gst_value_lcopy_double_range
+  (char *) "pp", gst_value_lcopy_double_range
 };
 
 FUNC_VALUE_GET_TYPE (double_range, "GstDoubleRange");
@@ -6041,8 +6506,7 @@
   NULL,
   (char *) "iiii",
   gst_value_collect_fraction_range,
-  (char *) "pppp",
-  gst_value_lcopy_fraction_range
+  (char *) "pppp", gst_value_lcopy_fraction_range
 };
 
 FUNC_VALUE_GET_TYPE (fraction_range, "GstFractionRange");
@@ -6054,8 +6518,7 @@
   gst_value_list_or_array_peek_pointer,
   (char *) "p",
   gst_value_collect_list_or_array,
-  (char *) "p",
-  gst_value_lcopy_list_or_array
+  (char *) "p", gst_value_lcopy_list_or_array
 };
 
 FUNC_VALUE_GET_TYPE (value_list, "GstValueList");
@@ -6067,8 +6530,7 @@
   gst_value_list_or_array_peek_pointer,
   (char *) "p",
   gst_value_collect_list_or_array,
-  (char *) "p",
-  gst_value_lcopy_list_or_array
+  (char *) "p", gst_value_lcopy_list_or_array
 };
 
 FUNC_VALUE_GET_TYPE (value_array, "GstValueArray");
@@ -6079,9 +6541,7 @@
   gst_value_copy_fraction,
   NULL,
   (char *) "ii",
-  gst_value_collect_fraction,
-  (char *) "pp",
-  gst_value_lcopy_fraction
+  gst_value_collect_fraction, (char *) "pp", gst_value_lcopy_fraction
 };
 
 FUNC_VALUE_GET_TYPE (fraction, "GstFraction");
@@ -6092,13 +6552,23 @@
   gst_value_copy_bitmask,
   NULL,
   (char *) "q",
-  gst_value_collect_bitmask,
-  (char *) "p",
-  gst_value_lcopy_bitmask
+  gst_value_collect_bitmask, (char *) "p", gst_value_lcopy_bitmask
 };
 
 FUNC_VALUE_GET_TYPE (bitmask, "GstBitmask");
 
+static const GTypeValueTable _gst_flagset_value_table = {
+  gst_value_init_flagset,
+  NULL,
+  gst_value_copy_flagset,
+  NULL,
+  (char *) "ii",
+  gst_value_collect_flagset, (char *) "pp", gst_value_lcopy_flagset
+};
+
+FUNC_VALUE_GET_TYPE_CLASSED (flagset, "GstFlagSet",
+    sizeof (GstFlagSetClass), G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_DERIVABLE);
+
 GType
 gst_g_thread_get_type (void)
 {
@@ -6110,8 +6580,7 @@
   if (g_once_init_enter (&type_id)) {
     GType tmp =
         g_boxed_type_register_static (g_intern_static_string ("GstGThread"),
-        (GBoxedCopyFunc) g_thread_ref,
-        (GBoxedFreeFunc) g_thread_unref);
+        (GBoxedCopyFunc) g_thread_ref, (GBoxedFreeFunc) g_thread_unref);
     g_once_init_leave (&type_id, tmp);
   }
 
@@ -6156,9 +6625,11 @@
   gst_value_register (&gst_value);                                      \
 } G_STMT_END
 
-static const gint GST_VALUE_TABLE_DEFAULT_SIZE = 32;
-static const gint GST_VALUE_UNION_TABLE_DEFAULT_SIZE = 2;
-static const gint GST_VALUE_INTERSECT_TABLE_DEFAULT_SIZE = 9;
+/* These initial sizes are used for the tables
+ * below, and save a couple of reallocs at startup */
+static const gint GST_VALUE_TABLE_DEFAULT_SIZE = 33;
+static const gint GST_VALUE_UNION_TABLE_DEFAULT_SIZE = 3;
+static const gint GST_VALUE_INTERSECT_TABLE_DEFAULT_SIZE = 10;
 static const gint GST_VALUE_SUBTRACT_TABLE_DEFAULT_SIZE = 12;
 
 void
@@ -6189,9 +6660,10 @@
   REGISTER_SERIALIZATION (G_TYPE_DATE, date);
   REGISTER_SERIALIZATION (gst_date_time_get_type (), date_time);
   REGISTER_SERIALIZATION (gst_bitmask_get_type (), bitmask);
+  REGISTER_SERIALIZATION (gst_structure_get_type (), structure);
+  REGISTER_SERIALIZATION (gst_flagset_get_type (), flagset);
 
   REGISTER_SERIALIZATION_NO_COMPARE (gst_segment_get_type (), segment);
-  REGISTER_SERIALIZATION_NO_COMPARE (gst_structure_get_type (), structure);
   REGISTER_SERIALIZATION_NO_COMPARE (gst_caps_features_get_type (),
       caps_features);
 
@@ -6206,7 +6678,7 @@
   REGISTER_SERIALIZATION_CONST (G_TYPE_BOOLEAN, boolean);
   REGISTER_SERIALIZATION_CONST (G_TYPE_ENUM, enum);
 
-  REGISTER_SERIALIZATION_CONST (G_TYPE_FLAGS, flags);
+  REGISTER_SERIALIZATION_CONST (G_TYPE_FLAGS, gflags);
 
   REGISTER_SERIALIZATION_CONST (G_TYPE_INT, int);
 
@@ -6258,25 +6730,32 @@
   g_value_register_transform_func (G_TYPE_STRING, GST_TYPE_BITMASK,
       gst_value_transform_string_bitmask);
 
+  g_value_register_transform_func (GST_TYPE_FLAG_SET, G_TYPE_STRING,
+      gst_value_transform_flagset_string);
+  g_value_register_transform_func (G_TYPE_STRING, GST_TYPE_FLAG_SET,
+      gst_value_transform_string_flagset);
+
   gst_value_register_intersect_func (G_TYPE_INT, GST_TYPE_INT_RANGE,
       gst_value_intersect_int_int_range);
   gst_value_register_intersect_func (GST_TYPE_INT_RANGE, GST_TYPE_INT_RANGE,
       gst_value_intersect_int_range_int_range);
   gst_value_register_intersect_func (G_TYPE_INT64, GST_TYPE_INT64_RANGE,
       gst_value_intersect_int64_int64_range);
-  gst_value_register_intersect_func (GST_TYPE_INT64_RANGE, GST_TYPE_INT64_RANGE,
-      gst_value_intersect_int64_range_int64_range);
+  gst_value_register_intersect_func (GST_TYPE_INT64_RANGE,
+      GST_TYPE_INT64_RANGE, gst_value_intersect_int64_range_int64_range);
   gst_value_register_intersect_func (G_TYPE_DOUBLE, GST_TYPE_DOUBLE_RANGE,
       gst_value_intersect_double_double_range);
   gst_value_register_intersect_func (GST_TYPE_DOUBLE_RANGE,
       GST_TYPE_DOUBLE_RANGE, gst_value_intersect_double_range_double_range);
-  gst_value_register_intersect_func (GST_TYPE_ARRAY,
-      GST_TYPE_ARRAY, gst_value_intersect_array);
-  gst_value_register_intersect_func (GST_TYPE_FRACTION, GST_TYPE_FRACTION_RANGE,
-      gst_value_intersect_fraction_fraction_range);
+  gst_value_register_intersect_func (GST_TYPE_ARRAY, GST_TYPE_ARRAY,
+      gst_value_intersect_array);
+  gst_value_register_intersect_func (GST_TYPE_FRACTION,
+      GST_TYPE_FRACTION_RANGE, gst_value_intersect_fraction_fraction_range);
   gst_value_register_intersect_func (GST_TYPE_FRACTION_RANGE,
       GST_TYPE_FRACTION_RANGE,
       gst_value_intersect_fraction_range_fraction_range);
+  gst_value_register_intersect_func (GST_TYPE_FLAG_SET, GST_TYPE_FLAG_SET,
+      gst_value_intersect_flagset_flagset);
 
   gst_value_register_subtract_func (G_TYPE_INT, GST_TYPE_INT_RANGE,
       gst_value_subtract_int_int_range);
@@ -6288,18 +6767,18 @@
       gst_value_subtract_int64_int64_range);
   gst_value_register_subtract_func (GST_TYPE_INT64_RANGE, G_TYPE_INT64,
       gst_value_subtract_int64_range_int64);
-  gst_value_register_subtract_func (GST_TYPE_INT64_RANGE, GST_TYPE_INT64_RANGE,
-      gst_value_subtract_int64_range_int64_range);
+  gst_value_register_subtract_func (GST_TYPE_INT64_RANGE,
+      GST_TYPE_INT64_RANGE, gst_value_subtract_int64_range_int64_range);
   gst_value_register_subtract_func (G_TYPE_DOUBLE, GST_TYPE_DOUBLE_RANGE,
       gst_value_subtract_double_double_range);
   gst_value_register_subtract_func (GST_TYPE_DOUBLE_RANGE, G_TYPE_DOUBLE,
       gst_value_subtract_double_range_double);
   gst_value_register_subtract_func (GST_TYPE_DOUBLE_RANGE,
       GST_TYPE_DOUBLE_RANGE, gst_value_subtract_double_range_double_range);
-  gst_value_register_subtract_func (GST_TYPE_FRACTION, GST_TYPE_FRACTION_RANGE,
-      gst_value_subtract_fraction_fraction_range);
-  gst_value_register_subtract_func (GST_TYPE_FRACTION_RANGE, GST_TYPE_FRACTION,
-      gst_value_subtract_fraction_range_fraction);
+  gst_value_register_subtract_func (GST_TYPE_FRACTION,
+      GST_TYPE_FRACTION_RANGE, gst_value_subtract_fraction_fraction_range);
+  gst_value_register_subtract_func (GST_TYPE_FRACTION_RANGE,
+      GST_TYPE_FRACTION, gst_value_subtract_fraction_range_fraction);
   gst_value_register_subtract_func (GST_TYPE_FRACTION_RANGE,
       GST_TYPE_FRACTION_RANGE,
       gst_value_subtract_fraction_range_fraction_range);
@@ -6315,6 +6794,8 @@
       gst_value_union_int_int_range);
   gst_value_register_union_func (GST_TYPE_INT_RANGE, GST_TYPE_INT_RANGE,
       gst_value_union_int_range_int_range);
+  gst_value_register_union_func (GST_TYPE_FLAG_SET, GST_TYPE_FLAG_SET,
+      gst_value_union_flagset_flagset);
 
 #if GST_VERSION_NANO == 1
   /* If building from git master, check starting array sizes matched actual size
@@ -6349,3 +6830,43 @@
       GST_TYPE_FRACTION_RANGE, gst_value_union_fraction_range_fraction_range);
 #endif
 }
+
+static void
+gst_flagset_class_init (gpointer g_class, gpointer class_data)
+{
+  GstFlagSetClass *f_class = (GstFlagSetClass *) (g_class);
+  f_class->flags_type = (GType) GPOINTER_TO_SIZE (class_data);
+}
+
+/**
+ * gst_flagset_register:
+ * @flags_type: a #GType of a #G_TYPE_FLAGS type.
+ *
+ * Create a new sub-class of #GST_TYPE_FLAG_SET
+ * which will pretty-print the human-readable flags
+ * when serializing, for easier debugging.
+ *
+ * Since: 1.6
+ */
+GType
+gst_flagset_register (GType flags_type)
+{
+  GTypeInfo info = {
+    sizeof (GstFlagSetClass),
+    NULL, NULL,
+    (GClassInitFunc) gst_flagset_class_init,
+    NULL, GSIZE_TO_POINTER (flags_type), 0, 0, NULL, NULL
+  };
+  GType t;
+  gchar *class_name;
+
+  g_return_val_if_fail (G_TYPE_IS_FLAGS (flags_type), 0);
+
+  class_name = g_strdup_printf ("%sSet", g_type_name (flags_type));
+
+  t = g_type_register_static (GST_TYPE_FLAG_SET,
+      g_intern_string (class_name), &info, 0);
+  g_free (class_name);
+
+  return t;
+}
diff --git a/gst/gstvalue.h b/gst/gstvalue.h
index 2e15642..d45d5f8 100644
--- a/gst/gstvalue.h
+++ b/gst/gstvalue.h
@@ -200,6 +200,26 @@
  */
 #define GST_VALUE_HOLDS_BITMASK(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_bitmask_type)
 
+/**
+ * GST_VALUE_HOLDS_FLAG_SET:
+ * @x: the #GValue to check
+ *
+ * Checks if the given #GValue contains a #GST_TYPE_FLAG_SET value.
+ *
+ * Since: 1.6
+ */
+#define GST_VALUE_HOLDS_FLAG_SET(x)     (G_TYPE_CHECK_VALUE_TYPE ((x), GST_TYPE_FLAG_SET))
+
+/*
+ * GST_FLAG_SET_MASK_EXACT:
+ * A mask value with all bits set, for use as a
+ * #GstFlagSet mask where all flag bits must match
+ * exactly
+ *
+ * Since: 1.6
+ */
+#define GST_FLAG_SET_MASK_EXACT ((guint)(-1))
+
 GST_EXPORT GType _gst_int_range_type;
 
 /**
@@ -300,6 +320,21 @@
 
 #define GST_TYPE_BITMASK                 (_gst_bitmask_type)
 
+GST_EXPORT GType _gst_flagset_type;
+
+/**
+ * GST_TYPE_FLAG_SET:
+ *
+ * a #GValue type that represents a 32-bit flag bitfield, with 32-bit
+ * mask indicating which of the bits in the field are explicitly set.
+ * Useful for negotiation.
+ *
+ * Returns: the #GType of GstFlags (which is not explicitly typed)
+ *
+ * Since: 1.6
+ */
+#define GST_TYPE_FLAG_SET                   (_gst_flagset_type)
+
 /**
  * GST_TYPE_G_THREAD:
  *
@@ -407,6 +442,7 @@
 GType gst_value_list_get_type (void);
 GType gst_value_array_get_type (void);
 GType gst_bitmask_get_type (void);
+GType gst_flagset_get_type (void);
 
 /* Hide this compatibility type from introspection */
 #ifndef __GI_SCANNER__
@@ -526,6 +562,10 @@
 guint64         gst_value_get_bitmask           (const GValue   *value);
 void            gst_value_set_bitmask           (GValue         *value,
                                                  guint64         bitmask);
+/* flagset */
+void            gst_value_set_flagset (GValue * value, guint flags, guint mask);
+guint           gst_value_get_flagset_flags (const GValue * value);
+guint           gst_value_get_flagset_mask (const GValue * value);
 
 /* compare */
 gint            gst_value_compare               (const GValue   *value1,
@@ -561,6 +601,9 @@
 gboolean        gst_value_fixate                (GValue         *dest,
                                                  const GValue   *src);
 
+/* Flagset registration wrapper */
+GType		gst_flagset_register (GType flags_type);
+
 G_END_DECLS
 
 #endif
diff --git a/gst/parse/Makefile.in b/gst/parse/Makefile.in
index 20139c8..c689b19 100644
--- a/gst/parse/Makefile.in
+++ b/gst/parse/Makefile.in
@@ -218,6 +218,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -308,6 +309,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -319,6 +321,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -405,6 +408,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/gst/printf/Makefile.in b/gst/printf/Makefile.in
index 49c65e3..9784503 100644
--- a/gst/printf/Makefile.in
+++ b/gst/printf/Makefile.in
@@ -216,6 +216,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -306,6 +307,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -317,6 +319,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -403,6 +406,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/gstreamer.doap b/gstreamer.doap
index 6fd7def..edf2073 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>1.5.1</revision>
+   <branch>1.5</branch>
+   <name></name>
+   <created>2015-06-07</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.5.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.4.0</revision>
    <branch>1.4</branch>
    <name></name>
diff --git a/gstreamer.spec b/gstreamer.spec
index 2818e74..93ff9e2 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,8 +4,8 @@
 %define 	_glib2		2.32.0
 
 Name: 		%{gstreamer}
-Version: 	1.5.0.1
-Release: 	0.20150513.125409
+Version: 	1.5.1
+Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
 Group: 		Applications/Multimedia
diff --git a/libs/Makefile.in b/libs/Makefile.in
index c2e1f0a..324ff63 100644
--- a/libs/Makefile.in
+++ b/libs/Makefile.in
@@ -219,6 +219,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -309,6 +310,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -320,6 +322,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -406,6 +409,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/libs/gst/Makefile.in b/libs/gst/Makefile.in
index 22e305a..bcb0250 100644
--- a/libs/gst/Makefile.in
+++ b/libs/gst/Makefile.in
@@ -218,6 +218,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -308,6 +309,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -319,6 +321,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -405,6 +408,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/libs/gst/base/Makefile.in b/libs/gst/base/Makefile.in
index ea4be4e..4a0ff59 100644
--- a/libs/gst/base/Makefile.in
+++ b/libs/gst/base/Makefile.in
@@ -266,6 +266,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -356,6 +357,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -367,6 +369,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -453,6 +456,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index a505695..52a86d8 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -1380,7 +1380,7 @@
       g_value_set_int64 (value, gst_base_sink_get_ts_offset (sink));
       break;
     case PROP_LAST_SAMPLE:
-      gst_value_take_buffer (value, gst_base_sink_get_last_sample (sink));
+      gst_value_take_sample (value, gst_base_sink_get_last_sample (sink));
       break;
     case PROP_ENABLE_LAST_SAMPLE:
       g_value_set_boolean (value, gst_base_sink_is_last_sample_enabled (sink));
@@ -3369,10 +3369,28 @@
     if (G_UNLIKELY (stepped))
       goto dropped;
 
-    if (syncable && do_sync)
-      late =
-          gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
-          GST_CLOCK_EARLY, 0, FALSE);
+    if (syncable && do_sync) {
+      GstClock *clock;
+
+      GST_OBJECT_LOCK (basesink);
+      clock = GST_ELEMENT_CLOCK (basesink);
+      if (clock && GST_STATE (basesink) == GST_STATE_PLAYING) {
+        GstClockTime base_time;
+        GstClockTime stime;
+        GstClockTime now;
+
+        base_time = GST_ELEMENT_CAST (basesink)->base_time;
+        stime = base_time + gst_base_sink_adjust_time (basesink, rstart);
+        now = gst_clock_get_time (clock);
+        GST_OBJECT_UNLOCK (basesink);
+
+        late =
+            gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
+            GST_CLOCK_EARLY, GST_CLOCK_DIFF (stime, now), FALSE);
+      } else {
+        GST_OBJECT_UNLOCK (basesink);
+      }
+    }
 
     if (G_UNLIKELY (late))
       goto dropped;
diff --git a/libs/gst/base/gstqueuearray.c b/libs/gst/base/gstqueuearray.c
index 5ff03fd..5a69b69 100644
--- a/libs/gst/base/gstqueuearray.c
+++ b/libs/gst/base/gstqueuearray.c
@@ -269,7 +269,6 @@
   }
 
   if (idx > first_item_index) {
-    element = array->array[idx];
     /* idx is after first_item_index, move data to higher indices */
     memmove (&array->array[first_item_index + 1],
         &array->array[first_item_index],
diff --git a/libs/gst/check/Makefile.in b/libs/gst/check/Makefile.in
index f268197..4cf7a48 100644
--- a/libs/gst/check/Makefile.in
+++ b/libs/gst/check/Makefile.in
@@ -299,6 +299,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -389,6 +390,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -400,6 +402,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -486,6 +489,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/libs/gst/check/libcheck/Makefile.in b/libs/gst/check/libcheck/Makefile.in
index 926dfd4..dcc679a 100644
--- a/libs/gst/check/libcheck/Makefile.in
+++ b/libs/gst/check/libcheck/Makefile.in
@@ -256,6 +256,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -346,6 +347,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -357,6 +359,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -443,6 +446,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/libs/gst/controller/Makefile.in b/libs/gst/controller/Makefile.in
index 5c9c475..bc906ec 100644
--- a/libs/gst/controller/Makefile.in
+++ b/libs/gst/controller/Makefile.in
@@ -240,6 +240,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -330,6 +331,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -341,6 +343,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -427,6 +430,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/libs/gst/controller/gsttimedvaluecontrolsource.c b/libs/gst/controller/gsttimedvaluecontrolsource.c
index c4fc610..627ac3f 100644
--- a/libs/gst/controller/gsttimedvaluecontrolsource.c
+++ b/libs/gst/controller/gsttimedvaluecontrolsource.c
@@ -184,19 +184,22 @@
         (GCompareDataFunc) gst_control_point_find, NULL);
     if (iter) {
       GSequenceIter *prev = g_sequence_iter_prev (iter);
-      GstControlPoint *cp = g_sequence_get (prev);
 
-      /* If the timestamp is the same just update the control point value */
-      if (cp->timestamp == timestamp) {
+      if (!g_sequence_iter_is_end (prev)) {
+        GstControlPoint *cp = g_sequence_get (prev);
 
-        /* update control point */
-        cp->value = value;
-        g_mutex_unlock (&self->lock);
+        /* If the timestamp is the same just update the control point value */
+        if (cp->timestamp == timestamp) {
 
-        g_signal_emit (self,
-            gst_timed_value_control_source_signals[VALUE_CHANGED_SIGNAL], 0,
-            cp);
-        goto done;
+          /* update control point */
+          cp->value = value;
+          g_mutex_unlock (&self->lock);
+
+          g_signal_emit (self,
+              gst_timed_value_control_source_signals[VALUE_CHANGED_SIGNAL], 0,
+              cp);
+          goto done;
+        }
       }
     }
   } else {
diff --git a/libs/gst/helpers/Makefile.am b/libs/gst/helpers/Makefile.am
index 1f1eacc..0ae9ab0 100644
--- a/libs/gst/helpers/Makefile.am
+++ b/libs/gst/helpers/Makefile.am
@@ -7,8 +7,33 @@
 
 bashhelpersdir = $(BASH_HELPERS_DIR)
 dist_bashhelpers_DATA = gst
+endif
 
-install-exec-hook:
+helpers_PROGRAMS = gst-plugin-scanner
+helpersdir=$(libexecdir)/gstreamer-$(GST_API_VERSION)
+
+gst_plugin_scanner_SOURCES = gst-plugin-scanner.c
+gst_plugin_scanner_CFLAGS = $(GST_OBJ_CFLAGS)
+gst_plugin_scanner_LDADD = $(GST_OBJ_LIBS)
+
+if HAVE_PTP
+helpers_PROGRAMS += gst-ptp-helper
+gst_ptp_helper_SOURCES = gst-ptp-helper.c
+gst_ptp_helper_CFLAGS = $(GST_OBJ_CFLAGS) $(GIO_CFLAGS)
+gst_ptp_helper_LDADD = $(GST_OBJ_LIBS) $(GIO_LIBS) $(CAP_LIBS)
+endif
+
+install-exec-hook: install-helpersPROGRAMS
+if HAVE_PTP
+if HAVE_PTP_HELPER_SETUID
+	- chown root $(DESTDIR)$(helpersdir)/gst-ptp-helper
+	- chmod u+s $(DESTDIR)$(helpersdir)/gst-ptp-helper
+endif
+if HAVE_PTP_HELPER_CAPABILITIES
+	- $(SETCAP) cap_net_bind_service,cap_net_admin+ep $(DESTDIR)$(helpersdir)/gst-ptp-helper
+endif
+endif
+if ENABLE_BASH_COMPLETION
 	$(MKDIR_P) $(DESTDIR)$(BASH_HELPERS_DIR) && \
 	cd $(DESTDIR)$(bindir) && \
 	$(INSTALL) `echo "gst-completion-helper-" | sed '$(transform)'`@GST_API_VERSION@$(EXEEXT) \
@@ -19,13 +44,6 @@
 	rm -f $(DESTDIR)$(BASH_HELPERS_DIR)/gst-completion-helper-@GST_API_VERSION@$(EXEEXT)
 endif
 
-helpers_PROGRAMS = gst-plugin-scanner
-helpersdir=$(libexecdir)/gstreamer-$(GST_API_VERSION)
-
-gst_plugin_scanner_SOURCES = gst-plugin-scanner.c
-gst_plugin_scanner_CFLAGS = $(GST_OBJ_CFLAGS)
-gst_plugin_scanner_LDADD = $(GST_OBJ_LIBS)
-
 # clean out the old one to make sure everything is udpated correctly
 # remove again after release
 CLEANFILES = plugin-scanner
diff --git a/libs/gst/helpers/Makefile.in b/libs/gst/helpers/Makefile.in
index c7780a7..ed5e81e 100644
--- a/libs/gst/helpers/Makefile.in
+++ b/libs/gst/helpers/Makefile.in
@@ -81,8 +81,9 @@
 host_triplet = @host@
 target_triplet = @target@
 @ENABLE_BASH_COMPLETION_TRUE@bin_PROGRAMS = gst-completion-helper-@GST_API_VERSION@$(EXEEXT)
-helpers_PROGRAMS = gst-plugin-scanner$(EXEEXT)
-@ENABLE_BASH_COMPLETION_TRUE@am__append_1 = gst-completion-helper-@GST_API_VERSION@
+helpers_PROGRAMS = gst-plugin-scanner$(EXEEXT) $(am__EXEEXT_1)
+@HAVE_PTP_TRUE@am__append_1 = gst-ptp-helper
+@ENABLE_BASH_COMPLETION_TRUE@am__append_2 = gst-completion-helper-@GST_API_VERSION@
 subdir = libs/gst/helpers
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 	$(top_srcdir)/depcomp $(am__dist_bashhelpers_DATA_DIST)
@@ -131,6 +132,7 @@
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(helpersdir)" \
 	"$(DESTDIR)$(bashhelpersdir)"
+@HAVE_PTP_TRUE@am__EXEEXT_1 = gst-ptp-helper$(EXEEXT)
 PROGRAMS = $(bin_PROGRAMS) $(helpers_PROGRAMS)
 am__gst_completion_helper_@GST_API_VERSION@_SOURCES_DIST =  \
 	gst-completion-helper.c
@@ -156,6 +158,16 @@
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(gst_plugin_scanner_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
+am__gst_ptp_helper_SOURCES_DIST = gst-ptp-helper.c
+@HAVE_PTP_TRUE@am_gst_ptp_helper_OBJECTS =  \
+@HAVE_PTP_TRUE@	gst_ptp_helper-gst-ptp-helper.$(OBJEXT)
+gst_ptp_helper_OBJECTS = $(am_gst_ptp_helper_OBJECTS)
+@HAVE_PTP_TRUE@gst_ptp_helper_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+@HAVE_PTP_TRUE@	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+gst_ptp_helper_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(gst_ptp_helper_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+	$@
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -191,10 +203,11 @@
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = $(gst_completion_helper_@GST_API_VERSION@_SOURCES) \
-	$(gst_plugin_scanner_SOURCES)
+	$(gst_plugin_scanner_SOURCES) $(gst_ptp_helper_SOURCES)
 DIST_SOURCES =  \
 	$(am__gst_completion_helper_@GST_API_VERSION@_SOURCES_DIST) \
-	$(gst_plugin_scanner_SOURCES)
+	$(gst_plugin_scanner_SOURCES) \
+	$(am__gst_ptp_helper_SOURCES_DIST)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -264,6 +277,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -354,6 +368,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -365,6 +380,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -451,6 +467,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
@@ -539,10 +556,13 @@
 gst_plugin_scanner_SOURCES = gst-plugin-scanner.c
 gst_plugin_scanner_CFLAGS = $(GST_OBJ_CFLAGS)
 gst_plugin_scanner_LDADD = $(GST_OBJ_LIBS)
+@HAVE_PTP_TRUE@gst_ptp_helper_SOURCES = gst-ptp-helper.c
+@HAVE_PTP_TRUE@gst_ptp_helper_CFLAGS = $(GST_OBJ_CFLAGS) $(GIO_CFLAGS)
+@HAVE_PTP_TRUE@gst_ptp_helper_LDADD = $(GST_OBJ_LIBS) $(GIO_LIBS) $(CAP_LIBS)
 
 # clean out the old one to make sure everything is udpated correctly
 # remove again after release
-CLEANFILES = plugin-scanner $(am__append_1)
+CLEANFILES = plugin-scanner $(am__append_2)
 all: all-am
 
 .SUFFIXES:
@@ -684,6 +704,10 @@
 	@rm -f gst-plugin-scanner$(EXEEXT)
 	$(AM_V_CCLD)$(gst_plugin_scanner_LINK) $(gst_plugin_scanner_OBJECTS) $(gst_plugin_scanner_LDADD) $(LIBS)
 
+gst-ptp-helper$(EXEEXT): $(gst_ptp_helper_OBJECTS) $(gst_ptp_helper_DEPENDENCIES) $(EXTRA_gst_ptp_helper_DEPENDENCIES) 
+	@rm -f gst-ptp-helper$(EXEEXT)
+	$(AM_V_CCLD)$(gst_ptp_helper_LINK) $(gst_ptp_helper_OBJECTS) $(gst_ptp_helper_LDADD) $(LIBS)
+
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
 
@@ -692,6 +716,7 @@
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gst_completion_helper_@GST_API_VERSION@-gst-completion-helper.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gst_plugin_scanner-gst-plugin-scanner.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -745,6 +770,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gst_plugin_scanner_CFLAGS) $(CFLAGS) -c -o gst_plugin_scanner-gst-plugin-scanner.obj `if test -f 'gst-plugin-scanner.c'; then $(CYGPATH_W) 'gst-plugin-scanner.c'; else $(CYGPATH_W) '$(srcdir)/gst-plugin-scanner.c'; fi`
 
+gst_ptp_helper-gst-ptp-helper.o: gst-ptp-helper.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gst_ptp_helper_CFLAGS) $(CFLAGS) -MT gst_ptp_helper-gst-ptp-helper.o -MD -MP -MF $(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Tpo -c -o gst_ptp_helper-gst-ptp-helper.o `test -f 'gst-ptp-helper.c' || echo '$(srcdir)/'`gst-ptp-helper.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Tpo $(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gst-ptp-helper.c' object='gst_ptp_helper-gst-ptp-helper.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gst_ptp_helper_CFLAGS) $(CFLAGS) -c -o gst_ptp_helper-gst-ptp-helper.o `test -f 'gst-ptp-helper.c' || echo '$(srcdir)/'`gst-ptp-helper.c
+
+gst_ptp_helper-gst-ptp-helper.obj: gst-ptp-helper.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gst_ptp_helper_CFLAGS) $(CFLAGS) -MT gst_ptp_helper-gst-ptp-helper.obj -MD -MP -MF $(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Tpo -c -o gst_ptp_helper-gst-ptp-helper.obj `if test -f 'gst-ptp-helper.c'; then $(CYGPATH_W) 'gst-ptp-helper.c'; else $(CYGPATH_W) '$(srcdir)/gst-ptp-helper.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Tpo $(DEPDIR)/gst_ptp_helper-gst-ptp-helper.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gst-ptp-helper.c' object='gst_ptp_helper-gst-ptp-helper.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gst_ptp_helper_CFLAGS) $(CFLAGS) -c -o gst_ptp_helper-gst-ptp-helper.obj `if test -f 'gst-ptp-helper.c'; then $(CYGPATH_W) 'gst-ptp-helper.c'; else $(CYGPATH_W) '$(srcdir)/gst-ptp-helper.c'; fi`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -892,7 +931,6 @@
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
-@ENABLE_BASH_COMPLETION_FALSE@install-exec-hook:
 @ENABLE_BASH_COMPLETION_FALSE@uninstall-hook:
 clean: clean-am
 
@@ -989,7 +1027,10 @@
 	uninstall-hook
 
 
-@ENABLE_BASH_COMPLETION_TRUE@install-exec-hook:
+install-exec-hook: install-helpersPROGRAMS
+@HAVE_PTP_HELPER_SETUID_TRUE@@HAVE_PTP_TRUE@	- chown root $(DESTDIR)$(helpersdir)/gst-ptp-helper
+@HAVE_PTP_HELPER_SETUID_TRUE@@HAVE_PTP_TRUE@	- chmod u+s $(DESTDIR)$(helpersdir)/gst-ptp-helper
+@HAVE_PTP_HELPER_CAPABILITIES_TRUE@@HAVE_PTP_TRUE@	- $(SETCAP) cap_net_bind_service,cap_net_admin+ep $(DESTDIR)$(helpersdir)/gst-ptp-helper
 @ENABLE_BASH_COMPLETION_TRUE@	$(MKDIR_P) $(DESTDIR)$(BASH_HELPERS_DIR) && \
 @ENABLE_BASH_COMPLETION_TRUE@	cd $(DESTDIR)$(bindir) && \
 @ENABLE_BASH_COMPLETION_TRUE@	$(INSTALL) `echo "gst-completion-helper-" | sed '$(transform)'`@GST_API_VERSION@$(EXEEXT) \
diff --git a/libs/gst/helpers/gst-ptp-helper.c b/libs/gst/helpers/gst-ptp-helper.c
new file mode 100644
index 0000000..fdae3ba
--- /dev/null
+++ b/libs/gst/helpers/gst-ptp-helper.c
@@ -0,0 +1,668 @@
+/* GStreamer
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/* Helper process that runs setuid root or with appropriate privileges to
+ * listen on ports < 1024, do multicast operations and get MAC addresses of
+ * interfaces. Privileges are dropped after these operations are done.
+ *
+ * It listens on the PTP multicast group on port 319 and 320 and forwards
+ * everything received there to stdout, while forwarding everything received
+ * on stdout to those sockets.
+ * Additionally it provides the MAC address of a network interface via stdout
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#include <string.h>
+
+#ifdef __APPLE__
+#include <ifaddrs.h>
+#include <net/if_dl.h>
+#endif
+
+#ifdef HAVE_PTP_HELPER_SETUID
+#include <grp.h>
+#include <pwd.h>
+#endif
+
+#ifdef HAVE_PTP_HELPER_CAPABILITIES
+#include <sys/capability.h>
+#endif
+
+#include <glib.h>
+#include <gio/gio.h>
+
+#include <gst/gst.h>
+#include <gst/net/gstptp_private.h>
+
+#define PTP_MULTICAST_GROUP "224.0.1.129"
+#define PTP_EVENT_PORT   319
+#define PTP_GENERAL_PORT 320
+
+static gchar **ifaces = NULL;
+static gboolean verbose = FALSE;
+static guint64 clock_id = (guint64) - 1;
+static guint8 clock_id_array[8];
+
+static GOptionEntry opt_entries[] = {
+  {"interface", 'i', 0, G_OPTION_ARG_STRING_ARRAY, &ifaces,
+      "Interface to listen on", NULL},
+  {"clock-id", 'c', 0, G_OPTION_ARG_INT64, &clock_id,
+      "PTP clock id", NULL},
+  {"verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
+      "Be verbose", NULL},
+  {NULL}
+};
+
+static GSocketAddress *event_saddr, *general_saddr;
+static GSocket *socket_event, *socket_general;
+static GIOChannel *stdin_channel, *stdout_channel;
+
+static gboolean
+have_socket_data_cb (GSocket * socket, GIOCondition condition,
+    gpointer user_data)
+{
+  gchar buffer[8192];
+  gssize read;
+  gsize written;
+  GError *err = NULL;
+  GIOStatus status;
+  StdIOHeader header = { 0, };
+
+  read = g_socket_receive (socket, buffer, sizeof (buffer), NULL, &err);
+  if (read == -1)
+    g_error ("Failed to read from socket: %s", err->message);
+
+  if (verbose)
+    g_message ("Received %" G_GSSIZE_FORMAT " bytes from %s socket", read,
+        (socket == socket_event ? "event" : "general"));
+
+  header.size = read;
+  header.type = (socket == socket_event) ? TYPE_EVENT : TYPE_GENERAL;
+
+  status =
+      g_io_channel_write_chars (stdout_channel, (gchar *) & header,
+      sizeof (header), &written, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_error ("Failed to write to stdout: %s", err->message);
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdout");
+    exit (0);
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_error ("Unexpected stdout write status: %d", status);
+  } else if (written != sizeof (header)) {
+    g_error ("Unexpected write size: %" G_GSIZE_FORMAT, written);
+  }
+
+  status =
+      g_io_channel_write_chars (stdout_channel, buffer, read, &written, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_error ("Failed to write to stdout: %s", err->message);
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdout");
+    exit (0);
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_error ("Unexpected stdout write status: %d", status);
+  } else if (written != read) {
+    g_error ("Unexpected write size: %" G_GSIZE_FORMAT, written);
+  }
+
+  return G_SOURCE_CONTINUE;
+}
+
+static gboolean
+have_stdin_data_cb (GIOChannel * channel, GIOCondition condition,
+    gpointer user_data)
+{
+  GIOStatus status;
+  StdIOHeader header = { 0, };
+  gchar buffer[8192];
+  GError *err = NULL;
+  gsize read;
+  gssize written;
+
+  if ((condition & G_IO_STATUS_EOF)) {
+    g_message ("EOF on stdin");
+    exit (0);
+  }
+
+  status =
+      g_io_channel_read_chars (channel, (gchar *) & header, sizeof (header),
+      &read, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_error ("Failed to read from stdin: %s", err->message);
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdin");
+    exit (0);
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_error ("Unexpected stdin read status: %d", status);
+  } else if (read != sizeof (header)) {
+    g_error ("Unexpected read size: %" G_GSIZE_FORMAT, read);
+  } else if (header.size > 8192) {
+    g_error ("Unexpected size: %u", header.size);
+  }
+
+  status = g_io_channel_read_chars (channel, buffer, header.size, &read, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_error ("Failed to read from stdin: %s", err->message);
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdin");
+    exit (0);
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_error ("Unexpected stdin read status: %d", status);
+  } else if (read != header.size) {
+    g_error ("Unexpected read size: %" G_GSIZE_FORMAT, read);
+  }
+
+  switch (header.type) {
+    case TYPE_EVENT:
+    case TYPE_GENERAL:
+      written =
+          g_socket_send_to (header.type ==
+          TYPE_EVENT ? socket_event : socket_general,
+          (header.type == TYPE_EVENT ? event_saddr : general_saddr), buffer,
+          header.size, NULL, &err);
+      if (written == -1)
+        g_error ("Failed to write to socket: %s", err->message);
+      else if (written != header.size)
+        g_error ("Unexpected write size: %" G_GSSIZE_FORMAT, written);
+
+      if (verbose)
+        g_message ("Sent %" G_GSSIZE_FORMAT " bytes to %s socket", read,
+            (header.type == TYPE_EVENT ? "event" : "general"));
+      break;
+    default:
+      break;
+  }
+
+  return G_SOURCE_CONTINUE;
+}
+
+static void
+setup_sockets (void)
+{
+  GInetAddress *bind_addr, *mcast_addr;
+  GSocketAddress *bind_saddr;
+  GSource *socket_event_source, *socket_general_source;
+  gchar **probed_ifaces = NULL;
+  GError *err = NULL;
+
+  /* Create sockets */
+  socket_event =
+      g_socket_new (G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_DATAGRAM,
+      G_SOCKET_PROTOCOL_UDP, &err);
+  if (!socket_event)
+    g_error ("Couldn't create event socket: %s", err->message);
+
+  socket_general =
+      g_socket_new (G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_DATAGRAM,
+      G_SOCKET_PROTOCOL_UDP, &err);
+  if (!socket_general)
+    g_error ("Couldn't create general socket: %s", err->message);
+
+  /* Bind sockets */
+  bind_addr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4);
+  bind_saddr = g_inet_socket_address_new (bind_addr, PTP_EVENT_PORT);
+  if (!g_socket_bind (socket_event, bind_saddr, TRUE, &err))
+    g_error ("Couldn't bind event socket: %s", err->message);
+  g_object_unref (bind_saddr);
+  bind_saddr = g_inet_socket_address_new (bind_addr, PTP_GENERAL_PORT);
+  if (!g_socket_bind (socket_general, bind_saddr, TRUE, &err))
+    g_error ("Couldn't bind general socket: %s", err->message);
+  g_object_unref (bind_saddr);
+  g_object_unref (bind_addr);
+
+  /* Probe all non-loopback interfaces */
+  if (!ifaces) {
+#ifndef __APPLE__
+    struct ifreq ifr;
+    struct ifconf ifc;
+    gchar buf[8192];
+
+    ifc.ifc_len = sizeof (buf);
+    ifc.ifc_buf = buf;
+    if (ioctl (g_socket_get_fd (socket_event), SIOCGIFCONF, &ifc) != -1) {
+      guint i, idx = 0;
+
+      probed_ifaces = g_new0 (gchar *, ifc.ifc_len + 1);
+
+      for (i = 0; i < ifc.ifc_len / sizeof (struct ifreq); i++) {
+        strcpy (ifr.ifr_name, ifc.ifc_req[i].ifr_name);
+        if (ioctl (g_socket_get_fd (socket_event), SIOCGIFFLAGS, &ifr) == 0) {
+          if ((ifr.ifr_flags & IFF_LOOPBACK))
+            continue;
+          probed_ifaces[idx] = g_strdup (ifc.ifc_req[i].ifr_name);
+          idx++;
+        } else {
+          g_warning ("can't get flags of interface '%s'",
+              ifc.ifc_req[i].ifr_name);
+          probed_ifaces[idx] = g_strdup (ifc.ifc_req[i].ifr_name);
+          idx++;
+        }
+        if (idx != 0)
+          ifaces = probed_ifaces;
+      }
+    }
+#else
+    struct ifaddrs *ifaddr, *ifa;
+
+    if (getifaddrs (&ifaddr) != -1) {
+      GPtrArray *arr;
+
+      arr = g_ptr_array_new ();
+
+      for (ifa = ifaddr; ifa; ifa = ifa->ifa_next) {
+        if ((ifa->ifa_flags & IFF_LOOPBACK))
+          continue;
+
+        if (!ifa->ifa_addr || ifa->ifa_addr->sa_family != AF_LINK)
+          continue;
+
+        g_ptr_array_add (arr, g_strdup (ifa->ifa_name));
+      }
+      freeifaddrs (ifaddr);
+
+      g_ptr_array_add (arr, NULL);
+      ifaces = probed_ifaces = (gchar **) g_ptr_array_free (arr, FALSE);
+    }
+#endif
+  }
+
+  /* Get a clock id from the MAC address if none was given */
+  if (clock_id == (guint64) - 1) {
+    gboolean success = FALSE;
+
+#ifndef __APPLE__
+    struct ifreq ifr;
+
+    if (ifaces) {
+      gchar **ptr = ifaces;
+
+      while (*ptr) {
+        strcpy (ifr.ifr_name, *ptr);
+        if (ioctl (g_socket_get_fd (socket_event), SIOCGIFHWADDR, &ifr) == 0) {
+          clock_id_array[0] = ifr.ifr_hwaddr.sa_data[0];
+          clock_id_array[1] = ifr.ifr_hwaddr.sa_data[1];
+          clock_id_array[2] = ifr.ifr_hwaddr.sa_data[2];
+          clock_id_array[3] = 0xff;
+          clock_id_array[4] = 0xfe;
+          clock_id_array[5] = ifr.ifr_hwaddr.sa_data[3];
+          clock_id_array[6] = ifr.ifr_hwaddr.sa_data[4];
+          clock_id_array[7] = ifr.ifr_hwaddr.sa_data[5];
+          success = TRUE;
+          break;
+        }
+      }
+
+      ptr++;
+    } else {
+      struct ifconf ifc;
+      gchar buf[8192];
+
+      ifc.ifc_len = sizeof (buf);
+      ifc.ifc_buf = buf;
+      if (ioctl (g_socket_get_fd (socket_event), SIOCGIFCONF, &ifc) != -1) {
+        guint i;
+
+        for (i = 0; i < ifc.ifc_len / sizeof (struct ifreq); i++) {
+          strcpy (ifr.ifr_name, ifc.ifc_req[i].ifr_name);
+          if (ioctl (g_socket_get_fd (socket_event), SIOCGIFFLAGS, &ifr) == 0) {
+            if ((ifr.ifr_flags & IFF_LOOPBACK))
+              continue;
+
+            if (ioctl (g_socket_get_fd (socket_event), SIOCGIFHWADDR,
+                    &ifr) == 0) {
+              clock_id_array[0] = ifr.ifr_hwaddr.sa_data[0];
+              clock_id_array[1] = ifr.ifr_hwaddr.sa_data[1];
+              clock_id_array[2] = ifr.ifr_hwaddr.sa_data[2];
+              clock_id_array[3] = 0xff;
+              clock_id_array[4] = 0xfe;
+              clock_id_array[5] = ifr.ifr_hwaddr.sa_data[3];
+              clock_id_array[6] = ifr.ifr_hwaddr.sa_data[4];
+              clock_id_array[7] = ifr.ifr_hwaddr.sa_data[5];
+              success = TRUE;
+              break;
+            }
+          } else {
+            g_warning ("can't get flags of interface '%s'",
+                ifc.ifc_req[i].ifr_name);
+          }
+        }
+      }
+    }
+#else
+    struct ifaddrs *ifaddr, *ifa;
+
+    if (getifaddrs (&ifaddr) != -1) {
+      for (ifa = ifaddr; ifa; ifa = ifa->ifa_next) {
+        struct sockaddr_dl *sdl = (struct sockaddr_dl *) ifa->ifa_addr;
+        guint8 mac_addr[6];
+
+        if ((ifa->ifa_flags & IFF_LOOPBACK))
+          continue;
+
+        if (!ifa->ifa_addr || ifa->ifa_addr->sa_family != AF_LINK)
+          continue;
+
+        if (ifaces) {
+          gchar **p = ifaces;
+          gboolean found = FALSE;
+
+          while (*p) {
+            if (strcmp (*p, ifa->ifa_name) == 0) {
+              found = TRUE;
+              break;
+            }
+            p++;
+          }
+
+          if (!found)
+            continue;
+        }
+
+        if (sdl->sdl_alen != 6)
+          continue;
+
+        memcpy (mac_addr, LLADDR (sdl), sdl->sdl_alen);
+
+        clock_id_array[0] = mac_addr[0];
+        clock_id_array[1] = mac_addr[1];
+        clock_id_array[2] = mac_addr[2];
+        clock_id_array[3] = 0xff;
+        clock_id_array[4] = 0xfe;
+        clock_id_array[5] = mac_addr[3];
+        clock_id_array[6] = mac_addr[4];
+        clock_id_array[7] = mac_addr[5];
+        success = TRUE;
+        break;
+      }
+
+      freeifaddrs (ifaddr);
+    }
+#endif
+
+    if (!success) {
+      g_warning ("can't get any MAC address, using random clock id");
+      clock_id = (((guint64) g_random_int ()) << 32) | (g_random_int ());
+      GST_WRITE_UINT64_BE (clock_id_array, clock_id);
+      clock_id_array[3] = 0xff;
+      clock_id_array[4] = 0xfe;
+    }
+  } else {
+    GST_WRITE_UINT64_BE (clock_id_array, clock_id);
+  }
+
+  /* Join multicast groups */
+  mcast_addr = g_inet_address_new_from_string (PTP_MULTICAST_GROUP);
+  if (ifaces) {
+    gchar **ptr = ifaces;
+    gboolean success = FALSE;
+
+    while (*ptr) {
+      gint c = 0;
+      if (!g_socket_join_multicast_group (socket_event, mcast_addr, FALSE, *ptr,
+              &err)
+          && !g_error_matches (err, G_IO_ERROR, G_IO_ERROR_ADDRESS_IN_USE))
+        g_warning ("Couldn't join multicast group on interface '%s': %s", *ptr,
+            err->message);
+      else
+        c++;
+      g_clear_error (&err);
+
+      if (!g_socket_join_multicast_group (socket_general, mcast_addr, FALSE,
+              *ptr, &err)
+          && !g_error_matches (err, G_IO_ERROR, G_IO_ERROR_ADDRESS_IN_USE))
+        g_warning ("Couldn't join multicast group on interface '%s': %s", *ptr,
+            err->message);
+      else
+        c++;
+      g_clear_error (&err);
+
+      if (c == 2)
+        success = TRUE;
+      ptr++;
+    }
+
+    if (!success) {
+      /* Join multicast group without any interface */
+      if (!g_socket_join_multicast_group (socket_event, mcast_addr, FALSE, NULL,
+              &err))
+        g_error ("Couldn't join multicast group: %s", err->message);
+      if (!g_socket_join_multicast_group (socket_general, mcast_addr, FALSE,
+              NULL, &err))
+        g_error ("Couldn't join multicast group: %s", err->message);
+    }
+  } else {
+    /* Join multicast group without any interface */
+    if (!g_socket_join_multicast_group (socket_event, mcast_addr, FALSE, NULL,
+            &err))
+      g_error ("Couldn't join multicast group: %s", err->message);
+    if (!g_socket_join_multicast_group (socket_general, mcast_addr, FALSE, NULL,
+            &err))
+      g_error ("Couldn't join multicast group: %s", err->message);
+  }
+
+  event_saddr = g_inet_socket_address_new (mcast_addr, PTP_EVENT_PORT);
+  general_saddr = g_inet_socket_address_new (mcast_addr, PTP_GENERAL_PORT);
+
+  /* Create socket sources */
+  socket_event_source =
+      g_socket_create_source (socket_event, G_IO_IN | G_IO_PRI, NULL);
+  g_source_set_priority (socket_event_source, G_PRIORITY_HIGH);
+  g_source_set_callback (socket_event_source, (GSourceFunc) have_socket_data_cb,
+      NULL, NULL);
+  g_source_attach (socket_event_source, NULL);
+  socket_general_source =
+      g_socket_create_source (socket_general, G_IO_IN | G_IO_PRI, NULL);
+  g_source_set_priority (socket_general_source, G_PRIORITY_DEFAULT);
+  g_source_set_callback (socket_general_source,
+      (GSourceFunc) have_socket_data_cb, NULL, NULL);
+  g_source_attach (socket_general_source, NULL);
+
+  g_strfreev (probed_ifaces);
+}
+
+static void
+drop_privileges (void)
+{
+#ifdef HAVE_PTP_HELPER_SETUID
+  /* Switch to the given user/group */
+#ifdef HAVE_PTP_HELPER_SETUID_GROUP
+  {
+    struct group *grp;
+
+    grp = getgrnam (HAVE_PTP_HELPER_SETUID_GROUP);
+    if (!grp)
+      g_error ("Failed to get group information '%s': %s",
+          HAVE_PTP_HELPER_SETUID_GROUP, g_strerror (errno));
+
+    if (setgid (grp->gr_gid) != 0)
+      g_error ("Failed to change to group '%s': %s",
+          HAVE_PTP_HELPER_SETUID_GROUP, g_strerror (errno));
+  }
+#endif
+
+#ifdef HAVE_PTP_HELPER_SETUID_USER
+  {
+    struct passwd *pwd;
+
+    pwd = getpwnam (HAVE_PTP_HELPER_SETUID_USER);
+    if (!pwd)
+      g_error ("Failed to get user information '%s': %s",
+          HAVE_PTP_HELPER_SETUID_USER, g_strerror (errno));
+
+#ifndef HAVE_PTP_HELPER_SETUID_GROUP
+    if (setgid (pwd->pw_gid) != 0)
+      g_error ("Failed to change to user group '%s': %s",
+          HAVE_PTP_HELPER_SETUID_USER, g_strerror (errno));
+#endif
+
+    if (setuid (pwd->pw_uid) != 0)
+      g_error ("Failed to change to user '%s': %s", HAVE_PTP_HELPER_SETUID_USER,
+          g_strerror (errno));
+  }
+#endif
+#endif
+#ifdef HAVE_PTP_HELPER_CAPABILITIES
+  /* Drop all capabilities */
+  {
+    cap_t caps;
+
+    caps = cap_get_proc ();
+    if (caps == 0)
+      g_error ("Failed to get process caps: %s", g_strerror (errno));
+    if (cap_clear (caps) != 0)
+      g_error ("Failed to clear caps: %s", g_strerror (errno));
+    if (cap_set_proc (caps) != 0)
+      g_error ("Failed to set process caps: %s", g_strerror (errno));
+  }
+#endif
+}
+
+static void
+setup_stdio_channels (void)
+{
+  GSource *stdin_source;
+
+  /* Create stdin source */
+  stdin_channel = g_io_channel_unix_new (STDIN_FILENO);
+  if (g_io_channel_set_encoding (stdin_channel, NULL,
+          NULL) == G_IO_STATUS_ERROR)
+    g_error ("Failed to set stdin to binary encoding");
+  g_io_channel_set_buffered (stdin_channel, FALSE);
+  stdin_source =
+      g_io_create_watch (stdin_channel, G_IO_IN | G_IO_PRI | G_IO_HUP);
+  g_source_set_priority (stdin_source, G_PRIORITY_DEFAULT);
+  g_source_set_callback (stdin_source, (GSourceFunc) have_stdin_data_cb, NULL,
+      NULL);
+  g_source_attach (stdin_source, NULL);
+
+  /* Create stdout channel */
+  stdout_channel = g_io_channel_unix_new (STDOUT_FILENO);
+  if (g_io_channel_set_encoding (stdout_channel, NULL,
+          NULL) == G_IO_STATUS_ERROR)
+    g_error ("Failed to set stdout to binary encoding");
+  g_io_channel_set_buffered (stdout_channel, FALSE);
+}
+
+static void
+write_clock_id (void)
+{
+  GError *err = NULL;
+  GIOStatus status;
+  StdIOHeader header = { 0, };
+  gsize written;
+
+  /* Write clock id to stdout */
+
+  header.type = TYPE_CLOCK_ID;
+  header.size = 8;
+  status =
+      g_io_channel_write_chars (stdout_channel, (gchar *) & header,
+      sizeof (header), &written, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_error ("Failed to write to stdout: %s", err->message);
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdout");
+    exit (0);
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_error ("Unexpected stdout write status: %d", status);
+  } else if (written != sizeof (header)) {
+    g_error ("Unexpected write size: %" G_GSIZE_FORMAT, written);
+  }
+
+  status =
+      g_io_channel_write_chars (stdout_channel,
+      (const gchar *) clock_id_array, sizeof (clock_id_array), &written, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_error ("Failed to write to stdout: %s", err->message);
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdout");
+    exit (0);
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_error ("Unexpected stdout write status: %d", status);
+  } else if (written != sizeof (clock_id_array)) {
+    g_error ("Unexpected write size: %" G_GSIZE_FORMAT, written);
+  }
+}
+
+#ifdef __APPLE__
+static gint
+dummy_poll (GPollFD * fds, guint nfds, gint timeout)
+{
+  return g_poll (fds, nfds, timeout);
+}
+#endif
+
+gint
+main (gint argc, gchar ** argv)
+{
+  GOptionContext *opt_ctx;
+  GMainLoop *loop;
+  GError *err = NULL;
+
+  /* FIXME: Work around some side effects of the changes from
+   * https://bugzilla.gnome.org/show_bug.cgi?id=741054
+   *
+   * The modified poll function somehow calls setugid(), which
+   * then abort()s the application. Make sure that we use g_poll()
+   * here!
+   */
+#ifdef __APPLE__
+  {
+    GMainContext *context = g_main_context_default ();
+    g_main_context_set_poll_func (context, dummy_poll);
+  }
+#endif
+
+#ifdef HAVE_PTP_HELPER_SETUID
+  if (setuid (0) < 0)
+    g_error ("not running with superuser privileges");
+#endif
+
+  opt_ctx = g_option_context_new ("- GStreamer PTP helper process");
+  g_option_context_add_main_entries (opt_ctx, opt_entries, NULL);
+  if (!g_option_context_parse (opt_ctx, &argc, &argv, &err))
+    g_error ("Error parsing options: %s", err->message);
+  g_option_context_free (opt_ctx);
+
+  setup_sockets ();
+  drop_privileges ();
+  setup_stdio_channels ();
+  write_clock_id ();
+
+  /* Get running */
+  loop = g_main_loop_new (NULL, FALSE);
+  g_main_loop_run (loop);
+
+  /* We never exit cleanly, so don't do cleanup */
+  g_assert_not_reached ();
+
+  return 0;
+}
diff --git a/libs/gst/net/Makefile.am b/libs/gst/net/Makefile.am
index f78f679..e502a8c 100644
--- a/libs/gst/net/Makefile.am
+++ b/libs/gst/net/Makefile.am
@@ -8,19 +8,37 @@
     gstnetclientclock.h \
     gstnetcontrolmessagemeta.h \
     gstnettimepacket.h \
-    gstnettimeprovider.h
+    gstnettimeprovider.h \
+    gstptpclock.h
 
 libgstnet_@GST_API_VERSION@_la_SOURCES = \
     gstnetaddressmeta.c \
     gstnetclientclock.c \
     gstnetcontrolmessagemeta.c \
     gstnettimepacket.c \
-    gstnettimeprovider.c
+    gstnettimeprovider.c \
+    gstptpclock.c \
+    gstntppacket.c
+
+noinst_HEADERS = gstptp_private.h gstntppacket.h
 
 libgstnet_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS) $(GIO_CFLAGS)
-libgstnet_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) $(GIO_LIBS)
+libgstnet_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) $(GIO_LIBS) \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la
 libgstnet_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
 
+# try to prevent packaging errors
+check-libexecdir-consistency:
+	@if test "${GST_PTP_HELPER_INSTALLED}" != "${libexecdir}/gstreamer-$(GST_API_VERSION)/gst-ptp-helper"; then \
+	  echo "*** Inconsistent libexecdir! Please use ./configure --libexecdir=/foo/bar"; \
+	  echo "*** to set the libexecdir and not make libexecdir=/foo/bar or the like."; \
+	  echo "*** The same goes for prefix, libdir etc."; \
+	  echo "*** ${GST_PTP_HELPER_INSTALLED} != ${libexecdir}/gstreamer-$(GST_API_VERSION)/gst-ptp-helper"; \
+	  exit 1; \
+	fi
+
+all-local: check-libexecdir-consistency
+
 CLEANFILES = *.gcno *.gcda *.gcov
 
 %.c.gcov: .libs/libgstnet_@GST_API_VERSION@_la-%.gcda %.c
diff --git a/libs/gst/net/Makefile.in b/libs/gst/net/Makefile.in
index 932caab..4e1c691 100644
--- a/libs/gst/net/Makefile.in
+++ b/libs/gst/net/Makefile.in
@@ -85,7 +85,8 @@
 subdir = libs/gst/net
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 	$(top_srcdir)/depcomp \
-	$(libgstnet_@GST_API_VERSION@_include_HEADERS)
+	$(libgstnet_@GST_API_VERSION@_include_HEADERS) \
+	$(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
 	$(top_srcdir)/common/m4/as-auto-alt.m4 \
@@ -162,13 +163,16 @@
 LTLIBRARIES = $(lib_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libgstnet_@GST_API_VERSION@_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la
 am_libgstnet_@GST_API_VERSION@_la_OBJECTS =  \
 	libgstnet_@GST_API_VERSION@_la-gstnetaddressmeta.lo \
 	libgstnet_@GST_API_VERSION@_la-gstnetclientclock.lo \
 	libgstnet_@GST_API_VERSION@_la-gstnetcontrolmessagemeta.lo \
 	libgstnet_@GST_API_VERSION@_la-gstnettimepacket.lo \
-	libgstnet_@GST_API_VERSION@_la-gstnettimeprovider.lo
+	libgstnet_@GST_API_VERSION@_la-gstnettimeprovider.lo \
+	libgstnet_@GST_API_VERSION@_la-gstptpclock.lo \
+	libgstnet_@GST_API_VERSION@_la-gstntppacket.lo
 libgstnet_@GST_API_VERSION@_la_OBJECTS =  \
 	$(am_libgstnet_@GST_API_VERSION@_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
@@ -221,8 +225,27 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 DATA = $(gir_DATA) $(typelibs_DATA)
-HEADERS = $(libgstnet_@GST_API_VERSION@_include_HEADERS)
+HEADERS = $(libgstnet_@GST_API_VERSION@_include_HEADERS) \
+	$(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -239,6 +262,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -329,6 +353,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -340,6 +365,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -426,6 +452,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
@@ -514,17 +541,23 @@
     gstnetclientclock.h \
     gstnetcontrolmessagemeta.h \
     gstnettimepacket.h \
-    gstnettimeprovider.h
+    gstnettimeprovider.h \
+    gstptpclock.h
 
 libgstnet_@GST_API_VERSION@_la_SOURCES = \
     gstnetaddressmeta.c \
     gstnetclientclock.c \
     gstnetcontrolmessagemeta.c \
     gstnettimepacket.c \
-    gstnettimeprovider.c
+    gstnettimeprovider.c \
+    gstptpclock.c \
+    gstntppacket.c
 
+noinst_HEADERS = gstptp_private.h gstntppacket.h
 libgstnet_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS) $(GIO_CFLAGS)
-libgstnet_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) $(GIO_LIBS)
+libgstnet_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) $(GIO_LIBS) \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la
+
 libgstnet_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
 CLEANFILES = *.gcno *.gcda *.gcov $(am__append_1)
 @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstNet-@GST_API_VERSION@.gir
@@ -622,6 +655,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstnetcontrolmessagemeta.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstnettimepacket.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstnettimeprovider.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstntppacket.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstptpclock.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -682,6 +717,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnet_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstnet_@GST_API_VERSION@_la-gstnettimeprovider.lo `test -f 'gstnettimeprovider.c' || echo '$(srcdir)/'`gstnettimeprovider.c
 
+libgstnet_@GST_API_VERSION@_la-gstptpclock.lo: gstptpclock.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnet_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstnet_@GST_API_VERSION@_la-gstptpclock.lo -MD -MP -MF $(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstptpclock.Tpo -c -o libgstnet_@GST_API_VERSION@_la-gstptpclock.lo `test -f 'gstptpclock.c' || echo '$(srcdir)/'`gstptpclock.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstptpclock.Tpo $(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstptpclock.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstptpclock.c' object='libgstnet_@GST_API_VERSION@_la-gstptpclock.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnet_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstnet_@GST_API_VERSION@_la-gstptpclock.lo `test -f 'gstptpclock.c' || echo '$(srcdir)/'`gstptpclock.c
+
+libgstnet_@GST_API_VERSION@_la-gstntppacket.lo: gstntppacket.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnet_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstnet_@GST_API_VERSION@_la-gstntppacket.lo -MD -MP -MF $(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstntppacket.Tpo -c -o libgstnet_@GST_API_VERSION@_la-gstntppacket.lo `test -f 'gstntppacket.c' || echo '$(srcdir)/'`gstntppacket.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstntppacket.Tpo $(DEPDIR)/libgstnet_@GST_API_VERSION@_la-gstntppacket.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstntppacket.c' object='libgstnet_@GST_API_VERSION@_la-gstntppacket.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnet_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstnet_@GST_API_VERSION@_la-gstntppacket.lo `test -f 'gstntppacket.c' || echo '$(srcdir)/'`gstntppacket.c
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -750,12 +799,58 @@
 	@list='$(libgstnet_@GST_API_VERSION@_include_HEADERS)'; test -n "$(libgstnet_@GST_API_VERSION@_includedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	dir='$(DESTDIR)$(libgstnet_@GST_API_VERSION@_includedir)'; $(am__uninstall_files_from_dir)
-tags TAGS:
 
-ctags CTAGS:
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
 
-cscope cscopelist:
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
 
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -789,7 +884,7 @@
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
+all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) all-local
 installdirs:
 	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(typelibsdir)" "$(DESTDIR)$(libgstnet_@GST_API_VERSION@_includedir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -833,7 +928,8 @@
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
 
 dvi: dvi-am
 
@@ -901,26 +997,38 @@
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
-	distclean distclean-compile distclean-generic \
-	distclean-libtool distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-girDATA \
-	install-html install-html-am install-info install-info-am \
-	install-libLTLIBRARIES \
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+	clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
+	ctags ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-girDATA install-html install-html-am \
+	install-info install-info-am install-libLTLIBRARIES \
 	install-libgstnet_@GST_API_VERSION@_includeHEADERS install-man \
 	install-pdf install-pdf-am install-ps install-ps-am \
 	install-strip install-typelibsDATA installcheck \
 	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags-am uninstall uninstall-am uninstall-girDATA \
+	tags tags-am uninstall uninstall-am uninstall-girDATA \
 	uninstall-libLTLIBRARIES \
 	uninstall-libgstnet_@GST_API_VERSION@_includeHEADERS \
 	uninstall-typelibsDATA
 
 
+# try to prevent packaging errors
+check-libexecdir-consistency:
+	@if test "${GST_PTP_HELPER_INSTALLED}" != "${libexecdir}/gstreamer-$(GST_API_VERSION)/gst-ptp-helper"; then \
+	  echo "*** Inconsistent libexecdir! Please use ./configure --libexecdir=/foo/bar"; \
+	  echo "*** to set the libexecdir and not make libexecdir=/foo/bar or the like."; \
+	  echo "*** The same goes for prefix, libdir etc."; \
+	  echo "*** ${GST_PTP_HELPER_INSTALLED} != ${libexecdir}/gstreamer-$(GST_API_VERSION)/gst-ptp-helper"; \
+	  exit 1; \
+	fi
+
+all-local: check-libexecdir-consistency
+
 %.c.gcov: .libs/libgstnet_@GST_API_VERSION@_la-%.gcda %.c
 	$(GCOV) -b -f -o $^ > $@.out
 
diff --git a/libs/gst/net/gstnetclientclock.c b/libs/gst/net/gstnetclientclock.c
index 8801fb2..ffca699 100644
--- a/libs/gst/net/gstnetclientclock.c
+++ b/libs/gst/net/gstnetclientclock.c
@@ -3,6 +3,7 @@
  *                    2005 Wim Taymans <wim@fluendo.com>
  *                    2005 Andy Wingo <wingo@pobox.com>
  * Copyright (C) 2012 Collabora Ltd. <tim.muller@collabora.co.uk>
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
  *
  * gstnetclientclock.h: clock that synchronizes itself to a time provider over
  * the network
@@ -28,12 +29,13 @@
  *                     provider.
  * @see_also: #GstClock, #GstNetTimeProvider, #GstPipeline
  *
- * This object implements a custom #GstClock that synchronizes its time
- * to a remote time provider such as #GstNetTimeProvider.
+ * #GstNetClientClock implements a custom #GstClock that synchronizes its time
+ * to a remote time provider such as #GstNetTimeProvider. #GstNtpClock
+ * implements a #GstClock that synchronizes its time to a remote NTPv4 server.
  *
- * A new clock is created with gst_net_client_clock_new() which takes the
- * address and port of the remote time provider along with a name and
- * an initial time.
+ * A new clock is created with gst_net_client_clock_new() or
+ * gst_ntp_clock_new(), which takes the address and port of the remote time
+ * provider along with a name and an initial time.
  *
  * This clock will poll the time provider and will update its calibration
  * parameters based on the local and remote observations.
@@ -43,7 +45,7 @@
  * Various parameters of the clock can be configured with the parent #GstClock
  * "timeout", "window-size" and "window-threshold" object properties.
  *
- * A #GstNetClientClock is typically set on a #GstPipeline with 
+ * A #GstNetClientClock and #GstNtpClock is typically set on a #GstPipeline with
  * gst_pipeline_use_clock().
  *
  * If you set a #GstBus on the clock via the "bus" object property, it will
@@ -56,10 +58,13 @@
 #endif
 
 #include "gstnettimepacket.h"
+#include "gstntppacket.h"
 #include "gstnetclientclock.h"
 
 #include <gio/gio.h>
 
+#include <string.h>
+
 GST_DEBUG_CATEGORY_STATIC (ncc_debug);
 #define GST_CAT_DEFAULT (ncc_debug)
 
@@ -70,10 +75,13 @@
 /* Minimum timeout will be immediately (ie, as fast as one RTT), but no
  * more often than 1/20th second (arbitrarily, to spread observations a little) */
 #define DEFAULT_MINIMUM_UPDATE_INTERVAL (GST_SECOND / 20)
+#define DEFAULT_BASE_TIME       0
 
 /* Maximum number of clock updates we can skip before updating */
 #define MAX_SKIPPED_UPDATES 5
 
+#define MEDIAN_PRE_FILTERING_WINDOW 9
+
 enum
 {
   PROP_0,
@@ -81,7 +89,8 @@
   PROP_PORT,
   PROP_ROUNDTRIP_LIMIT,
   PROP_MINIMUM_UPDATE_INTERVAL,
-  PROP_BUS
+  PROP_BUS,
+  PROP_BASE_TIME
 };
 
 #define GST_NET_CLIENT_CLOCK_GET_PRIVATE(obj)  \
@@ -94,17 +103,25 @@
   GSocket *socket;
   GSocketAddress *servaddr;
   GCancellable *cancel;
+  gboolean made_cancel_fd;
 
   GstClockTime timeout_expiration;
   GstClockTime roundtrip_limit;
   GstClockTime rtt_avg;
   GstClockTime minimum_update_interval;
+  GstClockTime last_remote_poll_interval;
   guint skipped_updates;
+  GstClockTime last_rtts[MEDIAN_PRE_FILTERING_WINDOW];
+  gint last_rtts_missing;
+
+  GstClockTime base_time;
 
   gchar *address;
   gint port;
 
   GstBus *bus;
+
+  gboolean is_ntp;
 };
 
 #define _do_init \
@@ -118,7 +135,9 @@
     const GValue * value, GParamSpec * pspec);
 static void gst_net_client_clock_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
+static void gst_net_client_clock_constructed (GObject * object);
 
+static gboolean gst_net_client_clock_start (GstNetClientClock * self);
 static void gst_net_client_clock_stop (GstNetClientClock * self);
 
 static void
@@ -133,15 +152,18 @@
   gobject_class->finalize = gst_net_client_clock_finalize;
   gobject_class->get_property = gst_net_client_clock_get_property;
   gobject_class->set_property = gst_net_client_clock_set_property;
+  gobject_class->constructed = gst_net_client_clock_constructed;
 
   g_object_class_install_property (gobject_class, PROP_ADDRESS,
       g_param_spec_string ("address", "address",
           "The IP address of the machine providing a time server",
-          DEFAULT_ADDRESS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+          DEFAULT_ADDRESS,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_PORT,
       g_param_spec_int ("port", "port",
           "The port on which the remote server is listening", 0, G_MAXUINT16,
-          DEFAULT_PORT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+          DEFAULT_PORT,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_BUS,
       g_param_spec_object ("bus", "bus",
           "A GstBus on which to send clock status information", GST_TYPE_BUS,
@@ -172,6 +194,12 @@
           "Minimum polling interval for packets, in nanoseconds"
           "(0 = no limit)", 0, G_MAXUINT64, DEFAULT_MINIMUM_UPDATE_INTERVAL,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_BASE_TIME,
+      g_param_spec_uint64 ("base-time", "Base Time",
+          "Initial time that is reported before synchronization", 0,
+          G_MAXUINT64, DEFAULT_BASE_TIME,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 }
 
 static void
@@ -193,7 +221,10 @@
   priv->rtt_avg = GST_CLOCK_TIME_NONE;
   priv->roundtrip_limit = DEFAULT_ROUNDTRIP_LIMIT;
   priv->minimum_update_interval = DEFAULT_MINIMUM_UPDATE_INTERVAL;
+  priv->last_remote_poll_interval = GST_CLOCK_TIME_NONE;
   priv->skipped_updates = 0;
+  priv->last_rtts_missing = MEDIAN_PRE_FILTERING_WINDOW;
+  priv->base_time = DEFAULT_BASE_TIME;
 }
 
 static void
@@ -264,6 +295,9 @@
       self->priv->bus = g_value_dup_object (value);
       GST_OBJECT_UNLOCK (self);
       break;
+    case PROP_BASE_TIME:
+      self->priv->base_time = g_value_get_uint64 (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -300,6 +334,9 @@
       g_value_set_object (value, self->priv->bus);
       GST_OBJECT_UNLOCK (self);
       break;
+    case PROP_BASE_TIME:
+      g_value_set_uint64 (value, self->priv->base_time);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -307,12 +344,59 @@
 }
 
 static void
+gst_net_client_clock_constructed (GObject * object)
+{
+  GstNetClientClock *self = GST_NET_CLIENT_CLOCK (object);
+  GstClockTime internal;
+
+  G_OBJECT_CLASS (parent_class)->constructed (object);
+
+  /* gst_clock_get_time() values are guaranteed to be increasing. because no one
+   * has called get_time on this clock yet we are free to adjust to any value
+   * without worrying about worrying about MAX() issues with the clock's
+   * internal time.
+   */
+
+  /* update our internal time so get_time() give something around base_time.
+     assume that the rate is 1 in the beginning. */
+  internal = gst_clock_get_internal_time (GST_CLOCK (self));
+  gst_clock_set_calibration (GST_CLOCK (self), internal, self->priv->base_time,
+      1, 1);
+
+  {
+    GstClockTime now = gst_clock_get_time (GST_CLOCK (self));
+
+    if (GST_CLOCK_DIFF (now, self->priv->base_time) > 0 ||
+        GST_CLOCK_DIFF (now, self->priv->base_time + GST_SECOND) < 0) {
+      g_warning ("unable to set the base time, expect sync problems!");
+    }
+  }
+
+  if (!gst_net_client_clock_start (self)) {
+    g_warning ("failed to start clock '%s'", GST_OBJECT_NAME (self));
+  }
+
+  /* all systems go, cap'n */
+}
+
+static gint
+compare_clock_time (const GstClockTime * a, const GstClockTime * b)
+{
+  if (*a < *b)
+    return -1;
+  else if (*a > *b)
+    return 1;
+  return 0;
+}
+
+static void
 gst_net_client_clock_observe_times (GstNetClientClock * self,
-    GstClockTime local_1, GstClockTime remote, GstClockTime local_2)
+    GstClockTime local_1, GstClockTime remote_1, GstClockTime remote_2,
+    GstClockTime local_2)
 {
   GstNetClientClockPrivate *priv = self->priv;
   GstClockTime current_timeout = 0;
-  GstClockTime local_avg;
+  GstClockTime local_avg, remote_avg;
   gdouble r_squared;
   GstClock *clock;
   GstClockTime rtt, rtt_limit, min_update_interval;
@@ -326,10 +410,22 @@
   GstClockTime orig_internal_time, orig_external_time, orig_rate_num,
       orig_rate_den;
   GstClockTime max_discont;
+  GstClockTime last_rtts[MEDIAN_PRE_FILTERING_WINDOW];
+  GstClockTime median;
+  gint i;
 
   GST_OBJECT_LOCK (self);
   rtt_limit = self->priv->roundtrip_limit;
-  min_update_interval = self->priv->minimum_update_interval;
+
+  /* If the server told us a poll interval and it's bigger than the
+   * one configured via the property, use the server's */
+  if (self->priv->last_remote_poll_interval != GST_CLOCK_TIME_NONE &&
+      self->priv->last_remote_poll_interval >
+      self->priv->minimum_update_interval)
+    min_update_interval = self->priv->last_remote_poll_interval;
+  else
+    min_update_interval = self->priv->minimum_update_interval;
+
   if (self->priv->bus)
     bus = gst_object_ref (self->priv->bus);
   GST_OBJECT_UNLOCK (self);
@@ -341,7 +437,19 @@
     goto bogus_observation;
   }
 
-  rtt = GST_CLOCK_DIFF (local_1, local_2);
+  if (remote_2 < remote_1) {
+    GST_LOG_OBJECT (self,
+        "Dropping observation: remote receive time %" GST_TIME_FORMAT
+        " < send time %" GST_TIME_FORMAT, GST_TIME_ARGS (remote_1),
+        GST_TIME_ARGS (remote_2));
+    goto bogus_observation;
+  }
+
+  /* The round trip time is (assuming symmetric path delays)
+   * delta = (local_2 - local_1) - (remote_2 - remote_1)
+   */
+
+  rtt = GST_CLOCK_DIFF (local_1, local_2) - GST_CLOCK_DIFF (remote_1, remote_2);
 
   if ((rtt_limit > 0) && (rtt > rtt_limit)) {
     GST_LOG_OBJECT (self,
@@ -350,6 +458,33 @@
     goto bogus_observation;
   }
 
+  for (i = 1; i < MEDIAN_PRE_FILTERING_WINDOW; i++)
+    self->priv->last_rtts[i - 1] = self->priv->last_rtts[i];
+  self->priv->last_rtts[i - 1] = rtt;
+
+  if (self->priv->last_rtts_missing) {
+    self->priv->last_rtts_missing--;
+  } else {
+    memcpy (&last_rtts, &self->priv->last_rtts, sizeof (last_rtts));
+    g_qsort_with_data (&last_rtts,
+        MEDIAN_PRE_FILTERING_WINDOW, sizeof (GstClockTime),
+        (GCompareDataFunc) compare_clock_time, NULL);
+
+    median = last_rtts[MEDIAN_PRE_FILTERING_WINDOW / 2];
+
+    /* FIXME: We might want to use something else here, like only allowing
+     * things in the interquartile range, or also filtering away delays that
+     * are too small compared to the median. This here worked well enough
+     * in tests so far.
+     */
+    if (rtt > 2 * median) {
+      GST_LOG_OBJECT (self,
+          "Dropping observation, long RTT %" GST_TIME_FORMAT " > 2 * median %"
+          GST_TIME_FORMAT, GST_TIME_ARGS (rtt), GST_TIME_ARGS (median));
+      goto bogus_observation;
+    }
+  }
+
   /* Track an average round trip time, for a bit of smoothing */
   /* Always update before discarding a sample, so genuine changes in
    * the network get picked up, eventually */
@@ -367,11 +502,46 @@
     goto bogus_observation;
   }
 
-  local_avg = (local_2 + local_1) / 2;
+  /* The difference between the local and remote clock (again assuming
+   * symmetric path delays):
+   *
+   * local_1 + delta / 2 - remote_1 = theta
+   * or
+   * local_2 - delta / 2 - remote_2 = theta
+   *
+   * which gives after some simple algebraic transformations:
+   *
+   *         (remote_1 - local_1) + (remote_2 - local_2)
+   * theta = -------------------------------------------
+   *                              2
+   *
+   *
+   * Thus remote time at local_avg is equal to:
+   *
+   * local_avg + theta =
+   *
+   * local_1 + local_2   (remote_1 - local_1) + (remote_2 - local_2)
+   * ----------------- + -------------------------------------------
+   *         2                                2
+   *
+   * =
+   *
+   * remote_1 + remote_2
+   * ------------------- = remote_avg
+   *          2
+   *
+   * We use this for our clock estimation, i.e. local_avg at remote clock
+   * being the same as remote_avg.
+   */
 
-  GST_LOG_OBJECT (self, "local1 %" G_GUINT64_FORMAT " remote %" G_GUINT64_FORMAT
-      " localavg %" G_GUINT64_FORMAT " local2 %" G_GUINT64_FORMAT,
-      local_1, remote, local_avg, local_2);
+  local_avg = (local_2 + local_1) / 2;
+  remote_avg = (remote_2 + remote_1) / 2;
+
+  GST_LOG_OBJECT (self,
+      "local1 %" G_GUINT64_FORMAT " remote1 %" G_GUINT64_FORMAT " remote2 %"
+      G_GUINT64_FORMAT " remoteavg %" G_GUINT64_FORMAT " localavg %"
+      G_GUINT64_FORMAT " local2 %" G_GUINT64_FORMAT, local_1, remote_1,
+      remote_2, remote_avg, local_avg, local_2);
 
   clock = GST_CLOCK_CAST (self);
 
@@ -396,12 +566,13 @@
 
   /* If the remote observation was within a max_discont window around our min/max estimates, we're synched */
   synched =
-      (GST_CLOCK_DIFF (remote, min_guess) < (GstClockTimeDiff) (max_discont)
+      (GST_CLOCK_DIFF (remote_avg, min_guess) < (GstClockTimeDiff) (max_discont)
       && GST_CLOCK_DIFF (time_before,
-          remote) < (GstClockTimeDiff) (max_discont));
+          remote_avg) < (GstClockTimeDiff) (max_discont));
 
-  if (gst_clock_add_observation_unapplied (GST_CLOCK (self), local_avg, remote,
-          &r_squared, &internal_time, &external_time, &rate_num, &rate_den)) {
+  if (gst_clock_add_observation_unapplied (GST_CLOCK (self), local_avg,
+          remote_avg, &r_squared, &internal_time, &external_time, &rate_num,
+          &rate_den)) {
 
     /* Now compare the difference (discont) in the clock
      * after this observation */
@@ -433,13 +604,13 @@
 
     /* Check if the new clock params would have made our observation within range */
     now_synched =
-        (GST_CLOCK_DIFF (remote,
+        (GST_CLOCK_DIFF (remote_avg,
             gst_clock_adjust_with_calibration (GST_CLOCK (self), local_1,
                 internal_time, external_time, rate_num,
                 rate_den)) < (GstClockTimeDiff) (max_discont))
         && (GST_CLOCK_DIFF (gst_clock_adjust_with_calibration (GST_CLOCK (self),
                 local_2, internal_time, external_time, rate_num, rate_den),
-            remote) < (GstClockTimeDiff) (max_discont));
+            remote_avg) < (GstClockTimeDiff) (max_discont));
 
     /* Only update the clock if we had synch or just gained it */
     if (synched || now_synched || priv->skipped_updates > MAX_SKIPPED_UPDATES) {
@@ -474,23 +645,20 @@
         "rtt", G_TYPE_UINT64, rtt,
         "rtt-average", G_TYPE_UINT64, priv->rtt_avg,
         "local", G_TYPE_UINT64, local_avg,
-        "remote", G_TYPE_UINT64, remote,
+        "remote", G_TYPE_UINT64, remote_avg,
         "discontinuity", G_TYPE_INT64, time_discont,
         "remote-min-estimate", G_TYPE_UINT64, min_guess,
         "remote-max-estimate", G_TYPE_UINT64, time_before,
-        "remote-min-error", G_TYPE_INT64, GST_CLOCK_DIFF (remote, min_guess),
-        "remote-max-error", G_TYPE_INT64, GST_CLOCK_DIFF (remote, time_before),
-        "request-send", G_TYPE_UINT64, local_1,
-        "request-receive", G_TYPE_UINT64, local_2,
-        "r-squared", G_TYPE_DOUBLE, r_squared,
-        "timeout", G_TYPE_UINT64, current_timeout,
-        "internal-time", G_TYPE_UINT64, internal_time,
-        "external-time", G_TYPE_UINT64, external_time,
-        "rate-num", G_TYPE_UINT64, rate_num,
-        "rate-den", G_TYPE_UINT64, rate_den,
-        "rate", G_TYPE_DOUBLE, (gdouble) (rate_num) / rate_den,
-        "local-clock-offset", G_TYPE_INT64, GST_CLOCK_DIFF (internal_time,
-            external_time), NULL);
+        "remote-min-error", G_TYPE_INT64, GST_CLOCK_DIFF (remote_avg,
+            min_guess), "remote-max-error", G_TYPE_INT64,
+        GST_CLOCK_DIFF (remote_avg, time_before), "request-send", G_TYPE_UINT64,
+        local_1, "request-receive", G_TYPE_UINT64, local_2, "r-squared",
+        G_TYPE_DOUBLE, r_squared, "timeout", G_TYPE_UINT64, current_timeout,
+        "internal-time", G_TYPE_UINT64, internal_time, "external-time",
+        G_TYPE_UINT64, external_time, "rate-num", G_TYPE_UINT64, rate_num,
+        "rate-den", G_TYPE_UINT64, rate_den, "rate", G_TYPE_DOUBLE,
+        (gdouble) (rate_num) / rate_den, "local-clock-offset", G_TYPE_INT64,
+        GST_CLOCK_DIFF (internal_time, external_time), NULL);
     msg = gst_message_new_element (GST_OBJECT (self), s);
     gst_bus_post (bus, msg);
   }
@@ -514,7 +682,6 @@
 gst_net_client_clock_thread (gpointer data)
 {
   GstNetClientClock *self = data;
-  GstNetTimePacket *packet;
   GSocket *socket = self->priv->socket;
   GError *err = NULL;
   GstClock *clock = data;
@@ -548,18 +715,38 @@
         /* timed out, let's send another packet */
         GST_DEBUG_OBJECT (self, "timed out");
 
-        packet = gst_net_time_packet_new (NULL);
+        if (self->priv->is_ntp) {
+          GstNtpPacket *packet;
 
-        packet->local_time = gst_clock_get_internal_time (GST_CLOCK (self));
+          packet = gst_ntp_packet_new (NULL, NULL);
 
-        GST_DEBUG_OBJECT (self,
-            "sending packet, local time = %" GST_TIME_FORMAT,
-            GST_TIME_ARGS (packet->local_time));
+          packet->transmit_time =
+              gst_clock_get_internal_time (GST_CLOCK (self));
 
-        gst_net_time_packet_send (packet, self->priv->socket,
-            self->priv->servaddr, NULL);
+          GST_DEBUG_OBJECT (self,
+              "sending packet, local time = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->transmit_time));
 
-        g_free (packet);
+          gst_ntp_packet_send (packet, self->priv->socket,
+              self->priv->servaddr, NULL);
+
+          g_free (packet);
+        } else {
+          GstNetTimePacket *packet;
+
+          packet = gst_net_time_packet_new (NULL);
+
+          packet->local_time = gst_clock_get_internal_time (GST_CLOCK (self));
+
+          GST_DEBUG_OBJECT (self,
+              "sending packet, local time = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->local_time));
+
+          gst_net_time_packet_send (packet, self->priv->socket,
+              self->priv->servaddr, NULL);
+
+          g_free (packet);
+        }
 
         /* reset timeout (but are expecting a response sooner anyway) */
         self->priv->timeout_expiration =
@@ -576,25 +763,81 @@
 
       new_local = gst_clock_get_internal_time (GST_CLOCK (self));
 
-      packet = gst_net_time_packet_receive (socket, NULL, &err);
+      if (self->priv->is_ntp) {
+        GstNtpPacket *packet;
 
-      if (packet != NULL) {
-        GST_LOG_OBJECT (self, "got packet back");
-        GST_LOG_OBJECT (self, "local_1 = %" GST_TIME_FORMAT,
-            GST_TIME_ARGS (packet->local_time));
-        GST_LOG_OBJECT (self, "remote = %" GST_TIME_FORMAT,
-            GST_TIME_ARGS (packet->remote_time));
-        GST_LOG_OBJECT (self, "local_2 = %" GST_TIME_FORMAT,
-            GST_TIME_ARGS (new_local));
+        packet = gst_ntp_packet_receive (socket, NULL, &err);
 
-        /* observe_times will reset the timeout */
-        gst_net_client_clock_observe_times (self, packet->local_time,
-            packet->remote_time, new_local);
+        if (packet != NULL) {
+          GST_LOG_OBJECT (self, "got packet back");
+          GST_LOG_OBJECT (self, "local_1 = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->origin_time));
+          GST_LOG_OBJECT (self, "remote_1 = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->receive_time));
+          GST_LOG_OBJECT (self, "remote_2 = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->transmit_time));
+          GST_LOG_OBJECT (self, "local_2 = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (new_local));
+          GST_LOG_OBJECT (self, "poll_interval = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->poll_interval));
 
-        g_free (packet);
-      } else if (err != NULL) {
-        GST_WARNING_OBJECT (self, "receive error: %s", err->message);
-        g_clear_error (&err);
+          /* Remember the last poll interval we ever got from the server */
+          if (packet->poll_interval != GST_CLOCK_TIME_NONE)
+            self->priv->last_remote_poll_interval = packet->poll_interval;
+
+          /* observe_times will reset the timeout */
+          gst_net_client_clock_observe_times (self, packet->origin_time,
+              packet->receive_time, packet->transmit_time, new_local);
+
+          g_free (packet);
+        } else if (err != NULL) {
+          if (g_error_matches (err, GST_NTP_ERROR, GST_NTP_ERROR_WRONG_VERSION)
+              || g_error_matches (err, GST_NTP_ERROR, GST_NTP_ERROR_KOD_DENY)) {
+            GST_ERROR_OBJECT (self, "fatal receive error: %s", err->message);
+            break;
+          } else if (g_error_matches (err, GST_NTP_ERROR,
+                  GST_NTP_ERROR_KOD_RATE)) {
+            GST_WARNING_OBJECT (self, "need to limit rate");
+
+            /* If the server did not tell us a poll interval before, double
+             * our minimum poll interval. Otherwise we assume that the server
+             * already told us something sensible and that this error here
+             * was just a spurious error */
+            if (self->priv->last_remote_poll_interval == GST_CLOCK_TIME_NONE)
+              self->priv->minimum_update_interval *= 2;
+
+            /* And wait a bit before we send the next packet instead of
+             * sending it immediately */
+            self->priv->timeout_expiration =
+                gst_util_get_timestamp () + gst_clock_get_timeout (clock);
+          } else {
+            GST_WARNING_OBJECT (self, "receive error: %s", err->message);
+          }
+          g_clear_error (&err);
+        }
+      } else {
+        GstNetTimePacket *packet;
+
+        packet = gst_net_time_packet_receive (socket, NULL, &err);
+
+        if (packet != NULL) {
+          GST_LOG_OBJECT (self, "got packet back");
+          GST_LOG_OBJECT (self, "local_1 = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->local_time));
+          GST_LOG_OBJECT (self, "remote = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (packet->remote_time));
+          GST_LOG_OBJECT (self, "local_2 = %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (new_local));
+
+          /* observe_times will reset the timeout */
+          gst_net_client_clock_observe_times (self, packet->local_time,
+              packet->remote_time, packet->remote_time, new_local);
+
+          g_free (packet);
+        } else if (err != NULL) {
+          GST_WARNING_OBJECT (self, "receive error: %s", err->message);
+          g_clear_error (&err);
+        }
       }
     }
   }
@@ -612,6 +855,7 @@
   GSocket *socket;
   GError *error = NULL;
   GSocketFamily family;
+  GPollFD dummy_pollfd;
 
   g_return_val_if_fail (self->priv->address != NULL, FALSE);
   g_return_val_if_fail (self->priv->servaddr == NULL, FALSE);
@@ -653,12 +897,15 @@
   if (myaddr == NULL)
     goto getsockname_error;
 
-  GST_DEBUG_OBJECT (self, "socket opened on UDP port %hd",
+  GST_DEBUG_OBJECT (self, "socket opened on UDP port %d",
       g_inet_socket_address_get_port (G_INET_SOCKET_ADDRESS (myaddr)));
 
   g_object_unref (myaddr);
 
   self->priv->cancel = g_cancellable_new ();
+  self->priv->made_cancel_fd =
+      g_cancellable_make_pollfd (self->priv->cancel, &dummy_pollfd);
+
   self->priv->socket = socket;
   self->priv->servaddr = G_SOCKET_ADDRESS (servaddr);
 
@@ -721,6 +968,9 @@
   g_thread_join (self->priv->thread);
   self->priv->thread = NULL;
 
+  if (self->priv->made_cancel_fd)
+    g_cancellable_release_fd (self->priv->cancel);
+
   g_object_unref (self->priv->cancel);
   self->priv->cancel = NULL;
 
@@ -751,9 +1001,7 @@
 gst_net_client_clock_new (const gchar * name, const gchar * remote_address,
     gint remote_port, GstClockTime base_time)
 {
-  /* FIXME: gst_net_client_clock_new() should be a thin wrapper for g_object_new() */
   GstNetClientClock *ret;
-  GstClockTime internal;
 
   g_return_val_if_fail (remote_address != NULL, NULL);
   g_return_val_if_fail (remote_port > 0, NULL);
@@ -761,38 +1009,52 @@
   g_return_val_if_fail (base_time != GST_CLOCK_TIME_NONE, NULL);
 
   ret = g_object_new (GST_TYPE_NET_CLIENT_CLOCK, "address", remote_address,
-      "port", remote_port, NULL);
+      "port", remote_port, "base-time", base_time, NULL);
 
-  /* gst_clock_get_time() values are guaranteed to be increasing. because no one
-   * has called get_time on this clock yet we are free to adjust to any value
-   * without worrying about worrying about MAX() issues with the clock's
-   * internal time.
-   */
-
-  /* update our internal time so get_time() give something around base_time.
-     assume that the rate is 1 in the beginning. */
-  internal = gst_clock_get_internal_time (GST_CLOCK (ret));
-  gst_clock_set_calibration (GST_CLOCK (ret), internal, base_time, 1, 1);
-
-  {
-    GstClockTime now = gst_clock_get_time (GST_CLOCK (ret));
-
-    if (GST_CLOCK_DIFF (now, base_time) > 0 ||
-        GST_CLOCK_DIFF (now, base_time + GST_SECOND) < 0) {
-      g_warning ("unable to set the base time, expect sync problems!");
-    }
-  }
-
-  if (!gst_net_client_clock_start (ret))
-    goto failed_start;
-
-  /* all systems go, cap'n */
   return (GstClock *) ret;
+}
 
-failed_start:
-  {
-    /* already printed a nice error */
-    gst_object_unref (ret);
-    return NULL;
-  }
+G_DEFINE_TYPE (GstNtpClock, gst_ntp_clock, GST_TYPE_NET_CLIENT_CLOCK);
+
+static void
+gst_ntp_clock_class_init (GstNtpClockClass * klass)
+{
+}
+
+static void
+gst_ntp_clock_init (GstNtpClock * self)
+{
+  GST_NET_CLIENT_CLOCK (self)->priv->is_ntp = TRUE;
+}
+
+/**
+ * gst_ntp_clock_new:
+ * @name: a name for the clock
+ * @remote_address: the address of the remote clock provider
+ * @remote_port: the port of the remote clock provider
+ * @base_time: initial time of the clock
+ *
+ * Create a new #GstNtpClock that will report the time provided by
+ * the NTPv4 server on @remote_address and @remote_port.
+ *
+ * Returns: a new #GstClock that receives a time from the remote
+ * clock.
+ *
+ * Since: 1.6
+ */
+GstClock *
+gst_ntp_clock_new (const gchar * name, const gchar * remote_address,
+    gint remote_port, GstClockTime base_time)
+{
+  GstNetClientClock *ret;
+
+  g_return_val_if_fail (remote_address != NULL, NULL);
+  g_return_val_if_fail (remote_port > 0, NULL);
+  g_return_val_if_fail (remote_port <= G_MAXUINT16, NULL);
+  g_return_val_if_fail (base_time != GST_CLOCK_TIME_NONE, NULL);
+
+  ret = g_object_new (GST_TYPE_NTP_CLOCK, "address", remote_address,
+      "port", remote_port, "base-time", base_time, NULL);
+
+  return (GstClock *) ret;
 }
diff --git a/libs/gst/net/gstnetclientclock.h b/libs/gst/net/gstnetclientclock.h
index b7243f1..0839d73 100644
--- a/libs/gst/net/gstnetclientclock.h
+++ b/libs/gst/net/gstnetclientclock.h
@@ -73,6 +73,24 @@
 GstClock*	gst_net_client_clock_new	(const gchar *name, const gchar *remote_address,
                                                  gint remote_port, GstClockTime base_time);
 
+#define GST_TYPE_NTP_CLOCK \
+  (gst_ntp_clock_get_type())
+#define GST_NTP_CLOCK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NTP_CLOCK,GstNtpClock))
+#define GST_NTP_CLOCK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NTP_CLOCK,GstNtpClockClass))
+#define GST_IS_NTP_CLOCK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NTP_CLOCK))
+#define GST_IS_NTP_CLOCK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NTP_CLOCK))
+
+typedef struct _GstNetClientClock GstNtpClock;
+typedef struct _GstNetClientClockClass GstNtpClockClass;
+
+GType           gst_ntp_clock_get_type	        (void);
+GstClock*	gst_ntp_clock_new	        (const gchar *name, const gchar *remote_address,
+                                                 gint remote_port, GstClockTime base_time);
+
 G_END_DECLS
 
 #endif /* __GST_NET_CLIENT_CLOCK_H__ */
diff --git a/libs/gst/net/gstnettimeprovider.c b/libs/gst/net/gstnettimeprovider.c
index 8e030d7..6ec123d 100644
--- a/libs/gst/net/gstnettimeprovider.c
+++ b/libs/gst/net/gstnettimeprovider.c
@@ -73,6 +73,7 @@
 
   GSocket *socket;
   GCancellable *cancel;
+  gboolean made_cancel_fd;
 };
 
 static gboolean gst_net_time_provider_start (GstNetTimeProvider * bself);
@@ -274,6 +275,7 @@
 {
   GSocketAddress *socket_addr, *bound_addr;
   GInetAddress *inet_addr;
+  GPollFD dummy_pollfd;
   GSocket *socket;
   GError *err = NULL;
   int port;
@@ -328,6 +330,8 @@
 
   self->priv->socket = socket;
   self->priv->cancel = g_cancellable_new ();
+  self->priv->made_cancel_fd =
+      g_cancellable_make_pollfd (self->priv->cancel, &dummy_pollfd);
 
   self->priv->thread = g_thread_try_new ("GstNetTimeProvider",
       gst_net_time_provider_thread, self, &err);
@@ -380,6 +384,9 @@
   g_thread_join (self->priv->thread);
   self->priv->thread = NULL;
 
+  if (self->priv->made_cancel_fd)
+    g_cancellable_release_fd (self->priv->cancel);
+
   g_object_unref (self->priv->cancel);
   self->priv->cancel = NULL;
 
diff --git a/libs/gst/net/gstntppacket.c b/libs/gst/net/gstntppacket.c
new file mode 100644
index 0000000..cd3c277
--- /dev/null
+++ b/libs/gst/net/gstntppacket.c
@@ -0,0 +1,375 @@
+/* GStreamer
+ * Copyright (C) 2005 Andy Wingo <wingo@pobox.com>
+ * Copyright (C) 2010 Tim-Philipp Müller <tim centricular net>
+ * Copyright (C) 2012 Collabora Ltd. <tim.muller@collabora.co.uk>
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+/**
+ * SECTION:gstntppacket
+ * @short_description: Helper structure to construct clock packets used
+ *                     by network clocks for NTPv4.
+ * @see_also: #GstClock, #GstNetClientClock, #GstNtpProvider
+ *
+ * Various functions for receiving, sending an serializing #GstNtpPacket
+ * structures.
+ */
+
+/* FIXME 2.0: Merge this with GstNetTimePacket! */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+
+#ifdef __CYGWIN__
+# include <unistd.h>
+# include <fcntl.h>
+#endif
+
+#include <gst/gst.h>
+#include <string.h>
+
+#include "gstntppacket.h"
+
+G_DEFINE_BOXED_TYPE (GstNtpPacket, gst_ntp_packet,
+    gst_ntp_packet_copy, gst_ntp_packet_free);
+
+
+static inline GstClockTime
+ntp_timestamp_to_gst_clock_time (guint32 seconds, guint32 fraction)
+{
+  return gst_util_uint64_scale (seconds, GST_SECOND, 1) +
+      gst_util_uint64_scale (fraction, GST_SECOND,
+      G_GUINT64_CONSTANT (1) << 32);
+}
+
+static inline guint32
+gst_clock_time_to_ntp_timestamp_seconds (GstClockTime gst)
+{
+  GstClockTime seconds = gst_util_uint64_scale (gst, 1, GST_SECOND);
+
+  return seconds;
+}
+
+static inline guint32
+gst_clock_time_to_ntp_timestamp_fraction (GstClockTime gst)
+{
+  GstClockTime seconds = gst_util_uint64_scale (gst, 1, GST_SECOND);
+
+  return gst_util_uint64_scale (gst - seconds, G_GUINT64_CONSTANT (1) << 32,
+      GST_SECOND);
+}
+
+/**
+ * gst_ntp_packet_new:
+ * @buffer: (array): a buffer from which to construct the packet, or NULL
+ *
+ * Creates a new #GstNtpPacket from a buffer received over the network. The
+ * caller is responsible for ensuring that @buffer is at least
+ * #GST_NTP_PACKET_SIZE bytes long.
+ *
+ * If @buffer is #NULL, the local and remote times will be set to
+ * #GST_CLOCK_TIME_NONE.
+ *
+ * MT safe. Caller owns return value (gst_ntp_packet_free to free).
+ *
+ * Returns: The new #GstNtpPacket.
+ */
+GstNtpPacket *
+gst_ntp_packet_new (const guint8 * buffer, GError ** error)
+{
+  GstNtpPacket *ret;
+
+  g_assert (sizeof (GstClockTime) == 8);
+
+  if (buffer) {
+    guint8 version = (buffer[0] >> 3) & 0x7;
+    guint8 stratum = buffer[1];
+    guint8 poll_interval = buffer[2];
+
+    if (version != 4) {
+      g_set_error (error, GST_NTP_ERROR, GST_NTP_ERROR_WRONG_VERSION,
+          "Invalid NTP version %d", version);
+      return NULL;
+    }
+
+    /* Kiss-o'-Death packet! */
+    if (stratum == 0) {
+      gchar code[5] = { buffer[3 * 4 + 0], buffer[3 * 4 + 1], buffer[3 * 4 + 2],
+        buffer[3 * 4 + 3], 0
+      };
+
+      /* AUTH, AUTO, CRYP, DENY, RSTR, NKEY => DENY */
+      if (strcmp (code, "AUTH") == 0 ||
+          strcmp (code, "AUTO") == 0 ||
+          strcmp (code, "CRYP") == 0 ||
+          strcmp (code, "DENY") == 0 ||
+          strcmp (code, "RSTR") == 0 || strcmp (code, "NKEY") == 0) {
+        g_set_error (error, GST_NTP_ERROR, GST_NTP_ERROR_KOD_DENY,
+            "Kiss-o'-Death denied '%s'", code);
+      } else if (strcmp (code, "RATE") == 0) {
+        g_set_error (error, GST_NTP_ERROR, GST_NTP_ERROR_KOD_RATE,
+            "Kiss-o'-Death '%s'", code);
+      } else {
+        g_set_error (error, GST_NTP_ERROR, GST_NTP_ERROR_KOD_UNKNOWN,
+            "Kiss-o'-Death unknown '%s'", code);
+      }
+
+      return NULL;
+    }
+
+    ret = g_new0 (GstNtpPacket, 1);
+    ret->origin_time =
+        ntp_timestamp_to_gst_clock_time (GST_READ_UINT32_BE (buffer + 6 * 4),
+        GST_READ_UINT32_BE (buffer + 7 * 4));
+    ret->receive_time =
+        ntp_timestamp_to_gst_clock_time (GST_READ_UINT32_BE (buffer + 8 * 4),
+        GST_READ_UINT32_BE (buffer + 9 * 4));
+    ret->transmit_time =
+        ntp_timestamp_to_gst_clock_time (GST_READ_UINT32_BE (buffer + 10 * 4),
+        GST_READ_UINT32_BE (buffer + 11 * 4));
+
+    /* Wireshark considers everything >= 3 as invalid */
+    if (poll_interval >= 3)
+      ret->poll_interval = GST_CLOCK_TIME_NONE;
+    else if (poll_interval >= 0)
+      ret->poll_interval = GST_SECOND << poll_interval;
+    else
+      ret->poll_interval = GST_SECOND >> (-poll_interval);
+  } else {
+    ret = g_new0 (GstNtpPacket, 1);
+    ret->origin_time = 0;
+    ret->receive_time = 0;
+    ret->transmit_time = 0;
+    ret->poll_interval = 0;
+  }
+
+  return ret;
+}
+
+/**
+ * gst_ntp_packet_free:
+ * @packet: the #GstNtpPacket
+ *
+ * Free @packet.
+ */
+void
+gst_ntp_packet_free (GstNtpPacket * packet)
+{
+  g_free (packet);
+}
+
+/**
+ * gst_ntp_packet_copy:
+ * @packet: the #GstNtpPacket
+ *
+ * Make a copy of @packet.
+ *
+ * Returns: a copy of @packet, free with gst_ntp_packet_free().
+ */
+GstNtpPacket *
+gst_ntp_packet_copy (const GstNtpPacket * packet)
+{
+  GstNtpPacket *ret;
+
+  ret = g_new0 (GstNtpPacket, 1);
+  ret->origin_time = packet->origin_time;
+  ret->receive_time = packet->receive_time;
+  ret->transmit_time = packet->transmit_time;
+
+  return ret;
+}
+
+/**
+ * gst_ntp_packet_serialize:
+ * @packet: the #GstNtpPacket
+ *
+ * Serialized a #GstNtpPacket into a newly-allocated sequence of
+ * #GST_NTP_PACKET_SIZE bytes, in network byte order. The value returned is
+ * suitable for passing to write(2) or sendto(2) for communication over the
+ * network.
+ *
+ * MT safe. Caller owns return value (g_free to free).
+ *
+ * Returns: A newly allocated sequence of #GST_NTP_PACKET_SIZE bytes.
+ */
+guint8 *
+gst_ntp_packet_serialize (const GstNtpPacket * packet)
+{
+  guint8 *ret;
+
+  g_assert (sizeof (GstClockTime) == 8);
+
+  ret = g_new0 (guint8, GST_NTP_PACKET_SIZE);
+  /* Leap Indicator: unknown
+   * Version: 4
+   * Mode: Client
+   */
+  ret[0] = (3 << 6) | (4 << 3) | (3 << 0);
+  /* Stratum: unsynchronized */
+  ret[1] = 16;
+  /* Polling interval: invalid */
+  ret[2] = 3;
+  /* Precision: 0 */
+  ret[3] = 0;
+  /* Root delay: 0 */
+  GST_WRITE_UINT32_BE (ret + 4, 0);
+  /* Root disperson: 0 */
+  GST_WRITE_UINT32_BE (ret + 2 * 4, 0);
+  /* Reference ID: \0 */
+  GST_WRITE_UINT32_BE (ret + 3 * 4, 0);
+  /* Reference Timestamp: 0 */
+  GST_WRITE_UINT32_BE (ret + 4 * 4, 0);
+  GST_WRITE_UINT32_BE (ret + 5 * 4, 0);
+  /* Origin timestamp (local time) */
+  GST_WRITE_UINT32_BE (ret + 6 * 4,
+      gst_clock_time_to_ntp_timestamp_seconds (packet->origin_time));
+  GST_WRITE_UINT32_BE (ret + 7 * 4,
+      gst_clock_time_to_ntp_timestamp_fraction (packet->origin_time));
+  /* Receive timestamp (remote time) */
+  GST_WRITE_UINT32_BE (ret + 8 * 4,
+      gst_clock_time_to_ntp_timestamp_seconds (packet->receive_time));
+  GST_WRITE_UINT32_BE (ret + 9 * 4,
+      gst_clock_time_to_ntp_timestamp_fraction (packet->receive_time));
+  /* Transmit timestamp (remote time) */
+  GST_WRITE_UINT32_BE (ret + 10 * 4,
+      gst_clock_time_to_ntp_timestamp_seconds (packet->transmit_time));
+  GST_WRITE_UINT32_BE (ret + 11 * 4,
+      gst_clock_time_to_ntp_timestamp_fraction (packet->transmit_time));
+
+  return ret;
+}
+
+/**
+ * gst_ntp_packet_receive:
+ * @socket: socket to receive the time packet on
+ * @src_address: (out): address of variable to return sender address
+ * @error: return address for a #GError, or NULL
+ *
+ * Receives a #GstNtpPacket over a socket. Handles interrupted system
+ * calls, but otherwise returns NULL on error.
+ *
+ * Returns: (transfer full): a new #GstNtpPacket, or NULL on error. Free
+ *    with gst_ntp_packet_free() when done.
+ */
+GstNtpPacket *
+gst_ntp_packet_receive (GSocket * socket,
+    GSocketAddress ** src_address, GError ** error)
+{
+  gchar buffer[GST_NTP_PACKET_SIZE];
+  GError *err = NULL;
+  gssize ret;
+
+  g_return_val_if_fail (G_IS_SOCKET (socket), FALSE);
+  g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+  while (TRUE) {
+    ret = g_socket_receive_from (socket, src_address, buffer,
+        GST_NTP_PACKET_SIZE, NULL, &err);
+
+    if (ret < 0) {
+      if (err->code == G_IO_ERROR_WOULD_BLOCK) {
+        g_error_free (err);
+        err = NULL;
+        continue;
+      } else {
+        goto receive_error;
+      }
+    } else if (ret < GST_NTP_PACKET_SIZE) {
+      goto short_packet;
+    } else {
+      return gst_ntp_packet_new ((const guint8 *) buffer, error);
+    }
+  }
+
+receive_error:
+  {
+    GST_DEBUG ("receive error: %s", err->message);
+    g_propagate_error (error, err);
+    return NULL;
+  }
+short_packet:
+  {
+    GST_DEBUG ("someone sent us a short packet (%" G_GSSIZE_FORMAT " < %d)",
+        ret, GST_NTP_PACKET_SIZE);
+    g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_DATA,
+        "short time packet (%d < %d)", (int) ret, GST_NTP_PACKET_SIZE);
+    return NULL;
+  }
+}
+
+/**
+ * gst_ntp_packet_send:
+ * @packet: the #GstNtpPacket to send
+ * @socket: socket to send the time packet on
+ * @dest_address: address to send the time packet to
+ * @error: return address for a #GError, or NULL
+ *
+ * Sends a #GstNtpPacket over a socket.
+ *
+ * MT safe.
+ *
+ * Returns: TRUE if successful, FALSE in case an error occurred.
+ */
+gboolean
+gst_ntp_packet_send (const GstNtpPacket * packet,
+    GSocket * socket, GSocketAddress * dest_address, GError ** error)
+{
+  gboolean was_blocking;
+  guint8 *buffer;
+  gssize res;
+
+  g_return_val_if_fail (packet != NULL, FALSE);
+  g_return_val_if_fail (G_IS_SOCKET (socket), FALSE);
+  g_return_val_if_fail (G_IS_SOCKET_ADDRESS (dest_address), FALSE);
+  g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+  was_blocking = g_socket_get_blocking (socket);
+
+  if (was_blocking)
+    g_socket_set_blocking (socket, FALSE);
+
+  /* FIXME: avoid pointless alloc/free, serialise into stack-allocated buffer */
+  buffer = gst_ntp_packet_serialize (packet);
+
+  res = g_socket_send_to (socket, dest_address, (const gchar *) buffer,
+      GST_NTP_PACKET_SIZE, NULL, error);
+
+  /* datagram packets should be sent as a whole or not at all */
+  g_assert (res < 0 || res == GST_NTP_PACKET_SIZE);
+
+  g_free (buffer);
+
+  if (was_blocking)
+    g_socket_set_blocking (socket, TRUE);
+
+  return (res == GST_NTP_PACKET_SIZE);
+}
+
+GQuark
+gst_ntp_error_quark (void)
+{
+  static GQuark quark;
+
+  /* Thread-safe because GQuark is */
+  if (!quark)
+    quark = g_quark_from_static_string ("gst-ntp-error-quark");
+
+  return quark;
+}
diff --git a/libs/gst/net/gstntppacket.h b/libs/gst/net/gstntppacket.h
new file mode 100644
index 0000000..0ecd5e8
--- /dev/null
+++ b/libs/gst/net/gstntppacket.h
@@ -0,0 +1,86 @@
+/* GStreamer
+ * Copyright (C) 2005 Andy Wingo <wingo@pobox.com>
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef __GST_NTP_PACKET_H__
+#define __GST_NTP_PACKET_H__
+
+#include <gst/gst.h>
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GST_NTP_PACKET_SIZE:
+ *
+ * The size of the packets sent between NTP clocks.
+ */
+#define GST_NTP_PACKET_SIZE 48
+
+typedef struct _GstNtpPacket GstNtpPacket;
+
+/**
+ * GstNtpPacket:
+ * @origin_time: the time the client packet was sent for the server
+ * @receive_time: the time the client packet was received
+ * @transmit_time: the time the packet was sent
+ * @poll_interval: maximum poll interval
+ *
+ * Content of a #GstNtpPacket.
+ */
+struct _GstNtpPacket {
+  GstClockTime origin_time;
+  GstClockTime receive_time;
+  GstClockTime transmit_time;
+
+  GstClockTime poll_interval;
+};
+
+GType gst_ntp_packet_get_type(void) G_GNUC_INTERNAL;
+
+enum {
+  GST_NTP_ERROR_WRONG_VERSION,
+  GST_NTP_ERROR_KOD_DENY,
+  GST_NTP_ERROR_KOD_RATE,
+  GST_NTP_ERROR_KOD_UNKNOWN
+};
+
+GQuark gst_ntp_error_quark (void) G_GNUC_INTERNAL;
+#define GST_NTP_ERROR (gst_ntp_error_quark ())
+
+GstNtpPacket*           gst_ntp_packet_new         (const guint8 *buffer,
+                                                    GError      ** error) G_GNUC_INTERNAL;
+GstNtpPacket*           gst_ntp_packet_copy        (const GstNtpPacket *packet) G_GNUC_INTERNAL;
+void                    gst_ntp_packet_free        (GstNtpPacket *packet) G_GNUC_INTERNAL;
+
+guint8*                 gst_ntp_packet_serialize   (const GstNtpPacket *packet) G_GNUC_INTERNAL;
+
+GstNtpPacket*           gst_ntp_packet_receive     (GSocket         * socket,
+                                                    GSocketAddress ** src_address,
+                                                    GError         ** error) G_GNUC_INTERNAL;
+
+gboolean                gst_ntp_packet_send        (const GstNtpPacket * packet,
+                                                    GSocket            * socket,
+                                                    GSocketAddress     * dest_address,
+                                                    GError            ** error) G_GNUC_INTERNAL;
+
+G_END_DECLS
+
+#endif /* __GST_NET_TIME_PACKET_H__ */
diff --git a/libs/gst/net/gstptp_private.h b/libs/gst/net/gstptp_private.h
new file mode 100644
index 0000000..18e0e07
--- /dev/null
+++ b/libs/gst/net/gstptp_private.h
@@ -0,0 +1,19 @@
+#ifndef __GST_PTP_PRIVATE_H__
+#define __GST_PTP_PRIVATE_H__
+
+#include <glib.h>
+
+enum
+{
+  TYPE_EVENT,
+  TYPE_GENERAL,
+  TYPE_CLOCK_ID
+};
+
+typedef struct
+{
+  guint16 size;
+  guint8 type;
+} StdIOHeader;
+
+#endif /* __GST_PTP_PRIVATE_H__ */
diff --git a/libs/gst/net/gstptpclock.c b/libs/gst/net/gstptpclock.c
new file mode 100644
index 0000000..37d13d9
--- /dev/null
+++ b/libs/gst/net/gstptpclock.c
@@ -0,0 +1,2602 @@
+/* GStreamer
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+/**
+ * SECTION:gstptpclock
+ * @short_description: Special clock that synchronizes to a remote time
+ *                     provider via PTP (IEEE1588:2008).
+ * @see_also: #GstClock, #GstNetClientClock, #GstPipeline
+ *
+ * GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only
+ * mode, that allows a GStreamer pipeline to synchronize to a PTP network
+ * clock in some specific domain.
+ *
+ * The PTP subsystem can be initialized with gst_ptp_init(), which then starts
+ * a helper process to do the actual communication via the PTP ports. This is
+ * required as PTP listens on ports < 1024 and thus requires special
+ * privileges. Once this helper process is started, the main process will
+ * synchronize to all PTP domains that are detected on the selected
+ * interfaces.
+ *
+ * gst_ptp_clock_new() then allows to create a GstClock that provides the PTP
+ * time from a master clock inside a specific PTP domain. This clock will only
+ * return valid timestamps once the timestamps in the PTP domain are known. To
+ * check this, you can use gst_clock_wait_for_sync(), the GstClock::synced
+ * signal and gst_clock_is_synced().
+ *
+ *
+ * To gather statistics about the PTP clock synchronization,
+ * gst_ptp_statistics_callback_add() can be used. This gives the application
+ * the possibility to collect all kinds of statistics from the clock
+ * synchronization.
+ *
+ * Since: 1.6
+ *
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstptpclock.h"
+
+#ifdef HAVE_PTP
+
+#include "gstptp_private.h"
+
+#include <sys/wait.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include <gst/base/base.h>
+
+GST_DEBUG_CATEGORY_STATIC (ptp_debug);
+#define GST_CAT_DEFAULT (ptp_debug)
+
+/* IEEE 1588 7.7.3.1 */
+#define PTP_ANNOUNCE_RECEIPT_TIMEOUT 4
+
+/* Use a running average for calculating the mean path delay instead
+ * of just using the last measurement. Enabling this helps in unreliable
+ * networks, like wifi, with often changing delays
+ *
+ * Undef for following IEEE1588-2008 by the letter
+ */
+#define USE_RUNNING_AVERAGE_DELAY 1
+
+/* Filter out any measurements that are above a certain threshold compared to
+ * previous measurements. Enabling this helps filtering out outliers that
+ * happen fairly often in unreliable networks, like wifi.
+ *
+ * Undef for following IEEE1588-2008 by the letter
+ */
+#define USE_MEASUREMENT_FILTERING 1
+
+/* Select the first clock from which we capture a SYNC message as the master
+ * clock of the domain until we are ready to run the best master clock
+ * algorithm. This allows faster syncing but might mean a change of the master
+ * clock in the beginning. As all clocks in a domain are supposed to use the
+ * same time, this shouldn't be much of a problem.
+ *
+ * Undef for following IEEE1588-2008 by the letter
+ */
+#define USE_OPPORTUNISTIC_CLOCK_SELECTION 1
+
+/* Only consider SYNC messages for which we are allowed to send a DELAY_REQ
+ * afterwards. This allows better synchronization in networks with varying
+ * delays, as for every other SYNC message we would have to assume that it's
+ * the average of what we saw before. But that might be completely off
+ */
+#define USE_ONLY_SYNC_WITH_DELAY 1
+
+/* Filter out delay measurements that are too far away from the median of the
+ * last delay measurements, currently those that are more than 2 times as big.
+ * This increases accuracy a lot on wifi.
+ */
+#define USE_MEDIAN_PRE_FILTERING 1
+#define MEDIAN_PRE_FILTERING_WINDOW 9
+
+/* How many updates should be skipped at maximum when using USE_MEASUREMENT_FILTERING */
+#define MAX_SKIPPED_UPDATES 5
+
+typedef enum
+{
+  PTP_MESSAGE_TYPE_SYNC = 0x0,
+  PTP_MESSAGE_TYPE_DELAY_REQ = 0x1,
+  PTP_MESSAGE_TYPE_PDELAY_REQ = 0x2,
+  PTP_MESSAGE_TYPE_PDELAY_RESP = 0x3,
+  PTP_MESSAGE_TYPE_FOLLOW_UP = 0x8,
+  PTP_MESSAGE_TYPE_DELAY_RESP = 0x9,
+  PTP_MESSAGE_TYPE_PDELAY_RESP_FOLLOW_UP = 0xA,
+  PTP_MESSAGE_TYPE_ANNOUNCE = 0xB,
+  PTP_MESSAGE_TYPE_SIGNALING = 0xC,
+  PTP_MESSAGE_TYPE_MANAGEMENT = 0xD
+} PtpMessageType;
+
+typedef struct
+{
+  guint64 seconds_field;        /* 48 bits valid */
+  guint32 nanoseconds_field;
+} PtpTimestamp;
+
+#define PTP_TIMESTAMP_TO_GST_CLOCK_TIME(ptp) (ptp.seconds_field * GST_SECOND + ptp.nanoseconds_field)
+#define GST_CLOCK_TIME_TO_PTP_TIMESTAMP_SECONDS(gst) (((GstClockTime) gst) / GST_SECOND)
+#define GST_CLOCK_TIME_TO_PTP_TIMESTAMP_NANOSECONDS(gst) (((GstClockTime) gst) % GST_SECOND)
+
+typedef struct
+{
+  guint64 clock_identity;
+  guint16 port_number;
+} PtpClockIdentity;
+
+static gint
+compare_clock_identity (const PtpClockIdentity * a, const PtpClockIdentity * b)
+{
+  if (a->clock_identity < b->clock_identity)
+    return -1;
+  else if (a->clock_identity > b->clock_identity)
+    return 1;
+
+  if (a->port_number < b->port_number)
+    return -1;
+  else if (a->port_number > b->port_number)
+    return 1;
+
+  return 0;
+}
+
+typedef struct
+{
+  guint8 clock_class;
+  guint8 clock_accuracy;
+  guint16 offset_scaled_log_variance;
+} PtpClockQuality;
+
+typedef struct
+{
+  guint8 transport_specific;
+  PtpMessageType message_type;
+  /* guint8 reserved; */
+  guint8 version_ptp;
+  guint16 message_length;
+  guint8 domain_number;
+  /* guint8 reserved; */
+  guint16 flag_field;
+  gint64 correction_field;      /* 48.16 fixed point nanoseconds */
+  /* guint32 reserved; */
+  PtpClockIdentity source_port_identity;
+  guint16 sequence_id;
+  guint8 control_field;
+  gint8 log_message_interval;
+
+  union
+  {
+    struct
+    {
+      PtpTimestamp origin_timestamp;
+      gint16 current_utc_offset;
+      /* guint8 reserved; */
+      guint8 grandmaster_priority_1;
+      PtpClockQuality grandmaster_clock_quality;
+      guint8 grandmaster_priority_2;
+      guint64 grandmaster_identity;
+      guint16 steps_removed;
+      guint8 time_source;
+    } announce;
+
+    struct
+    {
+      PtpTimestamp origin_timestamp;
+    } sync;
+
+    struct
+    {
+      PtpTimestamp precise_origin_timestamp;
+    } follow_up;
+
+    struct
+    {
+      PtpTimestamp origin_timestamp;
+    } delay_req;
+
+    struct
+    {
+      PtpTimestamp receive_timestamp;
+      PtpClockIdentity requesting_port_identity;
+    } delay_resp;
+
+  } message_specific;
+} PtpMessage;
+
+static GMutex ptp_lock;
+static GCond ptp_cond;
+static gboolean initted = FALSE;
+static gboolean supported = TRUE;
+static GPid ptp_helper_pid;
+static GThread *ptp_helper_thread;
+static GMainContext *main_context;
+static GMainLoop *main_loop;
+static GIOChannel *stdin_channel, *stdout_channel;
+static GRand *delay_req_rand;
+static GstClock *observation_system_clock;
+static PtpClockIdentity ptp_clock_id = { GST_PTP_CLOCK_ID_NONE, 0 };
+
+typedef struct
+{
+  GstClockTime receive_time;
+
+  PtpClockIdentity master_clock_identity;
+
+  guint8 grandmaster_priority_1;
+  PtpClockQuality grandmaster_clock_quality;
+  guint8 grandmaster_priority_2;
+  guint64 grandmaster_identity;
+  guint16 steps_removed;
+  guint8 time_source;
+
+  guint16 sequence_id;
+} PtpAnnounceMessage;
+
+typedef struct
+{
+  PtpClockIdentity master_clock_identity;
+
+  GstClockTime announce_interval;       /* last interval we received */
+  GQueue announce_messages;
+} PtpAnnounceSender;
+
+typedef struct
+{
+  guint domain;
+  PtpClockIdentity master_clock_identity;
+
+  guint16 sync_seqnum;
+  GstClockTime sync_recv_time_local;    /* t2 */
+  GstClockTime sync_send_time_remote;   /* t1, might be -1 if FOLLOW_UP pending */
+  GstClockTime follow_up_recv_time_local;
+
+  GSource *timeout_source;
+  guint16 delay_req_seqnum;
+  GstClockTime delay_req_send_time_local;       /* t3, -1 if we wait for FOLLOW_UP */
+  GstClockTime delay_req_recv_time_remote;      /* t4, -1 if we wait */
+  GstClockTime delay_resp_recv_time_local;
+
+  gint64 correction_field_sync; /* sum of the correction fields of SYNC/FOLLOW_UP */
+  gint64 correction_field_delay;        /* sum of the correction fields of DELAY_RESP */
+} PtpPendingSync;
+
+static void
+ptp_pending_sync_free (PtpPendingSync * sync)
+{
+  if (sync->timeout_source)
+    g_source_destroy (sync->timeout_source);
+  g_free (sync);
+}
+
+typedef struct
+{
+  guint domain;
+
+  GstClockTime last_ptp_time;
+  GstClockTime last_local_time;
+  gint skipped_updates;
+
+  /* Used for selecting the master/grandmaster */
+  GList *announce_senders;
+
+  /* Last selected master clock */
+  gboolean have_master_clock;
+  PtpClockIdentity master_clock_identity;
+  guint64 grandmaster_identity;
+
+  /* Last SYNC or FOLLOW_UP timestamp we received */
+  GstClockTime last_ptp_sync_time;
+  GstClockTime sync_interval;
+
+  GstClockTime mean_path_delay;
+  GstClockTime last_delay_req, min_delay_req_interval;
+  guint16 last_delay_req_seqnum;
+
+  GstClockTime last_path_delays[MEDIAN_PRE_FILTERING_WINDOW];
+  gint last_path_delays_missing;
+
+  GQueue pending_syncs;
+
+  GstClock *domain_clock;
+} PtpDomainData;
+
+static GList *domain_data;
+static GMutex domain_clocks_lock;
+static GList *domain_clocks;
+
+/* Protected by PTP lock */
+static void emit_ptp_statistics (guint8 domain, const GstStructure * stats);
+static GHookList domain_stats_hooks;
+static gint domain_stats_n_hooks;
+static gboolean domain_stats_hooks_initted = FALSE;
+
+/* Converts log2 seconds to GstClockTime */
+static GstClockTime
+log2_to_clock_time (gint l)
+{
+  if (l < 0)
+    return GST_SECOND >> (-l);
+  else
+    return GST_SECOND << l;
+}
+
+static void
+dump_ptp_message (PtpMessage * msg)
+{
+  GST_TRACE ("PTP message:");
+  GST_TRACE ("\ttransport_specific: %u", msg->transport_specific);
+  GST_TRACE ("\tmessage_type: 0x%01x", msg->message_type);
+  GST_TRACE ("\tversion_ptp: %u", msg->version_ptp);
+  GST_TRACE ("\tmessage_length: %u", msg->message_length);
+  GST_TRACE ("\tdomain_number: %u", msg->domain_number);
+  GST_TRACE ("\tflag_field: 0x%04x", msg->flag_field);
+  GST_TRACE ("\tcorrection_field: %" G_GINT64_FORMAT ".%03u",
+      (msg->correction_field / 65536),
+      (guint) ((msg->correction_field & 0xffff) * 1000) / 65536);
+  GST_TRACE ("\tsource_port_identity: 0x%016" G_GINT64_MODIFIER "x %u",
+      msg->source_port_identity.clock_identity,
+      msg->source_port_identity.port_number);
+  GST_TRACE ("\tsequence_id: %u", msg->sequence_id);
+  GST_TRACE ("\tcontrol_field: 0x%02x", msg->control_field);
+  GST_TRACE ("\tmessage_interval: %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (log2_to_clock_time (msg->log_message_interval)));
+
+  switch (msg->message_type) {
+    case PTP_MESSAGE_TYPE_ANNOUNCE:
+      GST_TRACE ("\tANNOUNCE:");
+      GST_TRACE ("\t\torigin_timestamp: %" G_GUINT64_FORMAT ".%09u",
+          msg->message_specific.announce.origin_timestamp.seconds_field,
+          msg->message_specific.announce.origin_timestamp.nanoseconds_field);
+      GST_TRACE ("\t\tcurrent_utc_offset: %d",
+          msg->message_specific.announce.current_utc_offset);
+      GST_TRACE ("\t\tgrandmaster_priority_1: %u",
+          msg->message_specific.announce.grandmaster_priority_1);
+      GST_TRACE ("\t\tgrandmaster_clock_quality: 0x%02x 0x%02x %u",
+          msg->message_specific.announce.grandmaster_clock_quality.clock_class,
+          msg->message_specific.announce.
+          grandmaster_clock_quality.clock_accuracy,
+          msg->message_specific.announce.
+          grandmaster_clock_quality.offset_scaled_log_variance);
+      GST_TRACE ("\t\tgrandmaster_priority_2: %u",
+          msg->message_specific.announce.grandmaster_priority_2);
+      GST_TRACE ("\t\tgrandmaster_identity: 0x%016" G_GINT64_MODIFIER "x",
+          msg->message_specific.announce.grandmaster_identity);
+      GST_TRACE ("\t\tsteps_removed: %u",
+          msg->message_specific.announce.steps_removed);
+      GST_TRACE ("\t\ttime_source: 0x%02x",
+          msg->message_specific.announce.time_source);
+      break;
+    case PTP_MESSAGE_TYPE_SYNC:
+      GST_TRACE ("\tSYNC:");
+      GST_TRACE ("\t\torigin_timestamp: %" G_GUINT64_FORMAT ".%09u",
+          msg->message_specific.sync.origin_timestamp.seconds_field,
+          msg->message_specific.sync.origin_timestamp.nanoseconds_field);
+      break;
+    case PTP_MESSAGE_TYPE_FOLLOW_UP:
+      GST_TRACE ("\tFOLLOW_UP:");
+      GST_TRACE ("\t\tprecise_origin_timestamp: %" G_GUINT64_FORMAT ".%09u",
+          msg->message_specific.follow_up.
+          precise_origin_timestamp.seconds_field,
+          msg->message_specific.follow_up.
+          precise_origin_timestamp.nanoseconds_field);
+      break;
+    case PTP_MESSAGE_TYPE_DELAY_REQ:
+      GST_TRACE ("\tDELAY_REQ:");
+      GST_TRACE ("\t\torigin_timestamp: %" G_GUINT64_FORMAT ".%09u",
+          msg->message_specific.delay_req.origin_timestamp.seconds_field,
+          msg->message_specific.delay_req.origin_timestamp.nanoseconds_field);
+      break;
+    case PTP_MESSAGE_TYPE_DELAY_RESP:
+      GST_TRACE ("\tDELAY_RESP:");
+      GST_TRACE ("\t\treceive_timestamp: %" G_GUINT64_FORMAT ".%09u",
+          msg->message_specific.delay_resp.receive_timestamp.seconds_field,
+          msg->message_specific.delay_resp.receive_timestamp.nanoseconds_field);
+      GST_TRACE ("\t\trequesting_port_identity: 0x%016" G_GINT64_MODIFIER
+          "x %u",
+          msg->message_specific.delay_resp.
+          requesting_port_identity.clock_identity,
+          msg->message_specific.delay_resp.
+          requesting_port_identity.port_number);
+      break;
+    default:
+      break;
+  }
+  GST_TRACE (" ");
+}
+
+/* IEEE 1588-2008 5.3.3 */
+static gboolean
+parse_ptp_timestamp (PtpTimestamp * timestamp, GstByteReader * reader)
+{
+  g_return_val_if_fail (gst_byte_reader_get_remaining (reader) >= 10, FALSE);
+
+  timestamp->seconds_field =
+      (((guint64) gst_byte_reader_get_uint32_be_unchecked (reader)) << 16) |
+      gst_byte_reader_get_uint16_be_unchecked (reader);
+  timestamp->nanoseconds_field =
+      gst_byte_reader_get_uint32_be_unchecked (reader);
+
+  if (timestamp->nanoseconds_field >= 1000000000)
+    return FALSE;
+
+  return TRUE;
+}
+
+/* IEEE 1588-2008 13.3 */
+static gboolean
+parse_ptp_message_header (PtpMessage * msg, GstByteReader * reader)
+{
+  guint8 b;
+
+  g_return_val_if_fail (gst_byte_reader_get_remaining (reader) >= 34, FALSE);
+
+  b = gst_byte_reader_get_uint8_unchecked (reader);
+  msg->transport_specific = b >> 4;
+  msg->message_type = b & 0x0f;
+
+  b = gst_byte_reader_get_uint8_unchecked (reader);
+  msg->version_ptp = b & 0x0f;
+  if (msg->version_ptp != 2) {
+    GST_WARNING ("Unsupported PTP message version (%u != 2)", msg->version_ptp);
+    return FALSE;
+  }
+
+  msg->message_length = gst_byte_reader_get_uint16_be_unchecked (reader);
+  if (gst_byte_reader_get_remaining (reader) + 4 < msg->message_length) {
+    GST_WARNING ("Not enough data (%u < %u)",
+        gst_byte_reader_get_remaining (reader) + 4, msg->message_length);
+    return FALSE;
+  }
+
+  msg->domain_number = gst_byte_reader_get_uint8_unchecked (reader);
+  gst_byte_reader_skip_unchecked (reader, 1);
+
+  msg->flag_field = gst_byte_reader_get_uint16_be_unchecked (reader);
+  msg->correction_field = gst_byte_reader_get_uint64_be_unchecked (reader);
+  gst_byte_reader_skip_unchecked (reader, 4);
+
+  msg->source_port_identity.clock_identity =
+      gst_byte_reader_get_uint64_be_unchecked (reader);
+  msg->source_port_identity.port_number =
+      gst_byte_reader_get_uint16_be_unchecked (reader);
+
+  msg->sequence_id = gst_byte_reader_get_uint16_be_unchecked (reader);
+  msg->control_field = gst_byte_reader_get_uint8_unchecked (reader);
+  msg->log_message_interval = gst_byte_reader_get_uint8_unchecked (reader);
+
+  return TRUE;
+}
+
+/* IEEE 1588-2008 13.5 */
+static gboolean
+parse_ptp_message_announce (PtpMessage * msg, GstByteReader * reader)
+{
+  g_return_val_if_fail (msg->message_type == PTP_MESSAGE_TYPE_ANNOUNCE, FALSE);
+
+  if (gst_byte_reader_get_remaining (reader) < 20)
+    return FALSE;
+
+  if (!parse_ptp_timestamp (&msg->message_specific.announce.origin_timestamp,
+          reader))
+    return FALSE;
+
+  msg->message_specific.announce.current_utc_offset =
+      gst_byte_reader_get_uint16_be_unchecked (reader);
+  gst_byte_reader_skip_unchecked (reader, 1);
+
+  msg->message_specific.announce.grandmaster_priority_1 =
+      gst_byte_reader_get_uint8_unchecked (reader);
+  msg->message_specific.announce.grandmaster_clock_quality.clock_class =
+      gst_byte_reader_get_uint8_unchecked (reader);
+  msg->message_specific.announce.grandmaster_clock_quality.clock_accuracy =
+      gst_byte_reader_get_uint8_unchecked (reader);
+  msg->message_specific.announce.
+      grandmaster_clock_quality.offset_scaled_log_variance =
+      gst_byte_reader_get_uint16_be_unchecked (reader);
+  msg->message_specific.announce.grandmaster_priority_2 =
+      gst_byte_reader_get_uint8_unchecked (reader);
+  msg->message_specific.announce.grandmaster_identity =
+      gst_byte_reader_get_uint64_be_unchecked (reader);
+  msg->message_specific.announce.steps_removed =
+      gst_byte_reader_get_uint16_be_unchecked (reader);
+  msg->message_specific.announce.time_source =
+      gst_byte_reader_get_uint8_unchecked (reader);
+
+  return TRUE;
+}
+
+/* IEEE 1588-2008 13.6 */
+static gboolean
+parse_ptp_message_sync (PtpMessage * msg, GstByteReader * reader)
+{
+  g_return_val_if_fail (msg->message_type == PTP_MESSAGE_TYPE_SYNC, FALSE);
+
+  if (gst_byte_reader_get_remaining (reader) < 10)
+    return FALSE;
+
+  if (!parse_ptp_timestamp (&msg->message_specific.sync.origin_timestamp,
+          reader))
+    return FALSE;
+
+  return TRUE;
+}
+
+/* IEEE 1588-2008 13.6 */
+static gboolean
+parse_ptp_message_delay_req (PtpMessage * msg, GstByteReader * reader)
+{
+  g_return_val_if_fail (msg->message_type == PTP_MESSAGE_TYPE_DELAY_REQ, FALSE);
+
+  if (gst_byte_reader_get_remaining (reader) < 10)
+    return FALSE;
+
+  if (!parse_ptp_timestamp (&msg->message_specific.delay_req.origin_timestamp,
+          reader))
+    return FALSE;
+
+  return TRUE;
+}
+
+/* IEEE 1588-2008 13.7 */
+static gboolean
+parse_ptp_message_follow_up (PtpMessage * msg, GstByteReader * reader)
+{
+  g_return_val_if_fail (msg->message_type == PTP_MESSAGE_TYPE_FOLLOW_UP, FALSE);
+
+  if (gst_byte_reader_get_remaining (reader) < 10)
+    return FALSE;
+
+  if (!parse_ptp_timestamp (&msg->message_specific.
+          follow_up.precise_origin_timestamp, reader))
+    return FALSE;
+
+  return TRUE;
+}
+
+/* IEEE 1588-2008 13.8 */
+static gboolean
+parse_ptp_message_delay_resp (PtpMessage * msg, GstByteReader * reader)
+{
+  g_return_val_if_fail (msg->message_type == PTP_MESSAGE_TYPE_DELAY_RESP,
+      FALSE);
+
+  if (gst_byte_reader_get_remaining (reader) < 20)
+    return FALSE;
+
+  if (!parse_ptp_timestamp (&msg->message_specific.delay_resp.receive_timestamp,
+          reader))
+    return FALSE;
+
+  msg->message_specific.delay_resp.requesting_port_identity.clock_identity =
+      gst_byte_reader_get_uint64_be_unchecked (reader);
+  msg->message_specific.delay_resp.requesting_port_identity.port_number =
+      gst_byte_reader_get_uint16_be_unchecked (reader);
+
+  return TRUE;
+}
+
+static gboolean
+parse_ptp_message (PtpMessage * msg, const guint8 * data, gsize size)
+{
+  GstByteReader reader;
+  gboolean ret = FALSE;
+
+  gst_byte_reader_init (&reader, data, size);
+
+  if (!parse_ptp_message_header (msg, &reader)) {
+    GST_WARNING ("Failed to parse PTP message header");
+    return FALSE;
+  }
+
+  switch (msg->message_type) {
+    case PTP_MESSAGE_TYPE_SYNC:
+      ret = parse_ptp_message_sync (msg, &reader);
+      break;
+    case PTP_MESSAGE_TYPE_FOLLOW_UP:
+      ret = parse_ptp_message_follow_up (msg, &reader);
+      break;
+    case PTP_MESSAGE_TYPE_DELAY_REQ:
+      ret = parse_ptp_message_delay_req (msg, &reader);
+      break;
+    case PTP_MESSAGE_TYPE_DELAY_RESP:
+      ret = parse_ptp_message_delay_resp (msg, &reader);
+      break;
+    case PTP_MESSAGE_TYPE_ANNOUNCE:
+      ret = parse_ptp_message_announce (msg, &reader);
+      break;
+    default:
+      /* ignore for now */
+      break;
+  }
+
+  return ret;
+}
+
+static gint
+compare_announce_message (const PtpAnnounceMessage * a,
+    const PtpAnnounceMessage * b)
+{
+  /* IEEE 1588 Figure 27 */
+  if (a->grandmaster_identity == b->grandmaster_identity) {
+    if (a->steps_removed + 1 < b->steps_removed)
+      return -1;
+    else if (a->steps_removed > b->steps_removed + 1)
+      return 1;
+
+    /* Error cases are filtered out earlier */
+    if (a->steps_removed < b->steps_removed)
+      return -1;
+    else if (a->steps_removed > b->steps_removed)
+      return 1;
+
+    /* Error cases are filtered out earlier */
+    if (a->master_clock_identity.clock_identity <
+        b->master_clock_identity.clock_identity)
+      return -1;
+    else if (a->master_clock_identity.clock_identity >
+        b->master_clock_identity.clock_identity)
+      return 1;
+
+    /* Error cases are filtered out earlier */
+    if (a->master_clock_identity.port_number <
+        b->master_clock_identity.port_number)
+      return -1;
+    else if (a->master_clock_identity.port_number >
+        b->master_clock_identity.port_number)
+      return 1;
+    else
+      g_assert_not_reached ();
+
+    return 0;
+  }
+
+  if (a->grandmaster_priority_1 < b->grandmaster_priority_1)
+    return -1;
+  else if (a->grandmaster_priority_1 > b->grandmaster_priority_1)
+    return 1;
+
+  if (a->grandmaster_clock_quality.clock_class <
+      b->grandmaster_clock_quality.clock_class)
+    return -1;
+  else if (a->grandmaster_clock_quality.clock_class >
+      b->grandmaster_clock_quality.clock_class)
+    return 1;
+
+  if (a->grandmaster_clock_quality.clock_accuracy <
+      b->grandmaster_clock_quality.clock_accuracy)
+    return -1;
+  else if (a->grandmaster_clock_quality.clock_accuracy >
+      b->grandmaster_clock_quality.clock_accuracy)
+    return 1;
+
+  if (a->grandmaster_clock_quality.offset_scaled_log_variance <
+      b->grandmaster_clock_quality.offset_scaled_log_variance)
+    return -1;
+  else if (a->grandmaster_clock_quality.offset_scaled_log_variance >
+      b->grandmaster_clock_quality.offset_scaled_log_variance)
+    return 1;
+
+  if (a->grandmaster_priority_2 < b->grandmaster_priority_2)
+    return -1;
+  else if (a->grandmaster_priority_2 > b->grandmaster_priority_2)
+    return 1;
+
+  if (a->grandmaster_identity < b->grandmaster_identity)
+    return -1;
+  else if (a->grandmaster_identity > b->grandmaster_identity)
+    return 1;
+  else
+    g_assert_not_reached ();
+
+  return 0;
+}
+
+static void
+select_best_master_clock (PtpDomainData * domain, GstClockTime now)
+{
+  GList *qualified_messages = NULL;
+  GList *l, *m;
+  PtpAnnounceMessage *best = NULL;
+
+  /* IEEE 1588 9.3.2.5 */
+  for (l = domain->announce_senders; l; l = l->next) {
+    PtpAnnounceSender *sender = l->data;
+    GstClockTime window = 4 * sender->announce_interval;
+    gint count = 0;
+
+    for (m = sender->announce_messages.head; m; m = m->next) {
+      PtpAnnounceMessage *msg = m->data;
+
+      if (now - msg->receive_time <= window)
+        count++;
+    }
+
+    /* Only include the newest message of announce senders that had at least 2
+     * announce messages in the last 4 announce intervals. Which also means
+     * that we wait at least 4 announce intervals before we select a master
+     * clock. Until then we just report based on the newest SYNC we received
+     */
+    if (count >= 2) {
+      qualified_messages =
+          g_list_prepend (qualified_messages,
+          g_queue_peek_tail (&sender->announce_messages));
+    }
+  }
+
+  if (!qualified_messages) {
+    GST_DEBUG
+        ("No qualified announce messages for domain %u, can't select a master clock",
+        domain->domain);
+    domain->have_master_clock = FALSE;
+    return;
+  }
+
+  for (l = qualified_messages; l; l = l->next) {
+    PtpAnnounceMessage *msg = l->data;
+
+    if (!best || compare_announce_message (msg, best) < 0)
+      best = msg;
+  }
+
+  if (domain->have_master_clock
+      && compare_clock_identity (&domain->master_clock_identity,
+          &best->master_clock_identity) == 0) {
+    GST_DEBUG ("Master clock in domain %u did not change", domain->domain);
+  } else {
+    GST_DEBUG ("Selected master clock for domain %u: 0x%016" G_GINT64_MODIFIER
+        "x %u with grandmaster clock 0x%016" G_GINT64_MODIFIER "x",
+        domain->domain, best->master_clock_identity.clock_identity,
+        best->master_clock_identity.port_number, best->grandmaster_identity);
+
+    domain->have_master_clock = TRUE;
+    domain->grandmaster_identity = best->grandmaster_identity;
+
+    /* Opportunistic master clock selection likely gave us the same master
+     * clock before, no need to reset all statistics */
+    if (compare_clock_identity (&domain->master_clock_identity,
+            &best->master_clock_identity) != 0) {
+      memcpy (&domain->master_clock_identity, &best->master_clock_identity,
+          sizeof (PtpClockIdentity));
+      domain->mean_path_delay = 0;
+      domain->last_delay_req = 0;
+      domain->last_path_delays_missing = 9;
+      domain->min_delay_req_interval = 0;
+      domain->sync_interval = 0;
+      domain->last_ptp_sync_time = 0;
+      domain->skipped_updates = 0;
+      g_queue_foreach (&domain->pending_syncs, (GFunc) ptp_pending_sync_free,
+          NULL);
+      g_queue_clear (&domain->pending_syncs);
+    }
+
+    if (g_atomic_int_get (&domain_stats_n_hooks)) {
+      GstStructure *stats =
+          gst_structure_new (GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED,
+          "domain", G_TYPE_UINT, domain->domain,
+          "master-clock-id", G_TYPE_UINT64,
+          domain->master_clock_identity.clock_identity,
+          "master-clock-port", G_TYPE_UINT,
+          domain->master_clock_identity.port_number,
+          "grandmaster-clock-id", G_TYPE_UINT64, domain->grandmaster_identity,
+          NULL);
+      emit_ptp_statistics (domain->domain, stats);
+      gst_structure_free (stats);
+    }
+  }
+}
+
+static void
+handle_announce_message (PtpMessage * msg, GstClockTime receive_time)
+{
+  GList *l;
+  PtpDomainData *domain = NULL;
+  PtpAnnounceSender *sender = NULL;
+  PtpAnnounceMessage *announce;
+
+  /* IEEE1588 9.3.2.2 e)
+   * Don't consider messages with the alternate master flag set
+   */
+  if ((msg->flag_field & 0x0100))
+    return;
+
+  /* IEEE 1588 9.3.2.5 d)
+   * Don't consider announce messages with steps_removed>=255
+   */
+  if (msg->message_specific.announce.steps_removed >= 255)
+    return;
+
+  for (l = domain_data; l; l = l->next) {
+    PtpDomainData *tmp = l->data;
+
+    if (tmp->domain == msg->domain_number) {
+      domain = tmp;
+      break;
+    }
+  }
+
+  if (!domain) {
+    gchar *clock_name;
+
+    domain = g_new0 (PtpDomainData, 1);
+    domain->domain = msg->domain_number;
+    clock_name = g_strdup_printf ("ptp-clock-%u", domain->domain);
+    domain->domain_clock =
+        g_object_new (GST_TYPE_SYSTEM_CLOCK, "name", clock_name, NULL);
+    g_free (clock_name);
+    g_queue_init (&domain->pending_syncs);
+    domain->last_path_delays_missing = 9;
+    domain_data = g_list_prepend (domain_data, domain);
+
+    g_mutex_lock (&domain_clocks_lock);
+    domain_clocks = g_list_prepend (domain_clocks, domain);
+    g_mutex_unlock (&domain_clocks_lock);
+
+    if (g_atomic_int_get (&domain_stats_n_hooks)) {
+      GstStructure *stats =
+          gst_structure_new (GST_PTP_STATISTICS_NEW_DOMAIN_FOUND, "domain",
+          G_TYPE_UINT, domain->domain, "clock", GST_TYPE_CLOCK,
+          domain->domain_clock, NULL);
+      emit_ptp_statistics (domain->domain, stats);
+      gst_structure_free (stats);
+    }
+  }
+
+  for (l = domain->announce_senders; l; l = l->next) {
+    PtpAnnounceSender *tmp = l->data;
+
+    if (compare_clock_identity (&tmp->master_clock_identity,
+            &msg->source_port_identity) == 0) {
+      sender = tmp;
+      break;
+    }
+  }
+
+  if (!sender) {
+    sender = g_new0 (PtpAnnounceSender, 1);
+
+    memcpy (&sender->master_clock_identity, &msg->source_port_identity,
+        sizeof (PtpClockIdentity));
+    g_queue_init (&sender->announce_messages);
+    domain->announce_senders =
+        g_list_prepend (domain->announce_senders, sender);
+  }
+
+  for (l = sender->announce_messages.head; l; l = l->next) {
+    PtpAnnounceMessage *tmp = l->data;
+
+    /* IEEE 1588 9.3.2.5 c)
+     * Don't consider identical messages, i.e. duplicates
+     */
+    if (tmp->sequence_id == msg->sequence_id)
+      return;
+  }
+
+  sender->announce_interval = log2_to_clock_time (msg->log_message_interval);
+
+  announce = g_new0 (PtpAnnounceMessage, 1);
+  announce->receive_time = receive_time;
+  announce->sequence_id = msg->sequence_id;
+  memcpy (&announce->master_clock_identity, &msg->source_port_identity,
+      sizeof (PtpClockIdentity));
+  announce->grandmaster_identity =
+      msg->message_specific.announce.grandmaster_identity;
+  announce->grandmaster_priority_1 =
+      msg->message_specific.announce.grandmaster_priority_1;
+  announce->grandmaster_clock_quality.clock_class =
+      msg->message_specific.announce.grandmaster_clock_quality.clock_class;
+  announce->grandmaster_clock_quality.clock_accuracy =
+      msg->message_specific.announce.grandmaster_clock_quality.clock_accuracy;
+  announce->grandmaster_clock_quality.offset_scaled_log_variance =
+      msg->message_specific.announce.
+      grandmaster_clock_quality.offset_scaled_log_variance;
+  announce->grandmaster_priority_2 =
+      msg->message_specific.announce.grandmaster_priority_2;
+  announce->steps_removed = msg->message_specific.announce.steps_removed;
+  announce->time_source = msg->message_specific.announce.time_source;
+  g_queue_push_tail (&sender->announce_messages, announce);
+
+  select_best_master_clock (domain, receive_time);
+}
+
+static gboolean
+send_delay_req_timeout (PtpPendingSync * sync)
+{
+  StdIOHeader header = { 0, };
+  guint8 delay_req[44];
+  GstByteWriter writer;
+  GIOStatus status;
+  gsize written;
+  GError *err = NULL;
+
+  header.type = TYPE_EVENT;
+  header.size = 44;
+
+  gst_byte_writer_init_with_data (&writer, delay_req, 44, FALSE);
+  gst_byte_writer_put_uint8_unchecked (&writer, PTP_MESSAGE_TYPE_DELAY_REQ);
+  gst_byte_writer_put_uint8_unchecked (&writer, 2);
+  gst_byte_writer_put_uint16_be_unchecked (&writer, 44);
+  gst_byte_writer_put_uint8_unchecked (&writer, sync->domain);
+  gst_byte_writer_put_uint8_unchecked (&writer, 0);
+  gst_byte_writer_put_uint16_be_unchecked (&writer, 0);
+  gst_byte_writer_put_uint64_be_unchecked (&writer, 0);
+  gst_byte_writer_put_uint32_be_unchecked (&writer, 0);
+  gst_byte_writer_put_uint64_be_unchecked (&writer,
+      ptp_clock_id.clock_identity);
+  gst_byte_writer_put_uint16_be_unchecked (&writer, ptp_clock_id.port_number);
+  gst_byte_writer_put_uint16_be_unchecked (&writer, sync->delay_req_seqnum);
+  gst_byte_writer_put_uint8_unchecked (&writer, 0x01);
+  gst_byte_writer_put_uint8_unchecked (&writer, 0x7f);
+  gst_byte_writer_put_uint64_be_unchecked (&writer, 0);
+  gst_byte_writer_put_uint16_be_unchecked (&writer, 0);
+
+  status =
+      g_io_channel_write_chars (stdout_channel, (gchar *) & header,
+      sizeof (header), &written, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_warning ("Failed to write to stdout: %s", err->message);
+    return G_SOURCE_REMOVE;
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdout");
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_warning ("Unexpected stdout write status: %d", status);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (written != sizeof (header)) {
+    g_warning ("Unexpected write size: %" G_GSIZE_FORMAT, written);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  }
+
+  sync->delay_req_send_time_local =
+      gst_clock_get_time (observation_system_clock);
+
+  status =
+      g_io_channel_write_chars (stdout_channel,
+      (const gchar *) delay_req, 44, &written, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    g_warning ("Failed to write to stdout: %s", err->message);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status == G_IO_STATUS_EOF) {
+    g_message ("EOF on stdout");
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status != G_IO_STATUS_NORMAL) {
+    g_warning ("Unexpected stdout write status: %d", status);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (written != 44) {
+    g_warning ("Unexpected write size: %" G_GSIZE_FORMAT, written);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  }
+
+  return G_SOURCE_REMOVE;
+}
+
+static gboolean
+send_delay_req (PtpDomainData * domain, PtpPendingSync * sync)
+{
+  GstClockTime now = gst_clock_get_time (observation_system_clock);
+  guint timeout;
+  GSource *timeout_source;
+
+  if (domain->last_delay_req != 0
+      && domain->last_delay_req + domain->min_delay_req_interval > now)
+    return FALSE;
+
+  domain->last_delay_req = now;
+  sync->delay_req_seqnum = domain->last_delay_req_seqnum++;
+
+  /* IEEE 1588 9.5.11.2 */
+  if (domain->last_delay_req == 0 || domain->min_delay_req_interval == 0)
+    timeout = 0;
+  else
+    timeout =
+        g_rand_int_range (delay_req_rand, 0,
+        (domain->min_delay_req_interval * 2) / GST_MSECOND);
+
+  sync->timeout_source = timeout_source = g_timeout_source_new (timeout);
+  g_source_set_priority (timeout_source, G_PRIORITY_DEFAULT);
+  g_source_set_callback (timeout_source, (GSourceFunc) send_delay_req_timeout,
+      sync, NULL);
+  g_source_attach (timeout_source, main_context);
+
+  return TRUE;
+}
+
+/* Filtering of outliers for RTT and time calculations inspired
+ * by the code from gstnetclientclock.c
+ */
+static void
+update_ptp_time (PtpDomainData * domain, PtpPendingSync * sync)
+{
+  GstClockTime internal_time, external_time, rate_num, rate_den;
+  GstClockTime corrected_ptp_time, corrected_local_time;
+  gdouble r_squared = 0.0;
+  gboolean synced;
+  GstClockTimeDiff discont = 0;
+  GstClockTime estimated_ptp_time = GST_CLOCK_TIME_NONE;
+#ifdef USE_MEASUREMENT_FILTERING
+  GstClockTime orig_internal_time, orig_external_time, orig_rate_num,
+      orig_rate_den;
+  GstClockTime new_estimated_ptp_time;
+  GstClockTime max_discont, estimated_ptp_time_min, estimated_ptp_time_max;
+  gboolean now_synced;
+#endif
+
+#ifdef USE_ONLY_SYNC_WITH_DELAY
+  GstClockTime mean_path_delay;
+
+  if (sync->delay_req_send_time_local == GST_CLOCK_TIME_NONE)
+    return;
+
+  /* IEEE 1588 11.3 */
+  mean_path_delay =
+      (sync->delay_req_recv_time_remote - sync->sync_send_time_remote +
+      sync->sync_recv_time_local - sync->delay_req_send_time_local -
+      (sync->correction_field_sync + sync->correction_field_delay +
+          32768) / 65536) / 2;
+#endif
+
+  /* IEEE 1588 11.2 */
+  corrected_ptp_time =
+      sync->sync_send_time_remote +
+      (sync->correction_field_sync + 32768) / 65536;
+
+#ifdef USE_ONLY_SYNC_WITH_DELAY
+  corrected_local_time = sync->sync_recv_time_local - mean_path_delay;
+#else
+  corrected_local_time = sync->sync_recv_time_local - domain->mean_path_delay;
+#endif
+
+#ifdef USE_MEASUREMENT_FILTERING
+  /* We check this here and when updating the mean path delay, because
+   * we can get here without a delay response too */
+  if (sync->follow_up_recv_time_local != GST_CLOCK_TIME_NONE
+      && sync->follow_up_recv_time_local >
+      sync->sync_recv_time_local + 2 * domain->mean_path_delay) {
+    GST_WARNING ("Sync-follow-up delay for domain %u too big: %" GST_TIME_FORMAT
+        " > 2 * %" GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (sync->follow_up_recv_time_local),
+        GST_TIME_ARGS (domain->mean_path_delay));
+    synced = FALSE;
+    goto out;
+  }
+#endif
+
+  /* Set an initial local-remote relation */
+  if (domain->last_ptp_time == 0)
+    gst_clock_set_calibration (domain->domain_clock, corrected_local_time,
+        corrected_ptp_time, 1, 1);
+
+#ifdef USE_MEASUREMENT_FILTERING
+  /* Check if the corrected PTP time is +/- 3/4 RTT around what we would
+   * estimate with our present knowledge about the clock
+   */
+  /* Store what the clock produced as 'now' before this update */
+  gst_clock_get_calibration (GST_CLOCK_CAST (domain->domain_clock),
+      &orig_internal_time, &orig_external_time, &orig_rate_num, &orig_rate_den);
+  internal_time = orig_internal_time;
+  external_time = orig_external_time;
+  rate_num = orig_rate_num;
+  rate_den = orig_rate_den;
+
+  /* 3/4 RTT window around the estimation */
+  max_discont = domain->mean_path_delay * 3 / 2;
+
+  /* Check if the estimated sync time is inside our window */
+  estimated_ptp_time_min = corrected_local_time - max_discont;
+  estimated_ptp_time_min =
+      gst_clock_adjust_with_calibration (GST_CLOCK_CAST (domain->domain_clock),
+      estimated_ptp_time_min, internal_time, external_time, rate_num, rate_den);
+  estimated_ptp_time_max = corrected_local_time + max_discont;
+  estimated_ptp_time_max =
+      gst_clock_adjust_with_calibration (GST_CLOCK_CAST (domain->domain_clock),
+      estimated_ptp_time_max, internal_time, external_time, rate_num, rate_den);
+
+  synced = (estimated_ptp_time_min < corrected_ptp_time
+      && corrected_ptp_time < estimated_ptp_time_max);
+
+  GST_DEBUG ("Adding observation for domain %u: %" GST_TIME_FORMAT " - %"
+      GST_TIME_FORMAT, domain->domain,
+      GST_TIME_ARGS (corrected_ptp_time), GST_TIME_ARGS (corrected_local_time));
+
+  GST_DEBUG ("Synced %d: %" GST_TIME_FORMAT " < %" GST_TIME_FORMAT " < %"
+      GST_TIME_FORMAT, synced, GST_TIME_ARGS (estimated_ptp_time_min),
+      GST_TIME_ARGS (corrected_ptp_time),
+      GST_TIME_ARGS (estimated_ptp_time_max));
+
+  if (gst_clock_add_observation_unapplied (domain->domain_clock,
+          corrected_local_time, corrected_ptp_time, &r_squared,
+          &internal_time, &external_time, &rate_num, &rate_den)) {
+    GST_DEBUG ("Regression gave r_squared: %f", r_squared);
+
+    /* Old estimated PTP time based on receive time and path delay */
+    estimated_ptp_time = corrected_local_time;
+    estimated_ptp_time =
+        gst_clock_adjust_with_calibration (GST_CLOCK_CAST
+        (domain->domain_clock), estimated_ptp_time, orig_internal_time,
+        orig_external_time, orig_rate_num, orig_rate_den);
+
+    /* New estimated PTP time based on receive time and path delay */
+    new_estimated_ptp_time = corrected_local_time;
+    new_estimated_ptp_time =
+        gst_clock_adjust_with_calibration (GST_CLOCK_CAST
+        (domain->domain_clock), new_estimated_ptp_time, internal_time,
+        external_time, rate_num, rate_den);
+
+    discont = GST_CLOCK_DIFF (estimated_ptp_time, new_estimated_ptp_time);
+    if (synced && ABS (discont) > max_discont) {
+      GstClockTimeDiff offset;
+      GST_DEBUG ("Too large a discont %s%" GST_TIME_FORMAT
+          ", clamping to 1/4 average RTT = %" GST_TIME_FORMAT,
+          (discont < 0 ? "-" : ""), GST_TIME_ARGS (ABS (discont)),
+          GST_TIME_ARGS (max_discont));
+      if (discont > 0) {        /* Too large a forward step - add a -ve offset */
+        offset = max_discont - discont;
+        if (-offset > external_time)
+          external_time = 0;
+        else
+          external_time += offset;
+      } else {                  /* Too large a backward step - add a +ve offset */
+        offset = -(max_discont + discont);
+        external_time += offset;
+      }
+
+      discont += offset;
+    } else {
+      GST_DEBUG ("Discont %s%" GST_TIME_FORMAT " (max: %" GST_TIME_FORMAT ")",
+          (discont < 0 ? "-" : ""), GST_TIME_ARGS (ABS (discont)),
+          GST_TIME_ARGS (max_discont));
+    }
+
+    /* Check if the estimated sync time is now (still) inside our window */
+    estimated_ptp_time_min = corrected_local_time - max_discont;
+    estimated_ptp_time_min =
+        gst_clock_adjust_with_calibration (GST_CLOCK_CAST
+        (domain->domain_clock), estimated_ptp_time_min, internal_time,
+        external_time, rate_num, rate_den);
+    estimated_ptp_time_max = corrected_local_time + max_discont;
+    estimated_ptp_time_max =
+        gst_clock_adjust_with_calibration (GST_CLOCK_CAST
+        (domain->domain_clock), estimated_ptp_time_max, internal_time,
+        external_time, rate_num, rate_den);
+
+    now_synced = (estimated_ptp_time_min < corrected_ptp_time
+        && corrected_ptp_time < estimated_ptp_time_max);
+
+    GST_DEBUG ("Now synced %d: %" GST_TIME_FORMAT " < %" GST_TIME_FORMAT " < %"
+        GST_TIME_FORMAT, now_synced, GST_TIME_ARGS (estimated_ptp_time_min),
+        GST_TIME_ARGS (corrected_ptp_time),
+        GST_TIME_ARGS (estimated_ptp_time_max));
+
+    if (synced || now_synced || domain->skipped_updates > MAX_SKIPPED_UPDATES) {
+      gst_clock_set_calibration (GST_CLOCK_CAST (domain->domain_clock),
+          internal_time, external_time, rate_num, rate_den);
+      domain->skipped_updates = 0;
+
+      domain->last_ptp_time = corrected_ptp_time;
+      domain->last_local_time = corrected_local_time;
+    } else {
+      domain->skipped_updates++;
+    }
+  } else {
+    domain->last_ptp_time = corrected_ptp_time;
+    domain->last_local_time = corrected_local_time;
+  }
+
+#else
+  GST_DEBUG ("Adding observation for domain %u: %" GST_TIME_FORMAT " - %"
+      GST_TIME_FORMAT, domain->domain,
+      GST_TIME_ARGS (corrected_ptp_time), GST_TIME_ARGS (corrected_local_time));
+
+  gst_clock_get_calibration (GST_CLOCK_CAST (domain->domain_clock),
+      &internal_time, &external_time, &rate_num, &rate_den);
+
+  estimated_ptp_time = corrected_local_time;
+  estimated_ptp_time =
+      gst_clock_adjust_with_calibration (GST_CLOCK_CAST
+      (domain->domain_clock), estimated_ptp_time, internal_time,
+      external_time, rate_num, rate_den);
+
+  gst_clock_add_observation (domain->domain_clock,
+      corrected_local_time, corrected_ptp_time, &r_squared);
+
+  gst_clock_get_calibration (GST_CLOCK_CAST (domain->domain_clock),
+      &internal_time, &external_time, &rate_num, &rate_den);
+
+  synced = TRUE;
+  domain->last_ptp_time = corrected_ptp_time;
+  domain->last_local_time = corrected_local_time;
+#endif
+
+#ifdef USE_MEASUREMENT_FILTERING
+out:
+#endif
+  if (g_atomic_int_get (&domain_stats_n_hooks)) {
+    GstStructure *stats = gst_structure_new (GST_PTP_STATISTICS_TIME_UPDATED,
+        "domain", G_TYPE_UINT, domain->domain,
+        "mean-path-delay-avg", GST_TYPE_CLOCK_TIME, domain->mean_path_delay,
+        "local-time", GST_TYPE_CLOCK_TIME, corrected_local_time,
+        "ptp-time", GST_TYPE_CLOCK_TIME, corrected_ptp_time,
+        "estimated-ptp-time", GST_TYPE_CLOCK_TIME, estimated_ptp_time,
+        "discontinuity", G_TYPE_INT64, discont,
+        "synced", G_TYPE_BOOLEAN, synced,
+        "r-squared", G_TYPE_DOUBLE, r_squared,
+        "internal-time", GST_TYPE_CLOCK_TIME, internal_time,
+        "external-time", GST_TYPE_CLOCK_TIME, external_time,
+        "rate-num", G_TYPE_UINT64, rate_num,
+        "rate-den", G_TYPE_UINT64, rate_den,
+        "rate", G_TYPE_DOUBLE, (gdouble) (rate_num) / rate_den,
+        NULL);
+    emit_ptp_statistics (domain->domain, stats);
+    gst_structure_free (stats);
+  }
+
+}
+
+#ifdef USE_MEDIAN_PRE_FILTERING
+static gint
+compare_clock_time (const GstClockTime * a, const GstClockTime * b)
+{
+  if (*a < *b)
+    return -1;
+  else if (*a > *b)
+    return 1;
+  return 0;
+}
+#endif
+
+static gboolean
+update_mean_path_delay (PtpDomainData * domain, PtpPendingSync * sync)
+{
+#ifdef USE_MEDIAN_PRE_FILTERING
+  GstClockTime last_path_delays[MEDIAN_PRE_FILTERING_WINDOW];
+  GstClockTime median;
+  gint i;
+#endif
+
+  GstClockTime mean_path_delay, delay_req_delay = 0;
+  gboolean ret;
+
+  /* IEEE 1588 11.3 */
+  mean_path_delay =
+      (sync->delay_req_recv_time_remote - sync->sync_send_time_remote +
+      sync->sync_recv_time_local - sync->delay_req_send_time_local -
+      (sync->correction_field_sync + sync->correction_field_delay +
+          32768) / 65536) / 2;
+
+#ifdef USE_MEDIAN_PRE_FILTERING
+  for (i = 1; i < MEDIAN_PRE_FILTERING_WINDOW; i++)
+    domain->last_path_delays[i - 1] = domain->last_path_delays[i];
+  domain->last_path_delays[i - 1] = mean_path_delay;
+
+  if (domain->last_path_delays_missing) {
+    domain->last_path_delays_missing--;
+  } else {
+    memcpy (&last_path_delays, &domain->last_path_delays,
+        sizeof (last_path_delays));
+    g_qsort_with_data (&last_path_delays,
+        MEDIAN_PRE_FILTERING_WINDOW, sizeof (GstClockTime),
+        (GCompareDataFunc) compare_clock_time, NULL);
+
+    median = last_path_delays[MEDIAN_PRE_FILTERING_WINDOW / 2];
+
+    /* FIXME: We might want to use something else here, like only allowing
+     * things in the interquartile range, or also filtering away delays that
+     * are too small compared to the median. This here worked well enough
+     * in tests so far.
+     */
+    if (mean_path_delay > 2 * median) {
+      GST_WARNING ("Path delay for domain %u too big compared to median: %"
+          GST_TIME_FORMAT " > 2 * %" GST_TIME_FORMAT, domain->domain,
+          GST_TIME_ARGS (mean_path_delay), GST_TIME_ARGS (median));
+      ret = FALSE;
+      goto out;
+    }
+  }
+#endif
+
+#ifdef USE_RUNNING_AVERAGE_DELAY
+  /* Track an average round trip time, for a bit of smoothing */
+  /* Always update before discarding a sample, so genuine changes in
+   * the network get picked up, eventually */
+  if (domain->mean_path_delay == 0)
+    domain->mean_path_delay = mean_path_delay;
+  else if (mean_path_delay < domain->mean_path_delay)   /* Shorter RTTs carry more weight than longer */
+    domain->mean_path_delay =
+        (3 * domain->mean_path_delay + mean_path_delay) / 4;
+  else
+    domain->mean_path_delay =
+        (15 * domain->mean_path_delay + mean_path_delay) / 16;
+#else
+  domain->mean_path_delay = mean_path_delay;
+#endif
+
+#ifdef USE_MEASUREMENT_FILTERING
+  if (sync->follow_up_recv_time_local != GST_CLOCK_TIME_NONE &&
+      domain->mean_path_delay != 0
+      && sync->follow_up_recv_time_local >
+      sync->sync_recv_time_local + 2 * domain->mean_path_delay) {
+    GST_WARNING ("Sync-follow-up delay for domain %u too big: %" GST_TIME_FORMAT
+        " > 2 * %" GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (sync->follow_up_recv_time_local -
+            sync->sync_recv_time_local),
+        GST_TIME_ARGS (domain->mean_path_delay));
+    ret = FALSE;
+    goto out;
+  }
+
+  if (mean_path_delay > 2 * domain->mean_path_delay) {
+    GST_WARNING ("Mean path delay for domain %u too big: %" GST_TIME_FORMAT
+        " > 2 * %" GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (mean_path_delay),
+        GST_TIME_ARGS (domain->mean_path_delay));
+    ret = FALSE;
+    goto out;
+  }
+#endif
+
+  delay_req_delay =
+      sync->delay_resp_recv_time_local - sync->delay_req_send_time_local;
+
+#ifdef USE_MEASUREMENT_FILTERING
+  /* delay_req_delay is a RTT, so 2 times the path delay */
+  if (delay_req_delay > 4 * domain->mean_path_delay) {
+    GST_WARNING ("Delay-request-response delay for domain %u too big: %"
+        GST_TIME_FORMAT " > 4 * %" GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (delay_req_delay),
+        GST_TIME_ARGS (domain->mean_path_delay));
+    ret = FALSE;
+    goto out;
+  }
+#endif
+
+  ret = TRUE;
+
+  GST_DEBUG ("Got mean path delay for domain %u: %" GST_TIME_FORMAT " (new: %"
+      GST_TIME_FORMAT ")", domain->domain,
+      GST_TIME_ARGS (domain->mean_path_delay), GST_TIME_ARGS (mean_path_delay));
+  GST_DEBUG ("Delay request delay for domain %u: %" GST_TIME_FORMAT,
+      domain->domain, GST_TIME_ARGS (delay_req_delay));
+
+#ifdef USE_MEASUREMENT_FILTERING
+out:
+#endif
+  if (g_atomic_int_get (&domain_stats_n_hooks)) {
+    GstStructure *stats =
+        gst_structure_new (GST_PTP_STATISTICS_PATH_DELAY_MEASURED,
+        "domain", G_TYPE_UINT, domain->domain,
+        "mean-path-delay-avg", GST_TYPE_CLOCK_TIME, domain->mean_path_delay,
+        "mean-path-delay", GST_TYPE_CLOCK_TIME, mean_path_delay,
+        "delay-request-delay", GST_TYPE_CLOCK_TIME, delay_req_delay, NULL);
+    emit_ptp_statistics (domain->domain, stats);
+    gst_structure_free (stats);
+  }
+
+  return ret;
+}
+
+static void
+handle_sync_message (PtpMessage * msg, GstClockTime receive_time)
+{
+  GList *l;
+  PtpDomainData *domain = NULL;
+  PtpPendingSync *sync = NULL;
+
+  /* Don't consider messages with the alternate master flag set */
+  if ((msg->flag_field & 0x0100))
+    return;
+
+  for (l = domain_data; l; l = l->next) {
+    PtpDomainData *tmp = l->data;
+
+    if (msg->domain_number == tmp->domain) {
+      domain = tmp;
+      break;
+    }
+  }
+
+  if (!domain) {
+    gchar *clock_name;
+
+    domain = g_new0 (PtpDomainData, 1);
+    domain->domain = msg->domain_number;
+    clock_name = g_strdup_printf ("ptp-clock-%u", domain->domain);
+    domain->domain_clock =
+        g_object_new (GST_TYPE_SYSTEM_CLOCK, "name", clock_name, NULL);
+    g_free (clock_name);
+    g_queue_init (&domain->pending_syncs);
+    domain->last_path_delays_missing = 9;
+    domain_data = g_list_prepend (domain_data, domain);
+
+    g_mutex_lock (&domain_clocks_lock);
+    domain_clocks = g_list_prepend (domain_clocks, domain);
+    g_mutex_unlock (&domain_clocks_lock);
+  }
+
+  /* If we have a master clock, ignore this message if it's not coming from there */
+  if (domain->have_master_clock
+      && compare_clock_identity (&domain->master_clock_identity,
+          &msg->source_port_identity) != 0)
+    return;
+
+#ifdef USE_OPPORTUNISTIC_CLOCK_SELECTION
+  /* Opportunistic selection of master clock */
+  if (!domain->have_master_clock)
+    memcpy (&domain->master_clock_identity, &msg->source_port_identity,
+        sizeof (PtpClockIdentity));
+#else
+  if (!domain->have_master_clock)
+    return;
+#endif
+
+  domain->sync_interval = log2_to_clock_time (msg->log_message_interval);
+
+  /* Check if duplicated */
+  for (l = domain->pending_syncs.head; l; l = l->next) {
+    PtpPendingSync *tmp = l->data;
+
+    if (tmp->sync_seqnum == msg->sequence_id)
+      return;
+  }
+
+  if (msg->message_specific.sync.origin_timestamp.seconds_field >
+      GST_CLOCK_TIME_NONE / GST_SECOND) {
+    GST_FIXME ("Unsupported sync message seconds field value: %"
+        G_GUINT64_FORMAT " > %" G_GUINT64_FORMAT,
+        msg->message_specific.sync.origin_timestamp.seconds_field,
+        GST_CLOCK_TIME_NONE / GST_SECOND);
+    return;
+  }
+
+  sync = g_new0 (PtpPendingSync, 1);
+  sync->domain = domain->domain;
+  sync->sync_seqnum = msg->sequence_id;
+  sync->sync_recv_time_local = receive_time;
+  sync->sync_send_time_remote = GST_CLOCK_TIME_NONE;
+  sync->follow_up_recv_time_local = GST_CLOCK_TIME_NONE;
+  sync->delay_req_send_time_local = GST_CLOCK_TIME_NONE;
+  sync->delay_req_recv_time_remote = GST_CLOCK_TIME_NONE;
+  sync->delay_resp_recv_time_local = GST_CLOCK_TIME_NONE;
+
+  /* 0.5 correction factor for division later */
+  sync->correction_field_sync = msg->correction_field;
+
+  if ((msg->flag_field & 0x0200)) {
+    /* Wait for FOLLOW_UP */
+  } else {
+    sync->sync_send_time_remote =
+        PTP_TIMESTAMP_TO_GST_CLOCK_TIME (msg->message_specific.
+        sync.origin_timestamp);
+
+    if (domain->last_ptp_sync_time != 0
+        && domain->last_ptp_sync_time >= sync->sync_send_time_remote) {
+      GST_WARNING ("Backwards PTP times in domain %u: %" GST_TIME_FORMAT " >= %"
+          GST_TIME_FORMAT, domain->domain,
+          GST_TIME_ARGS (domain->last_ptp_sync_time),
+          GST_TIME_ARGS (sync->sync_send_time_remote));
+      ptp_pending_sync_free (sync);
+      sync = NULL;
+      return;
+    }
+    domain->last_ptp_sync_time = sync->sync_send_time_remote;
+
+    if (send_delay_req (domain, sync)) {
+      /* Sent delay request */
+    } else {
+      update_ptp_time (domain, sync);
+      ptp_pending_sync_free (sync);
+      sync = NULL;
+    }
+  }
+
+  if (sync)
+    g_queue_push_tail (&domain->pending_syncs, sync);
+}
+
+static void
+handle_follow_up_message (PtpMessage * msg, GstClockTime receive_time)
+{
+  GList *l;
+  PtpDomainData *domain = NULL;
+  PtpPendingSync *sync = NULL;
+
+  /* Don't consider messages with the alternate master flag set */
+  if ((msg->flag_field & 0x0100))
+    return;
+
+  for (l = domain_data; l; l = l->next) {
+    PtpDomainData *tmp = l->data;
+
+    if (msg->domain_number == tmp->domain) {
+      domain = tmp;
+      break;
+    }
+  }
+
+  if (!domain)
+    return;
+
+  /* If we have a master clock, ignore this message if it's not coming from there */
+  if (domain->have_master_clock
+      && compare_clock_identity (&domain->master_clock_identity,
+          &msg->source_port_identity) != 0)
+    return;
+
+  /* Check if we know about this one */
+  for (l = domain->pending_syncs.head; l; l = l->next) {
+    PtpPendingSync *tmp = l->data;
+
+    if (tmp->sync_seqnum == msg->sequence_id) {
+      sync = tmp;
+      break;
+    }
+  }
+
+  if (!sync)
+    return;
+
+  /* Got a FOLLOW_UP for this already */
+  if (sync->sync_send_time_remote != GST_CLOCK_TIME_NONE)
+    return;
+
+  if (sync->sync_recv_time_local >= receive_time) {
+    GST_ERROR ("Got bogus follow up in domain %u: %" GST_TIME_FORMAT " > %"
+        GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (sync->sync_recv_time_local),
+        GST_TIME_ARGS (receive_time));
+    g_queue_remove (&domain->pending_syncs, sync);
+    ptp_pending_sync_free (sync);
+    return;
+  }
+
+  sync->correction_field_sync += msg->correction_field;
+  sync->sync_send_time_remote =
+      PTP_TIMESTAMP_TO_GST_CLOCK_TIME (msg->message_specific.
+      follow_up.precise_origin_timestamp);
+  sync->follow_up_recv_time_local = receive_time;
+
+  if (domain->last_ptp_sync_time >= sync->sync_send_time_remote) {
+    GST_WARNING ("Backwards PTP times in domain %u: %" GST_TIME_FORMAT " >= %"
+        GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (domain->last_ptp_sync_time),
+        GST_TIME_ARGS (sync->sync_send_time_remote));
+    g_queue_remove (&domain->pending_syncs, sync);
+    ptp_pending_sync_free (sync);
+    sync = NULL;
+    return;
+  }
+  domain->last_ptp_sync_time = sync->sync_send_time_remote;
+
+  if (send_delay_req (domain, sync)) {
+    /* Sent delay request */
+  } else {
+    update_ptp_time (domain, sync);
+    g_queue_remove (&domain->pending_syncs, sync);
+    ptp_pending_sync_free (sync);
+    sync = NULL;
+  }
+}
+
+static void
+handle_delay_resp_message (PtpMessage * msg, GstClockTime receive_time)
+{
+  GList *l;
+  PtpDomainData *domain = NULL;
+  PtpPendingSync *sync = NULL;
+
+  /* Don't consider messages with the alternate master flag set */
+  if ((msg->flag_field & 0x0100))
+    return;
+
+  for (l = domain_data; l; l = l->next) {
+    PtpDomainData *tmp = l->data;
+
+    if (msg->domain_number == tmp->domain) {
+      domain = tmp;
+      break;
+    }
+  }
+
+  if (!domain)
+    return;
+
+  /* If we have a master clock, ignore this message if it's not coming from there */
+  if (domain->have_master_clock
+      && compare_clock_identity (&domain->master_clock_identity,
+          &msg->source_port_identity) != 0)
+    return;
+
+  /* Not for us */
+  if (msg->message_specific.delay_resp.
+      requesting_port_identity.clock_identity != ptp_clock_id.clock_identity
+      || msg->message_specific.delay_resp.
+      requesting_port_identity.port_number != ptp_clock_id.port_number)
+    return;
+
+  domain->min_delay_req_interval =
+      log2_to_clock_time (msg->log_message_interval);
+
+  /* Check if we know about this one */
+  for (l = domain->pending_syncs.head; l; l = l->next) {
+    PtpPendingSync *tmp = l->data;
+
+    if (tmp->delay_req_seqnum == msg->sequence_id) {
+      sync = tmp;
+      break;
+    }
+  }
+
+  if (!sync)
+    return;
+
+  /* Got a DELAY_RESP for this already */
+  if (sync->delay_req_recv_time_remote != GST_CLOCK_TIME_NONE)
+    return;
+
+  if (sync->delay_req_send_time_local > receive_time) {
+    GST_ERROR ("Got bogus delay response in domain %u: %" GST_TIME_FORMAT " > %"
+        GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (sync->delay_req_send_time_local),
+        GST_TIME_ARGS (receive_time));
+    g_queue_remove (&domain->pending_syncs, sync);
+    ptp_pending_sync_free (sync);
+    return;
+  }
+
+  sync->correction_field_delay = msg->correction_field;
+
+  sync->delay_req_recv_time_remote =
+      PTP_TIMESTAMP_TO_GST_CLOCK_TIME (msg->message_specific.
+      delay_resp.receive_timestamp);
+  sync->delay_resp_recv_time_local = receive_time;
+
+  if (domain->mean_path_delay != 0
+      && sync->sync_send_time_remote > sync->delay_req_recv_time_remote) {
+    GST_WARNING ("Sync send time after delay req receive time for domain %u: %"
+        GST_TIME_FORMAT " > %" GST_TIME_FORMAT, domain->domain,
+        GST_TIME_ARGS (sync->sync_send_time_remote),
+        GST_TIME_ARGS (sync->delay_req_recv_time_remote));
+    g_queue_remove (&domain->pending_syncs, sync);
+    ptp_pending_sync_free (sync);
+    return;
+  }
+
+  if (update_mean_path_delay (domain, sync))
+    update_ptp_time (domain, sync);
+  g_queue_remove (&domain->pending_syncs, sync);
+  ptp_pending_sync_free (sync);
+}
+
+static void
+handle_ptp_message (PtpMessage * msg, GstClockTime receive_time)
+{
+  /* Ignore our own messages */
+  if (msg->source_port_identity.clock_identity == ptp_clock_id.clock_identity &&
+      msg->source_port_identity.port_number == ptp_clock_id.port_number)
+    return;
+
+  switch (msg->message_type) {
+    case PTP_MESSAGE_TYPE_ANNOUNCE:
+      handle_announce_message (msg, receive_time);
+      break;
+    case PTP_MESSAGE_TYPE_SYNC:
+      handle_sync_message (msg, receive_time);
+      break;
+    case PTP_MESSAGE_TYPE_FOLLOW_UP:
+      handle_follow_up_message (msg, receive_time);
+      break;
+    case PTP_MESSAGE_TYPE_DELAY_RESP:
+      handle_delay_resp_message (msg, receive_time);
+      break;
+    default:
+      break;
+  }
+}
+
+static gboolean
+have_stdin_data_cb (GIOChannel * channel, GIOCondition condition,
+    gpointer user_data)
+{
+  GIOStatus status;
+  StdIOHeader header;
+  gchar buffer[8192];
+  GError *err = NULL;
+  gsize read;
+
+  if ((condition & G_IO_STATUS_EOF)) {
+    GST_ERROR ("Got EOF on stdin");
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  }
+
+  status =
+      g_io_channel_read_chars (channel, (gchar *) & header, sizeof (header),
+      &read, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    GST_ERROR ("Failed to read from stdin: %s", err->message);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status == G_IO_STATUS_EOF) {
+    GST_ERROR ("Got EOF on stdin");
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status != G_IO_STATUS_NORMAL) {
+    GST_ERROR ("Unexpected stdin read status: %d", status);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (read != sizeof (header)) {
+    GST_ERROR ("Unexpected read size: %" G_GSIZE_FORMAT, read);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (header.size > 8192) {
+    GST_ERROR ("Unexpected size: %u", header.size);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  }
+
+  status = g_io_channel_read_chars (channel, buffer, header.size, &read, &err);
+  if (status == G_IO_STATUS_ERROR) {
+    GST_ERROR ("Failed to read from stdin: %s", err->message);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status == G_IO_STATUS_EOF) {
+    GST_ERROR ("EOF on stdin");
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (status != G_IO_STATUS_NORMAL) {
+    GST_ERROR ("Unexpected stdin read status: %d", status);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  } else if (read != header.size) {
+    GST_ERROR ("Unexpected read size: %" G_GSIZE_FORMAT, read);
+    g_main_loop_quit (main_loop);
+    return G_SOURCE_REMOVE;
+  }
+
+  switch (header.type) {
+    case TYPE_EVENT:
+    case TYPE_GENERAL:{
+      GstClockTime receive_time = gst_clock_get_time (observation_system_clock);
+      PtpMessage msg;
+
+      if (parse_ptp_message (&msg, (const guint8 *) buffer, header.size)) {
+        dump_ptp_message (&msg);
+        handle_ptp_message (&msg, receive_time);
+      }
+      break;
+    }
+    default:
+    case TYPE_CLOCK_ID:{
+      if (header.size != 8) {
+        GST_ERROR ("Unexpected clock id size (%u != 8)", header.size);
+        g_main_loop_quit (main_loop);
+        return G_SOURCE_REMOVE;
+      }
+      g_mutex_lock (&ptp_lock);
+      ptp_clock_id.clock_identity = GST_READ_UINT64_BE (buffer);
+      ptp_clock_id.port_number = getpid ();
+      GST_DEBUG ("Got clock id 0x%016" G_GINT64_MODIFIER "x %u",
+          ptp_clock_id.clock_identity, ptp_clock_id.port_number);
+      g_cond_signal (&ptp_cond);
+      g_mutex_unlock (&ptp_lock);
+      break;
+    }
+  }
+
+  return G_SOURCE_CONTINUE;
+}
+
+/* Cleanup all announce messages and announce message senders
+ * that are timed out by now, and clean up all pending syncs
+ * that are missing their FOLLOW_UP or DELAY_RESP */
+static gboolean
+cleanup_cb (gpointer data)
+{
+  GstClockTime now = gst_clock_get_time (observation_system_clock);
+  GList *l, *m, *n;
+
+  for (l = domain_data; l; l = l->next) {
+    PtpDomainData *domain = l->data;
+
+    for (n = domain->announce_senders; n;) {
+      PtpAnnounceSender *sender = n->data;
+      gboolean timed_out = TRUE;
+
+      /* Keep only 5 messages per sender around */
+      while (g_queue_get_length (&sender->announce_messages) > 5) {
+        PtpAnnounceMessage *msg = g_queue_pop_head (&sender->announce_messages);
+        g_free (msg);
+      }
+
+      for (m = sender->announce_messages.head; m; m = m->next) {
+        PtpAnnounceMessage *msg = m->data;
+
+        if (msg->receive_time +
+            sender->announce_interval * PTP_ANNOUNCE_RECEIPT_TIMEOUT > now) {
+          timed_out = FALSE;
+          break;
+        }
+      }
+
+      if (timed_out) {
+        GST_DEBUG ("Announce sender 0x%016" G_GINT64_MODIFIER "x %u timed out",
+            sender->master_clock_identity.clock_identity,
+            sender->master_clock_identity.port_number);
+        g_queue_foreach (&sender->announce_messages, (GFunc) g_free, NULL);
+        g_queue_clear (&sender->announce_messages);
+      }
+
+      if (g_queue_get_length (&sender->announce_messages) == 0) {
+        GList *tmp = n->next;
+
+        if (compare_clock_identity (&sender->master_clock_identity,
+                &domain->master_clock_identity) == 0)
+          GST_WARNING ("currently selected master clock timed out");
+        g_free (sender);
+        domain->announce_senders =
+            g_list_delete_link (domain->announce_senders, n);
+        n = tmp;
+      } else {
+        n = n->next;
+      }
+    }
+    select_best_master_clock (domain, now);
+
+    /* Clean up any pending syncs */
+    for (n = domain->pending_syncs.head; n;) {
+      PtpPendingSync *sync = n->data;
+      gboolean timed_out = FALSE;
+
+      /* Time out pending syncs after 4 sync intervals or 10 seconds,
+       * and pending delay reqs after 4 delay req intervals or 10 seconds
+       */
+      if (sync->delay_req_send_time_local != GST_CLOCK_TIME_NONE &&
+          ((domain->min_delay_req_interval != 0
+                  && sync->delay_req_send_time_local +
+                  4 * domain->min_delay_req_interval < now)
+              || (sync->delay_req_send_time_local + 10 * GST_SECOND < now))) {
+        timed_out = TRUE;
+      } else if ((domain->sync_interval != 0
+              && sync->sync_recv_time_local + 4 * domain->sync_interval < now)
+          || (sync->sync_recv_time_local + 10 * GST_SECOND < now)) {
+        timed_out = TRUE;
+      }
+
+      if (timed_out) {
+        GList *tmp = n->next;
+        ptp_pending_sync_free (sync);
+        g_queue_delete_link (&domain->pending_syncs, n);
+        n = tmp;
+      } else {
+        n = n->next;
+      }
+    }
+  }
+
+  return G_SOURCE_CONTINUE;
+}
+
+static gpointer
+ptp_helper_main (gpointer data)
+{
+  GSource *cleanup_source;
+
+  GST_DEBUG ("Starting PTP helper loop");
+
+  /* Check all 5 seconds, if we have to cleanup ANNOUNCE or pending syncs message */
+  cleanup_source = g_timeout_source_new_seconds (5);
+  g_source_set_priority (cleanup_source, G_PRIORITY_DEFAULT);
+  g_source_set_callback (cleanup_source, (GSourceFunc) cleanup_cb, NULL, NULL);
+  g_source_attach (cleanup_source, main_context);
+  g_source_unref (cleanup_source);
+
+  g_main_loop_run (main_loop);
+  GST_DEBUG ("Stopped PTP helper loop");
+
+  g_mutex_lock (&ptp_lock);
+  ptp_clock_id.clock_identity = GST_PTP_CLOCK_ID_NONE;
+  ptp_clock_id.port_number = 0;
+  initted = FALSE;
+  g_cond_signal (&ptp_cond);
+  g_mutex_unlock (&ptp_lock);
+
+  return NULL;
+}
+
+/**
+ * gst_ptp_is_supported:
+ *
+ * Check if PTP clocks are generally supported on this system, and if previous
+ * initializations did not fail.
+ *
+ * Returns: %TRUE if PTP clocks are generally supported on this system, and
+ * previous initializations did not fail.
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_ptp_is_supported (void)
+{
+  return supported;
+}
+
+/**
+ * gst_ptp_is_initialized:
+ *
+ * Check if the GStreamer PTP clock subsystem is initialized.
+ *
+ * Returns: %TRUE if the GStreamer PTP clock subsystem is intialized.
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_ptp_is_initialized (void)
+{
+  return initted;
+}
+
+/**
+ * gst_ptp_init:
+ * @clock_id: PTP clock id of this process' clock or %GST_PTP_CLOCK_ID_NONE
+ * @interfaces: (transfer none) (array zero-terminated=1): network interfaces to run the clock on
+ *
+ * Initialize the GStreamer PTP subsystem and create a PTP ordinary clock in
+ * slave-only mode for all domains on the given @interfaces with the
+ * given @clock_id.
+ *
+ * If @clock_id is %GST_PTP_CLOCK_ID_NONE, a clock id is automatically
+ * generated from the MAC address of the first network interface.
+ *
+ *
+ * This function is automatically called by gst_ptp_clock_new() with default
+ * parameters if it wasn't called before.
+ *
+ * Returns: %TRUE if the GStreamer PTP clock subsystem could be initialized.
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_ptp_init (guint64 clock_id, gchar ** interfaces)
+{
+  gboolean ret;
+  const gchar *env;
+  gchar **argv = NULL;
+  gint argc, argc_c;
+  gint fd_r, fd_w;
+  GError *err = NULL;
+  GSource *stdin_source;
+
+  GST_DEBUG_CATEGORY_INIT (ptp_debug, "ptp", 0, "PTP clock");
+
+  g_mutex_lock (&ptp_lock);
+  if (!supported) {
+    GST_ERROR ("PTP not supported");
+    ret = FALSE;
+    goto done;
+  }
+
+  if (initted) {
+    GST_DEBUG ("PTP already initialized");
+    ret = TRUE;
+    goto done;
+  }
+
+  if (ptp_helper_pid) {
+    GST_DEBUG ("PTP currently initializing");
+    goto wait;
+  }
+
+  if (!domain_stats_hooks_initted) {
+    g_hook_list_init (&domain_stats_hooks, sizeof (GHook));
+    domain_stats_hooks_initted = TRUE;
+  }
+
+  argc = 1;
+  if (clock_id != GST_PTP_CLOCK_ID_NONE)
+    argc += 2;
+  if (interfaces != NULL)
+    argc += 2 * g_strv_length (interfaces);
+
+  argv = g_new0 (gchar *, argc + 2);
+  argc_c = 0;
+
+  env = g_getenv ("GST_PTP_HELPER_1_0");
+  if (env == NULL)
+    env = g_getenv ("GST_PTP_HELPER");
+  if (env != NULL && *env != '\0') {
+    GST_LOG ("Trying GST_PTP_HELPER env var: %s", env);
+    argv[argc_c++] = g_strdup (env);
+  } else {
+    argv[argc_c++] = g_strdup (GST_PTP_HELPER_INSTALLED);
+  }
+
+  if (clock_id != GST_PTP_CLOCK_ID_NONE) {
+    argv[argc_c++] = g_strdup ("-c");
+    argv[argc_c++] = g_strdup_printf ("0x%016" G_GINT64_MODIFIER "x", clock_id);
+  }
+
+  if (interfaces != NULL) {
+    gchar **ptr = interfaces;
+
+    while (*ptr) {
+      argv[argc_c++] = g_strdup ("-i");
+      argv[argc_c++] = g_strdup (*ptr);
+      ptr++;
+    }
+  }
+
+  main_context = g_main_context_new ();
+  main_loop = g_main_loop_new (main_context, FALSE);
+
+  ptp_helper_thread =
+      g_thread_try_new ("ptp-helper-thread", ptp_helper_main, NULL, &err);
+  if (!ptp_helper_thread) {
+    GST_ERROR ("Failed to start PTP helper thread: %s", err->message);
+    g_clear_error (&err);
+    ret = FALSE;
+    goto done;
+  }
+
+  if (!g_spawn_async_with_pipes (NULL, argv, NULL, 0, NULL, NULL,
+          &ptp_helper_pid, &fd_w, &fd_r, NULL, &err)) {
+    GST_ERROR ("Failed to start ptp helper process: %s", err->message);
+    g_clear_error (&err);
+    ret = FALSE;
+    supported = FALSE;
+    goto done;
+  }
+
+  stdin_channel = g_io_channel_unix_new (fd_r);
+  g_io_channel_set_encoding (stdin_channel, NULL, NULL);
+  g_io_channel_set_buffered (stdin_channel, FALSE);
+  g_io_channel_set_close_on_unref (stdin_channel, TRUE);
+  stdin_source =
+      g_io_create_watch (stdin_channel, G_IO_IN | G_IO_PRI | G_IO_HUP);
+  g_source_set_priority (stdin_source, G_PRIORITY_DEFAULT);
+  g_source_set_callback (stdin_source, (GSourceFunc) have_stdin_data_cb, NULL,
+      NULL);
+  g_source_attach (stdin_source, main_context);
+  g_source_unref (stdin_source);
+
+  /* Create stdout channel */
+  stdout_channel = g_io_channel_unix_new (fd_w);
+  g_io_channel_set_encoding (stdout_channel, NULL, NULL);
+  g_io_channel_set_close_on_unref (stdout_channel, TRUE);
+  g_io_channel_set_buffered (stdout_channel, FALSE);
+
+  delay_req_rand = g_rand_new ();
+  observation_system_clock =
+      g_object_new (GST_TYPE_SYSTEM_CLOCK, "name", "ptp-observation-clock",
+      NULL);
+
+  initted = TRUE;
+
+wait:
+  GST_DEBUG ("Waiting for PTP to be initialized");
+
+  while (ptp_clock_id.clock_identity == GST_PTP_CLOCK_ID_NONE && initted)
+    g_cond_wait (&ptp_cond, &ptp_lock);
+
+  ret = initted;
+  if (ret) {
+    GST_DEBUG ("Initialized and got clock id 0x%016" G_GINT64_MODIFIER "x %u",
+        ptp_clock_id.clock_identity, ptp_clock_id.port_number);
+  } else {
+    GST_ERROR ("Failed to initialize");
+    supported = FALSE;
+  }
+
+done:
+  g_strfreev (argv);
+
+  if (!ret) {
+    if (ptp_helper_pid) {
+      kill (ptp_helper_pid, SIGKILL);
+      waitpid (ptp_helper_pid, NULL, 0);
+      g_spawn_close_pid (ptp_helper_pid);
+    }
+    ptp_helper_pid = 0;
+
+    if (stdin_channel)
+      g_io_channel_unref (stdin_channel);
+    stdin_channel = NULL;
+    if (stdout_channel)
+      g_io_channel_unref (stdout_channel);
+    stdout_channel = NULL;
+
+    if (main_loop && ptp_helper_thread) {
+      g_main_loop_quit (main_loop);
+      g_thread_join (ptp_helper_thread);
+    }
+    ptp_helper_thread = NULL;
+    if (main_loop)
+      g_main_loop_unref (main_loop);
+    main_loop = NULL;
+    if (main_context)
+      g_main_context_unref (main_context);
+    main_context = NULL;
+
+    if (delay_req_rand)
+      g_rand_free (delay_req_rand);
+    delay_req_rand = NULL;
+
+    if (observation_system_clock)
+      gst_object_unref (observation_system_clock);
+    observation_system_clock = NULL;
+  }
+
+  g_mutex_unlock (&ptp_lock);
+
+  return ret;
+}
+
+/**
+ * gst_ptp_deinit:
+ *
+ * Deinitialize the GStreamer PTP subsystem and stop the PTP clock. If there
+ * are any remaining GstPtpClock instances, they won't be further synchronized
+ * to the PTP network clock.
+ *
+ * Since: 1.6
+ */
+void
+gst_ptp_deinit (void)
+{
+  GList *l, *m;
+
+  g_mutex_lock (&ptp_lock);
+
+  if (ptp_helper_pid) {
+    kill (ptp_helper_pid, SIGKILL);
+    waitpid (ptp_helper_pid, NULL, 0);
+    g_spawn_close_pid (ptp_helper_pid);
+  }
+  ptp_helper_pid = 0;
+
+  if (stdin_channel)
+    g_io_channel_unref (stdin_channel);
+  stdin_channel = NULL;
+  if (stdout_channel)
+    g_io_channel_unref (stdout_channel);
+  stdout_channel = NULL;
+
+  if (main_loop && ptp_helper_thread) {
+    GThread *tmp = ptp_helper_thread;
+    ptp_helper_thread = NULL;
+    g_mutex_unlock (&ptp_lock);
+    g_main_loop_quit (main_loop);
+    g_thread_join (tmp);
+    g_mutex_lock (&ptp_lock);
+  }
+  if (main_loop)
+    g_main_loop_unref (main_loop);
+  main_loop = NULL;
+  if (main_context)
+    g_main_context_unref (main_context);
+  main_context = NULL;
+
+  if (delay_req_rand)
+    g_rand_free (delay_req_rand);
+  delay_req_rand = NULL;
+  if (observation_system_clock)
+    gst_object_unref (observation_system_clock);
+  observation_system_clock = NULL;
+
+  for (l = domain_data; l; l = l->next) {
+    PtpDomainData *domain = l->data;
+
+    for (m = domain->announce_senders; m; m = m->next) {
+      PtpAnnounceSender *sender = m->data;
+
+      g_queue_foreach (&sender->announce_messages, (GFunc) g_free, NULL);
+      g_queue_clear (&sender->announce_messages);
+      g_free (sender);
+    }
+    g_list_free (domain->announce_senders);
+
+    g_queue_foreach (&domain->pending_syncs, (GFunc) ptp_pending_sync_free,
+        NULL);
+    g_queue_clear (&domain->pending_syncs);
+    gst_object_unref (domain->domain_clock);
+    g_free (domain);
+  }
+  g_list_free (domain_data);
+  domain_data = NULL;
+  g_list_foreach (domain_clocks, (GFunc) g_free, NULL);
+  g_list_free (domain_clocks);
+  domain_clocks = NULL;
+
+  ptp_clock_id.clock_identity = GST_PTP_CLOCK_ID_NONE;
+  ptp_clock_id.port_number = 0;
+
+  initted = FALSE;
+
+  g_mutex_unlock (&ptp_lock);
+}
+
+#define DEFAULT_DOMAIN 0
+
+enum
+{
+  PROP_0,
+  PROP_DOMAIN,
+  PROP_INTERNAL_CLOCK
+};
+
+#define GST_PTP_CLOCK_GET_PRIVATE(obj)  \
+  (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_PTP_CLOCK, GstPtpClockPrivate))
+
+struct _GstPtpClockPrivate
+{
+  guint domain;
+  GstClock *domain_clock;
+  gulong domain_stats_id;
+};
+
+#define gst_ptp_clock_parent_class parent_class
+G_DEFINE_TYPE (GstPtpClock, gst_ptp_clock, GST_TYPE_SYSTEM_CLOCK);
+
+static void gst_ptp_clock_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_ptp_clock_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_ptp_clock_finalize (GObject * object);
+
+static GstClockTime gst_ptp_clock_get_internal_time (GstClock * clock);
+
+static void
+gst_ptp_clock_class_init (GstPtpClockClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstClockClass *clock_class;
+
+  gobject_class = G_OBJECT_CLASS (klass);
+  clock_class = GST_CLOCK_CLASS (klass);
+
+  g_type_class_add_private (klass, sizeof (GstPtpClockPrivate));
+
+  gobject_class->finalize = gst_ptp_clock_finalize;
+  gobject_class->get_property = gst_ptp_clock_get_property;
+  gobject_class->set_property = gst_ptp_clock_set_property;
+
+  g_object_class_install_property (gobject_class, PROP_DOMAIN,
+      g_param_spec_uint ("domain", "Domain",
+          "The PTP domain", 0, G_MAXUINT8,
+          DEFAULT_DOMAIN,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_INTERNAL_CLOCK,
+      g_param_spec_object ("internal-clock", "Internal Clock",
+          "Internal clock", GST_TYPE_CLOCK,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+  clock_class->get_internal_time = gst_ptp_clock_get_internal_time;
+}
+
+static void
+gst_ptp_clock_init (GstPtpClock * self)
+{
+  GstPtpClockPrivate *priv;
+
+  self->priv = priv = GST_PTP_CLOCK_GET_PRIVATE (self);
+
+  GST_OBJECT_FLAG_SET (self, GST_CLOCK_FLAG_CAN_SET_MASTER);
+  GST_OBJECT_FLAG_SET (self, GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC);
+
+  priv->domain = DEFAULT_DOMAIN;
+}
+
+static gboolean
+gst_ptp_clock_ensure_domain_clock (GstPtpClock * self)
+{
+  gboolean got_clock = TRUE;
+
+  if (G_UNLIKELY (!self->priv->domain_clock)) {
+    g_mutex_lock (&domain_clocks_lock);
+    if (!self->priv->domain_clock) {
+      GList *l;
+
+      got_clock = FALSE;
+
+      for (l = domain_clocks; l; l = l->next) {
+        PtpDomainData *clock_data = l->data;
+
+        if (clock_data->domain == self->priv->domain
+            && clock_data->last_ptp_time != 0) {
+          self->priv->domain_clock = clock_data->domain_clock;
+          got_clock = TRUE;
+          break;
+        }
+      }
+    }
+    g_mutex_unlock (&domain_clocks_lock);
+    if (got_clock) {
+      g_object_notify (G_OBJECT (self), "internal-clock");
+      gst_clock_set_synced (GST_CLOCK (self), TRUE);
+    }
+  }
+
+  return got_clock;
+}
+
+static gboolean
+gst_ptp_clock_stats_callback (guint8 domain, const GstStructure * stats,
+    gpointer user_data)
+{
+  GstPtpClock *self = user_data;
+
+  if (domain != self->priv->domain
+      || !gst_structure_has_name (stats, GST_PTP_STATISTICS_TIME_UPDATED))
+    return TRUE;
+
+  /* Let's set our internal clock */
+  if (!gst_ptp_clock_ensure_domain_clock (self))
+    return TRUE;
+
+  self->priv->domain_stats_id = 0;
+
+  return FALSE;
+}
+
+static void
+gst_ptp_clock_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstPtpClock *self = GST_PTP_CLOCK (object);
+
+  switch (prop_id) {
+    case PROP_DOMAIN:
+      self->priv->domain = g_value_get_uint (value);
+      gst_ptp_clock_ensure_domain_clock (self);
+      if (!self->priv->domain_clock)
+        self->priv->domain_stats_id =
+            gst_ptp_statistics_callback_add (gst_ptp_clock_stats_callback, self,
+            NULL);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_ptp_clock_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstPtpClock *self = GST_PTP_CLOCK (object);
+
+  switch (prop_id) {
+    case PROP_DOMAIN:
+      g_value_set_uint (value, self->priv->domain);
+      break;
+    case PROP_INTERNAL_CLOCK:
+      gst_ptp_clock_ensure_domain_clock (self);
+      g_value_set_object (value, self->priv->domain_clock);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_ptp_clock_finalize (GObject * object)
+{
+  GstPtpClock *self = GST_PTP_CLOCK (object);
+
+  if (self->priv->domain_stats_id)
+    gst_ptp_statistics_callback_remove (self->priv->domain_stats_id);
+
+  G_OBJECT_CLASS (gst_ptp_clock_parent_class)->finalize (object);
+}
+
+static GstClockTime
+gst_ptp_clock_get_internal_time (GstClock * clock)
+{
+  GstPtpClock *self = GST_PTP_CLOCK (clock);
+
+  gst_ptp_clock_ensure_domain_clock (self);
+
+  if (!self->priv->domain_clock) {
+    GST_ERROR_OBJECT (self, "Domain %u has no clock yet and is not synced",
+        self->priv->domain);
+    return GST_CLOCK_TIME_NONE;
+  }
+
+  return gst_clock_get_time (self->priv->domain_clock);
+}
+
+/**
+ * gst_ptp_clock_new:
+ * @name: Name of the clock
+ * @domain: PTP domain
+ *
+ * Creates a new PTP clock instance that exports the PTP time of the master
+ * clock in @domain. This clock can be slaved to other clocks as needed.
+ *
+ * If gst_ptp_init() was not called before, this will call gst_ptp_init() with
+ * default parameters.
+ *
+ *
+ * This clock only returns valid timestamps after it received the first
+ * times from the PTP master clock on the network. Once this happens the
+ * GstPtpClock::internal-clock property will become non-NULL. You can
+ * check this with gst_clock_wait_for_sync(), the GstClock::synced signal and
+ * gst_clock_is_synced().
+ *
+ * Since: 1.6
+ */
+GstClock *
+gst_ptp_clock_new (const gchar * name, guint domain)
+{
+  g_return_val_if_fail (name != NULL, NULL);
+  g_return_val_if_fail (domain <= G_MAXUINT8, NULL);
+
+  if (!initted && !gst_ptp_init (GST_PTP_CLOCK_ID_NONE, NULL)) {
+    GST_ERROR ("Failed to initialize PTP");
+    return NULL;
+  }
+
+  return g_object_new (GST_TYPE_PTP_CLOCK, "name", name, "domain", domain,
+      NULL);
+}
+
+typedef struct
+{
+  guint8 domain;
+  const GstStructure *stats;
+} DomainStatsMarshalData;
+
+static void
+domain_stats_marshaller (GHook * hook, DomainStatsMarshalData * data)
+{
+  GstPtpStatisticsCallback callback = (GstPtpStatisticsCallback) hook->func;
+
+  if (!callback (data->domain, data->stats, hook->data))
+    g_hook_destroy (&domain_stats_hooks, hook->hook_id);
+}
+
+static void
+emit_ptp_statistics (guint8 domain, const GstStructure * stats)
+{
+  DomainStatsMarshalData data = { domain, stats };
+
+  g_mutex_lock (&ptp_lock);
+  g_hook_list_marshal (&domain_stats_hooks, TRUE,
+      (GHookMarshaller) domain_stats_marshaller, &data);
+  g_mutex_unlock (&ptp_lock);
+}
+
+/**
+ * gst_ptp_statistics_callback_add:
+ * @callback: GstPtpStatisticsCallback to call
+ * @user_data: Data to pass to the callback
+ * @destroy_data: GDestroyNotify to destroy the data
+ *
+ * Installs a new statistics callback for gathering PTP statistics. See
+ * GstPtpStatisticsCallback for a list of statistics that are provided.
+ *
+ * Returns: Id for the callback that can be passed to
+ * gst_ptp_statistics_callback_remove()
+ *
+ * Since: 1.6
+ */
+gulong
+gst_ptp_statistics_callback_add (GstPtpStatisticsCallback callback,
+    gpointer user_data, GDestroyNotify destroy_data)
+{
+  GHook *hook;
+
+  g_mutex_lock (&ptp_lock);
+
+  if (!domain_stats_hooks_initted) {
+    g_hook_list_init (&domain_stats_hooks, sizeof (GHook));
+    domain_stats_hooks_initted = TRUE;
+  }
+
+  hook = g_hook_alloc (&domain_stats_hooks);
+  hook->func = callback;
+  hook->data = user_data;
+  hook->destroy = destroy_data;
+  g_hook_prepend (&domain_stats_hooks, hook);
+  g_atomic_int_add (&domain_stats_n_hooks, 1);
+
+  g_mutex_unlock (&ptp_lock);
+
+  return hook->hook_id;
+}
+
+/**
+ * gst_ptp_statistics_callback_remove:
+ * @id: Callback id to remove
+ *
+ * Removes a PTP statistics callback that was previously added with
+ * gst_ptp_statistics_callback_add().
+ *
+ * Since: 1.6
+ */
+void
+gst_ptp_statistics_callback_remove (gulong id)
+{
+  g_mutex_lock (&ptp_lock);
+  if (g_hook_destroy (&domain_stats_hooks, id))
+    g_atomic_int_add (&domain_stats_n_hooks, -1);
+  g_mutex_unlock (&ptp_lock);
+}
+
+#else /* HAVE_PTP */
+
+GType
+gst_ptp_clock_get_type (void)
+{
+  return G_TYPE_INVALID;
+}
+
+gboolean
+gst_ptp_is_supported (void)
+{
+  return FALSE;
+}
+
+gboolean
+gst_ptp_is_initialized (void)
+{
+  return FALSE;
+}
+
+gboolean
+gst_ptp_init (guint64 clock_id, gchar ** interfaces)
+{
+  return FALSE;
+}
+
+void
+gst_ptp_deinit (void)
+{
+}
+
+GstClock *
+gst_ptp_clock_new (const gchar * name, guint domain)
+{
+  return NULL;
+}
+
+gulong
+gst_ptp_statistics_callback_add (GstPtpStatisticsCallback callback,
+    gpointer user_data, GDestroyNotify destroy_data)
+{
+  return 0;
+}
+
+void
+gst_ptp_statistics_callback_remove (gulong id)
+{
+  return;
+}
+
+#endif
diff --git a/libs/gst/net/gstptpclock.h b/libs/gst/net/gstptpclock.h
new file mode 100644
index 0000000..f50b83e
--- /dev/null
+++ b/libs/gst/net/gstptpclock.h
@@ -0,0 +1,142 @@
+/* GStreamer
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_PTP_CLOCK_H__
+#define __GST_PTP_CLOCK_H__
+
+#include <gst/gst.h>
+#include <gst/gstsystemclock.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_PTP_CLOCK \
+  (gst_ptp_clock_get_type())
+#define GST_PTP_CLOCK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PTP_CLOCK,GstPtpClock))
+#define GST_PTP_CLOCK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PTP_CLOCK,GstPtpClockClass))
+#define GST_IS_PTP_CLOCK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PTP_CLOCK))
+#define GST_IS_PTP_CLOCK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PTP_CLOCK))
+
+typedef struct _GstPtpClock GstPtpClock;
+typedef struct _GstPtpClockClass GstPtpClockClass;
+typedef struct _GstPtpClockPrivate GstPtpClockPrivate;
+
+/**
+ * GstPtpClock:
+ *
+ * Opaque #GstPtpClock structure.
+ */
+struct _GstPtpClock {
+  GstSystemClock clock;
+
+  /*< private >*/
+  GstPtpClockPrivate *priv;
+
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstPtpClockClass {
+  GstSystemClockClass parent_class;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GST_PTP_CLOCK_ID_NONE:
+ * PTP clock identification that can be passed to gst_ptp_init() to
+ * automatically select one based on the MAC address of interfaces
+ */
+#define GST_PTP_CLOCK_ID_NONE ((guint64) -1)
+
+GType           gst_ptp_clock_get_type             (void);
+
+gboolean        gst_ptp_is_supported               (void);
+gboolean        gst_ptp_is_initialized             (void);
+gboolean        gst_ptp_init                       (guint64 clock_id,
+                                                    gchar ** interfaces);
+void            gst_ptp_deinit                     (void);
+
+#define GST_PTP_STATISTICS_NEW_DOMAIN_FOUND           "GstPtpStatisticsNewDomainFound"
+#define GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED "GstPtpStatisticsBestMasterClockSelected"
+#define GST_PTP_STATISTICS_PATH_DELAY_MEASURED        "GstPtpStatisticsPathDelayMeasured"
+#define GST_PTP_STATISTICS_TIME_UPDATED               "GstPtpStatisticsTimeUpdated"
+
+/**
+ * GstPtpStatisticsCallback:
+ * @domain: PTP domain identifier
+ * @stats: New statistics
+ * @user_data: Data passed to gst_ptp_statistics_callback_add()
+ *
+ * The statistics can be the following structures:
+ *
+ * GST_PTP_STATISTICS_NEW_DOMAIN_FOUND:
+ * "domain"                G_TYPE_UINT          The domain identifier of the domain
+ * "clock"                 GST_TYPE_CLOCK       The internal clock that is slaved to the
+ *                                              PTP domain
+ *
+ * GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED:
+ * "domain"                G_TYPE_UINT          The domain identifier of the domain
+ * "master-clock-id"       G_TYPE_UINT64        PTP clock identifier of the selected master
+ *                                              clock
+ * "master-clock-port"     G_TYPE_UINT          PTP port number of the selected master clock
+ * "grandmaster-clock-id"  G_TYPE_UINT64        PTP clock identifier of the grandmaster clock
+ *
+ * GST_PTP_STATISTICS_PATH_DELAY_MEASURED:
+ * "domain"                G_TYPE_UINT          The domain identifier of the domain
+ * "mean-path-delay-avg"   GST_TYPE_CLOCK_TIME  Average mean path delay
+ * "mean-path-delay"       GST_TYPE_CLOCK_TIME  Latest mean path delay
+ * "delay-request-delay"   GST_TYPE_CLOCK_TIME  Delay of DELAY_REQ / DELAY_RESP messages
+ *
+ * GST_PTP_STATISTICS_TIME_UPDATED:
+ * "domain"                G_TYPE_UINT          The domain identifier of the domain
+ * "mean-path-delay-avg"   GST_TYPE_CLOCK_TIME  Average mean path delay
+ * "local-time"            GST_TYPE_CLOCK_TIME  Local time that corresponds to ptp-time
+ * "ptp-time"              GST_TYPE_CLOCK_TIME  Newly measured PTP time at local-time
+ * "estimated-ptp-time"    GST_TYPE_CLOCK_TIME  Estimated PTP time based on previous measurements
+ * "discontinuity"         G_TYPE_INT64         Difference between estimated and measured PTP time
+ * "synced"                G_TYPE_BOOLEAN       Currently synced to the remote clock
+ * "r-squared"             G_TYPE_DOUBLE        R² of clock estimation regression
+ * "internal-time"         GST_TYPE_CLOCK_TIME  Internal time clock parameter
+ * "external-time"         GST_TYPE_CLOCK_TIME  External time clock parameter
+ * "rate-num"              G_TYPE_UINT64        Internal/external rate numerator
+ * "rate-den"              G_TYPE_UINT64        Internal/external rate denominator
+ * "rate"                  G_TYPE_DOUBLE        Internal/external rate
+ *
+ * If %FALSE is returned, the callback is removed and never called again.
+ *
+ */
+typedef gboolean  (*GstPtpStatisticsCallback)      (guint8 domain,
+                                                    const GstStructure * stats,
+                                                    gpointer user_data);
+gulong          gst_ptp_statistics_callback_add    (GstPtpStatisticsCallback callback,
+                                                    gpointer user_data, GDestroyNotify destroy_data);
+void            gst_ptp_statistics_callback_remove (gulong id);
+
+GstClock*       gst_ptp_clock_new                  (const gchar *name,
+                                                    guint domain);
+
+G_END_DECLS
+
+#endif /* __GST_PTP_CLOCK_H__ */
+
diff --git a/libs/gst/net/net.h b/libs/gst/net/net.h
index 1ef53d6..8af032e 100644
--- a/libs/gst/net/net.h
+++ b/libs/gst/net/net.h
@@ -27,5 +27,6 @@
 #include <gst/net/gstnetclientclock.h>
 #include <gst/net/gstnettimepacket.h>
 #include <gst/net/gstnettimeprovider.h>
+#include <gst/net/gstptpclock.h>
 
 #endif /* __GST_NET__H__ */
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 5fda59e..f0478bf 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -159,6 +159,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -249,6 +250,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -260,6 +262,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -346,6 +349,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index d88af6a..1491b88 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -203,6 +203,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -293,6 +294,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -304,6 +306,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -390,6 +393,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/plugins/Makefile.in b/plugins/Makefile.in
index ea19d09..950a133 100644
--- a/plugins/Makefile.in
+++ b/plugins/Makefile.in
@@ -218,6 +218,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -308,6 +309,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -319,6 +321,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -405,6 +408,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/plugins/elements/Makefile.in b/plugins/elements/Makefile.in
index 7f2af24..c2453c7 100644
--- a/plugins/elements/Makefile.in
+++ b/plugins/elements/Makefile.in
@@ -266,6 +266,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -356,6 +357,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -367,6 +369,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -453,6 +456,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/plugins/elements/gstdownloadbuffer.c b/plugins/elements/gstdownloadbuffer.c
index e31633f..3b760e2 100644
--- a/plugins/elements/gstdownloadbuffer.c
+++ b/plugins/elements/gstdownloadbuffer.c
@@ -174,7 +174,7 @@
 G_DEFINE_TYPE_WITH_CODE (GstDownloadBuffer, gst_download_buffer,
     GST_TYPE_ELEMENT, _do_init);
 
-static void update_buffering (GstDownloadBuffer * dlbuf);
+static GstMessage *update_buffering (GstDownloadBuffer * dlbuf);
 
 static void gst_download_buffer_finalize (GObject * object);
 
@@ -392,25 +392,19 @@
 #define AVG_OUT(avg,val) ((avg) * 3.0 + (val)) / 4.0
 
 static void
-update_time_level (GstDownloadBuffer * dlbuf)
+update_levels (GstDownloadBuffer * dlbuf, guint bytes)
 {
+  dlbuf->cur_level.bytes = bytes;
+
   if (dlbuf->byte_in_rate > 0.0) {
     dlbuf->cur_level.time =
         dlbuf->cur_level.bytes / dlbuf->byte_in_rate * GST_SECOND;
   }
+
   GST_DEBUG ("levels: bytes %u/%u, time %" GST_TIME_FORMAT "/%" GST_TIME_FORMAT,
       dlbuf->cur_level.bytes, dlbuf->max_level.bytes,
       GST_TIME_ARGS (dlbuf->cur_level.time),
       GST_TIME_ARGS (dlbuf->max_level.time));
-  /* update the buffering */
-  update_buffering (dlbuf);
-}
-
-static void
-update_levels (GstDownloadBuffer * dlbuf, guint bytes)
-{
-  dlbuf->cur_level.bytes = bytes;
-  update_time_level (dlbuf);
 }
 
 static void
@@ -568,14 +562,15 @@
   }
 }
 
-static void
+static GstMessage *
 update_buffering (GstDownloadBuffer * dlbuf)
 {
   gint percent;
   gboolean post = FALSE;
+  GstMessage *message = NULL;
 
   if (!get_buffering_percent (dlbuf, NULL, &percent))
-    return;
+    return NULL;
 
   if (dlbuf->is_buffering) {
     post = TRUE;
@@ -599,7 +594,6 @@
   }
 
   if (post) {
-    GstMessage *message;
     GstBufferingMode mode;
     gint avg_in, avg_out;
     gint64 buffering_left;
@@ -611,9 +605,9 @@
         (gint) percent);
     gst_message_set_buffering_stats (message, mode,
         avg_in, avg_out, buffering_left);
-
-    gst_element_post_message (GST_ELEMENT_CAST (dlbuf), message);
   }
+
+  return message;
 }
 
 static gboolean
@@ -1053,6 +1047,8 @@
     }
     default:
       if (GST_EVENT_IS_SERIALIZED (event)) {
+        GstMessage *msg = NULL;
+
         /* serialized events go in the buffer */
         GST_DOWNLOAD_BUFFER_MUTEX_LOCK_CHECK (dlbuf, dlbuf->sinkresult,
             out_flushing);
@@ -1063,6 +1059,8 @@
              * filled and we can read all data from the dlbuf. */
             /* update the buffering status */
             update_levels (dlbuf, dlbuf->max_level.bytes);
+            /* update the buffering */
+            msg = update_buffering (dlbuf);
             /* wakeup the waiter and let it recheck */
             GST_DOWNLOAD_BUFFER_SIGNAL_ADD (dlbuf, -1);
             break;
@@ -1080,6 +1078,8 @@
         }
         gst_event_unref (event);
         GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
+        if (msg != NULL)
+          gst_element_post_message (GST_ELEMENT_CAST (dlbuf), msg);
       } else {
         /* non-serialized events are passed upstream. */
         ret = gst_pad_push_event (dlbuf->srcpad, event);
@@ -1129,6 +1129,7 @@
   guint64 offset;
   gsize res, available;
   GError *error = NULL;
+  GstMessage *msg = NULL;
 
   dlbuf = GST_DOWNLOAD_BUFFER (parent);
 
@@ -1210,8 +1211,14 @@
       update_levels (dlbuf, 0);
   }
 
+  /* update the buffering */
+  msg = update_buffering (dlbuf);
+
   GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
 
+  if (msg != NULL)
+    gst_element_post_message (GST_ELEMENT_CAST (dlbuf), msg);
+
   return GST_FLOW_OK;
 
   /* ERRORS */
@@ -1253,12 +1260,18 @@
     dlbuf->write_pos = dlbuf->upstream_size;
     dlbuf->filling = FALSE;
     update_levels (dlbuf, dlbuf->max_level.bytes);
+    msg = update_buffering (dlbuf);
+
     gst_element_post_message (GST_ELEMENT_CAST (dlbuf),
         gst_message_new_element (GST_OBJECT_CAST (dlbuf),
             gst_structure_new ("GstCacheDownloadComplete",
                 "location", G_TYPE_STRING, dlbuf->temp_location, NULL)));
+
     GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
 
+    if (msg != NULL)
+      gst_element_post_message (GST_ELEMENT_CAST (dlbuf), msg);
+
     return GST_FLOW_EOS;
   }
 }
@@ -1271,6 +1284,7 @@
   GstDownloadBuffer *dlbuf;
   GstFlowReturn ret;
   GstBuffer *buffer = NULL;
+  GstMessage *msg = NULL;
 
   dlbuf = GST_DOWNLOAD_BUFFER (GST_PAD_PARENT (pad));
 
@@ -1290,9 +1304,15 @@
   if (ret != GST_FLOW_OK)
     goto out_flushing;
 
+  /* update the buffering */
+  msg = update_buffering (dlbuf);
+
   g_atomic_int_set (&dlbuf->downstream_may_block, 1);
   GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
 
+  if (msg != NULL)
+    gst_element_post_message (GST_ELEMENT_CAST (dlbuf), msg);
+
   ret = gst_pad_push (dlbuf->srcpad, buffer);
   g_atomic_int_set (&dlbuf->downstream_may_block, 0);
 
@@ -1591,14 +1611,21 @@
 {
   GstDownloadBuffer *dlbuf;
   GstFlowReturn ret;
+  GstMessage *msg = NULL;
 
   dlbuf = GST_DOWNLOAD_BUFFER_CAST (parent);
 
   GST_DOWNLOAD_BUFFER_MUTEX_LOCK_CHECK (dlbuf, dlbuf->srcresult, out_flushing);
   /* FIXME - function will block when the range is not yet available */
   ret = gst_download_buffer_read_buffer (dlbuf, offset, length, buffer);
+  /* update the buffering */
+  msg = update_buffering (dlbuf);
+
   GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
 
+  if (msg != NULL)
+    gst_element_post_message (GST_ELEMENT_CAST (dlbuf), msg);
+
   return ret;
 
   /* ERRORS */
@@ -1837,6 +1864,7 @@
     guint prop_id, const GValue * value, GParamSpec * pspec)
 {
   GstDownloadBuffer *dlbuf = GST_DOWNLOAD_BUFFER (object);
+  GstMessage *msg = NULL;
 
   /* someone could change levels here, and since this
    * affects the get/put funcs, we need to lock for safety. */
@@ -1845,11 +1873,11 @@
   switch (prop_id) {
     case PROP_MAX_SIZE_BYTES:
       dlbuf->max_level.bytes = g_value_get_uint (value);
-      CAPACITY_CHANGE (dlbuf);
+      msg = CAPACITY_CHANGE (dlbuf);
       break;
     case PROP_MAX_SIZE_TIME:
       dlbuf->max_level.time = g_value_get_uint64 (value);
-      CAPACITY_CHANGE (dlbuf);
+      msg = CAPACITY_CHANGE (dlbuf);
       break;
     case PROP_LOW_PERCENT:
       dlbuf->low_percent = g_value_get_int (value);
@@ -1869,6 +1897,10 @@
   }
 
   GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
+
+  if (msg != NULL)
+    gst_element_post_message (GST_ELEMENT_CAST (dlbuf), msg);
+
 }
 
 static void
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index fbcbca9..1b2952c 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -183,7 +183,7 @@
   static const GEnumValue fakesrc_filltype[] = {
     {FAKE_SRC_FILLTYPE_NOTHING, "Leave data as malloced", "nothing"},
     {FAKE_SRC_FILLTYPE_ZERO, "Fill buffers with zeros", "zero"},
-    {FAKE_SRC_FILLTYPE_RANDOM, "Fill buffers with random crap", "random"},
+    {FAKE_SRC_FILLTYPE_RANDOM, "Fill buffers with random data", "random"},
     {FAKE_SRC_FILLTYPE_PATTERN, "Fill buffers with pattern 0x00 -> 0xff",
         "pattern"},
     {FAKE_SRC_FILLTYPE_PATTERN_CONT,
diff --git a/plugins/elements/gstfunnel.c b/plugins/elements/gstfunnel.c
index 048a90e..013d54d 100644
--- a/plugins/elements/gstfunnel.c
+++ b/plugins/elements/gstfunnel.c
@@ -197,6 +197,9 @@
 
   gst_element_add_pad (element, sinkpad);
 
+  GST_DEBUG_OBJECT (element, "requested pad %s:%s",
+      GST_DEBUG_PAD_NAME (sinkpad));
+
   return sinkpad;
 }
 
@@ -233,7 +236,7 @@
   gboolean got_eos;
   gboolean send_eos = FALSE;
 
-  GST_DEBUG_OBJECT (funnel, "releasing pad");
+  GST_DEBUG_OBJECT (funnel, "releasing pad %s:%s", GST_DEBUG_PAD_NAME (pad));
 
   gst_pad_set_active (pad, FALSE);
 
@@ -270,8 +273,7 @@
 {
   GstFlowReturn res;
 
-  GST_DEBUG_OBJECT (funnel, "received buffer%s %p", (is_list ? "list" : ""),
-      obj);
+  GST_DEBUG_OBJECT (pad, "received buffer%s %p", (is_list ? "list" : ""), obj);
 
   GST_PAD_STREAM_LOCK (funnel->srcpad);
 
@@ -289,7 +291,7 @@
 
   GST_PAD_STREAM_UNLOCK (funnel->srcpad);
 
-  GST_LOG_OBJECT (funnel, "handled buffer%s %s", (is_list ? "list" : ""),
+  GST_LOG_OBJECT (pad, "handled buffer%s %s", (is_list ? "list" : ""),
       gst_flow_get_name (res));
 
   return res;
@@ -323,6 +325,8 @@
   gboolean res = TRUE;
   gboolean unlock = FALSE;
 
+  GST_DEBUG_OBJECT (pad, "received event %" GST_PTR_FORMAT, event);
+
   if (GST_EVENT_IS_STICKY (event)) {
     unlock = TRUE;
     GST_PAD_STREAM_LOCK (funnel->srcpad);
diff --git a/plugins/elements/gstsparsefile.c b/plugins/elements/gstsparsefile.c
index fb9b26c..b8a0577 100644
--- a/plugins/elements/gstsparsefile.c
+++ b/plugins/elements/gstsparsefile.c
@@ -343,13 +343,12 @@
         goto error;
     }
     res = fread (data, 1, count, file->file);
+    if (G_UNLIKELY (res < count))
+      goto error;
   }
 
   file->current_pos = offset + res;
 
-  if (G_UNLIKELY (res < count))
-    goto error;
-
   if (remaining)
     *remaining = range->stop - file->current_pos;
 
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index e91fbc6..df58627 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -160,7 +160,7 @@
     GstObject * parent, GstPadMode mode, gboolean active);
 static GstFlowReturn
 gst_type_find_element_chain_do_typefinding (GstTypeFindElement * typefind,
-    gboolean check_avail);
+    gboolean check_avail, gboolean at_eos);
 static void gst_type_find_element_send_cached_events (GstTypeFindElement *
     typefind);
 
@@ -643,7 +643,7 @@
         case GST_EVENT_EOS:
         {
           GST_INFO_OBJECT (typefind, "Got EOS and no type found yet");
-          gst_type_find_element_chain_do_typefinding (typefind, FALSE);
+          gst_type_find_element_chain_do_typefinding (typefind, FALSE, TRUE);
 
           res = gst_pad_push_event (typefind->src, event);
           break;
@@ -849,7 +849,7 @@
       gst_adapter_push (typefind->adapter, buffer);
       GST_OBJECT_UNLOCK (typefind);
 
-      res = gst_type_find_element_chain_do_typefinding (typefind, TRUE);
+      res = gst_type_find_element_chain_do_typefinding (typefind, TRUE, FALSE);
 
       if (typefind->mode == MODE_ERROR)
         res = GST_FLOW_ERROR;
@@ -866,7 +866,7 @@
 
 static GstFlowReturn
 gst_type_find_element_chain_do_typefinding (GstTypeFindElement * typefind,
-    gboolean check_avail)
+    gboolean check_avail, gboolean at_eos)
 {
   GstTypeFindProbability probability;
   GstCaps *caps = NULL;
@@ -925,10 +925,17 @@
 
 not_enough_data:
   {
-    GST_DEBUG_OBJECT (typefind, "not enough data for typefinding yet "
-        "(%" G_GSIZE_FORMAT " bytes)", avail);
     GST_OBJECT_UNLOCK (typefind);
-    return GST_FLOW_OK;
+
+    if (at_eos) {
+      GST_ELEMENT_ERROR (typefind, STREAM, TYPE_NOT_FOUND,
+          (_("Stream contains not enough data.")), ("Can't typefind stream"));
+      return GST_FLOW_ERROR;
+    } else {
+      GST_DEBUG_OBJECT (typefind, "not enough data for typefinding yet "
+          "(%" G_GSIZE_FORMAT " bytes)", avail);
+      return GST_FLOW_OK;
+    }
   }
 no_type_found:
   {
@@ -939,11 +946,18 @@
   }
 wait_for_data:
   {
-    GST_DEBUG_OBJECT (typefind,
-        "no caps found with %" G_GSIZE_FORMAT " bytes of data, "
-        "waiting for more data", avail);
     GST_OBJECT_UNLOCK (typefind);
-    return GST_FLOW_OK;
+
+    if (at_eos) {
+      GST_ELEMENT_ERROR (typefind, STREAM, TYPE_NOT_FOUND,
+          (_("Stream contains not enough data.")), ("Can't typefind stream"));
+      return GST_FLOW_ERROR;
+    } else {
+      GST_DEBUG_OBJECT (typefind,
+          "no caps found with %" G_GSIZE_FORMAT " bytes of data, "
+          "waiting for more data", avail);
+      return GST_FLOW_OK;
+    }
   }
 low_probability:
   {
diff --git a/po/af.gmo b/po/af.gmo
index 69afd2e..5826071 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index fca8c3f..ee233cc 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2005-12-05 11:45+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -1013,6 +1013,10 @@
 msgstr ""
 
 #, fuzzy
+msgid "Stream contains not enough data."
+msgstr "album wat hierdie data bevat"
+
+#, fuzzy
 msgid "Stream contains no data."
 msgstr "album wat hierdie data bevat"
 
diff --git a/po/az.gmo b/po/az.gmo
index 9ea0f22..c190db1 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index f688ada..9aa1c64 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2004-03-19 18:40+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
@@ -960,6 +960,9 @@
 msgid "force caps without doing a typefind"
 msgstr ""
 
+msgid "Stream contains not enough data."
+msgstr ""
+
 msgid "Stream contains no data."
 msgstr ""
 
diff --git a/po/be.gmo b/po/be.gmo
index 6a6d857..3e8900c 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index e5f53aa..7f5ef08 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2006-01-18 22:26+0200\n"
 "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
@@ -969,6 +969,10 @@
 msgstr ""
 
 #, fuzzy
+msgid "Stream contains not enough data."
+msgstr "альбом, якія зьмяшчае гэтыя даньі"
+
+#, fuzzy
 msgid "Stream contains no data."
 msgstr "альбом, якія зьмяшчае гэтыя даньі"
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 6f866c0..1010758 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 94673b5..e8b7df3 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2011-04-26 22:40+0300\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -1003,6 +1003,10 @@
 msgid "force caps without doing a typefind"
 msgstr "принудително прилагане на възможности без търсене на видовете"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Потокът не съдържа никакви данни"
+
 msgid "Stream contains no data."
 msgstr "Потокът не съдържа никакви данни"
 
diff --git a/po/ca.gmo b/po/ca.gmo
index b177cc4..ea66651 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 1f08a25..239ea69 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-11-04 19:41+0100\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -1013,6 +1013,10 @@
 msgid "force caps without doing a typefind"
 msgstr "força les capacitats sense fer un «typefind»"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "El flux no conté dades."
+
 msgid "Stream contains no data."
 msgstr "El flux no conté dades."
 
diff --git a/po/cs.gmo b/po/cs.gmo
index 2f5560a..c86c5e2 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index d64a4ec..b9f3df5 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -3,14 +3,14 @@
 # This file is put in the public domain.
 #
 # Miloslav Trmac <mitr@volny.cz>, 2004, 2005, 2007, 2008.
-# Marek Černocký <marek@manet.cz>, 2011, 2013.
+# Marek Černocký <marek@manet.cz>, 2011, 2013, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
-"PO-Revision-Date: 2014-03-09 11:07+0100\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
+"PO-Revision-Date: 2015-02-16 06:03+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -114,7 +114,7 @@
 "GStreamer error: state change failed and some element failed to post a "
 "proper error message with the reason for the failure."
 msgstr ""
-"Chyba systému GStreamer: selhala změna stavu a některý prvek selhal při "
+"Chyba systému GStreamer: selhala změna stavu a některý element selhal při "
 "posílání příslušné chybové zprávy s důvodem selhání."
 
 msgid "Internal GStreamer error: pad problem."
@@ -205,22 +205,21 @@
 msgid "No space left on the resource."
 msgstr "V prostředku nezbývá místo."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "V prostředku nezbývá místo."
+msgstr "Není autorizováno pro přístup k prostředku."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "V systému GStreamer došlo k obecné chybě proudu."
 
 msgid "Element doesn't implement handling of this stream. Please file a bug."
 msgstr ""
-"Prvek neimplementuje obsluhu tohoto proudu. Nahlaste to prosím jako chybu."
+"Element neimplementuje obsluhu tohoto proudu. Nahlaste to prosím jako chybu."
 
 msgid "Could not determine type of stream."
 msgstr "Nelze zjistit typ proudu."
 
 msgid "The stream is of a different type than handled by this element."
-msgstr "Proud je jiného typu, než jaký tento prvek obsluhuje."
+msgstr "Proud je jiného typu, než jaký tento element obsluhuje."
 
 msgid "There is no codec present that can handle the stream's type."
 msgstr "Není přítomen žádný kodek, který umí obsloužit typ tohoto proudu."
@@ -813,10 +812,10 @@
 "Informace o lidech stojících za mixováním a dalším podobným zpracováním"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "základní nota MIDI"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Číslo noty MIDI pro zvukovou stopu."
 
 msgid ", "
 msgstr "; "
@@ -831,7 +830,7 @@
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
-msgstr "CHYBA: od prvku %s: %s\n"
+msgstr "CHYBA: od elementu %s: %s\n"
 
 #, c-format
 msgid ""
@@ -843,35 +842,35 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "připojení nemá žádný zdroj [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "připojení nemá žádný cíl [source=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
-msgstr "v prvku „%2$s“ není žádná vlastnost „%1$s“"
+msgstr "v elementu „%2$s“ není žádná vlastnost „%1$s“"
 
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
-msgstr "nelze nastavit vlastnost „%s“ v prvku „%s“ na „%s“"
+msgstr "nelze nastavit vlastnost „%s“ v elementu „%s“ na „%s“"
 
 #, c-format
 msgid "could not link %s to %s"
-msgstr "nelze připojit prvek „%s“ k prvku „%s“"
+msgstr "nelze připojit element „%s“ k elementu „%s“"
 
 #, c-format
 msgid "no element \"%s\""
-msgstr "prvek „%s“ neexistuje"
+msgstr "element „%s“ neexistuje"
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "neočekávaný odkaz „%s“ – ignoruje se"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "neočekávaný odkaz přípojného bodu „%s“ – ignoruje se"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -879,25 +878,25 @@
 
 #, c-format
 msgid "no sink element for URI \"%s\""
-msgstr "neexistuje žádný cílový prvek pro adresu URI „%s“"
+msgstr "neexistuje žádný cílový element pro adresu URI „%s“"
 
 #, c-format
 msgid "no source element for URI \"%s\""
-msgstr "neexistuje žádný zdrojový prvek pro adresu URI „%s“"
+msgstr "neexistuje žádný zdrojový element pro adresu URI „%s“"
 
 msgid "syntax error"
-msgstr ""
+msgstr "syntaktická chyba"
 
 msgid "bin"
-msgstr ""
+msgstr "zásobník"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "zadán prázdný zásobník „%s“, to není dovoleno"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "zásobník „%s“ neexistuje, přeskakuje se"
+msgstr "zásobník „%s“ rozbaluje se element"
 
 msgid "empty pipeline not allowed"
 msgstr "prázdná roura není povolena"
@@ -1002,6 +1001,10 @@
 msgid "force caps without doing a typefind"
 msgstr "vynutit schopnosti bez hledání typu"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Proud neobsahuje žádná data."
+
 msgid "Stream contains no data."
 msgstr "Proud neobsahuje žádná data."
 
@@ -1064,7 +1067,7 @@
 msgstr[2] "%d funkcí"
 
 msgid "Print all elements"
-msgstr "Vypsat všechny prvky"
+msgstr "Vypsat všechny elementy"
 
 msgid "Print list of blacklisted files"
 msgstr "Vypsat seznam souborů na černé listině"
@@ -1084,17 +1087,17 @@
 msgstr "Vypsat obsah zásuvných modulů"
 
 msgid "Check if the specified element or plugin exists"
-msgstr "Zkontrolovat, zda zadaný prvek nebo zásuvný modul existuje"
+msgstr "Zkontrolovat, zda zadaný element nebo zásuvný modul existuje"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
-"Při kontrole existence prvku nebo zásuvného modulu rovněž zkontrolovat, zda "
-"je jeho verze stejná nebo novější než zadaná"
+"Při kontrole existence elementu nebo zásuvného modulu rovněž zkontrolovat, "
+"zda je jeho verze stejná nebo novější než zadaná"
 
 msgid "Print supported URI schemes, with the elements that implement them"
-msgstr "Vypsat podporovaná schémata URI, včetně prvků, které implementují"
+msgstr "Vypsat podporovaná schémata URI, včetně elementů, které implementují"
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1102,14 +1105,14 @@
 
 #, c-format
 msgid "No such element or plugin '%s'\n"
-msgstr "Prvek nebo zásuvný modul „%s“ neexistuje\n"
+msgstr "Element nebo zásuvný modul „%s“ neexistuje\n"
 
 msgid "Index statistics"
 msgstr "Přehledové statistiky"
 
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
-msgstr "Obdržena zpráva čís. %u od prvku „%s“ (%s): "
+msgstr "Obdržena zpráva čís. %u od elementu „%s“ (%s): "
 
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
@@ -1125,12 +1128,12 @@
 
 #, c-format
 msgid "Got EOS from element \"%s\".\n"
-msgstr "Obdržen konec proudu od prvku „%s“.\n"
+msgstr "Obdržen konec proudu od elementu „%s“.\n"
 
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
-"NALEZEN ŠTÍTEK: nalezen prvkem „%s“.\n"
+"NALEZEN ŠTÍTEK: nalezen elementem „%s“.\n"
 "\n"
 
 #, c-format
@@ -1147,7 +1150,7 @@
 #, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
 msgstr ""
-"NALEZENA TABULKA S OBSAHEM: nalezena prvkem „%s“.\n"
+"NALEZENA TABULKA S OBSAHEM: nalezena elementem „%s“.\n"
 "\n"
 
 #, c-format
@@ -1167,7 +1170,7 @@
 
 #, c-format
 msgid "WARNING: from element %s: %s\n"
-msgstr "VAROVÁNÍ: od prvku %s: %s\n"
+msgstr "VAROVÁNÍ: od elementu %s: %s\n"
 
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
@@ -1203,11 +1206,11 @@
 
 #, c-format
 msgid "Missing element: %s\n"
-msgstr "Schází prvek: %s\n"
+msgstr "Schází element: %s\n"
 
 #, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "Obdržen kontext od prvku „%s“: %s=%s\n"
+msgstr "Obdržen kontext od elementu „%s“: %s=%s\n"
 
 msgid "Output tags (also known as metadata)"
 msgstr "Vypsat štítky (známé také jako metadata)"
@@ -1251,7 +1254,7 @@
 msgstr "VAROVÁNÍ: chybná roura: %s\n"
 
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
-msgstr "CHYBA: prvek „pipeline“ nebyl nalezen.\n"
+msgstr "CHYBA: element „pipeline“ nebyl nalezen.\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Nastavuje se rouru na POZASTAVENA…\n"
@@ -1313,15 +1316,3 @@
 
 msgid "Freeing pipeline ...\n"
 msgstr "Uvolňuje se roura…\n"
-
-#~ msgid "link without source element"
-#~ msgstr "propojení bez zdrojového prvku"
-
-#~ msgid "link without sink element"
-#~ msgstr "propojení bez cílového prvku"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "neexistuje žádný prvek pro připojení adresy URI „%s“"
-
-#~ msgid "could not link sink element for URI \"%s\""
-#~ msgstr "nelze připojit cílový prvek pro adresu URI „%s“"
diff --git a/po/da.gmo b/po/da.gmo
index 9553625..924be00 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index f24c520..8e2a1e9 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-07-16 13:26+0200\n"
 "Last-Translator: Mogens Jaeger <mogensjaeger@gmail.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -1001,6 +1001,10 @@
 msgid "force caps without doing a typefind"
 msgstr "gennemtving kapabiliteter uden at gennemføre en typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Mediestrøm indeholder ingen data"
+
 msgid "Stream contains no data."
 msgstr "Mediestrøm indeholder ingen data"
 
diff --git a/po/de.gmo b/po/de.gmo
index c133bee..2e5f6bf 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index e68d6ff..41169a0 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,16 +1,16 @@
-# German translation for gstreamer 1.3.2
+# German translation for gstreamer 1.4.1
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 #
 # Roland Illig <roland.illig@gmx.de>, 2004.
-# Christian Kirbach <christian.kirbach@googlemail.com>, 2009, 2010, 2011, 2012, 2013.
+# Christian Kirbach <christian.kirbach@googlemail.com>, 2009, 2010, 2011, 2012, 2013, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.3.2\n"
+"Project-Id-Version: gstreamer 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
-"PO-Revision-Date: 2014-05-22 20:48+0100\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
+"PO-Revision-Date: 2015-04-18 16:41+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -18,7 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.7.5\n"
 
 msgid "Print the GStreamer version"
 msgstr "Die Version von GStreamer ausgeben"
@@ -292,13 +292,13 @@
 msgstr "Üblicher Titel zu Sortierzwecken"
 
 msgid "artist"
-msgstr "Interpret"
+msgstr "Künstler"
 
 msgid "person(s) responsible for the recording"
 msgstr "Für die Aufnahme verantwortliche Person(en)"
 
 msgid "artist sortname"
-msgstr "Sortiername des Interpreten"
+msgstr "Sortiername des Künstlers"
 
 msgid "person(s) responsible for the recording for sorting purposes"
 msgstr "Für die Aufnahme verantwortliche Person(en) zu Sortierzwecken"
@@ -316,16 +316,16 @@
 msgstr "Album, das diese Daten enthält, zu Sortierzwecken"
 
 msgid "album artist"
-msgstr "Interpret des Albums"
+msgstr "Künstler des Albums"
 
 msgid "The artist of the entire album, as it should be displayed"
-msgstr "Der Interpret des gesamten Albums, so wie er angezeigt werden soll"
+msgstr "Der Künstler des gesamten Albums, so wie er angezeigt werden soll"
 
 msgid "album artist sortname"
-msgstr "Sortiername des Albeninterpreten"
+msgstr "Sortiername des Albenkünstlers"
 
 msgid "The artist of the entire album, as it should be sorted"
-msgstr "Der Interpret des gesamten Albums, so wie er einsortiert werden soll"
+msgstr "Der Künstler des gesamten Albums, so wie er einsortiert werden soll"
 
 msgid "date"
 msgstr "Datum"
@@ -396,10 +396,10 @@
 "Datenstroms bereit steht)"
 
 msgid "homepage"
-msgstr "Homepage"
+msgstr "Internetseite"
 
 msgid "Homepage for this media (i.e. artist or movie homepage)"
-msgstr "Homepage dieses Mediums (z.B. Interpret oder Film)"
+msgstr "Internetseite dieses Mediums (z.B. Künstler oder Filmseite)"
 
 msgid "description"
 msgstr "Beschreibung"
@@ -1028,6 +1028,10 @@
 msgid "force caps without doing a typefind"
 msgstr "Fähigkeiten ohne Typensuche erzwingen"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Der Datenstrom enthält keine Daten."
+
 msgid "Stream contains no data."
 msgstr "Der Datenstrom enthält keine Daten."
 
diff --git a/po/el.gmo b/po/el.gmo
index 1d923d1..8f73a52 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index e32bf58..002d88d 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-11-29 11:14+0200\n"
 "Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -1025,6 +1025,10 @@
 msgid "force caps without doing a typefind"
 msgstr "επιβολή δυνατοτήτων χωρίς εκτέλεση typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Η ροή δεν περιέχει δεδομένα."
+
 msgid "Stream contains no data."
 msgstr "Η ροή δεν περιέχει δεδομένα."
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 2f08bba..4178e6f 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index 28c136d..8798901 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2004-04-26 10:36-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
@@ -1015,6 +1015,10 @@
 msgstr ""
 
 #, fuzzy
+msgid "Stream contains not enough data."
+msgstr "album containing this data"
+
+#, fuzzy
 msgid "Stream contains no data."
 msgstr "album containing this data"
 
diff --git a/po/eo.gmo b/po/eo.gmo
index 7114560..2ea7de7 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 78c3964..da4c188 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2011-06-04 21:11+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -950,6 +950,9 @@
 msgid "force caps without doing a typefind"
 msgstr ""
 
+msgid "Stream contains not enough data."
+msgstr ""
+
 msgid "Stream contains no data."
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 8f35996..0fd5e97 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 702f4a3..edd29b0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2011-10-02 15:45+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -1016,6 +1016,10 @@
 msgid "force caps without doing a typefind"
 msgstr "forzar las capacidades sin hacer un «typefind»"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "El flujo no contiene datos."
+
 msgid "Stream contains no data."
 msgstr "El flujo no contiene datos."
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 173670c..0aa1dbe 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 4ba8f77..b29d1b7 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-03-25 13:10+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -1015,6 +1015,10 @@
 msgid "force caps without doing a typefind"
 msgstr "derrigortu gaitasunak motaren bilaketa landu gabe"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Korronteak ez du daturik."
+
 msgid "Stream contains no data."
 msgstr "Korronteak ez du daturik."
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 14d829f..78d1750 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 14bc174..6297a5d 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-11-17 23:10+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -1011,6 +1011,10 @@
 msgid "force caps without doing a typefind"
 msgstr "pakota kyvyt ilman tyyppihakua"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Virta on tyhjä."
+
 msgid "Stream contains no data."
 msgstr "Virta on tyhjä."
 
diff --git a/po/fr.gmo b/po/fr.gmo
index d5122e5..2357ebd 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 42f64fd..3f5e78d 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -4,14 +4,15 @@
 #
 # Thomas Vander Stichele <thomas@apestaart.org>, 2004.
 # Claude Paroz <claude@2xlibre.net>, 2008-2012.
+# Stéphane Aulery <lkppo@free.fr>, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
-"PO-Revision-Date: 2012-12-05 19:31+0100\n"
-"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
+"PO-Revision-Date: 2015-04-26 19:49+0200\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
@@ -28,11 +29,10 @@
 msgid "Print available debug categories and exit"
 msgstr "Affiche les catégories de débogage disponibles et quitte"
 
-#, fuzzy
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"Niveau de débogage par défaut, de 1 (erreurs uniquement) à 5 (tout) ou 0 "
+"Niveau de débogage par défaut, de 1 (erreurs uniquement) à 9 (tout) ou 0 "
 "pour aucune sortie"
 
 msgid "LEVEL"
@@ -890,18 +890,18 @@
 msgstr "pas d'élément source pour l'URI « %s »"
 
 msgid "syntax error"
-msgstr ""
+msgstr "erreur de syntaxe"
 
 msgid "bin"
-msgstr ""
+msgstr "bin"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "conteneur « %s » vide, non autorisé"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "pas de conteneur « %s », ignoré"
+msgstr "pas de conteneur « %s », dépaquetage des éléments"
 
 msgid "empty pipeline not allowed"
 msgstr "pipeline vide non autorisé"
@@ -1007,6 +1007,10 @@
 msgid "force caps without doing a typefind"
 msgstr "force les capacités sans faire de recherche de type"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Le flux ne contient aucune donnée."
+
 msgid "Stream contains no data."
 msgstr "Le flux ne contient aucune donnée."
 
@@ -1169,30 +1173,29 @@
 msgstr "AVERTISSEMENT : de l'élément %s : %s\n"
 
 msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr "Préparation terminée, attente de la fin de remplissage du tampon...\n"
+msgstr "Préparation terminée, attente de la fin de remplissage du tampon…\n"
 
-#, fuzzy
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr "Préparation terminée, attente de la fin de remplissage du tampon...\n"
+msgstr "Préparation terminée, attente de la fin du traitement…\n"
 
 msgid "buffering..."
-msgstr "mise en mémoire tampon..."
+msgstr "mise en mémoire tampon…"
 
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr "Mémoire tampon pleine, définition du pipeline à PLAYING...\n"
+msgstr "Mémoire tampon pleine, définition du pipeline à PLAYING…\n"
 
 msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr "Remplissage du tampon, définition du pipeline à PAUSED...\n"
+msgstr "Remplissage du tampon, définition du pipeline à PAUSED…\n"
 
 msgid "Redistribute latency...\n"
-msgstr "Redistribution de latence...\n"
+msgstr "Redistribution de latence…\n"
 
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
-msgstr "Définition de l'état à %s comme demandé par %s...\n"
+msgstr "Définition de l'état à %s comme demandé par %s…\n"
 
 msgid "Interrupt: Stopping pipeline ...\n"
-msgstr "Interruption : arrêt du pipeline...\n"
+msgstr "Interruption : arrêt du pipeline…\n"
 
 #, c-format
 msgid "Progress: (%s) %s\n"
@@ -1225,7 +1228,7 @@
 msgstr "N'affiche pas d'informations d'état de TYPE"
 
 msgid "TYPE1,TYPE2,..."
-msgstr "TYPE1,TYPE2,..."
+msgstr "TYPE1,TYPE2,…"
 
 msgid "Do not install a fault handler"
 msgstr "N'installe pas de gestionnaire de dysfonctionnement"
@@ -1257,19 +1260,19 @@
 msgstr "ERREUR : le pipeline refuse de se mettre en pause.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
-msgstr "Le pipeline est actif et n'a pas besoin de phase PREROLL...\n"
+msgstr "Le pipeline est actif et n'a pas besoin de phase PREROLL…\n"
 
 msgid "Pipeline is PREROLLING ...\n"
-msgstr "Le pipeline est en phase de PREROLL...\n"
+msgstr "Le pipeline est en phase de PREROLL…\n"
 
 msgid "ERROR: pipeline doesn't want to preroll.\n"
 msgstr "ERREUR : le pipeline refuse de passer en phase de préparation.\n"
 
 msgid "Pipeline is PREROLLED ...\n"
-msgstr "Le pipeline a terminé la phase PREROLL...\n"
+msgstr "Le pipeline a terminé la phase PREROLL…\n"
 
 msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Passage du pipeline à la phase PLAYING...\n"
+msgstr "Passage du pipeline à la phase PLAYING…\n"
 
 msgid "ERROR: pipeline doesn't want to play.\n"
 msgstr "ERREUR : le pipeline refuse de passer en mode actif.\n"
@@ -1281,13 +1284,13 @@
 msgstr "EOS à la fermeture est activé -- attente d'EOS après erreur\n"
 
 msgid "Waiting for EOS...\n"
-msgstr "Attente d'EOS...\n"
+msgstr "Attente d'EOS.\n"
 
 msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS reçu - arrêt du pipeline...\n"
+msgstr "EOS reçu - arrêt du pipeline…\n"
 
 msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interruption lors de l'attende d'EOS - arrêt du pipeline...\n"
+msgstr "Interruption lors de l'attende d'EOS - arrêt du pipeline…\n"
 
 msgid "An error happened while waiting for EOS\n"
 msgstr "Une erreur s'est produite lors de l'attente de l'EOS\n"
@@ -1296,50 +1299,10 @@
 msgstr "L'exécution s'est terminée après %"
 
 msgid "Setting pipeline to READY ...\n"
-msgstr "Définition du pipeline à READY (prêt)...\n"
+msgstr "Définition du pipeline à READY (prêt)…\n"
 
 msgid "Setting pipeline to NULL ...\n"
-msgstr "Définition du pipeline à NULL...\n"
+msgstr "Définition du pipeline à NULL…\n"
 
 msgid "Freeing pipeline ...\n"
-msgstr "Libération du pipeline...\n"
-
-#~ msgid "link without source element"
-#~ msgstr "lien sans élément source"
-
-#~ msgid "link without sink element"
-#~ msgstr "lien sans élément d'entrée (sink)"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "pas d'élément auquel relier l'URI « %s »"
-
-#~ msgid "could not link sink element for URI \"%s\""
-#~ msgstr "impossible de lier un élément d'entrée pour l'URI « %s »"
-
-#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "ERREUR : l'analyse du fichier xml « %s » a échoué.\n"
-
-#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr ""
-#~ "ERREUR : pas d'élément pipeline de premier niveau dans le fichier "
-#~ "« %s ».\n"
-
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr ""
-#~ "AVERTISSEMENT : actuellement, un seul élément de premier niveau est "
-#~ "géré.\n"
-
-#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
-#~ msgstr ""
-#~ "ERREUR : impossible d'analyser le paramètre numéro %d de la ligne de "
-#~ "commande : %s.\n"
-
-#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "AVERTISSEMENT : l'élément nommé « %s » est introuvable.\n"
-
-#~ msgid "Save xml representation of pipeline to FILE and exit"
-#~ msgstr ""
-#~ "Enregistre une représentation xml du pipeline dans FICHIER et quitte"
-
-#~ msgid "FILE"
-#~ msgstr "FICHIER"
+msgstr "Libération du pipeline…\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index 985459e..8fcb8f4 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index f84d077..817e4ad 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2012-12-15 03:29+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -1004,6 +1004,10 @@
 msgid "force caps without doing a typefind"
 msgstr "forzar as capacidades sen facer un «typefind»"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "O fluxo non contén datos."
+
 msgid "Stream contains no data."
 msgstr "O fluxo non contén datos."
 
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index ca58e93..d21ab15 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.5.0.1\n"
+"Project-Id-Version: gstreamer 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,94 +18,94 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: gst/gst.c:231
+#: gst/gst.c:242
 msgid "Print the GStreamer version"
 msgstr ""
 
-#: gst/gst.c:233
+#: gst/gst.c:244
 msgid "Make all warnings fatal"
 msgstr ""
 
-#: gst/gst.c:237
+#: gst/gst.c:248
 msgid "Print available debug categories and exit"
 msgstr ""
 
-#: gst/gst.c:241
+#: gst/gst.c:252
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
 
-#: gst/gst.c:243
+#: gst/gst.c:254
 msgid "LEVEL"
 msgstr ""
 
-#: gst/gst.c:245
+#: gst/gst.c:256
 msgid ""
 "Comma-separated list of category_name:level pairs to set specific levels for "
 "the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
 msgstr ""
 
-#: gst/gst.c:248
+#: gst/gst.c:259
 msgid "LIST"
 msgstr ""
 
-#: gst/gst.c:250
+#: gst/gst.c:261
 msgid "Disable colored debugging output"
 msgstr ""
 
-#: gst/gst.c:254
+#: gst/gst.c:265
 msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
 
-#: gst/gst.c:258
+#: gst/gst.c:269
 msgid "Disable debugging"
 msgstr ""
 
-#: gst/gst.c:262
+#: gst/gst.c:273
 msgid "Enable verbose plugin loading diagnostics"
 msgstr ""
 
-#: gst/gst.c:266
+#: gst/gst.c:277
 msgid "Colon-separated paths containing plugins"
 msgstr ""
 
-#: gst/gst.c:266
+#: gst/gst.c:277
 msgid "PATHS"
 msgstr ""
 
-#: gst/gst.c:269
+#: gst/gst.c:280
 msgid ""
 "Comma-separated list of plugins to preload in addition to the list stored in "
 "environment variable GST_PLUGIN_PATH"
 msgstr ""
 
-#: gst/gst.c:271
+#: gst/gst.c:282
 msgid "PLUGINS"
 msgstr ""
 
-#: gst/gst.c:274
+#: gst/gst.c:285
 msgid "Disable trapping of segmentation faults during plugin loading"
 msgstr ""
 
-#: gst/gst.c:279
+#: gst/gst.c:290
 msgid "Disable updating the registry"
 msgstr ""
 
-#: gst/gst.c:284
+#: gst/gst.c:295
 msgid "Disable spawning a helper process while scanning the registry"
 msgstr ""
 
-#: gst/gst.c:289
+#: gst/gst.c:300
 msgid "GStreamer Options"
 msgstr ""
 
-#: gst/gst.c:290
+#: gst/gst.c:301
 msgid "Show GStreamer Options"
 msgstr ""
 
-#: gst/gst.c:873
+#: gst/gst.c:884
 msgid "Unknown option"
 msgstr ""
 
@@ -1115,12 +1115,12 @@
 msgid "Internal data flow problem."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3995
+#: libs/gst/base/gstbasesink.c:4013
 msgid "Internal data stream error."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:4005 libs/gst/base/gstbasesrc.c:2942
-#: libs/gst/base/gstbasesrc.c:2951 plugins/elements/gstdownloadbuffer.c:1324
+#: libs/gst/base/gstbasesink.c:4023 libs/gst/base/gstbasesrc.c:2942
+#: libs/gst/base/gstbasesrc.c:2951 plugins/elements/gstdownloadbuffer.c:1344
 #: plugins/elements/gstqueue.c:968 plugins/elements/gstqueue.c:1514
 #: plugins/elements/gstqueue2.c:2353 plugins/elements/gstqueue2.c:2829
 msgid "Internal data flow error."
@@ -1152,22 +1152,22 @@
 msgid "Filter caps change behaviour"
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:921 plugins/elements/gstqueue2.c:1536
+#: plugins/elements/gstdownloadbuffer.c:915 plugins/elements/gstqueue2.c:1536
 msgid "No Temp directory specified."
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:927 plugins/elements/gstqueue2.c:1542
+#: plugins/elements/gstdownloadbuffer.c:921 plugins/elements/gstqueue2.c:1542
 #, c-format
 msgid "Could not create temp file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:935 plugins/elements/gstfilesrc.c:518
+#: plugins/elements/gstdownloadbuffer.c:929 plugins/elements/gstfilesrc.c:518
 #: plugins/elements/gstqueue2.c:1550
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:1246 plugins/elements/gstqueue2.c:1956
+#: plugins/elements/gstdownloadbuffer.c:1253 plugins/elements/gstqueue2.c:1956
 msgid "Error while writing to download file."
 msgstr ""
 
@@ -1238,7 +1238,12 @@
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:1058
+#: plugins/elements/gsttypefindelement.c:932
+#: plugins/elements/gsttypefindelement.c:953
+msgid "Stream contains not enough data."
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:1072
 msgid "Stream contains no data."
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index 2fa2e20..458c1a5 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 7fbc765..e42e5d4 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2012-05-25 16:47+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -997,6 +997,10 @@
 msgid "force caps without doing a typefind"
 msgstr "prisiljava mogućnosti bez traženja vrste"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Tok podataka ne sadrži podatke."
+
 msgid "Stream contains no data."
 msgstr "Tok podataka ne sadrži podatke."
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 38f5cc5..ecf6bc7 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 32a6a81..0d58bf2 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-05-23 21:08+0200\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -999,6 +999,10 @@
 msgid "force caps without doing a typefind"
 msgstr "nagybetűk kényszerítése betűkeresés nélkül"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Az adatfolyam nem tartalmaz adatokat."
+
 msgid "Stream contains no data."
 msgstr "Az adatfolyam nem tartalmaz adatokat."
 
diff --git a/po/id.gmo b/po/id.gmo
index 4773404..5b7a423 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 9514638..2b62a64 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-05-31 22:06+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -1002,6 +1002,10 @@
 msgid "force caps without doing a typefind"
 msgstr "paksa huruf tanpa melakukan pencarian tipe"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Arus tidak berisi data."
+
 msgid "Stream contains no data."
 msgstr "Arus tidak berisi data."
 
diff --git a/po/it.gmo b/po/it.gmo
index bbc94d7..1661fe5 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index c2c95ed..838d372 100644
--- a/po/it.po
+++ b/po/it.po
@@ -106,7 +106,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-10-25 10:03+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -1163,6 +1163,10 @@
 msgid "force caps without doing a typefind"
 msgstr "forza i caps senza eseguire un typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Lo stream non contiene dati."
+
 msgid "Stream contains no data."
 msgstr "Lo stream non contiene dati."
 
diff --git a/po/ja.gmo b/po/ja.gmo
index b33b698..2e42ba3 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 9934c36..175febb 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2013-08-20 14:56+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -966,6 +966,10 @@
 msgid "force caps without doing a typefind"
 msgstr ""
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "ストリームでデータが含まれていません"
+
 msgid "Stream contains no data."
 msgstr "ストリームでデータが含まれていません"
 
diff --git a/po/lt.gmo b/po/lt.gmo
index 4d5b5e7..ece3b53 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index d5eee95..f08f9ec 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-07-16 00:50+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -1008,6 +1008,10 @@
 msgid "force caps without doing a typefind"
 msgstr "priverstinai naudoti galimybes neatliekant tipo paieškos"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Sraute nėra duomenų."
+
 msgid "Stream contains no data."
 msgstr "Sraute nėra duomenų."
 
diff --git a/po/nb.gmo b/po/nb.gmo
index 5717ca6..7e9d3ca 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index d33a0da..b07d810 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-10-24 21:36+0200\n"
 "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -972,6 +972,10 @@
 msgid "force caps without doing a typefind"
 msgstr ""
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Strømmen inneholder ikke data."
+
 msgid "Stream contains no data."
 msgstr "Strømmen inneholder ikke data."
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 1d61005..75e19e1 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index c9283ed..b16292d 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-05-22 00:46+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -1012,6 +1012,10 @@
 msgid "force caps without doing a typefind"
 msgstr "forceer mogelijkheden zonder een \"typefind\" te doen"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Stroom zonder gegevens."
+
 msgid "Stream contains no data."
 msgstr "Stroom zonder gegevens."
 
diff --git a/po/pl.gmo b/po/pl.gmo
index 392d47d..307995c 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 316599c..c811a10 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-05-22 18:22+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -1004,6 +1004,10 @@
 msgid "force caps without doing a typefind"
 msgstr "wymuszenie możliwości bez sprawdzania"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Strumień nie zawiera danych."
+
 msgid "Stream contains no data."
 msgstr "Strumień nie zawiera danych."
 
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 222dc48..b7af8b0 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 3abfcf1..007438d 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -17,7 +17,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2013-12-29 18:20-0200\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -1021,6 +1021,10 @@
 msgid "force caps without doing a typefind"
 msgstr "forçar Caps sem usar o typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "O fluxo não contém dados."
+
 msgid "Stream contains no data."
 msgstr "O fluxo não contém dados."
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 902359f..5f982b6 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 63b9e98..db62f1a 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-08-16 01:10+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -1026,6 +1026,10 @@
 msgid "force caps without doing a typefind"
 msgstr "forțează caps fără a efectua un typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Fluxul nu conține date."
+
 msgid "Stream contains no data."
 msgstr "Fluxul nu conține date."
 
diff --git a/po/ru.gmo b/po/ru.gmo
index d3bfd55..e3b183e 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index ca43808..43c007f 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-05-22 20:12+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -1003,6 +1003,10 @@
 msgid "force caps without doing a typefind"
 msgstr "форсировать возможности без выполнения typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Поток не содержит данных."
+
 msgid "Stream contains no data."
 msgstr "Поток не содержит данных."
 
diff --git a/po/rw.gmo b/po/rw.gmo
index 7e1c440..570a497 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 7def79f..c72f983 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -15,7 +15,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.8\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -1180,6 +1180,10 @@
 msgstr ""
 
 #, fuzzy
+msgid "Stream contains not enough data."
+msgstr "iyi Ibyatanzwe"
+
+#, fuzzy
 msgid "Stream contains no data."
 msgstr "iyi Ibyatanzwe"
 
diff --git a/po/sk.gmo b/po/sk.gmo
index 8616173..9e3eda4 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index e9c7d58..e005045 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-01-30 10:24+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -1004,6 +1004,10 @@
 msgid "force caps without doing a typefind"
 msgstr "vynútiť veľké písmená bez kontroly"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Prúd neobsahuje údaje."
+
 msgid "Stream contains no data."
 msgstr "Prúd neobsahuje údaje."
 
diff --git a/po/sl.gmo b/po/sl.gmo
index 84e1634..4e7cc0f 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 318a445..3cc8306 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-04-09 22:38+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -1001,6 +1001,10 @@
 msgid "force caps without doing a typefind"
 msgstr "vsili velike črke brez potrjevanja pisave"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Pretok ne vsebuje podatkov."
+
 msgid "Stream contains no data."
 msgstr "Pretok ne vsebuje podatkov."
 
diff --git a/po/sq.gmo b/po/sq.gmo
index 4a9fd00..713adf4 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 96537b5..b74b078 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.4\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2004-08-07 23:46+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <begraj@hotmail.com>\n"
@@ -1021,6 +1021,10 @@
 msgstr ""
 
 #, fuzzy
+msgid "Stream contains not enough data."
+msgstr "albumi që përmban këtë të dhënë"
+
+#, fuzzy
 msgid "Stream contains no data."
 msgstr "albumi që përmban këtë të dhënë"
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 3b0cee9..3211106 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index b38ed6b..9dde11d 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-06-18 20:12+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -1003,6 +1003,10 @@
 msgid "force caps without doing a typefind"
 msgstr "приморај могућности без обављања претраге уписа"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Овај ток не садржи податке."
+
 msgid "Stream contains no data."
 msgstr "Овај ток не садржи податке."
 
diff --git a/po/sv.gmo b/po/sv.gmo
index 0077c7a..aedd5e2 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 25082b9..31191be 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-07-11 02:52+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -1001,6 +1001,10 @@
 msgid "force caps without doing a typefind"
 msgstr "tvinga förmågor utan att göra en typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Strömmen innehåller inget data."
+
 msgid "Stream contains no data."
 msgstr "Strömmen innehåller inget data."
 
diff --git a/po/tr.gmo b/po/tr.gmo
index 04259a5..96c0a43 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 0c166f6..4d499bd 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,19 +1,22 @@
 # translation of GStreamer to Turkish
 # Copyright (C) 2004 Free Software Foundation, Inc.
-# Baris Cicek <baris@teamforce.name.tr>, 2004.
+# This file is distributed under the same license as the gstreamer package.
 #
+# Baris Cicek <baris@teamforce.name.tr>, 2004, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.8.0\n"
+"Project-Id-Version: gstreamer 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
-"PO-Revision-Date: 2004-04-03 03:14+0300\n"
-"Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
+"PO-Revision-Date: 2015-01-10 21:06+0100\n"
+"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 1.5\n"
 
 msgid "Print the GStreamer version"
 msgstr "GStreamer sürünümü yazdır"
@@ -24,12 +27,11 @@
 msgid "Print available debug categories and exit"
 msgstr "Geçerli hata ayıklama sınıflarını yazdır ve çık"
 
-#, fuzzy
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"Öntanımlı hata ayıklama seviyesi 1'den (sadece hatalar) 5'e (her şey) kadar "
-"ya da çıktı olmaması için 0"
+"Öntanımlı hata ayıklama seviyesi 1'den (sadece hatalar) 9'a (her şey) ya da "
+"çıktı olmaması için 0"
 
 msgid "LEVEL"
 msgstr "SEVİYE"
@@ -51,6 +53,8 @@
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
+"Hata ayıklama günlüklerini renklendirme kipini değiştirir. Olası kipler: "
+"kapalı, açık, devredışı, otomatik, unix"
 
 msgid "Disable debugging"
 msgstr "Hata ayıklamayı kapat"
@@ -59,18 +63,17 @@
 msgstr "Ayrıntılı eklenti yükleme detaylarını etkinleştir"
 
 msgid "Colon-separated paths containing plugins"
-msgstr ""
+msgstr "Eklentileri içeren iki nokta üst üste ile ayrılmış yollar"
 
 msgid "PATHS"
 msgstr "YOLLAR"
 
-#, fuzzy
 msgid ""
 "Comma-separated list of plugins to preload in addition to the list stored in "
 "environment variable GST_PLUGIN_PATH"
 msgstr ""
 "Çevre değişkeni GST_PLUGIN_PATH içinde saklanan listeye ek olarak önceden "
-"yüklenecek eklentilerin virgün ile ayırılmış listesi"
+"yüklenecek virgün ile ayrılmış eklenti listesi"
 
 msgid "PLUGINS"
 msgstr "EKLENTİLER"
@@ -79,81 +82,71 @@
 msgstr "Eklenti yüklenirken kesimleme hatalarını yakalamayı kapat"
 
 msgid "Disable updating the registry"
-msgstr ""
+msgstr "Kayıt defteri güncellemeyi devre dışı bırak"
 
 msgid "Disable spawning a helper process while scanning the registry"
 msgstr ""
+"Kayıt defteri taranırken yardımcı bir işlem oluşturmayı devre dışı bırak"
 
 msgid "GStreamer Options"
-msgstr ""
+msgstr "GStreamer Seçenekleri"
 
-#, fuzzy
 msgid "Show GStreamer Options"
-msgstr "GStreamer sürünümü yazdır"
+msgstr "GStreamer Seçeneklerini Göster"
 
 msgid "Unknown option"
-msgstr ""
+msgstr "Bilinmeyen seçenek"
 
 msgid "GStreamer encountered a general core library error."
 msgstr "GStreamer genel temel kütüphane hatası ile karşılaştı."
 
-#, fuzzy
 msgid ""
 "GStreamer developers were too lazy to assign an error code to this error."
 msgstr ""
-"GStreamer geliştiricileri bu hataya hata kodu vermeyecek kadar "
-"tembelmişler.  Lütfen hata bildiriminde bulunun."
+"GStreamer geliştiricileri bu hata için bir hata kodu atamaya üşenmişler."
 
-#, fuzzy
 msgid "Internal GStreamer error: code not implemented."
-msgstr ""
-"Dahili GStreamer hatası: kod tamamlanmamış.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: kod tamamlanmamış."
 
 msgid ""
 "GStreamer error: state change failed and some element failed to post a "
 "proper error message with the reason for the failure."
 msgstr ""
+"GStreamer hatası: durum değişikliği başarısız oldu ve bazı öge başarısızlık "
+"nedeni ile ilgili uygun bir hata iletisi göndermede başarısız oldu."
 
-#, fuzzy
 msgid "Internal GStreamer error: pad problem."
-msgstr "Dahili GStreamer hatası: doldurma sorunu.  Hata bildiriminde bulunun."
+msgstr "Dahili GStreamer hatası: dolgu problemi."
 
-#, fuzzy
 msgid "Internal GStreamer error: thread problem."
-msgstr "Dahili GStreamer hatası: dallanma sorunu.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: iş parçacığı sorunu."
 
-#, fuzzy
 msgid "GStreamer error: negotiation problem."
-msgstr "Dahili GStreamer hatası: uzlaşma sorunu.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: uzlaşma sorunu."
 
-#, fuzzy
 msgid "Internal GStreamer error: event problem."
-msgstr "Dahili GStreamer hatası: olay sorunu.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: olay sorunu."
 
-#, fuzzy
 msgid "Internal GStreamer error: seek problem."
-msgstr "Dahili GStreamer hatası: atlama sorunu.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: arama sorunu."
 
-#, fuzzy
 msgid "Internal GStreamer error: caps problem."
-msgstr ""
-"Dahili GStreamer hatası: kabiliyetler sorunu.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: kapasite sorunu."
 
-#, fuzzy
 msgid "Internal GStreamer error: tag problem."
-msgstr "Dahili GStreamer hatası: etiket sorunu.  Hata bildiriminde bulunun."
+msgstr "İç GStreamer hatası: etiket sorunu."
 
 msgid "Your GStreamer installation is missing a plug-in."
-msgstr ""
+msgstr "GStreamer kurulumunuzda bir eklenti eksik."
 
-#, fuzzy
 msgid "GStreamer error: clock problem."
-msgstr "Dahili GStreamer hatası: atlama sorunu.  Hata bildiriminde bulunun."
+msgstr "GStreamer hatası: saat sorunu."
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
 "disabled."
 msgstr ""
+"Bu uygulama devre dışı bırakılmış GStreamer işlevini kullanmayı deniyor."
 
 msgid "GStreamer encountered a general supporting library error."
 msgstr "GStreamer genel kütüphane destekleme hatası ile karşılaştı."
@@ -164,16 +157,14 @@
 msgid "Could not close supporting library."
 msgstr "Destekleyici kütüphane kapatılamadı."
 
-#, fuzzy
 msgid "Could not configure supporting library."
-msgstr "Destekleyici kütüphane kapatılamadı."
+msgstr "Desteklenen kütüphane yapılandırılamadı."
 
 msgid "Encoding error."
-msgstr ""
+msgstr "Kodlama hatası."
 
-#, fuzzy
 msgid "GStreamer encountered a general resource error."
-msgstr "GStreamer genel temel kütüphane hatası ile karşılaştı."
+msgstr "GStreamer genel bir kaynak hatası ile karşılaştı."
 
 msgid "Resource not found."
 msgstr "Kaynak bulunamadı."
@@ -209,15 +200,13 @@
 msgstr "Kaynağa değerler atanamadı ya da alınamadı."
 
 msgid "No space left on the resource."
-msgstr ""
+msgstr "Kaynakta boş alan kalmadı."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Kaynağa yazılamadı."
+msgstr "Kaynağa erişmek için yetkili değil."
 
-#, fuzzy
 msgid "GStreamer encountered a general stream error."
-msgstr "GStreamer genel temel kütüphane hatası ile karşılaştı."
+msgstr "GStreamer genel bir akış hatası ile karşılaştı."
 
 msgid "Element doesn't implement handling of this stream. Please file a bug."
 msgstr ""
@@ -245,17 +234,17 @@
 msgid "Could not multiplex stream."
 msgstr "Akım çoklandırılamadı."
 
-#, fuzzy
 msgid "The stream is in the wrong format."
-msgstr "Akım yanlış biçimde."
+msgstr "Akış yanlış biçimdedir."
 
 msgid "The stream is encrypted and decryption is not supported."
-msgstr ""
+msgstr "Akış şifrelidir ve şifre açma desteklenmiyor."
 
 msgid ""
 "The stream is encrypted and can't be decrypted because no suitable key has "
 "been supplied."
 msgstr ""
+"Akış şifrelidir ve şifresi açılamaz çünkü uygun anahtar temin edilmemiştir."
 
 #, c-format
 msgid "No error message for domain %s."
@@ -266,11 +255,11 @@
 msgstr "%s etki alanı ve %d kodu için standart hata iletisi yok."
 
 msgid "Selected clock cannot be used in pipeline."
-msgstr ""
+msgstr "Seçilen saat ardışık düzende kulanılamıyor."
 
 #, c-format
 msgid "Error writing registry cache to %s: %s"
-msgstr ""
+msgstr "%s konumuna kayıt defteri önbelleğini yazmada hata: %s"
 
 msgid "title"
 msgstr "başlık"
@@ -279,11 +268,10 @@
 msgstr "yaygın olarak kullanılan başlık"
 
 msgid "title sortname"
-msgstr ""
+msgstr "sıralamaadı başlığı"
 
-#, fuzzy
 msgid "commonly used title for sorting purposes"
-msgstr "yaygın olarak kullanılan başlık"
+msgstr "amaçları sıralamak için yaygın olarak kullanılan başlık"
 
 msgid "artist"
 msgstr "sanatçı"
@@ -292,11 +280,10 @@
 msgstr "kayıttan sorumlu olan kişi ya da kişiler"
 
 msgid "artist sortname"
-msgstr ""
+msgstr "sanatçı sıralamadı"
 
-#, fuzzy
 msgid "person(s) responsible for the recording for sorting purposes"
-msgstr "kayıttan sorumlu olan kişi ya da kişiler"
+msgstr "sıralama amaçlı kayıttan sorumlu kişi(ler)"
 
 msgid "album"
 msgstr "albüm"
@@ -305,39 +292,34 @@
 msgstr "bu bilgiyi içeren albüm"
 
 msgid "album sortname"
-msgstr ""
+msgstr "albüm sıralama adı"
 
-#, fuzzy
 msgid "album containing this data for sorting purposes"
-msgstr "bu bilgiyi içeren albüm"
+msgstr "sıralama amaçlı bu verileri içeren albüm"
 
-#, fuzzy
 msgid "album artist"
-msgstr "sanatçı"
+msgstr "albüm sanatçısı"
 
 msgid "The artist of the entire album, as it should be displayed"
-msgstr ""
+msgstr "Gerektiği gibi gösterilen tüm albümlerin sanatçıları"
 
 msgid "album artist sortname"
-msgstr ""
+msgstr "albüm sanatçıları sıralamaadı"
 
 msgid "The artist of the entire album, as it should be sorted"
-msgstr ""
+msgstr "Gerektiği gibi sıralanan tüm albümlerin sanatçıları"
 
 msgid "date"
 msgstr "tarih"
 
-#, fuzzy
 msgid "date the data was created (as a GDate structure)"
-msgstr "bu verinin oluşturulduğu tarih (Julian takvimi günleri olarak)"
+msgstr "tarih verisi oluşturuldu (bir GDate yapısı olarak)"
 
-#, fuzzy
 msgid "datetime"
-msgstr "tarih"
+msgstr "tarihsaat"
 
-#, fuzzy
 msgid "date and time the data was created (as a GstDateTime structure)"
-msgstr "bu verinin oluşturulduğu tarih (Julian takvimi günleri olarak)"
+msgstr "tarih ve saat verisi oluşturuldu (bir GstDateTime yapısı olarak)"
 
 msgid "genre"
 msgstr "tür"
@@ -351,13 +333,11 @@
 msgid "free text commenting the data"
 msgstr "veriyi yorumlayan serbest metin"
 
-#, fuzzy
 msgid "extended comment"
-msgstr "yorum"
+msgstr "genişletilmiş yorum"
 
-#, fuzzy
 msgid "free text commenting the data in key=value or key[en]=comment form"
-msgstr "veriyi yorumlayan serbest metin"
+msgstr "anahtar=deger ya da anahtar[en]=yorum biçimindeki metin yorumlama"
 
 msgid "track number"
 msgstr "parça numarası"
@@ -390,12 +370,14 @@
 "Origin of media as a URI (location, where the original of the file or stream "
 "is hosted)"
 msgstr ""
+"URI olarak ortam kaynağı (dosyanın özgün konumu ya da akışın barındırıldığı "
+"konum)"
 
 msgid "homepage"
-msgstr ""
+msgstr "anasayfa"
 
 msgid "Homepage for this media (i.e. artist or movie homepage)"
-msgstr ""
+msgstr "Bu ortamın anasayfası (yani sanatçı ya da film anasayfası)"
 
 msgid "description"
 msgstr "tanım"
@@ -425,20 +407,17 @@
 msgid "copyright notice of the data"
 msgstr "verinin telif hakkı notu"
 
-#, fuzzy
 msgid "copyright uri"
-msgstr "telif hakkı"
+msgstr "telif hakkı uri"
 
-#, fuzzy
 msgid "URI to the copyright notice of the data"
-msgstr "verinin telif hakkı notu"
+msgstr "Verinin telif hakkı bildirimi için URI"
 
-#, fuzzy
 msgid "encoded by"
-msgstr "kodlayıcı"
+msgstr "kodlayan"
 
 msgid "name of the encoding person or organization"
-msgstr ""
+msgstr "kodlayan kişi ya da organizasyonun adı"
 
 msgid "contact"
 msgstr "iletişim"
@@ -452,13 +431,11 @@
 msgid "license of data"
 msgstr "verinin lisansı"
 
-#, fuzzy
 msgid "license uri"
-msgstr "lisans"
+msgstr "lisans uri"
 
-#, fuzzy
 msgid "URI to the license of the data"
-msgstr "verinin lisansı"
+msgstr "Verinin lisansı için URI"
 
 msgid "performer"
 msgstr "icra eden"
@@ -467,11 +444,10 @@
 msgstr "icra eden kişi"
 
 msgid "composer"
-msgstr ""
+msgstr "düzenleyici"
 
-#, fuzzy
 msgid "person(s) who composed the recording"
-msgstr "kayıttan sorumlu olan kişi ya da kişiler"
+msgstr "kayıt oluşturan kişi(ler)"
 
 msgid "duration"
 msgstr "süre"
@@ -497,21 +473,17 @@
 msgid "codec the audio data is stored in"
 msgstr "ses verisinin saklandığı kodek"
 
-#, fuzzy
 msgid "subtitle codec"
-msgstr "video kodeki"
+msgstr "altyazı kodlayıcı-kod çözücüsü"
 
-#, fuzzy
 msgid "codec the subtitle data is stored in"
-msgstr "videonun saklandığı kodek"
+msgstr "altyazı verisinin saklandığı kodlayıcı-kod çözücü"
 
-#, fuzzy
 msgid "container format"
-msgstr "iletişim bilgisi"
+msgstr "kap biçimi"
 
-#, fuzzy
 msgid "container format the data is stored in"
-msgstr "verinin saklandığı kodek"
+msgstr "verilerin saklandığı kap biçemi"
 
 msgid "bitrate"
 msgstr "örnekleme hızı"
@@ -579,274 +551,271 @@
 msgid "peak of the album"
 msgstr "albüm üst sınırı"
 
-#, fuzzy
 msgid "replaygain reference level"
-msgstr "tekrarkazanç parça üst sınırı"
+msgstr "yeniden kazanç kaynak seviyesi"
 
 msgid "reference level of track and album gain values"
-msgstr ""
+msgstr "şarkı ve albüm kazanç değerlerinin kaynak seviyesi"
 
 msgid "language code"
-msgstr ""
+msgstr "dil kodu"
 
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr ""
+msgstr "bu akış için ISO-639-1 ya da ISO-639-2 standartlarına uygun dil kodu"
 
 msgid "language name"
-msgstr ""
+msgstr "dil adı"
 
 msgid "freeform name of the language this stream is in"
-msgstr ""
+msgstr "bu akıştaki dilin serbest biçem adı"
 
 msgid "image"
-msgstr ""
+msgstr "görüntü"
 
-#, fuzzy
 msgid "image related to this stream"
-msgstr "bu akımı kodlarken kullanılacak kodlayıcı"
+msgstr "bu akış ile ilişkili görüntü"
 
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
 msgid "preview image"
-msgstr ""
+msgstr "görüntüyü önizle"
 
 msgid "preview image related to this stream"
-msgstr ""
+msgstr "bu akış ile ilişkili görüntüyü önizle"
 
 msgid "attachment"
-msgstr ""
+msgstr "ek"
 
-#, fuzzy
 msgid "file attached to this stream"
-msgstr "bu akımı kodlarken kullanılacak kodlayıcı"
+msgstr "bu akışa dosya eklendi"
 
 msgid "beats per minute"
-msgstr ""
+msgstr "dakikadaki vuruş"
 
 msgid "number of beats per minute in audio"
-msgstr ""
+msgstr "seste dakikadaki vuruş sayısı"
 
 msgid "keywords"
-msgstr ""
+msgstr "anahtar sözcükler"
 
-#, fuzzy
 msgid "comma separated keywords describing the content"
-msgstr "verinin içeriğini tanımlayan kısa metin"
+msgstr "içeriği tanımlayan virgülle ayrılmış anahtar sözcükler"
 
-#, fuzzy
 msgid "geo location name"
-msgstr "konum"
+msgstr "coğrafi konum adı"
 
 msgid ""
 "human readable descriptive location of where the media has been recorded or "
 "produced"
-msgstr ""
+msgstr "ortamın kaydedildiği ya da üretildiği okunabilir açıklayıcı konum"
 
 msgid "geo location latitude"
-msgstr ""
+msgstr "coğrafi konum enlemi"
 
 msgid ""
 "geo latitude location of where the media has been recorded or produced in "
 "degrees according to WGS84 (zero at the equator, negative values for "
 "southern latitudes)"
 msgstr ""
+"WGS84 yerlem derecesinde (ekvatorda sıfır, güney enlemler için negatif "
+"değerler) üretilen ya da kaydedilen ortamın coğrafik enlem konumu"
 
 msgid "geo location longitude"
-msgstr ""
+msgstr "coğrafi konum boylamı"
 
 msgid ""
 "geo longitude location of where the media has been recorded or produced in "
 "degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
 "negative values for western longitudes)"
 msgstr ""
+"WGS84 yerlem derecesinde (Greenwich/UK baş meridyeninde sıfır,  batı "
+"boylamları için negatif değerler) üretilen ya da kaydedilen ortamın coğrafik "
+"boylam konumu"
 
 msgid "geo location elevation"
-msgstr ""
+msgstr "coğrafi konum yüksekliği"
 
 msgid ""
 "geo elevation of where the media has been recorded or produced in meters "
 "according to WGS84 (zero is average sea level)"
 msgstr ""
+"WGS84 yerlem ölçüsünde (ortalama deniz seviyesi sıfırdır) üretilen ya da "
+"kaydedilen ortamın coğrafik yüksekliği"
 
-#, fuzzy
 msgid "geo location country"
-msgstr "konum"
+msgstr "ülke coğrafi konumu"
 
 msgid "country (english name) where the media has been recorded or produced"
-msgstr ""
+msgstr "ortamın üretildiği ya da kaydedildiği ülke (ingilizce adı)"
 
-#, fuzzy
 msgid "geo location city"
-msgstr "konum"
+msgstr "şehir coğrafi konumu"
 
 msgid "city (english name) where the media has been recorded or produced"
-msgstr ""
+msgstr "ortamın kaydedildiği ya da üretildiği şehir (ingilizce adı)"
 
-#, fuzzy
 msgid "geo location sublocation"
-msgstr "konum"
+msgstr "bölge coğrafi konumu"
 
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
+"ortamın üretildiği ya da oluşturulduğu şehirdeki bir konum (örneğin semt)"
 
-#, fuzzy
 msgid "geo location horizontal error"
-msgstr "konum"
+msgstr "coğrafi yatay konum hatası"
 
 msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr ""
+msgstr "yatay konumlandırma ölçümlerinde beklenen hata (metre cinsinden)"
 
-#, fuzzy
 msgid "geo location movement speed"
-msgstr "konum"
+msgstr "coğrafi konum hareket hızı"
 
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
-msgstr ""
+msgstr "yakalama aygıtının m/s cinsinden yakalama yaparken ki hareket hızı"
 
-#, fuzzy
 msgid "geo location movement direction"
-msgstr "konum"
+msgstr "coğrafi konum hareket doğrultusu"
 
 msgid ""
 "indicates the movement direction of the device performing the capture of a "
 "media. It is represented as degrees in floating point representation, 0 "
 "means the geographic north, and increases clockwise"
 msgstr ""
+"Bir medyada yakalama yapan aygıtın haraket yönünü belirtir. Kayan noktalı "
+"sayı olarak, derece biçiminde gösterilir, 0 çoğrafik kuzeydir ve saat "
+"yönünde belirtilir"
 
-#, fuzzy
 msgid "geo location capture direction"
-msgstr "konum"
+msgstr "coğrafi konum yakalama açıklaması"
 
 msgid ""
 "indicates the direction the device is pointing to when capturing  a media. "
 "It is represented as degrees in floating point  representation, 0 means the "
 "geographic north, and increases clockwise"
 msgstr ""
+"Bir medya yakalanırken işaret edilen aygıtın yönünü belirtir. Kayan noktalı "
+"sayı olarak, derece biçiminde gösterilir, 0 çoğrafik kuzeydir ve saat "
+"yönünde belirtilir"
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
 msgid "show name"
-msgstr ""
+msgstr "adı göster"
 
 msgid "Name of the tv/podcast/series show the media is from"
-msgstr ""
+msgstr "Ortamın tv/podcast/serie den birisinin adı"
 
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
 msgid "show sortname"
-msgstr ""
+msgstr "sıralamaadını göster"
 
 msgid ""
 "Name of the tv/podcast/series show the media is from, for sorting purposes"
-msgstr ""
+msgstr "Ortamın tv/podcast/serie den birisinin adı, sıralama için"
 
-#, fuzzy
 msgid "episode number"
-msgstr "disk numarası"
+msgstr "bölüm numarası"
 
 msgid "The episode number in the season the media is part of"
-msgstr ""
+msgstr "Ortamın parçası olduğu sezonun bölüm numarası"
 
-#, fuzzy
 msgid "season number"
-msgstr "disk numarası"
+msgstr "oturum numarası"
 
 msgid "The season number of the show the media is part of"
-msgstr ""
+msgstr "Ortamın parçası olduğu sezon numarası"
 
-#, fuzzy
 msgid "lyrics"
-msgstr "lisans"
+msgstr "şarkı sözleri"
 
 msgid "The lyrics of the media, commonly used for songs"
-msgstr ""
+msgstr "Ortamın şarkı sözleri, genellikle şarkılar için kullanılır"
 
 msgid "composer sortname"
-msgstr ""
+msgstr "besteci sıralama adı"
 
-#, fuzzy
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "kayıttan sorumlu olan kişi ya da kişiler"
+msgstr "sıralama amaçlı kayıt oluşturan kişi(ler)"
 
 msgid "grouping"
-msgstr ""
+msgstr "gruplandırma"
 
 msgid ""
 "Groups related media that spans multiple tracks, like the different pieces "
 "of a concerto. It is a higher level than a track, but lower than an album"
 msgstr ""
+"Grup ilgili ortam çoklu şarkılar içerir, bir konçertonun farklı parçaları "
+"gibi. Bu şarkıdan daha üst seviyedir ancak albümden alt seviyedir"
 
-#, fuzzy
 msgid "user rating"
-msgstr "süre"
+msgstr "kullanıcı değerlendirmesi"
 
 msgid ""
 "Rating attributed by a user. The higher the rank, the more the user likes "
 "this media"
 msgstr ""
+"Kullanıcı tarafından verilmiş puanlama. En yüksek puanlama, bir çok "
+"kullanıcı bu ortamı beğenmiş"
 
 msgid "device manufacturer"
-msgstr ""
+msgstr "aygıt üreticisi"
 
-#, fuzzy
 msgid "Manufacturer of the device used to create this media"
-msgstr "bu akımı kodlarken kullanılan kodlayıcının sürümü"
+msgstr "Bu ortamı oluşturmak için kullanılan aygıt üreticisi"
 
 msgid "device model"
-msgstr ""
+msgstr "aygıt modeli"
 
-#, fuzzy
 msgid "Model of the device used to create this media"
-msgstr "bu akımı kodlarken kullanılan kodlayıcının sürümü"
+msgstr "Bu ortamı oluşturmak için kullanılan aygıtın modeli"
 
-#, fuzzy
 msgid "application name"
-msgstr "konum"
+msgstr "uygulama adı"
 
-#, fuzzy
 msgid "Application used to create the media"
-msgstr "bu akımı kodlarken kullanılan kodlayıcının sürümü"
+msgstr "Bu ortamı oluşturmak için kullanılan uygulama"
 
 msgid "application data"
-msgstr ""
+msgstr "uygulama verileri"
 
 msgid "Arbitrary application data to be serialized into the media"
-msgstr ""
+msgstr "Ortamda serileştirilecek gelişigüzel uygulama verileri"
 
 msgid "image orientation"
-msgstr ""
+msgstr "görüntü yönü"
 
 msgid "How the image should be rotated or flipped before display"
-msgstr ""
+msgstr "Görüntü gösterilmeden önce nasıl döndürülmelidir ya da çevirilmelidir"
 
 msgid "publisher"
-msgstr ""
+msgstr "yayımcı"
 
 msgid "Name of the label or publisher"
-msgstr ""
+msgstr "Marka ya da yayımcının adı"
 
 msgid "interpreted-by"
-msgstr ""
+msgstr "tarafından-yorumlanmış"
 
 msgid "Information about the people behind a remix and similar interpretations"
-msgstr ""
+msgstr "Yeniden düzenleme ve benzer yorumların arkasındaki kişi hakkında bilgi"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-base-note"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Ses kaydının midi notu numarası."
 
 msgid ", "
 msgstr ", "
 
 #, c-format
 msgid "No URI handler for the %s protocol found"
-msgstr ""
+msgstr "%s protokolü için URI işleyicisi bulunamadı"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr ""
+msgstr "URI şema '%s' desteklenmez"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
@@ -862,11 +831,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "bağlantı kaynağı yok [alıcı=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "bağlantı alış noktası yok [kaynak=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -886,11 +855,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "beklenmeyen kaynak \"%s\" - yoksayılıyor"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "beklenmedik dolgu-kaynağı \"%s\" - yoksayılıyor"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -905,47 +874,49 @@
 msgstr "\"%s\" URI'si için kaynak öğesi yok"
 
 msgid "syntax error"
-msgstr ""
+msgstr "söz dizim hatası"
 
 msgid "bin"
-msgstr ""
+msgstr "bin"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "belirtilen boş ikili \"%s\", izin verilmedi"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "\"%s\" ikilisi yok, geçiliyor"
+msgstr "\"%s\" ikilisi yok, öge açılamıyor"
 
 msgid "empty pipeline not allowed"
 msgstr "boş boruhattına izin verilmiyor"
 
 msgid "A lot of buffers are being dropped."
-msgstr ""
+msgstr "Tampon belleklerin bir çoğu bırakılıyor."
 
 msgid "Internal data flow problem."
-msgstr ""
+msgstr "İç veri akış sorunu."
 
 msgid "Internal data stream error."
-msgstr ""
+msgstr "İç veri akışı hatası."
 
 msgid "Internal data flow error."
-msgstr ""
+msgstr "İç veri akış hatası."
 
 msgid "Internal clock error."
-msgstr ""
+msgstr "İç saat hatası."
 
 msgid "Failed to map buffer."
-msgstr ""
+msgstr "Tampon eşleştirme başarısız."
 
 msgid "Filter caps"
-msgstr ""
+msgstr "Büyük harfleri süz"
 
 msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
+"İzin verilen yetenekleri kısıtla (NULL HİÇ anlamına gelir). Bu özelliklerin "
+"ayarlanması verilen GstCaps nesnesini kaynak olarak alır."
 
 msgid "Caps Change Mode"
 msgstr ""
@@ -954,19 +925,18 @@
 msgstr ""
 
 msgid "No Temp directory specified."
-msgstr ""
+msgstr "Geçici dizin belirtilmedi."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "Kaynağa değerler atanamadı ya da alınamadı."
+msgstr "Geçici dosya \"%s\" oluşturulamadı."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr "\"%s\" dosyası okuma için açılamadı."
 
-#, fuzzy
 msgid "Error while writing to download file."
-msgstr "\"%s\" dosyası yazılırken hata."
+msgstr "Dosya indirmek için yazarken hata."
 
 msgid "No file name specified for writing."
 msgstr "Yazım için hiç bir dosya adı belirtilmedi."
@@ -979,9 +949,9 @@
 msgid "Error closing file \"%s\"."
 msgstr "\"%s\" kapatılırken hata."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Error while seeking in file \"%s\"."
-msgstr "\"%s\" dosyası yazılırken hata."
+msgstr "\"%s\" dosyasında arama yaparken hata."
 
 #, c-format
 msgid "Error while writing to file \"%s\"."
@@ -990,17 +960,17 @@
 msgid "No file name specified for reading."
 msgstr "Okuma için hiç bir dosya adı belirtilmedi."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not get info on \"%s\"."
-msgstr "Kaynağa değerler atanamadı ya da alınamadı."
+msgstr "\"%s\" ögesinden bilgi alınamadı."
 
 #, c-format
 msgid "\"%s\" is a directory."
-msgstr ""
+msgstr "\"%s\" bir dizindir."
 
-#, fuzzy, c-format
+#, c-format
 msgid "File \"%s\" is a socket."
-msgstr "\"%s\" dosyası düzenli bir dosya değil."
+msgstr "Dosya \"%s\" bir sokettir."
 
 msgid "Failed after iterations as requested."
 msgstr "İstenildiği gibi tekrarlama başarısız oldu."
@@ -1015,77 +985,77 @@
 msgstr "asgari"
 
 msgid "force caps"
-msgstr ""
+msgstr "kapasiteyi zorla"
 
 msgid "force caps without doing a typefind"
-msgstr ""
+msgstr "bir tür tanımlaması yapmadan kapasiteyi zorla"
 
 #, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Akış hiçbir veri içermiyor."
+
 msgid "Stream contains no data."
-msgstr "bu bilgiyi içeren albüm"
+msgstr "Akış hiçbir veri içermiyor."
 
 msgid "Implemented Interfaces:\n"
-msgstr ""
+msgstr "Gerçeklenmiş Arayüzler:\n"
 
 msgid "readable"
-msgstr ""
+msgstr "okunabilir"
 
-#, fuzzy
 msgid "writable"
-msgstr "başlık"
+msgstr "yazılabilir"
 
 msgid "deprecated"
 msgstr ""
 
 msgid "controllable"
-msgstr ""
+msgstr "yöneltilebilir"
 
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr ""
+msgstr "BOŞ, HAZIR, DURDURULMUŞ ya da YÜRÜTÜLÜYOR durumlarına değiştirilebilir"
 
 msgid "changeable only in NULL, READY or PAUSED state"
-msgstr ""
+msgstr "sadece NULL, READY ya da PAUSED olarak değiştirilebilir"
 
 msgid "changeable only in NULL or READY state"
-msgstr ""
+msgstr "sadece NULL ya da READY olarak değiştirilebilir"
 
 msgid "Blacklisted files:"
-msgstr ""
+msgstr "Kara listeye alınan dosyalar:"
 
-#, fuzzy
 msgid "Total count: "
-msgstr "parça sayısı"
+msgstr "Toplam sayı: "
 
 #, c-format
 msgid "%d blacklisted file"
 msgid_plural "%d blacklisted files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d kara listeye alınan dosya"
+msgstr[1] "%d kara listeye alınan dosya"
 
 #, c-format
 msgid "%d plugin"
 msgid_plural "%d plugins"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d eklentisi"
+msgstr[1] "%d eklentisi"
 
 #, c-format
 msgid "%d blacklist entry"
 msgid_plural "%d blacklist entries"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d kara liste girdisi"
+msgstr[1] "%d kara liste girdisi"
 
 #, c-format
 msgid "%d feature"
 msgid_plural "%d features"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d özelliği"
+msgstr[1] "%d özelliği"
 
-#, fuzzy
 msgid "Print all elements"
-msgstr "\"%s\" öğesi yok"
+msgstr "Bütün ögeleri yazdır"
 
 msgid "Print list of blacklisted files"
-msgstr ""
+msgstr "Kara listeye alınmış dosyaların listesini yazdır"
 
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
@@ -1093,140 +1063,149 @@
 "                                       Useful in connection with external "
 "automatic plugin installation mechanisms"
 msgstr ""
+"Belirtilen eklenti ya da sağlanan bütün eklentilerin özelliklerinin makine-"
+"çözümlenebilir bir listesini yazdır.\n"
+"                                       Harici otomatik eklenti kurulum "
+"tekniği ile bağlantıda faydalı"
 
 msgid "List the plugin contents"
-msgstr ""
+msgstr "Eklenti içeriklerini listele"
 
 msgid "Check if the specified element or plugin exists"
-msgstr ""
+msgstr "Belirtilen öge ya da eklentinin var olup olmadığını kontrol et"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
+"Bir öge ya da eklentinin var olup olmadığını kontrol ettiğinizde ayrıca "
+"onların belirtilen en son versiyonda olup olmadıklarını da kontrol edin"
 
 msgid "Print supported URI schemes, with the elements that implement them"
-msgstr ""
+msgstr "Desteklenen URI şemalarını onlara uygulanan ögelerle yazdır"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not load plugin file: %s\n"
-msgstr "\"%s\" dosyası yazım için açılamadı."
+msgstr "Eklenti dosyası yüklenemedi: %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "No such element or plugin '%s'\n"
-msgstr "\"%s\" URI'si için kaynak öğesi yok"
+msgstr "Böyle bir öge ya da '%s' eklentisi yok\n"
 
 msgid "Index statistics"
-msgstr ""
+msgstr "Dizin istatistikleri"
 
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
-msgstr ""
+msgstr "#%u iletisi \"%s\" ögesinden alındı (%s): "
 
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr ""
+msgstr "#%u iletisi dolgu \"%s:%s\" (%s) üzerinden alındı: "
 
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
-msgstr ""
+msgstr "#%u iletisi \"%s\" nesnesinden alındı (%s): "
 
 #, c-format
 msgid "Got message #%u (%s): "
-msgstr ""
+msgstr "İleti #%u alındı (%s): "
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got EOS from element \"%s\".\n"
-msgstr "HATA: %s öğesinden: %s\n"
+msgstr "\"%s\" ögesinden gelen EOS.\n"
 
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETİKET BULUNDU      : \"%s\" öğesi tarafından bulundu.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
-msgstr "ETİKET BULUNDU      : \"%s\" öğesi tarafından bulundu.\n"
+msgstr "ETİKET BULUNDU      : \"%s:%s\" dolgusu tarafından bulundu.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
-msgstr "ETİKET BULUNDU      : \"%s\" öğesi tarafından bulundu.\n"
+msgstr "ETİKET BULUNDU      : \"%s\" nesnesi tarafından bulundu.\n"
 
 msgid "FOUND TAG\n"
-msgstr ""
+msgstr "ETİKET BULUNDU\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
-msgstr "ETİKET BULUNDU      : \"%s\" öğesi tarafından bulundu.\n"
+msgstr "İÇİNDEKİLER BULUNDU      : \"%s\" ögesi tarafından bulundu.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
-msgstr "ETİKET BULUNDU      : \"%s\" öğesi tarafından bulundu.\n"
+msgstr "İÇİNDEKİLER BULUNDU      : \"%s\" nesnesi tarafından bulundu.\n"
 
 msgid "FOUND TOC\n"
-msgstr ""
+msgstr "İÇİNDEKİLER BULUNDU\n"
 
 #, c-format
 msgid ""
 "INFO:\n"
 "%s\n"
 msgstr ""
+"BİLGİ:\n"
+"%s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "WARNING: from element %s: %s\n"
-msgstr "HATA: %s öğesinden: %s\n"
+msgstr "UYARI: %s ögesinden: %s\n"
 
 msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr ""
+msgstr "Kullanım öncesi, önbelleğe alma işleminin bitmesi bekleniyor...\n"
 
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr ""
+msgstr "Kullanım öncesi, ilerlemenin bitmesi için bekleniyor...\n"
 
 msgid "buffering..."
-msgstr ""
+msgstr "tamponlanıyor..."
 
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
+"Önbelleğe alma işlemi, YÜRÜTÜLÜYOR durumu için ardışık düzen ayarlamaları "
+"yapıldı ...\n"
 
 msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr ""
+msgstr "Tamponlama, DURAKLAT olarak ayarlanıyor ...\n"
 
 msgid "Redistribute latency...\n"
-msgstr ""
+msgstr "Yeniden dağıtım gecikmesi...\n"
 
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
-msgstr ""
+msgstr "Durum %s olarak ayarlanıyor, %s tarafından istenmiş...\n"
 
 msgid "Interrupt: Stopping pipeline ...\n"
-msgstr ""
+msgstr "Kesme: Boru hattı durduruluyor ...\n"
 
 #, c-format
 msgid "Progress: (%s) %s\n"
-msgstr ""
+msgstr "İlerleme: (%s) %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Missing element: %s\n"
-msgstr "\"%s\" öğesi yok"
+msgstr "Eksik öge: %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "HATA: %s öğesinden: %s\n"
+msgstr "Ögeden '%s' içerik alındı: %s=%s\n"
 
 msgid "Output tags (also known as metadata)"
 msgstr "Çıktı etiketleri (metadata olarak da bilinir)"
 
 msgid "Output TOC (chapters and editions)"
-msgstr ""
+msgstr "İçindekiler Çıktısı (bölümler ve sürümleri)"
 
 msgid "Output status information and property notifications"
 msgstr "Çıktı durum bilgisi ve özellik uyarıları"
 
-#, fuzzy
 msgid "Do not print any progress information"
-msgstr "TÜRÜN durum bilgisini gösterme"
+msgstr "Herhangi bir ilerleme bilgisi yazdırmayın"
 
 msgid "Output messages"
-msgstr ""
+msgstr "Çıktı iletileri"
 
 msgid "Do not output status information of TYPE"
 msgstr "TÜRÜN durum bilgisini gösterme"
@@ -1238,10 +1217,10 @@
 msgstr "Hatalı işleticiyi kurma"
 
 msgid "Force EOS on sources before shutting the pipeline down"
-msgstr ""
+msgstr "Boru hattı kapatılmadan önce kaynaklarda EOS zorla"
 
 msgid "Gather and print index statistics"
-msgstr ""
+msgstr "Dizin istatistiklerini topla ve yazdır"
 
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
@@ -1258,105 +1237,58 @@
 msgstr "HATA: 'pipeline' öğesi bulunamadı.\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
-msgstr ""
+msgstr "DURDURULDU durumu için ardışık düzen ayarlamaları ...\n"
 
-#, fuzzy
 msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "HATA: boruhattı çalmak istemiyor.\n"
+msgstr "HATA: Ardışık düzen durdurmayı istemez.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
-msgstr ""
+msgstr "Boru hattı çalışıyor ve PREROLL ihtiyacı yok ...\n"
 
 msgid "Pipeline is PREROLLING ...\n"
-msgstr ""
+msgstr "Boru hattı PREROLLING yapıyor ...\n"
 
-#, fuzzy
 msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "HATA: boruhattı çalmak istemiyor.\n"
+msgstr "HATA: boru hattı kullanım öncesi yapmak istemiyor.\n"
 
 msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
+msgstr "Boru hattı PREROLLED ...\n"
 
 msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
+msgstr "Boru hattı PLAYING olarak ayarlanıyor ...\n"
 
 msgid "ERROR: pipeline doesn't want to play.\n"
 msgstr "HATA: boruhattı çalmak istemiyor.\n"
 
 msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
+msgstr "Kapanmada EOS etkin - Boru hattında EOS zorlanıyor\n"
 
 msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
+msgstr "Kapanmada EOS etkin -- Hatadan sonra EOS için bekleniyor\n"
 
 msgid "Waiting for EOS...\n"
-msgstr ""
+msgstr "EOS için bekleniyor...\n"
 
 msgid "EOS received - stopping pipeline...\n"
-msgstr ""
+msgstr "EOS alındı - boru hattı durduruluyor...\n"
 
 msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
+msgstr "EOS için beklenirken kesme - boru hattı durduruluyor...\n"
 
 msgid "An error happened while waiting for EOS\n"
-msgstr ""
+msgstr "Akış sonu için beklerken bir hata oldu\n"
 
 msgid "Execution ended after %"
 msgstr "Çalıştırma % sonrası bitti"
 
 msgid "Setting pipeline to READY ...\n"
-msgstr ""
+msgstr "Boru hattı READY olarak ayarlanıyor ...\n"
 
 msgid "Setting pipeline to NULL ...\n"
-msgstr ""
+msgstr "Boru hattı NULL olarak ayarlanıyor ...\n"
 
-#, fuzzy
 msgid "Freeing pipeline ...\n"
-msgstr "BORUHATTI çalıştırılıyor ...\n"
-
-#~ msgid "link without source element"
-#~ msgstr "kaynak öğesi olmayan bağ"
-
-#~ msgid "link without sink element"
-#~ msgstr "'sink' öğesi olmayan bağ"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "\"%s\" URI'sini belirtilene bağlayacak öğe yok:"
-
-#~ msgid "could not link sink element for URI \"%s\""
-#~ msgstr "\"%s\" URI'si için 'sink' öğesi bağlanamadı"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "'alloc' takibini yazdır (derleme sırasında etkinleştirilmişse)"
-
-#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
-#~ msgstr "Kullanım: gst-xmllaunch <dosya.xml> [ öğe.özellik=değer ... ]\n"
-
-#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "HATA: xml dosyası '%s' ayrıştırması başarısız.\n"
-
-#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr "HATA: '%s' dosyasında üst seviye öğesi bulunamadı.\n"
-
-#, fuzzy
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr "UYARI: Şu anda sadece bir tane üst seviye öğesi destekleniyor."
-
-#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
-#~ msgstr "HATA: komut satırı argümanı %d ayrıştırılamadı: %s.\n"
-
-#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "UYARI: '%s' isimli öğe bulunamadı.\n"
-
-#~ msgid "Save xml representation of pipeline to FILE and exit"
-#~ msgstr "Boruhattının xml belirtimini DOSYA'ya kaydet ve çık"
-
-#~ msgid "FILE"
-#~ msgstr "DOSYA"
-
-#, fuzzy
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Hatalı işleticiyi kurma"
+msgstr "Boru hattı boşaltılıyor ...\n"
 
 #~ msgid "Disable accelerated CPU instructions"
 #~ msgstr "Hızlandırılmış CPU işlemlerini kapat"
@@ -1398,12 +1330,27 @@
 #~ msgid "There is no element present to handle the stream's mime type %s."
 #~ msgstr "Akımın %s mime türünü işleyebilecek hiç bir öğe yok."
 
+#~ msgid "maximum"
+#~ msgstr "azami"
+
 #~ msgid ""
 #~ "could not convert \"%s\" so that it fits property \"%s\" in element \"%s\""
 #~ msgstr ""
 #~ "\"%1$s\", \"%3$s\" öğesindeki \"%2$s\" özelliğinine uyacak şekilde "
 #~ "dönüştürülemedi"
 
+#~ msgid "link without source element"
+#~ msgstr "kaynak öğesi olmayan bağ"
+
+#~ msgid "link without sink element"
+#~ msgstr "'sink' öğesi olmayan bağ"
+
+#~ msgid "no element to link URI \"%s\" to"
+#~ msgstr "\"%s\" URI'sini belirtilene bağlayacak öğe yok:"
+
+#~ msgid "could not link sink element for URI \"%s\""
+#~ msgstr "\"%s\" URI'si için 'sink' öğesi bağlanamadı"
+
 #~ msgid "Show plugin details"
 #~ msgstr "Eklenti detaylarını göster"
 
@@ -1425,6 +1372,33 @@
 #~ msgid " ns).\n"
 #~ msgstr " ns) \n"
 
+#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+#~ msgstr "Kullanım: gst-xmllaunch <dosya.xml> [ öğe.özellik=değer ... ]\n"
+
+#~ msgid "ERROR: parse of xml file '%s' failed.\n"
+#~ msgstr "HATA: xml dosyası '%s' ayrıştırması başarısız.\n"
+
+#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
+#~ msgstr "HATA: '%s' dosyasında üst seviye öğesi bulunamadı.\n"
+
+#~ msgid "WARNING: only one toplevel element is supported at this time."
+#~ msgstr "UYARI: Şu anda sadece bir tane üst seviye öğesi destekleniyor."
+
+#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
+#~ msgstr "HATA: komut satırı argümanı %d ayrıştırılamadı: %s.\n"
+
+#~ msgid "WARNING: element named '%s' not found.\n"
+#~ msgstr "UYARI: '%s' isimli öğe bulunamadı.\n"
+
+#~ msgid "Save xml representation of pipeline to FILE and exit"
+#~ msgstr "Boruhattının xml belirtimini DOSYA'ya kaydet ve çık"
+
+#~ msgid "FILE"
+#~ msgstr "DOSYA"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "'alloc' takibini yazdır (derleme sırasında etkinleştirilmişse)"
+
 #~ msgid "Number of times to iterate pipeline"
 #~ msgstr "Boruhattının kaç defa tekrarlanacağı"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index c7de10a..98d3c0d 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 76d01d6..877b003 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-05-22 07:45+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -1000,6 +1000,10 @@
 msgid "force caps without doing a typefind"
 msgstr "примусово визначити можливості без виконання typefind"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Потік не містить даних."
+
 msgid "Stream contains no data."
 msgstr "Потік не містить даних."
 
diff --git a/po/vi.gmo b/po/vi.gmo
index 3e14d6b..11077b6 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 5ffcf35..4bc5b2b 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-06-30 09:40+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -1010,6 +1010,10 @@
 msgid "force caps without doing a typefind"
 msgstr "buộc các khả năng mà không tìm kiểu"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "Luồng không chứa dữ liệu."
+
 msgid "Stream contains no data."
 msgstr "Luồng không chứa dữ liệu."
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index bb08cd9..7051c4b 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 6a76240..3394ca2 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.25.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2010-02-02 18:58+0800\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -987,6 +987,10 @@
 msgid "force caps without doing a typefind"
 msgstr "不做类型查找的强制分析"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "流中不含数据"
+
 msgid "Stream contains no data."
 msgstr "流中不含数据"
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index a82562c..7280ca9 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 964191c..c414e2f 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -27,7 +27,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:03+0300\n"
+"POT-Creation-Date: 2015-06-07 09:28+0200\n"
 "PO-Revision-Date: 2014-06-08 00:22+0800\n"
 "Last-Translator: Wen Liao <wen.cf83@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -996,6 +996,10 @@
 msgid "force caps without doing a typefind"
 msgstr "不尋找型態,直些強迫caps"
 
+#, fuzzy
+msgid "Stream contains not enough data."
+msgstr "資料串流中沒有資料"
+
 msgid "Stream contains no data."
 msgstr "資料串流中沒有資料"
 
diff --git a/tests/Makefile.in b/tests/Makefile.in
index f3ab937..1bb6c61 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -218,6 +218,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -308,6 +309,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -319,6 +321,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -405,6 +408,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/benchmarks/Makefile.in b/tests/benchmarks/Makefile.in
index 8f59e3c..83a12c7 100644
--- a/tests/benchmarks/Makefile.in
+++ b/tests/benchmarks/Makefile.in
@@ -259,6 +259,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -349,6 +350,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -360,6 +362,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -446,6 +449,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 087f3e9..a9853ac 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -1170,6 +1170,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -1260,6 +1261,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -1271,6 +1273,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -1357,6 +1360,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/check/elements/fakesink.c b/tests/check/elements/fakesink.c
index de932e7..146f397 100644
--- a/tests/check/elements/fakesink.c
+++ b/tests/check/elements/fakesink.c
@@ -991,6 +991,179 @@
 
 GST_END_TEST;
 
+static void
+last_message_cb (GObject * obj, GParamSpec * pspec, gpointer user_data)
+{
+  gint *p_counter = user_data;
+  gchar *s, *end, *last_msg = NULL;
+  guint64 offset, count;
+
+  g_object_get (obj, "last-message", &last_msg, NULL);
+  fail_unless (last_msg != NULL);
+
+  if (!strstr (last_msg, "chain"))
+    return;
+
+  GST_LOG_OBJECT (obj, "%s", last_msg);
+
+  s = strstr (last_msg, "offset: ");
+  fail_unless (s != NULL);
+
+  s += strlen ("offset: ");
+
+  offset = g_ascii_strtoull (s, &end, 10);
+  fail_unless (offset < G_MAXUINT64);
+  fail_if (end == s);
+
+  count = *p_counter;
+
+  fail_unless_equals_int (count, offset);
+
+  *p_counter = count + 1;
+
+  g_free (last_msg);
+}
+
+#define NUM_BUFFERS 500
+
+GST_START_TEST (test_last_message_notify)
+{
+  GstElement *pipe, *src, *tee, *q1, *q2, *sink1, *sink2;
+  gint counter1 = 0;
+  gint counter2 = 0;
+  GstMessage *m;
+
+  pipe = gst_pipeline_new ("pipeline");
+  src = gst_element_factory_make ("fakesrc", NULL);
+  gst_util_set_object_arg (G_OBJECT (src), "sizetype", "fixed");
+  g_object_set (src, "num-buffers", NUM_BUFFERS, "sizemax", 1, NULL);
+
+  tee = gst_element_factory_make ("tee", NULL);
+
+  q1 = gst_element_factory_make ("queue", NULL);
+  sink1 = gst_element_factory_make ("fakesink", NULL);
+  g_object_set (sink1, "silent", FALSE, NULL);
+
+  q2 = gst_element_factory_make ("queue", NULL);
+  sink2 = gst_element_factory_make ("fakesink", NULL);
+  g_object_set (sink2, "silent", FALSE, NULL);
+
+  gst_bin_add_many (GST_BIN (pipe), src, tee, q1, q2, sink1, sink2, NULL);
+  fail_unless (gst_element_link_many (src, tee, NULL));
+  fail_unless (gst_element_link_many (tee, q1, sink1, NULL));
+  fail_unless (gst_element_link_many (tee, q2, sink2, NULL));
+
+  g_signal_connect (sink1, "notify::last-message",
+      G_CALLBACK (last_message_cb), &counter1);
+  g_signal_connect (sink2, "notify::last-message",
+      G_CALLBACK (last_message_cb), &counter2);
+
+  GST_DEBUG ("Setting pipeline to PLAYING");
+  fail_unless_equals_int (gst_element_set_state (pipe, GST_STATE_PLAYING),
+      GST_STATE_CHANGE_ASYNC);
+
+  m = gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipe), -1, GST_MESSAGE_EOS);
+  gst_message_unref (m);
+
+  fail_unless_equals_int (gst_element_set_state (pipe, GST_STATE_NULL),
+      GST_STATE_CHANGE_SUCCESS);
+
+  fail_unless_equals_int (counter1, NUM_BUFFERS);
+  fail_unless_equals_int (counter2, NUM_BUFFERS);
+}
+
+GST_END_TEST;
+
+static void
+deep_notify_last_message_cb (GstObject * obj, GstObject * prop_obj,
+    GParamSpec * pspec, gpointer user_data)
+{
+  gint *counter_array = user_data;
+  gint *p_counter;
+  gchar *s, *end, *last_msg = NULL;
+  guint64 offset, count;
+
+  if (strcmp (GST_OBJECT_NAME (prop_obj), "fakesink0") == 0)
+    p_counter = counter_array;
+  else if (strcmp (GST_OBJECT_NAME (prop_obj), "fakesink1") == 0)
+    p_counter = counter_array + 1;
+  else
+    g_assert_not_reached ();
+
+  g_object_get (prop_obj, "last-message", &last_msg, NULL);
+  fail_unless (last_msg != NULL);
+
+  if (!strstr (last_msg, "chain"))
+    return;
+
+  GST_LOG_OBJECT (prop_obj, "%s", last_msg);
+
+  s = strstr (last_msg, "offset: ");
+  fail_unless (s != NULL);
+
+  s += strlen ("offset: ");
+
+  offset = g_ascii_strtoull (s, &end, 10);
+  fail_unless (offset < G_MAXUINT64);
+  fail_if (end == s);
+
+  count = *p_counter;
+
+//  fail_unless_equals_int (count, offset);
+
+  *p_counter = count + 1;
+
+  g_free (last_msg);
+}
+
+GST_START_TEST (test_last_message_deep_notify)
+{
+  GstElement *pipe, *src, *tee, *q1, *q2, *sink1, *sink2;
+  gint counter[2] = { 0, 0 };
+  GstMessage *m;
+
+  pipe = gst_pipeline_new ("pipeline");
+  src = gst_element_factory_make ("fakesrc", NULL);
+  gst_util_set_object_arg (G_OBJECT (src), "sizetype", "fixed");
+  g_object_set (src, "num-buffers", NUM_BUFFERS, "sizemax", 1, NULL);
+
+  tee = gst_element_factory_make ("tee", NULL);
+
+  q1 = gst_element_factory_make ("queue", NULL);
+  sink1 = gst_element_factory_make ("fakesink", NULL);
+  g_object_set (sink1, "silent", FALSE, NULL);
+
+  q2 = gst_element_factory_make ("queue", NULL);
+  sink2 = gst_element_factory_make ("fakesink", NULL);
+  g_object_set (sink2, "silent", FALSE, NULL);
+
+  gst_bin_add_many (GST_BIN (pipe), src, tee, q1, q2, sink1, sink2, NULL);
+  fail_unless (gst_element_link_many (src, tee, NULL));
+  fail_unless (gst_element_link_many (tee, q1, sink1, NULL));
+  fail_unless (gst_element_link_many (tee, q2, sink2, NULL));
+
+  g_signal_connect (pipe, "deep-notify::last-message",
+      G_CALLBACK (deep_notify_last_message_cb), counter);
+
+  GST_DEBUG ("Setting pipeline to PLAYING");
+  fail_unless_equals_int (gst_element_set_state (pipe, GST_STATE_PLAYING),
+      GST_STATE_CHANGE_ASYNC);
+
+  m = gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipe), -1, GST_MESSAGE_EOS);
+  gst_message_unref (m);
+
+  fail_unless_equals_int (gst_element_set_state (pipe, GST_STATE_NULL),
+      GST_STATE_CHANGE_SUCCESS);
+
+  GST_ERROR ("sink1: %d, sink2: %d, total: %d", counter[0], counter[1],
+      counter[0] + counter[1]);
+
+  fail_unless_equals_int (counter[0], NUM_BUFFERS);
+  fail_unless_equals_int (counter[1], NUM_BUFFERS);
+}
+
+GST_END_TEST;
+
 static Suite *
 fakesink_suite (void)
 {
@@ -1006,6 +1179,8 @@
   tcase_add_test (tc_chain, test_eos2);
   tcase_add_test (tc_chain, test_position);
   tcase_add_test (tc_chain, test_notify_race);
+  tcase_add_test (tc_chain, test_last_message_notify);
+  tcase_skip_broken_test (tc_chain, test_last_message_deep_notify);
 
   return s;
 }
diff --git a/tests/check/gst/capslist.h b/tests/check/gst/capslist.h
index 20c1409..0991fa8 100644
--- a/tests/check/gst/capslist.h
+++ b/tests/check/gst/capslist.h
@@ -26,7 +26,9 @@
   /* Test lists of fractions and fraction ranges */
   "test/gst-fraction-range, fraction = (fraction) { [ 1/4, 1/3 ], 1/8 }",
   "test/gst-fraction-range, fraction = (fraction) { [ 1/4, 1/3 ], [ 1/8, 2/8 ] }",
-
+  /* FlagSet */
+  "test/gst-flags,thingy=1f394:00ff8ff",
+  "test/gst-flags,thingy=101ffff1f394:fff00ff00ff8ff",
   /* Some random checks */
   "video/x-raw, format = (string) { I420, Y42B, Y444 }, framerate = (fraction) [1/MAX, MAX], width = (int) [ 1, MAX ], height = (int) [ 1, MAX ]",
 
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 70cb191..6291c24 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -381,12 +381,12 @@
   /* copy should still be independent if copied when mapped */
   buffer = gst_buffer_new_and_alloc (4);
   gst_buffer_memset (buffer, 0, 0, 4);
-  gst_buffer_map (buffer, &info, GST_MAP_WRITE);
+  fail_unless (gst_buffer_map (buffer, &info, GST_MAP_WRITE));
   copy = gst_buffer_copy (buffer);
   fail_unless (gst_buffer_is_writable (copy));
   gst_buffer_memset (copy, 0, 0x80, 4);
   gst_buffer_unmap (buffer, &info);
-  gst_buffer_map (buffer, &info, GST_MAP_READ);
+  fail_unless (gst_buffer_map (buffer, &info, GST_MAP_READ));
   fail_if (gst_buffer_memcmp (copy, 0, info.data, info.size) == 0);
   gst_buffer_unmap (buffer, &info);
 
diff --git a/tests/check/gst/gstcaps.c b/tests/check/gst/gstcaps.c
index 6645361..b05ef58 100644
--- a/tests/check/gst/gstcaps.c
+++ b/tests/check/gst/gstcaps.c
@@ -39,7 +39,7 @@
     to_str = gst_caps_to_string (caps);
     fail_if (to_str == NULL,
         "Could not convert caps back to string %s\n", caps_list[i]);
-    caps2 = gst_caps_from_string (caps_list[i]);
+    caps2 = gst_caps_from_string (to_str);
     fail_if (caps2 == NULL, "Could not create caps from string %s\n", to_str);
 
     fail_unless (gst_caps_is_equal (caps, caps));
@@ -934,6 +934,105 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_intersect_flagset)
+{
+  GstCaps *c1, *c2, *test;
+  GType test_flagset_type;
+  GstSeekFlags test_flags, test_mask;
+  gchar *test_string;
+
+  /* Test that matching bits inside the mask intersect,
+   * and bits outside the mask don't matter */
+  c1 = gst_caps_from_string ("test/x-caps,field=ffd81d:fffff0");
+  c2 = gst_caps_from_string ("test/x-caps,field=0fd81f:0ffff0");
+
+  test = gst_caps_intersect_full (c1, c2, GST_CAPS_INTERSECT_FIRST);
+  fail_unless_equals_int (gst_caps_get_size (test), 1);
+  fail_unless (gst_caps_is_equal (c1, test));
+  gst_caps_unref (c1);
+  gst_caps_unref (c2);
+  gst_caps_unref (test);
+
+  /* Test that non-matching bits in the mask don't intersect */
+  c1 = gst_caps_from_string ("test/x-caps,field=ff001d:0ffff0");
+  c2 = gst_caps_from_string ("test/x-caps,field=0fd81f:0ffff0");
+
+  test = gst_caps_intersect_full (c1, c2, GST_CAPS_INTERSECT_FIRST);
+  fail_unless (gst_caps_is_empty (test));
+  gst_caps_unref (c1);
+  gst_caps_unref (c2);
+  gst_caps_unref (test);
+
+  /* Check custom flags type serialisation and de-serialisation */
+  test_flagset_type = gst_flagset_register (GST_TYPE_SEEK_FLAGS);
+  fail_unless (g_type_is_a (test_flagset_type, GST_TYPE_FLAG_SET));
+
+  test_flags =
+      GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_TRICKMODE |
+      GST_SEEK_FLAG_TRICKMODE_KEY_UNITS;
+  test_mask =
+      GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_TRICKMODE |
+      GST_SEEK_FLAG_TRICKMODE_NO_AUDIO;
+
+  c1 = gst_caps_new_simple ("test/x-caps", "field", test_flagset_type,
+      (guint64) (test_flags), (guint64) (test_mask), NULL);
+
+  test_string = gst_caps_to_string (c1);
+  fail_if (test_string == NULL);
+
+  GST_DEBUG ("Serialised caps to %s", test_string);
+  c2 = gst_caps_from_string (test_string);
+  g_free (test_string);
+
+  fail_unless (gst_caps_is_equal (c1, c2));
+
+  gst_caps_unref (c1);
+  gst_caps_unref (c2);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_union)
+{
+  GstCaps *c1, *c2, *test, *expect;
+
+  /* Test that matching bits inside the masks union OK, */
+  c1 = gst_caps_from_string ("test/x-caps,field=ffd81d:0ffff0");
+  c2 = gst_caps_from_string ("test/x-caps,field=0fd81f:0ffff0");
+
+  test = gst_caps_merge (c1, c2);
+  test = gst_caps_simplify (test);
+  /* c1, c2 now invalid */
+  fail_unless_equals_int (gst_caps_get_size (test), 1);
+  gst_caps_unref (test);
+
+  /* Test that non-intersecting sets of masked bits are OK */
+  c1 = gst_caps_from_string ("test/x-caps,field=ff001d:0ffff0");
+  c2 = gst_caps_from_string ("test/x-caps,field=4fd81f:f00000");
+  expect = gst_caps_from_string ("test/x-caps,field=4f001d:fffff0");
+  test = gst_caps_simplify (gst_caps_merge (c1, c2));
+  /* c1, c2 now invalid */
+  GST_LOG ("Expected caps %" GST_PTR_FORMAT " got %" GST_PTR_FORMAT "\n",
+      expect, test);
+  fail_unless (gst_caps_is_equal (test, expect));
+  gst_caps_unref (test);
+  gst_caps_unref (expect);
+
+  /* Test that partially-intersecting sets of masked bits that match are OK */
+  c1 = gst_caps_from_string ("test/x-caps,field=ff001d:0ffff0");
+  c2 = gst_caps_from_string ("test/x-caps,field=4fd81f:ff0000");
+  expect = gst_caps_from_string ("test/x-caps,field=4f001d:fffff0");
+  test = gst_caps_simplify (gst_caps_merge (c1, c2));
+  /* c1, c2 now invalid */
+  GST_LOG ("Expected caps %" GST_PTR_FORMAT " got %" GST_PTR_FORMAT "\n",
+      expect, test);
+  fail_unless (gst_caps_is_equal (test, expect));
+  gst_caps_unref (test);
+  gst_caps_unref (expect);
+}
+
+GST_END_TEST;
+
 static gboolean
 _caps_is_fixed_foreach (GQuark field_id, const GValue * value, gpointer unused)
 {
@@ -1311,6 +1410,8 @@
   tcase_add_test (tc_chain, test_intersect_first);
   tcase_add_test (tc_chain, test_intersect_first2);
   tcase_add_test (tc_chain, test_intersect_duplication);
+  tcase_add_test (tc_chain, test_intersect_flagset);
+  tcase_add_test (tc_chain, test_union);
   tcase_add_test (tc_chain, test_normalize);
   tcase_add_test (tc_chain, test_broken);
   tcase_add_test (tc_chain, test_features);
diff --git a/tests/check/gst/gstmemory.c b/tests/check/gst/gstmemory.c
index 56b3020..079174d 100644
--- a/tests/check/gst/gstmemory.c
+++ b/tests/check/gst/gstmemory.c
@@ -89,6 +89,13 @@
   gst_memory_unref (sub);
 
   gst_memory_unmap (memory, &info);
+
+  /* test write map + share failure */
+  fail_unless (gst_memory_map (memory, &info, GST_MAP_WRITE));
+  sub = gst_memory_share (memory, 0, 4);
+  fail_unless (sub == NULL, "share with a write map succeeded");
+
+  gst_memory_unmap (memory, &info);
   gst_memory_unref (memory);
 }
 
@@ -550,6 +557,46 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_lock)
+{
+  GstMemory *mem;
+
+  mem = gst_allocator_alloc (NULL, 10, NULL);
+  fail_unless (mem != NULL);
+
+  /* test exclusivity */
+  fail_unless (gst_memory_lock (mem,
+          GST_LOCK_FLAG_WRITE | GST_LOCK_FLAG_EXCLUSIVE));
+  fail_if (gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE));
+  fail_unless (gst_memory_lock (mem, GST_LOCK_FLAG_WRITE));
+  gst_memory_unlock (mem, GST_LOCK_FLAG_WRITE | GST_LOCK_FLAG_EXCLUSIVE);
+  gst_memory_unlock (mem, GST_LOCK_FLAG_WRITE);
+
+  /* no lock here */
+
+  fail_unless (gst_memory_lock (mem,
+          GST_LOCK_FLAG_READ | GST_LOCK_FLAG_EXCLUSIVE));
+  fail_unless (gst_memory_lock (mem,
+          GST_LOCK_FLAG_READ | GST_LOCK_FLAG_EXCLUSIVE));
+  gst_memory_unlock (mem, GST_LOCK_FLAG_READ | GST_LOCK_FLAG_EXCLUSIVE);
+  gst_memory_unlock (mem, GST_LOCK_FLAG_READ | GST_LOCK_FLAG_EXCLUSIVE);
+
+  /* no lock here */
+
+  fail_unless (gst_memory_lock (mem,
+          GST_LOCK_FLAG_READWRITE | GST_LOCK_FLAG_EXCLUSIVE));
+  fail_unless (gst_memory_lock (mem, GST_LOCK_FLAG_READ));
+  fail_if (gst_memory_lock (mem, GST_LOCK_FLAG_READ | GST_LOCK_FLAG_EXCLUSIVE));
+  fail_if (gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE));
+  fail_unless (gst_memory_lock (mem, GST_LOCK_FLAG_WRITE));
+  gst_memory_unlock (mem, GST_LOCK_FLAG_WRITE);
+  gst_memory_unlock (mem, GST_LOCK_FLAG_READ);
+  gst_memory_unlock (mem, GST_LOCK_FLAG_READWRITE | GST_LOCK_FLAG_EXCLUSIVE);
+
+  gst_memory_unref (mem);
+}
+
+GST_END_TEST;
 
 static Suite *
 gst_memory_suite (void)
@@ -569,6 +616,7 @@
   tcase_add_test (tc_chain, test_map_nested);
   tcase_add_test (tc_chain, test_map_resize);
   tcase_add_test (tc_chain, test_alloc_params);
+  tcase_add_test (tc_chain, test_lock);
 
   return s;
 }
diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
index d02e357..f88579d 100644
--- a/tests/check/gst/gstobject.c
+++ b/tests/check/gst/gstobject.c
@@ -361,9 +361,9 @@
   fail_if (result, "GstFakeObject accepted itself as parent");
 
   /* _has_parent always returns FALSE if there is no parent */
-  fail_if (gst_object_has_parent (object1, NULL));
-  fail_if (gst_object_has_parent (NULL, object1));
-  fail_if (gst_object_has_parent (object1, object1));
+  fail_if (gst_object_has_as_parent (object1, NULL));
+  fail_if (gst_object_has_as_parent (NULL, object1));
+  fail_if (gst_object_has_as_parent (object1, object1));
 
   /* should still be floating */
   fail_unless (g_object_is_floating (object1),
@@ -378,7 +378,7 @@
   fail_unless (g_object_is_floating (object1),
       "GstFakeObject instance is not floating");
 
-  result = gst_object_has_parent (object1, object2);
+  result = gst_object_has_as_parent (object1, object2);
   fail_if (result, "GstFakeObject has a parent");
 
   /* try to set other object as parent */
@@ -393,16 +393,16 @@
       "GstFakeObject instance is not floating");
 
   /* check the parent */
-  fail_unless (gst_object_has_parent (object1, object2));
+  fail_unless (gst_object_has_as_parent (object1, object2));
 
   /* any other combination is invalid */
-  fail_if (gst_object_has_parent (object2, object1));
-  fail_if (gst_object_has_parent (object1, NULL));
-  fail_if (gst_object_has_parent (object2, NULL));
-  fail_if (gst_object_has_parent (NULL, object1));
-  fail_if (gst_object_has_parent (NULL, object2));
-  fail_if (gst_object_has_parent (object1, object1));
-  fail_if (gst_object_has_parent (object2, object2));
+  fail_if (gst_object_has_as_parent (object2, object1));
+  fail_if (gst_object_has_as_parent (object1, NULL));
+  fail_if (gst_object_has_as_parent (object2, NULL));
+  fail_if (gst_object_has_as_parent (NULL, object1));
+  fail_if (gst_object_has_as_parent (NULL, object2));
+  fail_if (gst_object_has_as_parent (object1, object1));
+  fail_if (gst_object_has_as_parent (object2, object2));
 
   /* try to set other object as parent again */
   result = gst_object_set_parent (object1, object2);
@@ -456,7 +456,7 @@
 
 GST_END_TEST;
 
-GST_START_TEST (test_fake_object_has_ancestor)
+GST_START_TEST (test_fake_object_has_as_ancestor)
 {
   GstObject *object1, *object2, *object3, *object4;
   gboolean result;
@@ -489,41 +489,41 @@
    */
 
   /* An object isn't its own parent, but it is its own ancestor */
-  fail_if (gst_object_has_parent (object1, object1));
-  fail_unless (gst_object_has_ancestor (object1, object1));
+  fail_if (gst_object_has_as_parent (object1, object1));
+  fail_unless (gst_object_has_as_ancestor (object1, object1));
 
-  fail_if (gst_object_has_parent (object4, object4));
-  fail_unless (gst_object_has_ancestor (object4, object4));
+  fail_if (gst_object_has_as_parent (object4, object4));
+  fail_unless (gst_object_has_as_ancestor (object4, object4));
 
   /* direct parents */
-  fail_unless (gst_object_has_parent (object1, object3));
-  fail_unless (gst_object_has_ancestor (object1, object3));
+  fail_unless (gst_object_has_as_parent (object1, object3));
+  fail_unless (gst_object_has_as_ancestor (object1, object3));
 
-  fail_unless (gst_object_has_parent (object2, object3));
-  fail_unless (gst_object_has_ancestor (object2, object3));
+  fail_unless (gst_object_has_as_parent (object2, object3));
+  fail_unless (gst_object_has_as_ancestor (object2, object3));
 
-  fail_unless (gst_object_has_parent (object3, object4));
-  fail_unless (gst_object_has_ancestor (object3, object4));
+  fail_unless (gst_object_has_as_parent (object3, object4));
+  fail_unless (gst_object_has_as_ancestor (object3, object4));
 
   /* grandparents */
-  fail_if (gst_object_has_parent (object1, object4));
-  fail_unless (gst_object_has_ancestor (object1, object4));
+  fail_if (gst_object_has_as_parent (object1, object4));
+  fail_unless (gst_object_has_as_ancestor (object1, object4));
 
-  fail_if (gst_object_has_parent (object2, object4));
-  fail_unless (gst_object_has_ancestor (object2, object4));
+  fail_if (gst_object_has_as_parent (object2, object4));
+  fail_unless (gst_object_has_as_ancestor (object2, object4));
 
   /* not ancestors */
-  fail_if (gst_object_has_parent (object1, object2));
-  fail_if (gst_object_has_ancestor (object1, object2));
+  fail_if (gst_object_has_as_parent (object1, object2));
+  fail_if (gst_object_has_as_ancestor (object1, object2));
 
-  fail_if (gst_object_has_parent (object3, object1));
-  fail_if (gst_object_has_ancestor (object3, object1));
+  fail_if (gst_object_has_as_parent (object3, object1));
+  fail_if (gst_object_has_as_ancestor (object3, object1));
 
-  fail_if (gst_object_has_parent (object4, object1));
-  fail_if (gst_object_has_ancestor (object4, object1));
+  fail_if (gst_object_has_as_parent (object4, object1));
+  fail_if (gst_object_has_as_ancestor (object4, object1));
 
-  fail_if (gst_object_has_parent (object4, object3));
-  fail_if (gst_object_has_ancestor (object4, object3));
+  fail_if (gst_object_has_as_parent (object4, object3));
+  fail_if (gst_object_has_as_ancestor (object4, object3));
 
   /* unparent everything */
   gst_object_unparent (object3);
@@ -558,7 +558,7 @@
   tcase_add_test (tc_chain, test_fake_object_parentage);
   tcase_add_test (tc_chain, test_fake_object_parentage_dispose);
 
-  tcase_add_test (tc_chain, test_fake_object_has_ancestor);
+  tcase_add_test (tc_chain, test_fake_object_has_as_ancestor);
   //tcase_add_checked_fixture (tc_chain, setup, teardown);
 
   return s;
diff --git a/tests/check/gst/gstprotection.c b/tests/check/gst/gstprotection.c
index 5a4fa2f..3f11f8a 100644
--- a/tests/check/gst/gstprotection.c
+++ b/tests/check/gst/gstprotection.c
@@ -288,19 +288,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = protection_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (protection);
diff --git a/tests/check/gst/gststructure.c b/tests/check/gst/gststructure.c
index 18c58f6..54e9830 100644
--- a/tests/check/gst/gststructure.c
+++ b/tests/check/gst/gststructure.c
@@ -749,6 +749,31 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_flagset)
+{
+  GstStructure *s;
+  GType test_flagset_type;
+  guint test_flags =
+      GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SKIP | GST_SEEK_FLAG_SNAP_AFTER;
+  guint test_mask = GST_FLAG_SET_MASK_EXACT;
+  guint out_flags, out_mask;
+
+  test_flagset_type = gst_flagset_register (GST_TYPE_SEEK_FLAGS);
+  fail_unless (g_type_is_a (test_flagset_type, GST_TYPE_FLAG_SET));
+
+  /* Check that we can retrieve a non-standard flagset from the structure */
+  s = gst_structure_new ("test-struct", "test-flagset", test_flagset_type,
+      test_flags, test_mask, NULL);
+  fail_unless (gst_structure_get_flagset (s, "test-flagset", &out_flags,
+          &out_mask));
+
+  fail_unless (out_flags == test_flags);
+  fail_unless (out_mask == test_mask);
+  gst_structure_free (s);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_structure_suite (void)
 {
@@ -774,6 +799,7 @@
   tcase_add_test (tc_chain, test_foreach);
   tcase_add_test (tc_chain, test_map_in_place);
   tcase_add_test (tc_chain, test_filter_and_map_in_place);
+  tcase_add_test (tc_chain, test_flagset);
   return s;
 }
 
diff --git a/tests/check/gst/gstvalue.c b/tests/check/gst/gstvalue.c
index 3be87c4..18ce2f5 100644
--- a/tests/check/gst/gstvalue.c
+++ b/tests/check/gst/gstvalue.c
@@ -497,6 +497,190 @@
 
 GST_END_TEST;
 
+static void
+check_flagset_mask_serialisation (GValue * value, guint test_flags,
+    guint test_mask)
+{
+  gchar *string;
+  gst_value_set_flagset (value, test_flags, test_mask);
+
+  /* Normalise our test flags against the mask now for easier testing,
+   * as that's what we expect to get back from the flagset after it
+   * normalises internally */
+  test_flags &= test_mask;
+
+  /* Check the values got stored correctly */
+  fail_unless (gst_value_get_flagset_flags (value) == test_flags,
+      "resulting flags value is 0x%u, not 0x%x",
+      gst_value_get_flagset_flags (value), test_flags);
+  fail_unless (gst_value_get_flagset_mask (value) == test_mask,
+      "resulting mask is 0x%u, not 0x%x",
+      gst_value_get_flagset_mask (value), test_mask);
+
+  string = gst_value_serialize (value);
+  fail_if (string == NULL, "could not serialize flagset");
+
+  GST_DEBUG ("Serialized flagset to: %s", string);
+
+  fail_unless (gst_value_deserialize (value, string),
+      "could not deserialize %s", string);
+
+  fail_unless (gst_value_get_flagset_flags (value) == test_flags,
+      "resulting flags value is 0x%u, not 0x%x, for string %s",
+      gst_value_get_flagset_flags (value), test_flags, string);
+
+  fail_unless (gst_value_get_flagset_mask (value) == test_mask,
+      "resulting mask is 0x%u, not 0x%x, for string %s",
+      gst_value_get_flagset_mask (value), test_mask, string);
+
+  g_free (string);
+}
+
+GST_START_TEST (test_flagset)
+{
+  GValue value = G_VALUE_INIT;
+  GValue value2 = G_VALUE_INIT;
+  GValue dest = G_VALUE_INIT;
+  gchar *string;
+  GType test_flagset_type;
+  guint test_flags, test_mask;
+
+  /* Test serialisation of abstract type */
+  g_value_init (&value, GST_TYPE_FLAG_SET);
+
+  test_flags = 0xf1f1;
+  test_mask = 0xffff;
+
+  gst_value_set_flagset (&value, test_flags, test_mask);
+  string = gst_value_serialize (&value);
+  fail_if (string == NULL, "could not serialize flagset");
+
+  fail_unless (gst_value_deserialize (&value, string),
+      "could not deserialize %s", string);
+
+  fail_unless (gst_value_get_flagset_flags (&value) == test_flags,
+      "resulting value is 0x%u, not 0x%x, for string %s",
+      gst_value_get_flagset_flags (&value), test_flags, string);
+
+  fail_unless (gst_value_get_flagset_mask (&value) == test_mask,
+      "resulting value is 0x%u, not 0x%x, for string %s",
+      gst_value_get_flagset_mask (&value), test_mask, string);
+
+  g_free (string);
+  g_value_unset (&value);
+
+  /* Check we can't wrap a random non-flags type */
+  ASSERT_CRITICAL (gst_flagset_register (GST_TYPE_OBJECT));
+
+  test_flagset_type = gst_flagset_register (GST_TYPE_SEEK_FLAGS);
+
+  fail_unless (g_type_is_a (test_flagset_type, GST_TYPE_FLAG_SET));
+
+  g_value_init (&value, test_flagset_type);
+
+  test_flags =
+      GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_TRICKMODE |
+      GST_SEEK_FLAG_TRICKMODE_KEY_UNITS;
+  test_mask =
+      GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_TRICKMODE |
+      GST_SEEK_FLAG_TRICKMODE_NO_AUDIO;
+
+  check_flagset_mask_serialisation (&value, test_flags, test_mask);
+  /* Check serialisation works with the generic 'exact' flag */
+  check_flagset_mask_serialisation (&value, test_flags,
+      GST_FLAG_SET_MASK_EXACT);
+
+  /* Check deserialisation of flagset in 'flags' form, without
+   * the hex strings at the start */
+  test_flags = GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_TRICKMODE;
+  test_mask = GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_TRICKMODE |
+      GST_SEEK_FLAG_TRICKMODE_NO_AUDIO;
+  string = g_strdup ("+flush+trickmode/trickmode-no-audio");
+
+  fail_unless (gst_value_deserialize (&value, string),
+      "could not deserialize %s", string);
+
+  GST_DEBUG ("Deserialized %s to 0x%x:0x%x", string,
+      gst_value_get_flagset_flags (&value),
+      gst_value_get_flagset_mask (&value));
+
+  fail_unless (gst_value_get_flagset_flags (&value) == test_flags,
+      "resulting flags value is 0x%u, not 0x%x, for string %s",
+      gst_value_get_flagset_flags (&value), (test_flags & test_mask), string);
+
+  fail_unless (gst_value_get_flagset_mask (&value) == test_mask,
+      "resulting mask is 0x%u, not 0x%x, for string %s",
+      gst_value_get_flagset_mask (&value), test_mask, string);
+
+  g_free (string);
+  g_value_unset (&value);
+
+  /* Test that fixating don't-care fields works, using our
+   * sub-type flagset for good measure  */
+  g_value_init (&value, test_flagset_type);
+  gst_value_set_flagset (&value, test_flags, test_mask);
+
+  fail_unless (gst_value_fixate (&dest, &value));
+  fail_unless (gst_value_get_flagset_flags (&dest) == test_flags);
+  fail_unless (gst_value_get_flagset_mask (&dest) == GST_FLAG_SET_MASK_EXACT);
+
+  g_value_unset (&value);
+
+  /* Intersection tests */
+  g_value_init (&value, GST_TYPE_FLAG_SET);
+  g_value_init (&value2, test_flagset_type);
+
+  /* We want Accurate, but not Snap-Before */
+  gst_value_set_flagset (&value, GST_SEEK_FLAG_ACCURATE,
+      GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_SNAP_BEFORE);
+
+  /* This only cares that things are flushing */
+  gst_value_set_flagset (&value2, GST_SEEK_FLAG_FLUSH, GST_SEEK_FLAG_FLUSH);
+
+  test_flags = GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH;
+  test_mask =
+      GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE;
+
+  /* GstFlagSet should always intersect with itself */
+  g_value_unset (&dest);
+  fail_unless (gst_value_intersect (&dest, &value, &value));
+
+  /* GstFlagSet subtype should intersect with itself */
+  g_value_unset (&dest);
+  fail_unless (gst_value_intersect (&dest, &value2, &value2));
+
+  /* Check we can intersect custom flagset subtype with flagset */
+  g_value_unset (&dest);
+  fail_unless (gst_value_intersect (&dest, &value2, &value));
+
+  g_value_unset (&dest);
+  fail_unless (gst_value_intersect (&dest, &value, &value2));
+
+  fail_unless (gst_value_get_flagset_flags (&dest) == test_flags,
+      "resulting flags value is 0x%u, not 0x%x",
+      gst_value_get_flagset_flags (&dest), test_flags);
+
+  fail_unless (gst_value_get_flagset_mask (&dest) == test_mask,
+      "resulting mask is 0x%u, not 0x%x",
+      gst_value_get_flagset_mask (&dest), test_mask);
+
+  gst_value_set_flagset (&value,
+      GST_SEEK_FLAG_ACCURATE, GST_SEEK_FLAG_ACCURATE);
+  gst_value_set_flagset (&value2, GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH,
+      GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_SNAP_BEFORE | GST_SEEK_FLAG_FLUSH);
+  /* Check that accurate alone is a subset of accurate+!snap_before+flush,
+   * but not vice-versa */
+  fail_unless (gst_value_is_subset (&value, &value2));
+  fail_if (gst_value_is_subset (&value2, &value));
+
+  g_value_unset (&dest);
+  g_value_unset (&value);
+  g_value_unset (&value2);
+}
+
+GST_END_TEST;
+
+
 GST_START_TEST (test_string)
 {
   const gchar *try[] = {
@@ -2904,6 +3088,7 @@
   tcase_add_test (tc_chain, test_stepped_range_collection);
   tcase_add_test (tc_chain, test_stepped_int_range_parsing);
   tcase_add_test (tc_chain, test_stepped_int_range_ops);
+  tcase_add_test (tc_chain, test_flagset);
 
   return s;
 }
diff --git a/tests/examples/Makefile.am b/tests/examples/Makefile.am
index f3cfd8d..6918f90 100644
--- a/tests/examples/Makefile.am
+++ b/tests/examples/Makefile.am
@@ -11,6 +11,7 @@
 	manual     \
 	memory   \
 	netclock \
+	ptp \
 	stepping \
 	streamiddemux \
 	streams
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 1b256b2..fdf7a5d 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -224,6 +224,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -314,6 +315,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -325,6 +327,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -411,6 +414,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
@@ -500,6 +504,7 @@
 	manual     \
 	memory   \
 	netclock \
+	ptp \
 	stepping \
 	streamiddemux \
 	streams
diff --git a/tests/examples/adapter/Makefile.in b/tests/examples/adapter/Makefile.in
index 50a5451..fd31003 100644
--- a/tests/examples/adapter/Makefile.in
+++ b/tests/examples/adapter/Makefile.in
@@ -215,6 +215,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -305,6 +306,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -316,6 +318,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -402,6 +405,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/controller/Makefile.in b/tests/examples/controller/Makefile.in
index 79b265e..bb83dfa 100644
--- a/tests/examples/controller/Makefile.in
+++ b/tests/examples/controller/Makefile.in
@@ -224,6 +224,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -314,6 +315,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -325,6 +327,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -411,6 +414,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/helloworld/Makefile.in b/tests/examples/helloworld/Makefile.in
index 7176122..dde0717 100644
--- a/tests/examples/helloworld/Makefile.in
+++ b/tests/examples/helloworld/Makefile.in
@@ -214,6 +214,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -304,6 +305,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -315,6 +317,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -401,6 +404,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/manual/Makefile.in b/tests/examples/manual/Makefile.in
index 1cc8617..3bf60c7 100644
--- a/tests/examples/manual/Makefile.in
+++ b/tests/examples/manual/Makefile.in
@@ -574,6 +574,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -664,6 +665,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -675,6 +677,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -761,6 +764,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/memory/Makefile.in b/tests/examples/memory/Makefile.in
index bdbfaf9..a748e66 100644
--- a/tests/examples/memory/Makefile.in
+++ b/tests/examples/memory/Makefile.in
@@ -216,6 +216,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -306,6 +307,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -317,6 +319,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -403,6 +406,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/netclock/Makefile.in b/tests/examples/netclock/Makefile.in
index c048855..b2800ca 100644
--- a/tests/examples/netclock/Makefile.in
+++ b/tests/examples/netclock/Makefile.in
@@ -226,6 +226,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -316,6 +317,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -327,6 +329,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -413,6 +416,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/ptp/Makefile.am b/tests/examples/ptp/Makefile.am
new file mode 100644
index 0000000..d76b4ad
--- /dev/null
+++ b/tests/examples/ptp/Makefile.am
@@ -0,0 +1,7 @@
+noinst_PROGRAMS = ptp-print-times
+
+ptp_print_times_LDADD = \
+	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
+	$(GST_OBJ_LIBS)
+ptp_print_times_CFLAGS = $(GST_OBJ_CFLAGS)
+
diff --git a/tests/examples/ptp/Makefile.in b/tests/examples/ptp/Makefile.in
new file mode 100644
index 0000000..52bb641
--- /dev/null
+++ b/tests/examples/ptp/Makefile.in
@@ -0,0 +1,801 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+noinst_PROGRAMS = ptp-print-times$(EXEEXT)
+subdir = tests/examples/ptp
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+	$(top_srcdir)/common/m4/as-auto-alt.m4 \
+	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
+	$(top_srcdir)/common/m4/as-docbook.m4 \
+	$(top_srcdir)/common/m4/as-libtool.m4 \
+	$(top_srcdir)/common/m4/as-version.m4 \
+	$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/common/m4/ax_pthread.m4 \
+	$(top_srcdir)/common/m4/gst-arch.m4 \
+	$(top_srcdir)/common/m4/gst-args.m4 \
+	$(top_srcdir)/common/m4/gst-check.m4 \
+	$(top_srcdir)/common/m4/gst-doc.m4 \
+	$(top_srcdir)/common/m4/gst-error.m4 \
+	$(top_srcdir)/common/m4/gst-feature.m4 \
+	$(top_srcdir)/common/m4/gst-function.m4 \
+	$(top_srcdir)/common/m4/gst-gettext.m4 \
+	$(top_srcdir)/common/m4/gst-glib2.m4 \
+	$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
+	$(top_srcdir)/common/m4/gst-parser.m4 \
+	$(top_srcdir)/common/m4/gst-platform.m4 \
+	$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
+	$(top_srcdir)/common/m4/gst-plugindir.m4 \
+	$(top_srcdir)/common/m4/gst.m4 \
+	$(top_srcdir)/common/m4/gtk-doc.m4 \
+	$(top_srcdir)/common/m4/introspection.m4 \
+	$(top_srcdir)/common/m4/pkg.m4 \
+	$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+ptp_print_times_SOURCES = ptp-print-times.c
+ptp_print_times_OBJECTS = ptp_print_times-ptp-print-times.$(OBJEXT)
+am__DEPENDENCIES_1 =
+ptp_print_times_DEPENDENCIES =  \
+	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+ptp_print_times_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(ptp_print_times_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = ptp-print-times.c
+DIST_SOURCES = ptp-print-times.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASH_COMPLETION_CFLAGS = @BASH_COMPLETION_CFLAGS@
+BASH_COMPLETION_DIR = @BASH_COMPLETION_DIR@
+BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
+BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
+BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
+CAT_ENTRY_END = @CAT_ENTRY_END@
+CAT_ENTRY_START = @CAT_ENTRY_START@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECK_MAJOR_VERSION = @CHECK_MAJOR_VERSION@
+CHECK_MICRO_VERSION = @CHECK_MICRO_VERSION@
+CHECK_MINOR_VERSION = @CHECK_MINOR_VERSION@
+CHECK_VERSION = @CHECK_VERSION@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIR = @DATADIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCBOOK_ROOT = @DOCBOOK_ROOT@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SUBUNIT = @ENABLE_SUBUNIT@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXEEXT = @EXEEXT@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLEX_PATH = @FLEX_PATH@
+GCOV = @GCOV@
+GCOV_CFLAGS = @GCOV_CFLAGS@
+GCOV_LIBS = @GCOV_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LDFLAGS = @GIO_LDFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_PREFIX = @GLIB_PREFIX@
+GLIB_REQ = @GLIB_REQ@
+GMP_LIBS = @GMP_LIBS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GSL_LIBS = @GSL_LIBS@
+GST_AGE = @GST_AGE@
+GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
+GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
+GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
+GST_ALL_LIBS = @GST_ALL_LIBS@
+GST_API_VERSION = @GST_API_VERSION@
+GST_CURRENT = @GST_CURRENT@
+GST_DISABLE_ALLOC_TRACE_DEFINE = @GST_DISABLE_ALLOC_TRACE_DEFINE@
+GST_DISABLE_GST_DEBUG_DEFINE = @GST_DISABLE_GST_DEBUG_DEFINE@
+GST_DISABLE_OPTION_PARSING_DEFINE = @GST_DISABLE_OPTION_PARSING_DEFINE@
+GST_DISABLE_PARSE_DEFINE = @GST_DISABLE_PARSE_DEFINE@
+GST_DISABLE_PLUGIN_DEFINE = @GST_DISABLE_PLUGIN_DEFINE@
+GST_DISABLE_REGISTRY_DEFINE = @GST_DISABLE_REGISTRY_DEFINE@
+GST_DISABLE_TRACE_DEFINE = @GST_DISABLE_TRACE_DEFINE@
+GST_HAVE_MONOTONIC_CLOCK_DEFINE = @GST_HAVE_MONOTONIC_CLOCK_DEFINE@
+GST_HAVE_POSIX_TIMERS_DEFINE = @GST_HAVE_POSIX_TIMERS_DEFINE@
+GST_HAVE_UNALIGNED_ACCESS_DEFINE = @GST_HAVE_UNALIGNED_ACCESS_DEFINE@
+GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
+GST_LIBVERSION = @GST_LIBVERSION@
+GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
+GST_LICENSE = @GST_LICENSE@
+GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
+GST_OBJ_CFLAGS = @GST_OBJ_CFLAGS@
+GST_OBJ_CXXFLAGS = @GST_OBJ_CXXFLAGS@
+GST_OBJ_LIBS = @GST_OBJ_LIBS@
+GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
+GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
+GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
+GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
+GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
+GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
+GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
+GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
+GST_REVISION = @GST_REVISION@
+GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
+GST_VERSION_MICRO = @GST_VERSION_MICRO@
+GST_VERSION_MINOR = @GST_VERSION_MINOR@
+GST_VERSION_NANO = @GST_VERSION_NANO@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
+HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
+HAVE_DVIPS = @HAVE_DVIPS@
+HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
+HAVE_FORK = @HAVE_FORK@
+HAVE_GMP = @HAVE_GMP@
+HAVE_GSL = @HAVE_GSL@
+HAVE_JADETEX = @HAVE_JADETEX@
+HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
+HAVE_PNMTOPS = @HAVE_PNMTOPS@
+HAVE_PS2PDF = @HAVE_PS2PDF@
+HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
+HOST_CPU = @HOST_CPU@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBDIR = @LIBDIR@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALEDIR = @LOCALEDIR@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
+PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
+PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
+PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
+PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGINDIR = @PLUGINDIR@
+POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
+PROFILE_CFLAGS = @PROFILE_CFLAGS@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SETCAP = @SETCAP@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+VALGRIND_LIBS = @VALGRIND_LIBS@
+VALGRIND_PATH = @VALGRIND_PATH@
+VERSION = @VERSION@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WIN32_LIBS = @WIN32_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XML_CATALOG = @XML_CATALOG@
+XSLTPROC = @XSLTPROC@
+XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+ptp_print_times_LDADD = \
+	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
+	$(GST_OBJ_LIBS)
+
+ptp_print_times_CFLAGS = $(GST_OBJ_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/ptp/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu tests/examples/ptp/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+
+ptp-print-times$(EXEEXT): $(ptp_print_times_OBJECTS) $(ptp_print_times_DEPENDENCIES) $(EXTRA_ptp_print_times_DEPENDENCIES) 
+	@rm -f ptp-print-times$(EXEEXT)
+	$(AM_V_CCLD)$(ptp_print_times_LINK) $(ptp_print_times_OBJECTS) $(ptp_print_times_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptp_print_times-ptp-print-times.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+ptp_print_times-ptp-print-times.o: ptp-print-times.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ptp_print_times_CFLAGS) $(CFLAGS) -MT ptp_print_times-ptp-print-times.o -MD -MP -MF $(DEPDIR)/ptp_print_times-ptp-print-times.Tpo -c -o ptp_print_times-ptp-print-times.o `test -f 'ptp-print-times.c' || echo '$(srcdir)/'`ptp-print-times.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ptp_print_times-ptp-print-times.Tpo $(DEPDIR)/ptp_print_times-ptp-print-times.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ptp-print-times.c' object='ptp_print_times-ptp-print-times.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ptp_print_times_CFLAGS) $(CFLAGS) -c -o ptp_print_times-ptp-print-times.o `test -f 'ptp-print-times.c' || echo '$(srcdir)/'`ptp-print-times.c
+
+ptp_print_times-ptp-print-times.obj: ptp-print-times.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ptp_print_times_CFLAGS) $(CFLAGS) -MT ptp_print_times-ptp-print-times.obj -MD -MP -MF $(DEPDIR)/ptp_print_times-ptp-print-times.Tpo -c -o ptp_print_times-ptp-print-times.obj `if test -f 'ptp-print-times.c'; then $(CYGPATH_W) 'ptp-print-times.c'; else $(CYGPATH_W) '$(srcdir)/ptp-print-times.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ptp_print_times-ptp-print-times.Tpo $(DEPDIR)/ptp_print_times-ptp-print-times.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ptp-print-times.c' object='ptp_print_times-ptp-print-times.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ptp_print_times_CFLAGS) $(CFLAGS) -c -o ptp_print_times-ptp-print-times.obj `if test -f 'ptp-print-times.c'; then $(CYGPATH_W) 'ptp-print-times.c'; else $(CYGPATH_W) '$(srcdir)/ptp-print-times.c'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+	ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/examples/ptp/ptp-print-times.c b/tests/examples/ptp/ptp-print-times.c
new file mode 100644
index 0000000..e6c666f
--- /dev/null
+++ b/tests/examples/ptp/ptp-print-times.c
@@ -0,0 +1,100 @@
+/* GStreamer
+ * Copyright (C) 2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/* Create a PTP client clock and print times and statistics.
+ *
+ * When running this from a GStreamer build tree, you will have to set
+ * GST_PTP_HELPER to libs/gst/helpers/.libs/gst-ptp-helper and also
+ * make sure that it has the right permissions (setuid root or appropriate
+ * capabilities
+ *
+ * You can test this with any PTP compatible clock, e.g. ptpd from here: http://ptpd.sourceforge.net/
+ *
+ * For testing the accuracy, you can use the PTP reflector available from
+ * http://code.centricular.com/ptp-clock-reflector/ or here
+ * https://github.com/sdroege/ptp-clock-reflector
+ */
+
+#include <gst/gst.h>
+#include <gst/net/net.h>
+
+static gint domain = 0;
+static gboolean stats = FALSE;
+
+static GOptionEntry opt_entries[] = {
+  {"domain", 'd', 0, G_OPTION_ARG_INT, &domain,
+      "PTP domain", NULL},
+  {"stats", 's', 0, G_OPTION_ARG_NONE, &stats,
+      "Print PTP statistics", NULL},
+  {NULL}
+};
+
+static gboolean
+stats_cb (guint8 d, const GstStructure * stats, gpointer user_data)
+{
+  if (d == domain) {
+    gchar *stats_str = gst_structure_to_string (stats);
+    g_print ("Got stats: %s\n", stats_str);
+    g_free (stats_str);
+  }
+
+  return TRUE;
+}
+
+gint
+main (gint argc, gchar ** argv)
+{
+  GOptionContext *opt_ctx;
+  GstClock *clock;
+  GError *err = NULL;
+
+  opt_ctx = g_option_context_new ("- GStreamer PTP clock test app");
+  g_option_context_add_main_entries (opt_ctx, opt_entries, NULL);
+  g_option_context_add_group (opt_ctx, gst_init_get_option_group ());
+  if (!g_option_context_parse (opt_ctx, &argc, &argv, &err))
+    g_error ("Error parsing options: %s", err->message);
+  g_option_context_free (opt_ctx);
+
+  if (!gst_ptp_init (GST_PTP_CLOCK_ID_NONE, NULL))
+    g_error ("failed to init ptp");
+
+  if (stats)
+    gst_ptp_statistics_callback_add (stats_cb, NULL, NULL);
+
+  clock = gst_ptp_clock_new ("test-clock", domain);
+
+  gst_clock_wait_for_sync (GST_CLOCK (clock), GST_CLOCK_TIME_NONE);
+
+  while (TRUE) {
+    GstClockTime local, remote;
+    GstClockTimeDiff diff;
+
+    local = g_get_real_time () * 1000;
+    remote = gst_clock_get_time (clock);
+    diff = GST_CLOCK_DIFF (local, remote);
+
+    g_print ("local: %" GST_TIME_FORMAT " ptp: %" GST_TIME_FORMAT " diff: %s%"
+        GST_TIME_FORMAT "\n", GST_TIME_ARGS (local), GST_TIME_ARGS (remote),
+        (diff < 0 ? "-" : " "), GST_TIME_ARGS (ABS (diff)));
+    g_usleep (100000);
+  }
+
+  return 0;
+}
diff --git a/tests/examples/stepping/Makefile.in b/tests/examples/stepping/Makefile.in
index 504160a..9eb9a51 100644
--- a/tests/examples/stepping/Makefile.in
+++ b/tests/examples/stepping/Makefile.in
@@ -214,6 +214,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -304,6 +305,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -315,6 +317,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -401,6 +404,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/streamiddemux/Makefile.in b/tests/examples/streamiddemux/Makefile.in
index 031dab6..fab7ab1 100644
--- a/tests/examples/streamiddemux/Makefile.in
+++ b/tests/examples/streamiddemux/Makefile.in
@@ -216,6 +216,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -306,6 +307,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -317,6 +319,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -403,6 +406,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/examples/streams/Makefile.in b/tests/examples/streams/Makefile.in
index 0ed1683..634a803 100644
--- a/tests/examples/streams/Makefile.in
+++ b/tests/examples/streams/Makefile.in
@@ -223,6 +223,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -313,6 +314,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -324,6 +326,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -410,6 +413,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tests/misc/Makefile.in b/tests/misc/Makefile.in
index d242e28..90b629e 100644
--- a/tests/misc/Makefile.in
+++ b/tests/misc/Makefile.in
@@ -159,6 +159,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -249,6 +250,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -260,6 +262,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -346,6 +349,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index f9716ae..ec67a05 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -279,6 +279,7 @@
 BASH_COMPLETION_LIBS = @BASH_COMPLETION_LIBS@
 BASH_HELPERS_DIR = @BASH_HELPERS_DIR@
 BISON_PATH = @BISON_PATH@
+CAP_LIBS = @CAP_LIBS@
 CAT_ENTRY_END = @CAT_ENTRY_END@
 CAT_ENTRY_START = @CAT_ENTRY_START@
 CC = @CC@
@@ -369,6 +370,7 @@
 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
 GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
 GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PTP_HELPER_INSTALLED = @GST_PTP_HELPER_INSTALLED@
 GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
 GST_REVISION = @GST_REVISION@
 GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
@@ -380,6 +382,7 @@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_CAP = @HAVE_CAP@
 HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
 HAVE_DVIPS = @HAVE_DVIPS@
 HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
@@ -466,6 +469,7 @@
 PYTHON_VERSION = @PYTHON_VERSION@
 RANLIB = @RANLIB@
 SED = @SED@
+SETCAP = @SETCAP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
diff --git a/tools/gst-indent b/tools/gst-indent
index e75338b..a9b8bfe 100755
--- a/tools/gst-indent
+++ b/tools/gst-indent
@@ -1,16 +1,17 @@
 #!/bin/sh
 
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
-  version=`indent --version 2>/dev/null`
-  if test "x$version" = "x"; then
-    echo "GStreamer git pre-commit hook:"
-    echo "Did not find GNU indent, please install it before continuing."
-    exit 1
+for execname in gnuindent gindent indent; do
+  version=`$execname --version 2>/dev/null`
+  if test "x$version" != "x"; then
+    INDENT=$execname
+    break
   fi
-  INDENT=indent
-else
-  INDENT=gnuindent
+done
+
+if test -z $INDENT; then
+  echo "GStreamer git pre-commit hook:"
+  echo "Did not find GNU indent, please install it before continuing."
+  exit 1
 fi
 
 case `$INDENT --version` in
diff --git a/win32/common/config.h b/win32/common/config.h
index 6833ff5..d0281e3 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -56,13 +56,13 @@
 #define GST_LICENSE "LGPL"
 
 /* package name in plugins */
-#define GST_PACKAGE_NAME "GStreamer git"
+#define GST_PACKAGE_NAME "GStreamer source release"
 
 /* package origin */
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2015-03-12T12:48Z"
+#define GST_PACKAGE_RELEASE_DATETIME "2015-06-07"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -70,6 +70,9 @@
 /* location of the installed gst-plugin-scanner */
 #define GST_PLUGIN_SCANNER_INSTALLED LIBDIR "\\gst-plugin-scanner"
 
+/* location of the installed gst-ptp-helper */
+#undef GST_PTP_HELPER_INSTALLED
+
 /* Define to 1 if you have the `alarm' function. */
 #undef HAVE_ALARM
 
@@ -225,6 +228,9 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Define to 1 if you have the `mkstemp' function. */
+#undef HAVE_MKSTEMP
+
 /* Define to 1 if you have a working `mmap' system call. */
 #undef HAVE_MMAP
 
@@ -267,6 +273,21 @@
 /* Have function pthread_setname_np(const char*) */
 #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID
 
+/* PTP support available */
+#undef HAVE_PTP
+
+/* Use capabilities for permissions in PTP helper */
+#undef HAVE_PTP_HELPER_CAPABILITIES
+
+/* Use setuid-root for permissions in PTP helper */
+#undef HAVE_PTP_HELPER_SETUID
+
+/* PTP helper setuid group */
+#undef HAVE_PTP_HELPER_SETUID_GROUP
+
+/* PTP helper setuid user */
+#undef HAVE_PTP_HELPER_SETUID_USER
+
 /* Define to 1 if the system has the type `ptrdiff_t'. */
 #undef HAVE_PTRDIFF_T
 
@@ -424,7 +445,7 @@
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.5.0.1"
+#define PACKAGE_STRING "GStreamer 1.5.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
@@ -433,7 +454,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5.0.1"
+#define PACKAGE_VERSION "1.5.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -477,7 +498,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "1.5.0.1"
+#define VERSION "1.5.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/gstenumtypes.c b/win32/common/gstenumtypes.c
index ebba963..3628dbf 100644
--- a/win32/common/gstenumtypes.c
+++ b/win32/common/gstenumtypes.c
@@ -284,6 +284,8 @@
         "GST_CLOCK_FLAG_CAN_SET_RESOLUTION", "can-set-resolution"},
     {C_FLAGS (GST_CLOCK_FLAG_CAN_SET_MASTER), "GST_CLOCK_FLAG_CAN_SET_MASTER",
         "can-set-master"},
+    {C_FLAGS (GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC),
+        "GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC", "needs-startup-sync"},
     {C_FLAGS (GST_CLOCK_FLAG_LAST), "GST_CLOCK_FLAG_LAST", "last"},
     {0, NULL, NULL}
   };
@@ -607,6 +609,7 @@
     {C_ENUM (GST_EVENT_SINK_MESSAGE), "GST_EVENT_SINK_MESSAGE", "sink-message"},
     {C_ENUM (GST_EVENT_EOS), "GST_EVENT_EOS", "eos"},
     {C_ENUM (GST_EVENT_TOC), "GST_EVENT_TOC", "toc"},
+    {C_ENUM (GST_EVENT_PROTECTION), "GST_EVENT_PROTECTION", "protection"},
     {C_ENUM (GST_EVENT_SEGMENT_DONE), "GST_EVENT_SEGMENT_DONE", "segment-done"},
     {C_ENUM (GST_EVENT_GAP), "GST_EVENT_GAP", "gap"},
     {C_ENUM (GST_EVENT_QOS), "GST_EVENT_QOS", "qos"},
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index a595e27..698f483 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -57,14 +57,14 @@
  *
  * The micro version of GStreamer at compile time:
  */
-#define GST_VERSION_MICRO (0)
+#define GST_VERSION_MICRO (1)
 /**
  * GST_VERSION_NANO:
  *
  * The nano version of GStreamer at compile time:
  * Actual releases have 0, GIT versions have 1, prerelease versions have 2-...
  */
-#define GST_VERSION_NANO (1)
+#define GST_VERSION_NANO (0)
 
 /**
  * GST_CHECK_VERSION:
diff --git a/win32/common/libgstnet.def b/win32/common/libgstnet.def
index 8e3f327..9cbd905 100644
--- a/win32/common/libgstnet.def
+++ b/win32/common/libgstnet.def
@@ -16,3 +16,13 @@
 	gst_net_time_packet_serialize
 	gst_net_time_provider_get_type
 	gst_net_time_provider_new
+	gst_ntp_clock_get_type
+	gst_ntp_clock_new
+	gst_ptp_clock_get_type
+	gst_ptp_clock_new
+	gst_ptp_deinit
+	gst_ptp_init
+	gst_ptp_is_initialized
+	gst_ptp_is_supported
+	gst_ptp_statistics_callback_add
+	gst_ptp_statistics_callback_remove
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index 63486b6..76dcb07 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -53,6 +53,7 @@
 	_gst_double_range_type DATA
 	_gst_element_error_printf
 	_gst_event_type DATA
+	_gst_flagset_type DATA
 	_gst_fraction_range_type DATA
 	_gst_fraction_type DATA
 	_gst_int64_range_type DATA
@@ -320,6 +321,7 @@
 	gst_clock_id_unschedule
 	gst_clock_id_wait
 	gst_clock_id_wait_async
+	gst_clock_is_synced
 	gst_clock_new_periodic_id
 	gst_clock_new_single_shot_id
 	gst_clock_periodic_id_reinit
@@ -327,10 +329,12 @@
 	gst_clock_set_calibration
 	gst_clock_set_master
 	gst_clock_set_resolution
+	gst_clock_set_synced
 	gst_clock_set_timeout
 	gst_clock_single_shot_id_reinit
 	gst_clock_type_get_type
 	gst_clock_unadjust_unlocked
+	gst_clock_wait_for_sync
 	gst_context_get_context_type
 	gst_context_get_structure
 	gst_context_get_type
@@ -601,6 +605,8 @@
 	gst_event_type_to_quark
 	gst_event_writable_structure
 	gst_filename_to_uri
+	gst_flagset_get_type
+	gst_flagset_register
 	gst_flow_get_name
 	gst_flow_return_get_type
 	gst_flow_to_quark
@@ -781,7 +787,8 @@
 	gst_object_get_value_array
 	gst_object_has_active_control_bindings
 	gst_object_has_ancestor
-	gst_object_has_parent
+	gst_object_has_as_ancestor
+	gst_object_has_as_parent
 	gst_object_ref
 	gst_object_ref_sink
 	gst_object_remove_control_binding
@@ -1174,6 +1181,7 @@
 	gst_structure_get_double
 	gst_structure_get_enum
 	gst_structure_get_field_type
+	gst_structure_get_flagset
 	gst_structure_get_fraction
 	gst_structure_get_int
 	gst_structure_get_int64
@@ -1464,6 +1472,8 @@
 	gst_value_get_caps_features
 	gst_value_get_double_range_max
 	gst_value_get_double_range_min
+	gst_value_get_flagset_flags
+	gst_value_get_flagset_mask
 	gst_value_get_fraction_denominator
 	gst_value_get_fraction_numerator
 	gst_value_get_fraction_range_max
@@ -1493,6 +1503,7 @@
 	gst_value_set_caps
 	gst_value_set_caps_features
 	gst_value_set_double_range
+	gst_value_set_flagset
 	gst_value_set_fraction
 	gst_value_set_fraction_range
 	gst_value_set_fraction_range_full