diff --git a/ChangeLog b/ChangeLog
index 3fb7b32..c17b25c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,804 @@
-=== release 1.3.2 ===
+=== release 1.3.3 ===
 
-2014-05-21  Sebastian Dröge <slomo@coaxion.net>
+2014-06-22  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.3.2
+	  releasing 1.3.3
+
+2014-06-22 14:23:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/hu.po:
+	* po/id.po:
+	* po/sr.po:
+	* po/zh_TW.po:
+	  po: Update translations
+
+2014-06-22 12:52:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstcaps.c:
+	  tests: add unit test for gst_caps_is_any() and _is_empty()
+	  https://bugzilla.gnome.org//show_bug.cgi?id=731704
+
+2014-06-22 12:50:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstcaps.c:
+	  caps: gst_caps_is_any() should return TRUE or FALSE
+	  Not some flag value instead of TRUE. Fixes code like
+	  gst_caps_is_any() == TRUE.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=731704
+
+2014-06-01 16:56:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstdevice.c:
+	* gst/gstdevice.h:
+	* win32/common/libgstreamer.def:
+	  device: rename "klass" and get_klass() to "device-class" and _get_device_class()
+	  There's some precedent in GstElementFactory, but a
+	  "klass" property just seems weird.
+
+2014-06-20 18:34:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/benchmarks/capsnego.c:
+	  benchmarks: capsnego: add --loops command line option
+	  And default to 50 loops.
+
+2014-06-20 17:14:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/benchmarks/capsnego.c:
+	  benchmark: capsnego: use GOptionContext for option parsing
+
+2014-06-19 12:10:23 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstvalue.c:
+	  tests: fix compiler warnings in gstvalue tests
+	  Calling GST_VALUE_HOLDS_*(&v) now results in a compiler
+	  warning about value!=NULL always being false, so check
+	  type directly in those cases.
+
+2014-06-17 22:45:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gsttaglist.c:
+	* gst/gstutils.c:
+	* gst/gstvalue.h:
+	  value: simplify GST_VALUE_HOLDS for our boxed and fundamental types
+	  Boxed types can't be derived from, and we don't support
+	  deriving from our special fundamental types (the code
+	  checks for GType equality in most places.
+
+2014-06-20 16:55:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstdevice.c:
+	* gst/gstdevice.h:
+	* gst/gstdevicemonitor.c:
+	* gst/gstdevicemonitor.h:
+	* gst/gstdevicemonitorfactory.h:
+	* gst/gstglobaldevicemonitor.c:
+	* gst/gstglobaldevicemonitor.h:
+	* gst/gstmessage.c:
+	  GstDevice: Document GstDevice and related classes
+
+2014-06-16 13:47:55 +0200  Srimanta Panda <srimanta.panda@axis.com>
+
+	* plugins/elements/gstfunnel.c:
+	* tests/check/elements/funnel.c:
+	  Fix funnel EOS handling and wrong unittest
+	  When no data is coming from sinkpads and eos events
+	  arrived at one of the sinkpad, funnel forwards the EOS
+	  event to downstream. It forwards the EOS because lastsink pad
+	  is NULL. Also the unit testcase of the funnel is not checking
+	  the correct behavior as it should. The unit test case should
+	  fail if one of the sink pad has already EOS present on it and
+	  we are trying to push one more EOS.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731716
+
+2014-06-19 08:09:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: optimise checks for lists
+	  Our fundamental types are non-derivable, so we can
+	  just check for equality. Also avoid doing the same
+	  check multiple times in a couple of places.
+
+2014-06-19 08:06:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: use g_assert() in internal function for already-checked things
+	  So these get compiled out for releases.
+
+2014-06-19 08:05:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: add internal _can_compare_unchecked()
+
+2014-06-19 08:03:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: add internal _list_concat() that takes ownership of input values
+	  Avoids unnecessary copies.
+
+2014-06-18 19:06:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gststructure.c:
+	  structure: simplify value type checks in getters
+	  Just check for GType equality in common cases.
+
+2014-06-19 09:29:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstvalue.c:
+	  value: Add a FIXME 2.0 for a fraction ranges optimization
+	  Currently we leak the internal representation of them as two GValues that
+	  contain a fraction. Without this we could store fraction ranges as
+	  data[0] = (min_n << 32) | (min_d)
+	  data[1] = (max_n << 32) | (max_d)
+	  and wouldn't require an additional allocation per range.
+
+2014-06-19 09:23:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstvalue.c:
+	* tests/check/gst/gstvalue.c:
+	  value: Make sure to cast int range values to guints before storing them
+	  Otherwise negative values will sets all of the 64 bits due to two's
+	  complement's definition of negative values.
+	  Also add a test for negative int ranges.
+
+2014-06-19 07:57:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstreamer.def:
+	  win32: update exports
+
+2014-06-19 09:05:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstvalue.c:
+	  value: Store integer ranges directly in a GValue without additional allocation
+	  Micro optimization to save some allocations. Next step to do this
+	  with fraction ranges too.
+
+2014-06-19 08:43:02 +0200  Edward Hervey <edward@collabora.com>
+
+	* gst/gst_private.h:
+	  gst_private: Fix duplicate definition
+
+2014-06-19 08:05:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gst.c:
+	* gst/gst_private.h:
+	* gst/gstallocator.c:
+	* gst/gstcapsfeatures.h:
+	* gst/gstcontext.c:
+	* gst/gstcontext.h:
+	* gst/gstdatetime.c:
+	* gst/gstdatetime.h:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* gst/gsttaglist.c:
+	* gst/gsttaglist.h:
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	  gst: Store more basic type GTypes in variables
+	  Micro optimization to change a function call to a variable access
+	  for all our basic types.
+
+2014-06-19 08:04:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstvalue.c:
+	* gst/gstvalue.h:
+	  value: Store our fundamental type GTypes in variables
+	  Micro optimization to change a function call to a variable access
+	  for all our basic types.
+
+2014-06-17 07:31:48 +0200  Edward Hervey <edward@collabora.com>
+
+	* gst/gstvalue.c:
+	  gstvalue: Speed up gst_value_intersect/_subtract
+	  Both gst_value_intersect and gst_value_subtract will call
+	  gst_value_compare if one of their arguments isn't a list.
+	  gst_value_compare will then re-do a check to see if one of
+	  the arguments is a list (for the special case of comparing a unitary
+	  value with a list of length 1).
+	  The problem is that the various G_VALUE_HOLDS represent an expensive
+	  amount of calling gst_value_compare (almost half of it) to see if
+	  the provided arguments are list. These checks can be done without
+	  when we know that the arguments aren't lists.
+	  * Create a new "nolist" gst_value_compare which avoids that special
+	  case comparision
+	  Benchmarks:
+	  valgrind/callgrind: average speedup in instruction calls for
+	  gst_value_intersect and gst_value_subtract is around 56% (Makes 63%
+	  of the calls it used to take previously)
+	  tests/benchmarks/capsnego: With default settings (depth 4, children 3
+	  607 elements), time taken for transition from READY to PAUSED:
+	  Before : 00.391519153
+	  After  : 00.220397492
+	  56% of the time previously used, +77% speedup
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731756
+
+2014-06-17 14:39:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstbufferlist.c:
+	  tests: remove some cruft from the bufferlist test
+	  Buffers no longer carry caps, and bufferlists don't have
+	  groups where buffers may need to be merged into one any more.
+
+2014-06-16 20:30:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstbufferlist.c:
+	  tests: add test for gst_buffer_list_remove()
+
+2014-06-16 20:29:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstbufferlist.c:
+	  bufferlist: fix buffer leak in _remove()
+
+2014-06-16 09:18:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstflowcombiner.c:
+	  flowcombiner: fix g-i transfer annotations
+
+2014-06-16 08:41:48 +0200  Edward Hervey <edward@collabora.com>
+
+	* libs/gst/base/gstflowcombiner.c:
+	  flowcombiner: Fixed GBoxedCopyFunc
+	  I'll just quote the most interesting man in the world:
+	  "I don't usually push commits, but when I do I don't compile it
+	  first"
+
+2014-06-14 16:30:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstdevicemonitor.h:
+	* gst/gstglobaldevicemonitor.c:
+	  devicemonitor: some docs additions and fixes
+
+2014-06-14 16:28:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstbase.def:
+	  win32: add exports for new get_type() function
+
+2014-06-14 11:31:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstflowcombiner.c:
+	  flowcombiner: keep a ref to the pads we're using
+	  Needed for use via the boxed type.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731355
+
+2014-06-14 10:54:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstflowcombiner.c:
+	* libs/gst/base/gstflowcombiner.h:
+	  flowcombiner: add boxed type for bindings
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731355
+
+2014-06-11 16:28:51 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* gst/gstdevice.c:
+	* gst/gstdevicemonitorfactory.c:
+	* gst/gstevent.c:
+	  introspection: minor annotation additions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731541
+
+2014-06-11 19:08:04 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* gst/Makefile.am:
+	  introspection: include gstversion.h in GIR generation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703021
+
+2014-06-10 10:23:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* libs/gst/base/gstbytereader.c:
+	  bytereader: Use concistant derefence method
+	  This is minor style fix to not mix *var and var[N].
+
+2014-06-10 09:35:38 -0400  Sungho Bae <baver.bae@lge.com>
+
+	* libs/gst/base/gstbytereader.c:
+	  bytereader: Use pointer instead of index access
+	  Currently the scan uses Boyer-moore method and its performance is good.
+	  but, it can be optimized from an implementation of view.
+	  The original scan code is implemented by byte array and index-based access.
+	  In _scan_for_start_code(), the index is increasing from start to end and the
+	  base address of the byte array is referred to as return value.
+	  In the case, index-based access can be replaced by pointer access, which
+	  improve the performance by removing index-related operations.
+	  Its performace is enhanced by approximately 8% on arm-based embedded devices.
+	  Although it seems trivial, it can affect the overall performance because the
+	  _scan_for_start_code() function is very often called when H.264/H.265 video is
+	  played.
+	  In addition, the technique can apply for all architectures and it is good in
+	  view of readability and maintainability.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731442
+
+2014-06-07 10:13:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstglobaldevicemonitor.h:
+	  globaldevicemonitor: prettify header
+
+2014-06-07 09:46:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/queuearray.c:
+	  tests: add unit test for queuearray expansion from 1
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731349
+
+2014-06-06 16:36:00 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* libs/gst/base/gstqueuearray.c:
+	  queuearray: fix expanding size of queue from 1
+	  Without we would not actually expand and access
+	  memory beyond the allocated region for the array.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731349
+
+2014-06-05 16:55:15 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* libs/gst/base/gstdataqueue.c:
+	  dataqueue: clear up documentation of gst_data_queue_new
+	  The gpointer argument is passed to all three callbacks, not just one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731302
+
+2014-05-30 00:17:06 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* gst/gstcontrolbinding.c:
+	* gst/gstcontrolsource.c:
+	* gst/gstdevicemonitorfactory.h:
+	* gst/gstutils.c:
+	* libs/gst/base/gstdataqueue.c:
+	* libs/gst/base/gstindex.c:
+	  introspection: fix some minor annotation bugs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730982
+
+2014-06-05 12:38:20 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* libs/gst/base/gstadapter.c:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/base/gstbasesrc.h:
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	* libs/gst/base/gstcollectpads.c:
+	* libs/gst/base/gstcollectpads.h:
+	* libs/gst/base/gstdataqueue.c:
+	* libs/gst/base/gstdataqueue.h:
+	* libs/gst/base/gstindex.c:
+	* libs/gst/base/gsttypefindhelper.c:
+	* libs/gst/base/gsttypefindhelper.h:
+	  base: use correct syntax in documentation more consistently
+	  Previously, many constants were prefixed with # or unprefixed,
+	  some functions and macros were prefixed with # instead of suffixed
+	  with (), etc.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731293
+
+2014-05-07 18:26:38 +0800  zhouming <zmafox@gmail.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Pass rate of input segment to output segment
+	  https://bugzilla.gnome.org/show_bug.cgi?id=729701
+
+2014-04-07 14:49:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* plugins/elements/Makefile.am:
+	* plugins/elements/gstelements_private.c:
+	* plugins/elements/gstelements_private.h:
+	* plugins/elements/gstfakesink.c:
+	* plugins/elements/gstfakesrc.c:
+	* plugins/elements/gstidentity.c:
+	  gstbuffer: factor three flags-to-string loops
+
+2014-06-03 23:42:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstinfo.c:
+	  info: make printing datetimes work with GST_PTR_FORMAT
+
+2014-06-03 23:38:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstdatetime.c:
+	* gst/gstdatetime.h:
+	* gst/gstvalue.c:
+	* gst/gstvalue.h:
+	  datetime: change internal implementation to mini object
+	  And move type stuff from GstValue to GstDateTime.
+
+2014-06-03 22:19:33 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* plugins/elements/gstdownloadbuffer.c:
+	  downloadbuffer: fix uninitialized variable
+
+2014-06-03 22:12:13 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* docs/design/part-buffering.txt:
+	* plugins/elements/gstdownloadbuffer.c:
+	  downloadbuffer: improve start/stop in buffering query
+	  The start and stop should represent the currently downloading region.
+	  The estimated-total should represent the remaining time to download
+	  the currently downloading region. This makes it a lot more useful
+	  for applications because they can then use those values to update
+	  the fill region and use the estimated time to delay playback.
+	  Update the docs with this clarification.
+
+2014-04-07 14:35:04 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	  identity: add static and const where appropriate
+
+2014-04-07 14:31:17 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	  identity: fix potential buffer overflow
+	  Coverity 1037155
+
+2014-06-03 14:49:44 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* plugins/elements/gstdownloadbuffer.c:
+	  downloadbuffer: reset read and write positions
+	  Reset the read and write positions right after we open the file or flush
+	  it. We are also in the buffering state with 0 percent buffered when we
+	  start.
+
+2014-06-03 14:47:17 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstinfo.c:
+	  info: first handle all miniobjects, then GObjects
+	  First handle all miniobjects before we attempt to dereference the first
+	  field pointer and look at the GType. With the recent glib change to
+	  speed up G_IS_OBJECT, this causes crashes on miniobjects otherwise.
+
+2014-06-03 14:46:11 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstinfo.c:
+	  info: GstDateTime does not have a GType as first field
+	  GstDateTime does not have the GType as the first field so we can't use
+	  it to detect its type.
+
+2014-06-03 14:45:22 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstinfo.c:
+	  info: use macros to check types
+	  Use the macros to check the type of objects instead of directly poking
+	  at the first field.
+
+2014-06-01 23:51:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstglobaldevicemonitor.c:
+	  globaldevicemonitor: connect sync-message signal on the right object
+	  Fixes criticals at runtime and makes stuff actually work.
+
+2014-05-31 17:35:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Keep still meaningfull pending events on FLUSH_STOP
+	  Only EOS and segment should be deleted in that case.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709868
+
+2014-05-30 09:13:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstminiobject.c:
+	  Revert "miniobject: Add missing (nullable) annotations"
+	  This reverts commit 96361e9b5c5d00dc7712ff3a9acfbe10df7cd9fe.
+	  This was not supposed to be pushed yet!
+
+2014-05-30 09:12:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbufferpool.h:
+	  bufferpool: It's pool, not poo... even when talking about flushing
+
+2014-05-28 10:14:45 +0100  Philip Withnall <philip.withnall@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: Add missing (nullable) annotations
+	  gst_mini_object_replace() can take NULL mini-objects.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730873
+
+2014-05-30 01:42:17 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* tests/check/elements/multiqueue.c:
+	  tests: multiqueue: fix leaks
+
+2014-05-29 14:54:34 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* gst/gst.c:
+	* gst/gstallocator.c:
+	* gst/gstatomicqueue.c:
+	* gst/gstbin.c:
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* gst/gstbufferlist.c:
+	* gst/gstbufferlist.h:
+	* gst/gstbufferpool.c:
+	* gst/gstbus.c:
+	* gst/gstbus.h:
+	* gst/gstcaps.c:
+	* gst/gstcaps.h:
+	* gst/gstcapsfeatures.c:
+	* gst/gstchildproxy.c:
+	* gst/gstcontext.h:
+	* gst/gstcontrolsource.c:
+	* gst/gstdatetime.c:
+	* gst/gstdevice.c:
+	* gst/gstdevicemonitorfactory.c:
+	* gst/gstelement.c:
+	* gst/gstelement.h:
+	* gst/gstelementfactory.c:
+	* gst/gsterror.c:
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gstformat.c:
+	* gst/gstghostpad.c:
+	* gst/gstinfo.c:
+	* gst/gstinfo.h:
+	* gst/gstiterator.c:
+	* gst/gstiterator.h:
+	* gst/gstmemory.c:
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* gst/gstmeta.c:
+	* gst/gstminiobject.c:
+	* gst/gstobject.c:
+	* gst/gstobject.h:
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* gst/gstparse.c:
+	* gst/gstparse.h:
+	* gst/gstpipeline.c:
+	* gst/gstplugin.c:
+	* gst/gstplugin.h:
+	* gst/gstpluginfeature.c:
+	* gst/gstpluginfeature.h:
+	* gst/gstpreset.c:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* gst/gstregistry.c:
+	* gst/gstsample.c:
+	* gst/gstsegment.c:
+	* gst/gststructure.c:
+	* gst/gststructure.h:
+	* gst/gsttaglist.c:
+	* gst/gsttagsetter.c:
+	* gst/gsttask.c:
+	* gst/gsttaskpool.c:
+	* gst/gsttoc.c:
+	* gst/gsttocsetter.c:
+	* gst/gsttypefind.c:
+	* gst/gsttypefindfactory.c:
+	* gst/gsturi.c:
+	* gst/gstutils.c:
+	* gst/gstvalue.c:
+	  docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE
+	  This should help improve documentation generated for
+	  languages other than C.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730961
+
+2014-05-30 00:13:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstobject.c:
+	  docs: fix type in GstObject docs
+
+2014-05-29 15:04:45 -0700  Evan Nemerson <evan@nemerson.com>
+
+	* gst/gstbufferpool.c:
+	  bufferpool: fix gst_buffer_pool_has_option() documentation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730962
+
+2014-05-29 14:07:15 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gstelement.c:
+	* tests/check/gst/gstelement.c:
+	  element: set pads need-parent flag to false when removing
+	  When a pad is added the need-parent flag is set to true, so when
+	  they are removed the flag should be set back to false
+	  This was preventing GstPads to be reused in elements (removed and
+	  later re-added). A unit tests was added to verify that this is
+	  working now.
+	  The use case is tsdemux that has a program-number property and
+	  allows the user to switch programs. In order to do that tsdemux
+	  will remove the pads of the current program and add from the new
+	  ones. The removed pads are kept in the demuxer for later if the
+	  user selects the old program again.
+
+2014-05-27 08:09:36 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: post buffering message when queues flush
+	  The buffering status goes back to 0, so inform the application about it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=726423
+
+2014-05-29 14:39:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* .gitignore:
+	  gitignore: Ignore VIM swap files
+
+2014-05-27 13:36:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	  pad: two minor docs fixes
+
+2014-05-27 10:09:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/gstflowcombiner.h:
+	  flowcombiner: beautify headers a little
+
+2014-05-27 10:05:51 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gstreamer-libs-docs.sgml:
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstflowcombiner.h:
+	  docs: add GstFlowCombiner
+
+2014-05-27 09:55:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* libs/gst/base/base.h:
+	  base: include flowcombiner header from base.h
+
+2014-05-26 12:31:33 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* libs/gst/base/Makefile.am:
+	* libs/gst/base/gstflowcombiner.c:
+	* libs/gst/base/gstflowcombiner.h:
+	* tests/check/Makefile.am:
+	* tests/check/libs/.gitignore:
+	* tests/check/libs/flowcombiner.c:
+	* win32/common/libgstbase.def:
+	  flowcombiner: add GstFlowCombiner
+	  Adds a utility struct that is capable of storing and aggregating flow returns
+	  associated with pads.
+	  This way all demuxers will have a standard function to use and have the
+	  same expected results.
+	  Includes tests.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709224
+
+2014-05-23 13:25:35 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* tests/check/gst/gstpad.c:
+	* win32/common/libgstreamer.def:
+	  pad: store last flow return and provide acessor function
+	  Stores the last result of a gst_pad_push or a pull on the GstPad and provides
+	  a getter and a macro to access this field.
+	  Whenever the pad is inactive it is set to FLUSHING
+	  API: gst_pad_get_last_flow_return
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709224
+
+2014-05-23 15:26:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstbufferpool.c:
+	* gst/gstbufferpool.h:
+	* tests/check/gst/gstbufferpool.c:
+	* win32/common/libgstreamer.def:
+	  bufferpool: Add method and virtuals to set flushing state
+	  Currently there is no other way to unlock a buffer pool other then
+	  stopping it. This may have the effect of freeing all the buffers,
+	  which is too heavy for a seek. This patch add a method to enter and
+	  leave flushing state. As a convenience, flush_start/flush_stop
+	  virtual are added so pool implementation can also unblock their own
+	  internal poll atomically with the rest of the pool.  This is fully
+	  backward compatible with doing stop/start to actually flush the pool
+	  (as being done in GstBaseSrc).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727611
+
+2014-05-26 14:23:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Passthrough ALLOCATION queries in passthrough mode even if we had no caps yet
+	  Or if the element does not care about caps at all.
+	  Also remove an assigned but unused local variable.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=710268
+
+2014-05-25 16:10:30 +0100  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
+
+2014-05-25 16:57:59 +0200  Piotr Drąg <piotrdrag@gmail.com>
+
+	* po/POTFILES.in:
+	  po: update POTFILES
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730718
+
+2014-05-21 13:23:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.3.2 ===
+
+2014-05-21 13:06:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* common:
+	* configure.ac:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	* win32/common/gstversion.h:
+	  Release 1.3.2
+
+2014-05-21 11:39:53 +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-05-21 10:50:43 +0200  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/NEWS b/NEWS
index 67f56ec..234351d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-This is GStreamer 1.3.2
+This is GStreamer 1.3.3
 
 Changes since 1.2:
 
@@ -30,6 +30,10 @@
    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.
@@ -43,6 +47,7 @@
  • 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
@@ -54,6 +59,10 @@
    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:
@@ -97,7 +106,8 @@
    ∘ 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, especially time related.
+   ∘ 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.
@@ -110,9 +120,16 @@
      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.
-   ∘ 400+ fixed bug reports, and many other bug fixes and other
+   ∘ Negotiation related performance improvements.
+   ∘ 500+ fixed bug reports, and many other bug fixes and other
      improvements everywhere that had no bug report.
 
 Things to look out for:
@@ -120,3 +137,6 @@
    element.
  • The mfcdec element was removed and replaced by v4l2videodec.
  • osxvideosink is only available in OS X 10.6 or newer.
+ • The GstDeviceMonitor API will likely change slightly before the
+   1.4.0 release.
+
diff --git a/RELEASE b/RELEASE
index 7007723..0bcf059 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,8 +1,8 @@
 
-Release notes for GStreamer 1.3.2
+Release notes for GStreamer 1.3.3
 
 
-The GStreamer team is pleased to announce the second release of the unstable
+The GStreamer team is pleased to announce the third release of the unstable
 1.3 release series. The 1.3 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 unstable 1.3 release series
@@ -10,23 +10,15 @@
 API can still change until that point.
 
 
+This is hopefully the last 1.3 development release and will be followed by
+the first 1.4.0 release candidate (1.3.90) in 1-2 weeks. Which then hopefully
+is followed by 1.4.0 soonish in early July.
+
 
 Binaries for Android, iOS, Mac OS X and Windows will be provided separately
 during the unstable 1.3 release series.
 
 
-
-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.
-
-
-
 This module, gstreamer, only contains core functionality.
 For actual media playback, you will need other modules.
 
@@ -50,14 +42,25 @@
 
 Bugs fixed in this release
      
-      * 726423 : playbin/decodebin: aggregate buffering messages
-      * 680183 : queue2: when download buffering has holes, plug the holes
-      * 727916 : bufferpool: Does not implement set_config() as documented
-      * 728268 : Need a way to detect that pool haven't changed, is active, and does not need to be renegotiated
-      * 729949 : core plugins and libgstbase now depend on gio
-      * 729951 : base: keep new GstSparseFile helper API private
-      * 730125 : c7d68da broke W32 builds
-      * 730312 : Remove or fix reference to Mandrake
+      * 732007 : Rename GstGlobalDeviceMonitor
+      * 703021 : Missing Gst.VERSION_MAJOR, Gst.VERSION_MINOR
+      * 709224 : audio/videodecoder: Not returning GST_FLOW_EOS when after segment
+      * 710268 : basetransform: cannot answer GST_QUERY_ALLOCATION if its src has ANY caps
+      * 727746 : Factor buffer flags-to-string code
+      * 729440 : docs: DeviceMonitor missing in generated doc
+      * 729701 : baseparse: rate parameter from segment event could not pass to downstream
+      * 730718 : POTFILES.in is out of date
+      * 730982 : Minor annotation fixes
+      * 731302 : gst_data_queue_new documentation is misleading
+      * 731349 : queuearray: doesn't expand with initial size of 1, resulting in invalid memory access
+      * 731355 : GstFlowCombiner not introspection-friendly
+      * 731442 : bytereader: optimize _scan_for_start_code() using pointer access
+      * 731541 : minor introspection fixes
+      * 731704 : gst_caps_is_any() returns FALSE or flag value, not TRUE or FALSE
+      * 731716 : funnel: fix eos handling and unit test case
+      * 731756 : gstvalue: Speed up gst_value_intersect/_subtract
+      * 731892 : gstvalue: Avoid expensive g_type_check_value_holds calls when dealing with fundamental GType
+      * 727611 : bufferpool: Add _set_flushing() and new (active,flushing) state
 
 ==== Download ====
 
@@ -95,10 +98,17 @@
 Contributors to this release
     
       * Edward Hervey
+      * Evan Nemerson
       * Nicolas Dufresne
+      * Olivier Crête
+      * Philip Withnall
+      * Piotr Drąg
       * Sebastian Dröge
+      * Srimanta Panda
+      * Sungho Bae
       * Thiago Santos
       * Tim-Philipp Müller
+      * Vincent Penquerc'h
       * Wim Taymans
-      * Руслан Ижбулатов
+      * zhouming
  
\ No newline at end of file
diff --git a/configure b/configure
index 68c4de5..422ee75 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.3.2.
+# Generated by GNU Autoconf 2.69 for GStreamer 1.3.3.
 #
 # 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.3.2'
-PACKAGE_STRING='GStreamer 1.3.2'
+PACKAGE_VERSION='1.3.3'
+PACKAGE_STRING='GStreamer 1.3.3'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1638,7 +1638,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.3.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer 1.3.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1709,7 +1709,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 1.3.2:";;
+     short | recursive ) echo "Configuration of GStreamer 1.3.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1891,7 +1891,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 1.3.2
+GStreamer configure 1.3.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2664,7 +2664,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.3.2, which was
+It was created by GStreamer $as_me 1.3.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3645,7 +3645,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='1.3.2'
+ VERSION='1.3.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3856,9 +3856,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.3.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.3.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.3.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.3.3 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.3.3 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.3.3 | cut -d'.' -f3)
 
 
 
@@ -3869,7 +3869,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.3.2 | cut -d'.' -f4)
+  NANO=$(echo 1.3.3 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8527,10 +8527,10 @@
 done
 
 
-  GST_CURRENT=302
+  GST_CURRENT=303
   GST_REVISION=0
-  GST_AGE=302
-  GST_LIBVERSION=302:0:302
+  GST_AGE=303
+  GST_LIBVERSION=303:0:303
 
 
 
@@ -27564,7 +27564,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.3.2, which was
+This file was extended by GStreamer $as_me 1.3.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -27630,7 +27630,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.3.2
+GStreamer config.status 1.3.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index c198076..3c457aa 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.3.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
+AC_INIT([GStreamer],[1.3.3],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
 AG_GST_INIT
 
 dnl initialize automake (we require GNU make)
@@ -64,7 +64,7 @@
 dnl      1.10.9 (who knows) => 1009
 dnl
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 302, 0, 302)
+AS_LIBTOOL(GST, 303, 0, 303)
 
 dnl *** autotools stuff ****
 
diff --git a/docs/design/part-buffering.txt b/docs/design/part-buffering.txt
index c88dab8..2a2093b 100644
--- a/docs/design/part-buffering.txt
+++ b/docs/design/part-buffering.txt
@@ -196,19 +196,23 @@
     - the format of the "start" and "stop" values below  
    
   "start", G_TYPE_INT64, -1 unknown
-    - the start position of the available data
+    - the start position of the available data. If there are multiple ranges,
+      this field contains the start position of the currently downloading
+      range.
 
   "stop", G_TYPE_INT64, -1 unknown
-    - the stop position of the available data
+    - the stop position of the available data. If there are multiple ranges,
+      this field contains the stop position of the currently downloading
+      range.
 
   "estimated-total", G_TYPE_INT64
     - gives the estimated download time in milliseconds. -1 unknown.
 
     When the size of the downloaded file is known, this value will contain
-    the latest estimate of the remaining download time. This value is usually
-    only filled for the "download" buffering mode. The application can use
-    this information to estimate the amount of remaining time to download the
-    complete file.
+    the latest estimate of the remaining download time of the currently
+    downloading range. This value is usually only filled for the "download"
+    buffering mode. The application can use this information to estimate the
+    amount of remaining time to download till the end of the file.
 
   "buffering-ranges", G_TYPE_ARRAY of GstQueryBufferingRange
     - contains optionally the downloaded areas in the format given above. One
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index ed81c10..60f84fe 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -325,6 +325,7 @@
 
 gst_buffer_pool_set_active
 gst_buffer_pool_is_active
+gst_buffer_pool_set_flushing
 
 GstBufferPoolAcquireFlags
 GstBufferPoolAcquireParams
@@ -1579,6 +1580,10 @@
 gst_message_new_have_context
 gst_message_parse_have_context
 
+gst_message_new_device_added
+gst_message_new_device_removed
+gst_message_parse_device_added
+gst_message_parse_device_removed
 <SUBSECTION Standard>
 GstMessageClass
 GST_MESSAGE
@@ -3323,6 +3328,15 @@
 GstDevice
 GstDeviceClass
 
+gst_device_create_element
+gst_device_get_caps
+gst_device_get_display_name
+gst_device_get_klass
+gst_device_has_classes
+gst_device_has_classesv
+gst_device_reconfigure_element
+
+<SUBSECTION Standard>
 GST_DEVICE
 GST_DEVICE_CAST
 GST_DEVICE_CLASS
@@ -3334,11 +3348,8 @@
 gst_device_create_element
 gst_device_get_caps
 gst_device_get_display_name
-gst_device_get_klass
+gst_device_get_device_class
 gst_device_get_type
-gst_device_has_classes
-gst_device_has_classesv
-gst_device_reconfigure_element
 </SECTION>
 
 <SECTION>
@@ -3346,13 +3357,6 @@
 <TITLE>GstDeviceMonitor</TITLE>
 GstDeviceMonitor
 GstDeviceMonitorClass
-GST_DEVICE_MONITOR
-GST_DEVICE_MONITOR_CAST
-GST_DEVICE_MONITOR_CLASS
-GST_DEVICE_MONITOR_GET_CLASS
-GST_IS_DEVICE_MONITOR
-GST_IS_DEVICE_MONITOR_CLASS
-GST_TYPE_DEVICE_MONITOR
 gst_device_monitor_can_monitor
 gst_device_monitor_class_add_metadata
 gst_device_monitor_class_add_static_metadata
@@ -3364,10 +3368,20 @@
 gst_device_monitor_get_bus
 gst_device_monitor_get_devices
 gst_device_monitor_get_factory
-gst_device_monitor_get_type
 gst_device_monitor_register
 gst_device_monitor_start
 gst_device_monitor_stop
+
+<SUBSECTION Standard>
+GstDevicePrivate
+GST_DEVICE_MONITOR
+GST_DEVICE_MONITOR_CAST
+GST_DEVICE_MONITOR_CLASS
+GST_DEVICE_MONITOR_GET_CLASS
+GST_IS_DEVICE_MONITOR
+GST_IS_DEVICE_MONITOR_CLASS
+GST_TYPE_DEVICE_MONITOR
+gst_device_monitor_get_type
 </SECTION>
 
 <SECTION>
@@ -3375,20 +3389,25 @@
 <TITLE>GstDeviceMonitorFactory</TITLE>
 GstDeviceMonitorFactory
 GstDeviceMonitorFactoryClass
-GST_DEVICE_MONITOR_FACTORY
-GST_DEVICE_MONITOR_FACTORY_CAST
-GST_DEVICE_MONITOR_FACTORY_CLASS
-GST_TYPE_DEVICE_MONITOR_FACTORY
 gst_device_monitor_factory_find
 gst_device_monitor_factory_get
 gst_device_monitor_factory_get_by_name
 gst_device_monitor_factory_get_device_monitor_type
 gst_device_monitor_factory_get_metadata
 gst_device_monitor_factory_get_metadata_keys
-gst_device_monitor_factory_get_type
 gst_device_monitor_factory_has_classes
 gst_device_monitor_factory_has_classesv
 gst_device_monitor_factory_list_get_device_monitors
+
+<SUBSECTION Standard>
+GstDeviceMonitorPrivate
+GST_DEVICE_MONITOR_FACTORY
+GST_DEVICE_MONITOR_FACTORY_CAST
+GST_DEVICE_MONITOR_FACTORY_CLASS
+GST_TYPE_DEVICE_MONITOR_FACTORY
+GST_IS_DEVICE_MONITOR_FACTORY
+GST_IS_DEVICE_MONITOR_FACTORY_CLASS
+gst_device_monitor_factory_get_type
 </SECTION>
 
 <SECTION>
@@ -3396,6 +3415,18 @@
 <TITLE>GstGlobalDeviceMonitor</TITLE>
 GstGlobalDeviceMonitor
 GstGlobalDeviceMonitorClass
+gst_global_device_monitor_get_bus
+gst_global_device_monitor_get_caps_filter
+gst_global_device_monitor_get_classes_filter
+gst_global_device_monitor_get_devices
+gst_global_device_monitor_new
+gst_global_device_monitor_set_caps_filter
+gst_global_device_monitor_set_classes_filter
+gst_global_device_monitor_start
+gst_global_device_monitor_stop
+
+<SUBSECTION Standard>
+GstGlobalDeviceMonitorPrivate
 GST_GLOBAL_DEVICE_MONITOR
 GST_GLOBAL_DEVICE_MONITOR_CAST
 GST_GLOBAL_DEVICE_MONITOR_CLASS
@@ -3403,15 +3434,6 @@
 GST_IS_GLOBAL_DEVICE_MONITOR
 GST_IS_GLOBAL_DEVICE_MONITOR_CLASS
 GST_TYPE_GLOBAL_DEVICE_MONITOR
-gst_global_device_monitor_get_bus
-gst_global_device_monitor_get_caps_filter
-gst_global_device_monitor_get_classes_filter
-gst_global_device_monitor_get_devices
 gst_global_device_monitor_get_type
-gst_global_device_monitor_new
-gst_global_device_monitor_set_caps_filter
-gst_global_device_monitor_set_classes_filter
-gst_global_device_monitor_start
-gst_global_device_monitor_stop
 </SECTION>
 
diff --git a/docs/gst/html/GstAllocator.html b/docs/gst/html/GstAllocator.html
index 97c2229..83fb747 100644
--- a/docs/gst/html/GstAllocator.html
+++ b/docs/gst/html/GstAllocator.html
@@ -168,7 +168,7 @@
 <div class="refsect1">
 <a name="GstAllocator.description"></a><h2>Description</h2>
 <p>Memory is usually created by allocators with a <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>
-method call. When NULL is used as the allocator, the default allocator will
+method call. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is used as the allocator, the default allocator will
 be used.</p>
 <p>New allocators can be registered with <a class="link" href="GstAllocator.html#gst-allocator-register" title="gst_allocator_register ()"><code class="function">gst_allocator_register()</code></a>.
 Allocators are identified by name and can be retrieved with
@@ -185,7 +185,7 @@
 gst_allocator_find (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Find a previously registered allocator with <em class="parameter"><code>name</code></em>
 . When <em class="parameter"><code>name</code></em>
- is NULL, the
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the
 default allocator will be returned.</p>
 <div class="refsect3">
 <a name="id-1.3.4.9.2.5"></a><h4>Parameters</h4>
@@ -204,7 +204,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.4.9.2.6"></a><h4>Returns</h4>
-<p> a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> or NULL when the allocator with <em class="parameter"><code>name</code></em>
+<p> a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the allocator with <em class="parameter"><code>name</code></em>
 was not
 registered. Use <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> to release the allocator 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>
@@ -356,12 +356,12 @@
  big.</p>
 <p>The optional <em class="parameter"><code>params</code></em>
  can specify the prefix and padding for the memory. If
-NULL is passed, no flags, no extra prefix/padding and a default alignment is
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is passed, no flags, no extra prefix/padding and a default alignment is
 used.</p>
 <p>The prefix/padding will be filled with 0 if flags contains
 <a class="link" href="GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PREFIXED</span></a> and <a class="link" href="GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PADDED</span></a> respectively.</p>
 <p>When <em class="parameter"><code>allocator</code></em>
- is NULL, the default allocator will be used.</p>
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the default allocator will be used.</p>
 <p>The alignment in <em class="parameter"><code>params</code></em>
  is given as a bitmask so that <em class="parameter"><code>align</code></em>
  + 1 equals
diff --git a/docs/gst/html/GstBin.html b/docs/gst/html/GstBin.html
index d3090b0..95a7660 100644
--- a/docs/gst/html/GstBin.html
+++ b/docs/gst/html/GstBin.html
@@ -424,8 +424,8 @@
 <p>
 
 A <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a> will by default forward any event sent to it to all sink elements.
-If all the sinks return TRUE, the bin will also return TRUE, else FALSE is
-returned. If no sinks are in the bin, the event handler will return TRUE.
+If all the sinks return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the bin will also return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, else <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is
+returned. If no sinks are in the bin, the event handler will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
 
 </p>
 </div>
@@ -500,7 +500,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.3.9"></a><h4>Returns</h4>
-<p> TRUE if the element could be added, FALSE if
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element could be added, <a href="http://library.gnome.org/devel/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>
@@ -544,7 +544,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.4.8"></a><h4>Returns</h4>
-<p> TRUE if the element could be removed, FALSE if
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element could be removed, <a href="http://library.gnome.org/devel/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>
@@ -557,7 +557,7 @@
                      <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Gets the element with the given name from a bin. This
 function recurses into child bins.</p>
-<p>Returns NULL if no element with the given name is found in the bin.</p>
+<p>Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no element with the given name is found in the bin.</p>
 <p>MT safe.  Caller owns returned reference.</p>
 <div class="refsect3">
 <a name="id-1.3.6.11.5.7"></a><h4>Parameters</h4>
@@ -583,7 +583,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.5.8"></a><h4>Returns</h4>
-<p> the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> with the given name, or NULL. </p>
+<p> the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> with the given name, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -595,7 +595,7 @@
                                 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Gets the element with the given name from this bin. If the
 element is not found, a recursion is performed on the parent bin.</p>
-<p>Returns NULL if:</p>
+<p>Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>no element with the given name is found in the bin</p></li></ul></div>
 <p>MT safe.  Caller owns returned reference.</p>
 <div class="refsect3">
@@ -622,7 +622,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.6.9"></a><h4>Returns</h4>
-<p> the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> with the given name, or NULL. </p>
+<p> the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> with the given name, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -690,7 +690,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.8.7"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or NULL. </p>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -719,7 +719,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.9.7"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or NULL. </p>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -748,7 +748,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.10.7"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or NULL. </p>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -780,7 +780,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.11.8"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or NULL. </p>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -809,7 +809,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.12.7"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or NULL. </p>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -849,7 +849,7 @@
 <div class="refsect3">
 <a name="id-1.3.6.11.13.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> for all elements
-in the bin implementing the given interface, or NULL. </p>
+in the bin implementing the given interface, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -893,7 +893,7 @@
 gst_bin_add_many (<em class="parameter"><code><a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a> *bin</code></em>,
                   <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element_1</code></em>,
                   <em class="parameter"><code>...</code></em>);</pre>
-<p>Adds a NULL-terminated list of elements to a bin.  This function is
+<p>Adds a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of elements to a bin.  This function is
 equivalent to calling <a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> for each member of the list. The return
 value of each <a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> is ignored.</p>
 <div class="refsect3">
@@ -954,7 +954,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p> NULL-terminated list of elements to remove from the bin. </p></td>
+<td class="parameter_description"><p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of elements to remove from the bin. </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>]</span></td>
 </tr>
 </tbody>
@@ -969,7 +969,7 @@
                            <em class="parameter"><code><a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDirection"><span class="type">GstPadDirection</span></a> direction</code></em>);</pre>
 <p>Recursively looks for elements with an unlinked pad of the given
 direction within the specified bin and returns an unlinked pad
-if one is found, or NULL otherwise. If a pad is found, the caller
+if one is found, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. If a pad is found, the caller
 owns a reference to it and should use <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> on the
 pad when it is not needed any longer.</p>
 <div class="refsect3">
@@ -996,7 +996,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.6.11.17.6"></a><h4>Returns</h4>
-<p> unlinked pad of the given direction, or NULL. </p>
+<p> unlinked pad of the given direction, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -1277,7 +1277,7 @@
 <div class="refsect2">
 <a name="GstBin--async-handling"></a><h3>The <code class="literal">“async-handling”</code> property</h3>
 <pre class="programlisting">  “async-handling”           <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, the bin will handle asynchronous state changes.
+<p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the bin will handle asynchronous state changes.
 This should be used only if the bin subclass is modifying the state
 of its children on its own.</p>
 <p>Flags: Read / Write</p>
diff --git a/docs/gst/html/GstBuffer.html b/docs/gst/html/GstBuffer.html
index 70de52b..d26800c 100644
--- a/docs/gst/html/GstBuffer.html
+++ b/docs/gst/html/GstBuffer.html
@@ -1065,9 +1065,9 @@
 <p>Tries to create a newly allocated buffer with data of the given size and
 extra parameters from <em class="parameter"><code>allocator</code></em>
 . If the requested amount of memory can't be
-allocated, NULL will be returned. The allocated buffer memory is not cleared.</p>
+allocated, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned. The allocated buffer memory is not cleared.</p>
 <p>When <em class="parameter"><code>allocator</code></em>
- is NULL, the default memory allocator will be used.</p>
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the default memory allocator will be used.</p>
 <p>Note that when <em class="parameter"><code>size</code></em>
  == 0, the buffer will not have memory associated with it.</p>
 <p>MT safe.</p>
@@ -1082,7 +1082,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>allocator</p></td>
-<td class="parameter_description"><p> the <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> to use, or NULL to use the
+<td class="parameter_description"><p> the <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> to use, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to use the
 default allocator. </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="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -1101,7 +1101,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.7.8.19.9"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a>, or NULL if the memory couldn't
+<p> a new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the memory couldn't
 be allocated. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -2870,7 +2870,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.7.8.60.7"></a><h4>Returns</h4>
-<p> the new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> or NULL if the arguments were
+<p> the new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the arguments were
 invalid. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -2942,7 +2942,7 @@
 buffer is unreffed, the new is reffed).</p>
 <p>Either <em class="parameter"><code>nbuf</code></em>
  or the <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> pointed to by <em class="parameter"><code>obuf</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.7.8.63.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -2970,7 +2970,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.7.8.63.7"></a><h4>Returns</h4>
-<p> TRUE when <em class="parameter"><code>obuf</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3083,7 +3083,7 @@
                      <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>);</pre>
 <p>Get the metadata for <em class="parameter"><code>api</code></em>
  on buffer. When there is no such
-metadata, NULL is returned.</p>
+metadata, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned.</p>
 <div class="refsect3">
 <a name="id-1.3.7.8.66.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -3256,7 +3256,7 @@
 <p>When this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the next meta will be
 returned. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned, <a class="link" href="GstBuffer.html#gst-buffer-foreach-meta" title="gst_buffer_foreach_meta ()"><code class="function">gst_buffer_foreach_meta()</code></a> will return.</p>
 <p>When <em class="parameter"><code>meta</code></em>
- is set to NULL, the item will be removed from the buffer.</p>
+ is set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the item will be removed from the buffer.</p>
 <div class="refsect3">
 <a name="id-1.3.7.8.70.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
diff --git a/docs/gst/html/GstBufferList.html b/docs/gst/html/GstBufferList.html
index cf3b7d7..771f012 100644
--- a/docs/gst/html/GstBufferList.html
+++ b/docs/gst/html/GstBufferList.html
@@ -341,8 +341,8 @@
 <p>Remove <em class="parameter"><code>length</code></em>
  buffers starting from <em class="parameter"><code>idx</code></em>
  in <em class="parameter"><code>list</code></em>
-. The following buffers are
-moved to close the gap.</p>
+. The following buffers
+are moved to close the gap.</p>
 <div class="refsect3">
 <a name="id-1.3.8.8.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -524,7 +524,7 @@
 <p>When this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the next buffer will be
 returned. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned, <a class="link" href="GstBufferList.html#gst-buffer-list-foreach" title="gst_buffer_list_foreach ()"><code class="function">gst_buffer_list_foreach()</code></a> will return.</p>
 <p>When <em class="parameter"><code>buffer</code></em>
- is set to NULL, the item will be removed from the bufferlist.
+ is set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the item will be removed from the bufferlist.
 When <em class="parameter"><code>buffer</code></em>
  has been made writable, the new buffer reference can be assigned
 to <em class="parameter"><code>buffer</code></em>
@@ -652,7 +652,7 @@
 <a name="id-1.3.8.8.15.6"></a><h4>Returns</h4>
 <p> the buffer at <em class="parameter"><code>idx</code></em>
 in <em class="parameter"><code>group</code></em>
-or NULL when there
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there
 is no buffer. The buffer remains valid as long as <em class="parameter"><code>list</code></em>
 is valid. </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>
diff --git a/docs/gst/html/GstBufferPool.html b/docs/gst/html/GstBufferPool.html
index 992011a..fd3b588 100644
--- a/docs/gst/html/GstBufferPool.html
+++ b/docs/gst/html/GstBufferPool.html
@@ -174,6 +174,14 @@
 </tr>
 <tr>
 <td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstBufferPool.html#gst-buffer-pool-set-flushing" title="gst_buffer_pool_set_flushing ()">gst_buffer_pool_set_flushing</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 </td>
 <td class="function_name">
@@ -768,7 +776,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.9.8.14.6"></a><h4>Returns</h4>
-<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of strings.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -813,7 +822,7 @@
 the configuration haven't change, this function will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. If the
 pool is active, this function will try deactivating it. Buffers allocated
 form this pool must be returned or else this function will do nothing and
-return FALSE.</p>
+return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p><em class="parameter"><code>config</code></em>
  is a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> that contains the configuration parameters for
 the pool. A default and mandatory set of parameters can be configured with
@@ -927,6 +936,39 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-buffer-pool-set-flushing"></a><h3>gst_buffer_pool_set_flushing ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_buffer_pool_set_flushing (<em class="parameter"><code><a class="link" href="GstBufferPool.html" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>,
+                              <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);</pre>
+<p>Enabled or disable the flushing state of a <em class="parameter"><code>pool</code></em>
+ without freeing or
+allocating buffers.</p>
+<div class="refsect3">
+<a name="id-1.3.9.8.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>pool</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstBufferPool.html" title="GstBufferPool"><span class="type">GstBufferPool</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flushing</p></td>
+<td class="parameter_description"><p>whether to start or stop flushing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-buffer-pool-acquire-buffer"></a><h3>gst_buffer_pool_acquire_buffer ()</h3>
 <pre class="programlisting"><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_buffer_pool_acquire_buffer (<em class="parameter"><code><a class="link" href="GstBufferPool.html" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>,
@@ -940,7 +982,7 @@
  can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> or contain optional parameters to influence the
 allocation.</p>
 <div class="refsect3">
-<a name="id-1.3.9.8.19.6"></a><h4>Parameters</h4>
+<a name="id-1.3.9.8.20.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -967,7 +1009,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.9.8.19.7"></a><h4>Returns</h4>
+<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>
@@ -989,7 +1031,7 @@
 
 disappears.</p>
 <div class="refsect3">
-<a name="id-1.3.9.8.20.6"></a><h4>Parameters</h4>
+<a name="id-1.3.9.8.21.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1039,6 +1081,8 @@
   void           (*reset_buffer)   (GstBufferPool *pool, GstBuffer *buffer);
   void           (*release_buffer) (GstBufferPool *pool, GstBuffer *buffer);
   void           (*free_buffer)    (GstBufferPool *pool, GstBuffer *buffer);
+  void           (*flush_start)    (GstBufferPool *pool);
+  void           (*flush_stop)     (GstBufferPool *pool);
 };
 </pre>
 <p>The GstBufferPool class.</p>
@@ -1123,6 +1167,16 @@
 <td class="struct_member_description"><p>free a buffer. The default implementation unrefs the buffer.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstBufferPoolClass.flush-start"></a>flush_start</code></em> ()</p></td>
+<td class="struct_member_description"><p>enter the flushing state. Since: 1.4</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstBufferPoolClass.flush-stop"></a>flush_stop</code></em> ()</p></td>
+<td class="struct_member_description"><p>leave the flushign state. Since: 1.4</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/gst/html/GstBus.html b/docs/gst/html/GstBus.html
index 0d15ca5..0a011a7 100644
--- a/docs/gst/html/GstBus.html
+++ b/docs/gst/html/GstBus.html
@@ -350,7 +350,7 @@
 <p>The message passed to the function will be unreffed after execution of this
 function so it should not be freed in the function.</p>
 <p>Note that this function is used as a GSourceFunc which means that returning
-FALSE will remove the GSource from the mainloop.</p>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will remove the GSource from the mainloop.</p>
 <div class="refsect3">
 <a name="id-1.3.10.10.2.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -473,7 +473,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.10.10.5.6"></a><h4>Returns</h4>
-<p> TRUE if the message could be posted, FALSE if the bus is flushing.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message could be posted, <a href="http://library.gnome.org/devel/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>
@@ -502,7 +502,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.10.10.6.6"></a><h4>Returns</h4>
-<p> TRUE if there are messages on the bus to be handled, FALSE
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 otherwise.</p>
 <p>MT safe.</p>
 <p></p>
@@ -533,7 +533,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.10.10.7.6"></a><h4>Returns</h4>
-<p> the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> that is on the bus, or NULL if the
+<p> the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> that is on the bus, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 bus is empty.</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>
@@ -562,7 +562,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.10.10.8.6"></a><h4>Returns</h4>
-<p> the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> that is on the bus, or NULL if the
+<p> the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> that is on the bus, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 bus is empty. The message is taken from the bus and needs to be unreffed
 with <a class="link" href="GstMessage.html#gst-message-unref" title="gst_message_unref ()"><code class="function">gst_message_unref()</code></a> after usage.</p>
 <p>MT safe. </p>
@@ -611,7 +611,7 @@
 <a name="id-1.3.10.10.9.6"></a><h4>Returns</h4>
 <p> the next <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> matching <em class="parameter"><code>type</code></em>
 that is on
-the bus, or NULL if the bus is empty or there is no message matching
+the bus, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the bus is empty or there is no message matching
 <em class="parameter"><code>type</code></em>
 . The message is taken from the bus and needs to be unreffed with
 <a class="link" href="GstMessage.html#gst-message-unref" title="gst_message_unref ()"><code class="function">gst_message_unref()</code></a> after usage.</p>
@@ -656,7 +656,7 @@
 <div class="refsect3">
 <a name="id-1.3.10.10.10.7"></a><h4>Returns</h4>
 <p> the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> that is on the bus after the
-specified timeout or NULL if the bus is empty after the timeout expired.
+specified timeout or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the bus is empty after the timeout expired.
 The message is taken from the bus and needs to be unreffed with
 <a class="link" href="GstMessage.html#gst-message-unref" title="gst_message_unref ()"><code class="function">gst_message_unref()</code></a> after usage.</p>
 <p>MT safe. </p>
@@ -710,7 +710,7 @@
 <a name="id-1.3.10.10.11.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> matching the filter in <em class="parameter"><code>types</code></em>
 ,
-or NULL if no matching message was found on the bus until the timeout
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no matching message was found on the bus until the timeout
 expired. The message is taken from the bus and needs to be unreffed
 with <a class="link" href="GstMessage.html#gst-message-unref" title="gst_message_unref ()"><code class="function">gst_message_unref()</code></a> after usage.</p>
 <p>MT safe. </p>
@@ -727,7 +727,7 @@
 , flush out and unref any messages queued in the bus. Releases
 references to the message origin objects. Will flush future messages until
 <a class="link" href="GstBus.html#gst-bus-set-flushing" title="gst_bus_set_flushing ()"><code class="function">gst_bus_set_flushing()</code></a> sets <em class="parameter"><code>flushing</code></em>
- to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
+ to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT safe.</p>
 <div class="refsect3">
 <a name="id-1.3.10.10.12.6"></a><h4>Parameters</h4>
@@ -766,7 +766,7 @@
 function is usually only called by the creator of the bus. Applications
 should handle messages asynchronously using the gst_bus watch and poll
 functions.</p>
-<p>You cannot replace an existing sync_handler. You can pass NULL to this
+<p>You cannot replace an existing sync_handler. You can pass <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to this
 function, which will clear the existing handler.</p>
 <div class="refsect3">
 <a name="id-1.3.10.10.13.6"></a><h4>Parameters</h4>
@@ -895,7 +895,7 @@
  is called, the message belongs to the caller; if you want to
 keep a copy of it, call <a class="link" href="GstMessage.html#gst-message-ref" title="gst_message_ref ()"><code class="function">gst_message_ref()</code></a> before leaving <em class="parameter"><code>func</code></em>
 .</p>
-<p>The watch can be removed using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a> or by returning FALSE
+<p>The watch can be removed using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a> or by returning <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 from <em class="parameter"><code>func</code></em>
 .</p>
 <p>MT safe.</p>
@@ -959,7 +959,7 @@
 <p>This function is used to receive asynchronous messages in the main loop.
 There can only be a single bus watch per bus, you must remove it before you
 can set a new one.</p>
-<p>The watch can be removed using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a> or by returning FALSE
+<p>The watch can be removed using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a> or by returning <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 from <em class="parameter"><code>func</code></em>
 .</p>
 <div class="refsect3">
@@ -1101,7 +1101,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.10.10.20.6"></a><h4>Returns</h4>
-<p> TRUE</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a></p>
 <p></p>
 </div>
 </div>
@@ -1273,7 +1273,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.10.10.24.11"></a><h4>Returns</h4>
-<p> the message that was received, or NULL if the
+<p> the message that was received, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 poll timed out. The message is taken from the bus and needs to be
 unreffed with <a class="link" href="GstMessage.html#gst-message-unref" title="gst_message_unref ()"><code class="function">gst_message_unref()</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>
diff --git a/docs/gst/html/GstCaps.html b/docs/gst/html/GstCaps.html
index 2fd8c4e..f349c68 100644
--- a/docs/gst/html/GstCaps.html
+++ b/docs/gst/html/GstCaps.html
@@ -903,7 +903,7 @@
 gst_caps_new_full (<em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *struct1</code></em>,
                    <em class="parameter"><code>...</code></em>);</pre>
 <p>Creates a new <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> and adds all the structures listed as
-arguments.  The list must be NULL-terminated.  The structures
+arguments.  The list must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.  The structures
 are not copied; the returned <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> owns the structures.</p>
 <div class="refsect3">
 <a name="id-1.3.11.8.14.5"></a><h4>Parameters</h4>
@@ -940,7 +940,7 @@
 gst_caps_new_full_valist (<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><span class="type">va_list</span> var_args</code></em>);</pre>
 <p>Creates a new <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> and adds all the structures listed as
-arguments.  The list must be NULL-terminated.  The structures
+arguments.  The list must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.  The structures
 are not copied; the returned <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> owns the structures.</p>
 <div class="refsect3">
 <a name="id-1.3.11.8.15.5"></a><h4>Parameters</h4>
@@ -1649,7 +1649,7 @@
                      <em class="parameter"><code>const <span class="type">char</span> *field</code></em>,
                      <em class="parameter"><code>...</code></em>);</pre>
 <p>Sets fields in a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>.  The arguments must be passed in the same
-manner as <a class="link" href="GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be NULL-terminated.</p>
+manner as <a class="link" href="GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p>
 <div class="refsect3">
 <a name="id-1.3.11.8.34.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1686,7 +1686,7 @@
                             <em class="parameter"><code>const <span class="type">char</span> *field</code></em>,
                             <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);</pre>
 <p>Sets fields in a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>.  The arguments must be passed in the same
-manner as <a class="link" href="GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be NULL-terminated.</p>
+manner as <a class="link" href="GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p>
 <div class="refsect3">
 <a name="id-1.3.11.8.35.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1739,7 +1739,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.36.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>caps</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1768,7 +1768,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.37.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>caps</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1798,7 +1798,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.38.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>caps</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1834,7 +1834,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.39.6"></a><h4>Returns</h4>
-<p> TRUE if both caps are equal.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both caps are equal.</p>
 <p></p>
 </div>
 </div>
@@ -1870,7 +1870,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.40.6"></a><h4>Returns</h4>
-<p> TRUE if the arguments represent the same format</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1905,7 +1905,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.41.6"></a><h4>Returns</h4>
-<p> TRUE if both caps are strictly equal.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1944,7 +1944,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.42.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>caps1</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2278,7 +2278,7 @@
 caps is unreffed, the new is reffed).</p>
 <p>Either <em class="parameter"><code>ncaps</code></em>
  or the <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> pointed to by <em class="parameter"><code>ocaps</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.11.8.51.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -2306,7 +2306,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.51.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_caps</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2349,7 +2349,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.11.8.52.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_caps</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
diff --git a/docs/gst/html/GstCapsFeatures.html b/docs/gst/html/GstCapsFeatures.html
index 23e72f1..a4d59eb 100644
--- a/docs/gst/html/GstCapsFeatures.html
+++ b/docs/gst/html/GstCapsFeatures.html
@@ -295,7 +295,7 @@
 gst_caps_features_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature1</code></em>,
                        <em class="parameter"><code>...</code></em>);</pre>
 <p>Creates a new <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> with the given features.
-The last argument must be NULL.</p>
+The last argument must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p>Free-function: gst_caps_features_free</p>
 <div class="refsect3">
 <a name="id-1.3.12.8.4.6"></a><h4>Parameters</h4>
@@ -545,7 +545,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.12.8.12.7"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> or NULL when the string could
+<p> a new <a class="link" href="GstCapsFeatures.html" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the string could
 not be parsed. Free with <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>]</span></p>
 </div>
diff --git a/docs/gst/html/GstChildProxy.html b/docs/gst/html/GstChildProxy.html
index c5b3222..9401406 100644
--- a/docs/gst/html/GstChildProxy.html
+++ b/docs/gst/html/GstChildProxy.html
@@ -373,9 +373,9 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.14.11.5.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>target</code></em>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>target</code></em>
 and <em class="parameter"><code>pspec</code></em>
-could be found. FALSE otherwise. In that
+could be found. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise. In that
 case the values for <em class="parameter"><code>pspec</code></em>
 and <em class="parameter"><code>target</code></em>
 are not modified. Unref <em class="parameter"><code>target</code></em>
@@ -452,7 +452,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>var_args</p></td>
-<td class="parameter_description"><p>return location for the first property, followed optionally by more name/return location pairs, followed by NULL</p></td>
+<td class="parameter_description"><p>return location for the first property, followed optionally by more name/return location pairs, followed by <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -488,7 +488,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>return location for the first property, followed optionally by more name/return location pairs, followed by NULL</p></td>
+<td class="parameter_description"><p>return location for the first property, followed optionally by more name/return location pairs, followed by <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -560,7 +560,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>var_args</p></td>
-<td class="parameter_description"><p>value for the first property, followed optionally by more name/value pairs, followed by NULL</p></td>
+<td class="parameter_description"><p>value for the first property, followed optionally by more name/value pairs, followed by <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -596,7 +596,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>value for the first property, followed optionally by more name/value pairs, followed by NULL</p></td>
+<td class="parameter_description"><p>value for the first property, followed optionally by more name/value pairs, followed by <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
diff --git a/docs/gst/html/GstContext.html b/docs/gst/html/GstContext.html
index 5995136..76b564f 100644
--- a/docs/gst/html/GstContext.html
+++ b/docs/gst/html/GstContext.html
@@ -522,7 +522,7 @@
 context is unreffed, the new one is reffed).</p>
 <p>Either <em class="parameter"><code>new_context</code></em>
  or the <a class="link" href="GstContext.html" title="GstContext"><span class="type">GstContext</span></a> pointed to by <em class="parameter"><code>old_context</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.17.8.13.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -550,7 +550,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.17.8.13.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_context</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
diff --git a/docs/gst/html/GstControlBinding.html b/docs/gst/html/GstControlBinding.html
index f8d92ff..785c237 100644
--- a/docs/gst/html/GstControlBinding.html
+++ b/docs/gst/html/GstControlBinding.html
@@ -294,8 +294,8 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>values</p></td>
-<td class="parameter_description"><p>array to put control-values in</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> array to put control-values in. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_values]</span></td>
 </tr>
 </tbody>
 </table></div>
@@ -353,8 +353,8 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>values</p></td>
-<td class="parameter_description"><p>array to put control-values in</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> array to put control-values in. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_values]</span></td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/gst/html/GstControlSource.html b/docs/gst/html/GstControlSource.html
index dc1b8b4..4c50da3 100644
--- a/docs/gst/html/GstControlSource.html
+++ b/docs/gst/html/GstControlSource.html
@@ -261,7 +261,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.19.8.4.6"></a><h4>Returns</h4>
-<p> FALSE if the value couldn't be returned, TRUE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the value couldn't be returned, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -307,8 +307,8 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>values</p></td>
-<td class="parameter_description"><p>array to put control-values in</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> array to put control-values in. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_values]</span></td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/gst/html/GstDateTime.html b/docs/gst/html/GstDateTime.html
index 366e1ec..587cddf 100644
--- a/docs/gst/html/GstDateTime.html
+++ b/docs/gst/html/GstDateTime.html
@@ -41,6 +41,10 @@
 </colgroup>
 <tbody>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="GstDateTime.html#GST-TYPE-DATE-TIME:CAPS" title="GST_TYPE_DATE_TIME">GST_TYPE_DATE_TIME</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 </td>
@@ -274,16 +278,10 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="datatype_keyword"> </td>
 <td class="function_name"><a class="link" href="GstDateTime.html#GstDateTime-struct" title="GstDateTime">GstDateTime</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="GstDateTime.html#GST-TYPE-DATE-TIME:CAPS" title="GST_TYPE_DATE_TIME">GST_TYPE_DATE_TIME</a></td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -307,39 +305,23 @@
 <div class="refsect1">
 <a name="GstDateTime.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="gst-date-time-get-day"></a><h3>gst_date_time_get_day ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_day (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Returns the day of the month of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>.
-Call gst_date_time_has_day before, to avoid warnings.</p>
+<a name="GST-TYPE-DATE-TIME:CAPS"></a><h3>GST_TYPE_DATE_TIME</h3>
+<pre class="programlisting">#define GST_TYPE_DATE_TIME (_gst_date_time_type)
+</pre>
+<p>a boxed <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type for <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> that represents a date and time.</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.2.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>datetime</p></td>
-<td class="parameter_description"><p>a <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.3.20.8.2.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>
+<a name="id-1.3.20.8.2.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstDateTime</p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-get-month"></a><h3>gst_date_time_get_month ()</h3>
+<a name="gst-date-time-get-day"></a><h3>gst_date_time_get_day ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_month (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Returns the month of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>. January is 1, February is 2, etc..
-Call gst_date_time_has_month before, to avoid warnings.</p>
+gst_date_time_get_day (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Returns the day of the month of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>.
+Call gst_date_time_has_day before, to avoid warnings.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -357,19 +339,17 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.3.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> The day of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-get-hour"></a><h3>gst_date_time_get_hour ()</h3>
+<a name="gst-date-time-get-month"></a><h3>gst_date_time_get_month ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_hour (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Retrieves the hour of the day represented by <em class="parameter"><code>datetime</code></em>
- in the gregorian
-calendar. The return is in the range of 0 to 23.
-Call gst_date_time_has_haur before, to avoid warnings.</p>
+gst_date_time_get_month (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Returns the month of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>. January is 1, February is 2, etc..
+Call gst_date_time_has_month before, to avoid warnings.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -387,18 +367,19 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.4.6"></a><h4>Returns</h4>
-<p> the hour of the day</p>
+<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>
 <div class="refsect2">
-<a name="gst-date-time-get-microsecond"></a><h3>gst_date_time_get_microsecond ()</h3>
+<a name="gst-date-time-get-hour"></a><h3>gst_date_time_get_hour ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_microsecond (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Retrieves the fractional part of the seconds in microseconds represented by
-<em class="parameter"><code>datetime</code></em>
- in the gregorian calendar.</p>
+gst_date_time_get_hour (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Retrieves the hour of the day represented by <em class="parameter"><code>datetime</code></em>
+ in the gregorian
+calendar. The return is in the range of 0 to 23.
+Call gst_date_time_has_haur before, to avoid warnings.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -416,19 +397,18 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.5.6"></a><h4>Returns</h4>
-<p> the microsecond of the second</p>
+<p> the hour of the day</p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-get-minute"></a><h3>gst_date_time_get_minute ()</h3>
+<a name="gst-date-time-get-microsecond"></a><h3>gst_date_time_get_microsecond ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_minute (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Retrieves the minute of the hour represented by <em class="parameter"><code>datetime</code></em>
- in the gregorian
-calendar.
-Call gst_date_time_has_minute before, to avoid warnings.</p>
+gst_date_time_get_microsecond (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Retrieves the fractional part of the seconds in microseconds represented by
+<em class="parameter"><code>datetime</code></em>
+ in the gregorian calendar.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -446,21 +426,19 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.6.6"></a><h4>Returns</h4>
-<p> the minute of the hour</p>
+<p> the microsecond of the second</p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-get-time-zone-offset"></a><h3>gst_date_time_get_time_zone_offset ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
-gst_date_time_get_time_zone_offset (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Retrieves the offset from UTC in hours that the timezone specified
-by <em class="parameter"><code>datetime</code></em>
- represents. Timezones ahead (to the east) of UTC have positive
-values, timezones before (to the west) of UTC have negative values.
-If <em class="parameter"><code>datetime</code></em>
- represents UTC time, then the offset is zero.</p>
+<a name="gst-date-time-get-minute"></a><h3>gst_date_time_get_minute ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+gst_date_time_get_minute (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Retrieves the minute of the hour represented by <em class="parameter"><code>datetime</code></em>
+ in the gregorian
+calendar.
+Call gst_date_time_has_minute before, to avoid warnings.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -478,19 +456,21 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.7.6"></a><h4>Returns</h4>
-<p> the offset from UTC in hours</p>
+<p> the minute of the hour</p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-get-second"></a><h3>gst_date_time_get_second ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_second (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Retrieves the second of the minute represented by <em class="parameter"><code>datetime</code></em>
- in the gregorian
-calendar.
-Call gst_date_time_has_second before, to avoid warnings.</p>
+<a name="gst-date-time-get-time-zone-offset"></a><h3>gst_date_time_get_time_zone_offset ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
+gst_date_time_get_time_zone_offset (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Retrieves the offset from UTC in hours that the timezone specified
+by <em class="parameter"><code>datetime</code></em>
+ represents. Timezones ahead (to the east) of UTC have positive
+values, timezones before (to the west) of UTC have negative values.
+If <em class="parameter"><code>datetime</code></em>
+ represents UTC time, then the offset is zero.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -508,18 +488,19 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.8.6"></a><h4>Returns</h4>
-<p> the second represented by <em class="parameter"><code>datetime</code></em>
-</p>
+<p> the offset from UTC in hours</p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-get-year"></a><h3>gst_date_time_get_year ()</h3>
+<a name="gst-date-time-get-second"></a><h3>gst_date_time_get_second ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_date_time_get_year (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<p>Returns the year of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>
-Call gst_date_time_has_year before, to avoid warnings.</p>
+gst_date_time_get_second (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Retrieves the second of the minute represented by <em class="parameter"><code>datetime</code></em>
+ in the gregorian
+calendar.
+Call gst_date_time_has_second before, to avoid warnings.</p>
 <div class="refsect3">
 <a name="id-1.3.20.8.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -537,6 +518,35 @@
 </div>
 <div class="refsect3">
 <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>
+<div class="refsect2">
+<a name="gst-date-time-get-year"></a><h3>gst_date_time_get_year ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+gst_date_time_get_year (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>Returns the year of this <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>
+Call gst_date_time_has_year before, to avoid warnings.</p>
+<div class="refsect3">
+<a name="id-1.3.20.8.10.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>datetime</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<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>
@@ -577,7 +587,7 @@
 so on.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.10.9"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.11.9"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -624,7 +634,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.10.10"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.11.10"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
@@ -654,7 +664,7 @@
 so on.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.11.8"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.12.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -681,7 +691,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.11.9"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.12.9"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
@@ -703,7 +713,7 @@
 .</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.12.8"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.13.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -725,7 +735,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.12.9"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.13.9"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
@@ -741,7 +751,7 @@
  should be from 1 to 9999.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.13.7"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.14.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -756,7 +766,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.13.8"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.14.8"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
@@ -772,36 +782,6 @@
 . The <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> is in the local timezone.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.14.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>secs</p></td>
-<td class="parameter_description"><p>seconds from the Unix epoch</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.3.20.8.14.7"></a><h4>Returns</h4>
-<p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-date-time-new-from-unix-epoch-utc"></a><h3>gst_date_time_new_from_unix_epoch_utc ()</h3>
-<pre class="programlisting"><a class="link" href="GstDateTime.html" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *
-gst_date_time_new_from_unix_epoch_utc (<em class="parameter"><code><span class="type">gint64</span> secs</code></em>);</pre>
-<p>Creates a new <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> using the time since Jan 1, 1970 specified by
-<em class="parameter"><code>secs</code></em>
-. The <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> is in the UTC timezone.</p>
-<p>Free-function: gst_date_time_unref</p>
-<div class="refsect3">
 <a name="id-1.3.20.8.15.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -824,6 +804,36 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-date-time-new-from-unix-epoch-utc"></a><h3>gst_date_time_new_from_unix_epoch_utc ()</h3>
+<pre class="programlisting"><a class="link" href="GstDateTime.html" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *
+gst_date_time_new_from_unix_epoch_utc (<em class="parameter"><code><span class="type">gint64</span> secs</code></em>);</pre>
+<p>Creates a new <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> using the time since Jan 1, 1970 specified by
+<em class="parameter"><code>secs</code></em>
+. The <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> is in the UTC timezone.</p>
+<p>Free-function: gst_date_time_unref</p>
+<div class="refsect3">
+<a name="id-1.3.20.8.16.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>secs</p></td>
+<td class="parameter_description"><p>seconds from the Unix epoch</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.20.8.16.7"></a><h4>Returns</h4>
+<p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-date-time-new-local-time"></a><h3>gst_date_time_new_local_time ()</h3>
 <pre class="programlisting"><a class="link" href="GstDateTime.html" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *
 gst_date_time_new_local_time (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
@@ -862,7 +872,7 @@
  should also be -1.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.16.10"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.17.10"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -904,7 +914,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.16.11"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.17.11"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</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>
@@ -917,7 +927,7 @@
 <p>Creates a new <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> representing the current date and time.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.17.6"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.18.6"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> which should
 be freed with <a class="link" href="GstDateTime.html#gst-date-time-unref" title="gst_date_time_unref ()"><code class="function">gst_date_time_unref()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -932,7 +942,7 @@
 coordinated time.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.18.6"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.19.6"></a><h4>Returns</h4>
 <p> the newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> which should
 be freed with <a class="link" href="GstDateTime.html#gst-date-time-unref" title="gst_date_time_unref ()"><code class="function">gst_date_time_unref()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -946,7 +956,7 @@
 <p>Atomically increments the reference count of <em class="parameter"><code>datetime</code></em>
  by one.</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.19.5"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.20.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -961,7 +971,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.19.6"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.20.6"></a><h4>Returns</h4>
 <p> the reference <em class="parameter"><code>datetime</code></em>
 . </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -976,7 +986,7 @@
  by one.  When the
 reference count reaches zero, the structure is freed.</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.20.5"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.21.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -997,33 +1007,6 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_date_time_has_day (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.3.20.8.21.4"></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>datetime</p></td>
-<td class="parameter_description"><p>a <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.3.20.8.21.5"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>datetime</code></em>
-'s day field is set, otherwise FALSE</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-date-time-has-month"></a><h3>gst_date_time_has_month ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_date_time_has_month (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<div class="refsect3">
 <a name="id-1.3.20.8.22.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -1040,16 +1023,16 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.22.5"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>datetime</code></em>
-'s month field is set, otherwise FALSE</p>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-has-second"></a><h3>gst_date_time_has_second ()</h3>
+<a name="gst-date-time-has-month"></a><h3>gst_date_time_has_month ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_date_time_has_second (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+gst_date_time_has_month (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <div class="refsect3">
 <a name="id-1.3.20.8.23.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1067,16 +1050,16 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.23.5"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>datetime</code></em>
-'s second field is set, otherwise FALSE</p>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-has-time"></a><h3>gst_date_time_has_time ()</h3>
+<a name="gst-date-time-has-second"></a><h3>gst_date_time_has_second ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_date_time_has_time (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+gst_date_time_has_second (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <div class="refsect3">
 <a name="id-1.3.20.8.24.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1094,17 +1077,16 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.24.5"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>datetime</code></em>
-'s hour and minute fields are set,
-otherwise FALSE</p>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-has-year"></a><h3>gst_date_time_has_year ()</h3>
+<a name="gst-date-time-has-time"></a><h3>gst_date_time_has_time ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_date_time_has_year (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+gst_date_time_has_time (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <div class="refsect3">
 <a name="id-1.3.20.8.25.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1122,9 +1104,37 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.20.8.25.5"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>datetime</code></em>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-has-year"></a><h3>gst_date_time_has_year ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_date_time_has_year (<em class="parameter"><code>const <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.3.20.8.26.4"></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>datetime</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.20.8.26.5"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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 FALSE</p>
+be the case), otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 <p></p>
 </div>
 </div>
@@ -1137,7 +1147,7 @@
 <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.26.6"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.27.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1152,8 +1162,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.26.7"></a><h4>Returns</h4>
-<p> a newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>, or NULL on error. </p>
+<a name="id-1.3.20.8.27.7"></a><h4>Returns</h4>
+<p> a newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -1166,7 +1176,7 @@
 are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.27.5"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.28.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1181,9 +1191,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.27.6"></a><h4>Returns</h4>
+<a name="id-1.3.20.8.28.6"></a><h4>Returns</h4>
 <p> a newly allocated string formatted according to ISO 8601 and
-only including the datetime fields that are valid, or NULL in case
+only including the datetime fields that are valid, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case
 there was an error. The string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
 <p></p>
 </div>
@@ -1196,7 +1206,7 @@
 <p>Creates a new <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> from a <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a> object.</p>
 <p>Free-function: gst_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.28.6"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.29.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1211,8 +1221,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.28.7"></a><h4>Returns</h4>
-<p> a newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>, or NULL on error. </p>
+<a name="id-1.3.20.8.29.7"></a><h4>Returns</h4>
+<p> a newly created <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -1224,7 +1234,7 @@
 <p>Creates a new <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a> from a fully defined <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> object.</p>
 <p>Free-function: g_date_time_unref</p>
 <div class="refsect3">
-<a name="id-1.3.20.8.29.6"></a><h4>Parameters</h4>
+<a name="id-1.3.20.8.30.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1239,8 +1249,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.20.8.29.7"></a><h4>Returns</h4>
-<p> a newly created <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a>, or NULL on error. </p>
+<a name="id-1.3.20.8.30.7"></a><h4>Returns</h4>
+<p> a newly created <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -1255,18 +1265,6 @@
 9999-12-31 in the Gregorian proleptic calendar.</p>
 <p>Use the accessor functions to get the stored values.</p>
 </div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-DATE-TIME:CAPS"></a><h3>GST_TYPE_DATE_TIME</h3>
-<pre class="programlisting">#define GST_TYPE_DATE_TIME               gst_date_time_get_type ()
-</pre>
-<p>a boxed <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type for <a class="link" href="GstDateTime.html" title="GstDateTime"><span class="type">GstDateTime</span></a> that represents a date and time.</p>
-<div class="refsect3">
-<a name="id-1.3.20.9.3.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstDateTime</p>
-<p></p>
-</div>
-</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/gst/html/GstDeviceMonitorFactory.html b/docs/gst/html/GstDeviceMonitorFactory.html
index bc820ef..98745b4 100644
--- a/docs/gst/html/GstDeviceMonitorFactory.html
+++ b/docs/gst/html/GstDeviceMonitorFactory.html
@@ -41,28 +41,6 @@
 </colgroup>
 <tbody>
 <tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY:CAPS" title="GST_DEVICE_MONITOR_FACTORY()">GST_DEVICE_MONITOR_FACTORY</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CAST:CAPS" title="GST_DEVICE_MONITOR_FACTORY_CAST()">GST_DEVICE_MONITOR_FACTORY_CAST</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CLASS:CAPS" title="GST_DEVICE_MONITOR_FACTORY_CLASS()">GST_DEVICE_MONITOR_FACTORY_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="GstDeviceMonitorFactory.html#GST-TYPE-DEVICE-MONITOR-FACTORY:CAPS" title="GST_TYPE_DEVICE_MONITOR_FACTORY">GST_TYPE_DEVICE_MONITOR_FACTORY</a></td>
-</tr>
-<tr>
 <td class="function_type">
 <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="returnvalue">GstDeviceMonitorFactory</span></a> *
 </td>
@@ -111,14 +89,6 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-type" title="gst_device_monitor_factory_get_type ()">gst_device_monitor_factory_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
@@ -189,35 +159,13 @@
 <div class="refsect1">
 <a name="GstDeviceMonitorFactory.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="GST-DEVICE-MONITOR-FACTORY:CAPS"></a><h3>GST_DEVICE_MONITOR_FACTORY()</h3>
-<pre class="programlisting">#define             GST_DEVICE_MONITOR_FACTORY(obj)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-MONITOR-FACTORY-CAST:CAPS"></a><h3>GST_DEVICE_MONITOR_FACTORY_CAST()</h3>
-<pre class="programlisting">#define GST_DEVICE_MONITOR_FACTORY_CAST(obj)       ((GstDeviceMonitorFactory *)(obj))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-MONITOR-FACTORY-CLASS:CAPS"></a><h3>GST_DEVICE_MONITOR_FACTORY_CLASS()</h3>
-<pre class="programlisting">#define             GST_DEVICE_MONITOR_FACTORY_CLASS(klass)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-DEVICE-MONITOR-FACTORY:CAPS"></a><h3>GST_TYPE_DEVICE_MONITOR_FACTORY</h3>
-<pre class="programlisting">#define GST_TYPE_DEVICE_MONITOR_FACTORY            (gst_device_monitor_factory_get_type())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-device-monitor-factory-find"></a><h3>gst_device_monitor_factory_find ()</h3>
 <pre class="programlisting"><a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="returnvalue">GstDeviceMonitorFactory</span></a> *
 gst_device_monitor_factory_find (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Search for an device monitor factory of the given name. Refs the returned
 device monitor factory; caller is responsible for unreffing.</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.6.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -232,8 +180,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.6.6"></a><h4>Returns</h4>
-<p> <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="type">GstDeviceMonitorFactory</span></a> if found, NULL otherwise. </p>
+<a name="id-1.4.4.8.2.6"></a><h4>Returns</h4>
+<p> <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="type">GstDeviceMonitorFactory</span></a> if found, <a href="http://library.gnome.org/devel/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>]</span></p>
 </div>
 <p class="since">Since 1.4</p>
@@ -246,7 +194,7 @@
 <p>Returns the device monitor of the type defined by the given device
 monitorfactory.</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.7.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -261,8 +209,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.7.6"></a><h4>Returns</h4>
-<p> the <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or NULL if the
+<a name="id-1.4.4.8.3.6"></a><h4>Returns</h4>
+<p> the <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 device monitor 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>]</span></p>
 </div>
@@ -277,7 +225,7 @@
 <p>Returns the device monitor of the type defined by the given device
 monitor factory.</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.8.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -292,8 +240,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.8.6"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or NULL if unable to
+<a name="id-1.4.4.8.4.6"></a><h4>Returns</h4>
+<p> a <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unable to
 create 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>
@@ -309,7 +257,7 @@
 only be retrieved if the device monitor factory is loaded, which can be
 assured with <a class="link" href="GstPluginFeature.html#gst-plugin-feature-load" title="gst_plugin_feature_load ()"><code class="function">gst_plugin_feature_load()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.9.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -324,7 +272,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.9.6"></a><h4>Returns</h4>
+<a name="id-1.4.4.8.5.6"></a><h4>Returns</h4>
 <p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for device monitors managed by this factory or 0 if
 the factory is not loaded.</p>
 <p></p>
@@ -342,7 +290,7 @@
  with <em class="parameter"><code>key</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.10.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -364,7 +312,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.10.6"></a><h4>Returns</h4>
+<a name="id-1.4.4.8.6.6"></a><h4>Returns</h4>
 <p> the metadata with <em class="parameter"><code>key</code></em>
 on <em class="parameter"><code>factory</code></em>
 or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there was no
@@ -383,7 +331,7 @@
 <p>Get the available keys for the metadata on <em class="parameter"><code>factory</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.11.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -398,7 +346,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.11.6"></a><h4>Returns</h4>
+<a name="id-1.4.4.8.7.6"></a><h4>Returns</h4>
 <p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of key strings, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there is no
 metadata. Free with <a href="http://library.gnome.org/devel/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]</span></p>
@@ -407,12 +355,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-device-monitor-factory-get-type"></a><h3>gst_device_monitor_factory_get_type ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-gst_device_monitor_factory_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-device-monitor-factory-has-classes"></a><h3>gst_device_monitor_factory_has_classes ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_device_monitor_factory_has_classes
@@ -422,7 +364,7 @@
  matches all of the given <em class="parameter"><code>classes</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.4.4.8.13.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -445,7 +387,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.13.6"></a><h4>Returns</h4>
+<a name="id-1.4.4.8.8.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
@@ -462,7 +404,7 @@
 <p>Check if <em class="parameter"><code>factory</code></em>
  matches all of the given classes</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.14.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -477,15 +419,15 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>classes</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of klasses to match, only match if all
-classes are matched</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of
+klasses to match, only match if all classes are matched. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<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.4.4.8.14.6"></a><h4>Returns</h4>
+<a name="id-1.4.4.8.9.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
@@ -497,7 +439,7 @@
 <a name="gst-device-monitor-factory-list-get-device-monitors"></a><h3>gst_device_monitor_factory_list_get_device_monitors ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_device_monitor_factory_list_get_device_monitors
-                               (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *types</code></em>,
+                               (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *classes</code></em>,
                                 <em class="parameter"><code><a class="link" href="GstPluginFeature.html#GstRank" title="enum GstRank"><span class="type">GstRank</span></a> minrank</code></em>);</pre>
 <p>Get a list of factories that match all of the given <em class="parameter"><code>classes</code></em>
 . Only
@@ -505,7 +447,7 @@
  will be
 returned.  The list of factories is returned by decreasing rank.</p>
 <div class="refsect3">
-<a name="id-1.4.4.8.15.5"></a><h4>Parameters</h4>
+<a name="id-1.4.4.8.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -528,7 +470,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.4.8.15.6"></a><h4>Returns</h4>
+<a name="id-1.4.4.8.10.6"></a><h4>Returns</h4>
 <p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
 <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="type">GstDeviceMonitorFactory</span></a> device monitors. Use <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>
@@ -549,6 +491,8 @@
 <div class="refsect2">
 <a name="GstDeviceMonitorFactoryClass"></a><h3>GstDeviceMonitorFactoryClass</h3>
 <pre class="programlisting">typedef struct _GstDeviceMonitorFactoryClass GstDeviceMonitorFactoryClass;</pre>
+<p>The opaque <a class="link" href="GstDeviceMonitorFactory.html#GstDeviceMonitorFactoryClass" title="GstDeviceMonitorFactoryClass"><span class="type">GstDeviceMonitorFactoryClass</span></a> data structure.</p>
+<p class="since">Since 1.4</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index a8119fe..f6f3e32 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -1857,7 +1857,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.33.6"></a><h4>Returns</h4>
-<p> a compatible <a class="link" href="GstPadTemplate.html" title="GstPadTemplate"><span class="type">GstPadTemplate</span></a>, or NULL if none
+<p> a compatible <a class="link" href="GstPadTemplate.html" title="GstPadTemplate"><span class="type">GstPadTemplate</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none
 was found. No unreferencing is necessary. </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>
@@ -2243,7 +2243,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.43.7"></a><h4>Returns</h4>
-<p> TRUE if the elements could be linked, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the elements could be linked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -2311,7 +2311,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>the NULL-terminated list of elements to link in order.</p></td>
+<td class="parameter_description"><p>the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of elements to link in order.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -2319,7 +2319,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.45.6"></a><h4>Returns</h4>
-<p> TRUE on success, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -2352,7 +2352,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>the NULL-terminated list of elements to unlink in order.</p></td>
+<td class="parameter_description"><p>the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of elements to unlink in order.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -2388,7 +2388,7 @@
 <tr>
 <td class="parameter_name"><p>srcpadname</p></td>
 <td class="parameter_description"><p> the name of the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> in source element
-or NULL for any pad. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any pad. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -2399,7 +2399,7 @@
 <tr>
 <td class="parameter_name"><p>destpadname</p></td>
 <td class="parameter_description"><p> the name of the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> in destination element,
-or NULL for any pad. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any pad. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -2407,7 +2407,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.47.6"></a><h4>Returns</h4>
-<p> TRUE if the pads could be linked, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -2446,7 +2446,7 @@
 <tr>
 <td class="parameter_name"><p>srcpadname</p></td>
 <td class="parameter_description"><p> the name of the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> in source element
-or NULL for any pad. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any pad. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -2457,7 +2457,7 @@
 <tr>
 <td class="parameter_name"><p>destpadname</p></td>
 <td class="parameter_description"><p> the name of the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> in destination element,
-or NULL for any pad. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any pad. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -2470,7 +2470,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.48.8"></a><h4>Returns</h4>
-<p> TRUE if the pads could be linked, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -2530,7 +2530,7 @@
 is that if one of the pads has no parent, it becomes a child of the parent of
 the other element. If they have different parents, the link fails. If <em class="parameter"><code>caps</code></em>
 
-is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, makes sure that the caps of the link is a subset of <em class="parameter"><code>caps</code></em>
+is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, makes sure that the caps of the link is a subset of <em class="parameter"><code>caps</code></em>
 .</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.50.5"></a><h4>Parameters</h4>
@@ -2549,7 +2549,7 @@
 <tr>
 <td class="parameter_name"><p>srcpadname</p></td>
 <td class="parameter_description"><p> the name of the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> in source element
-or NULL for any pad. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any pad. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -2560,13 +2560,13 @@
 <tr>
 <td class="parameter_name"><p>destpadname</p></td>
 <td class="parameter_description"><p> the name of the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> in destination element
-or NULL for any pad. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any pad. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>filter</p></td>
 <td class="parameter_description"><p> the <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> to filter the link,
-or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> for no filter. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for no filter. </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="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -2574,7 +2574,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.50.6"></a><h4>Returns</h4>
-<p> TRUE if the pads could be linked, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -2616,7 +2616,7 @@
 <tr>
 <td class="parameter_name"><p>filter</p></td>
 <td class="parameter_description"><p> the <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> to filter the link,
-or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> for no filter. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for no filter. </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="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -2624,7 +2624,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.51.7"></a><h4>Returns</h4>
-<p> TRUE if the pads could be linked, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads could be linked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -2955,7 +2955,7 @@
 <p>Returns a copy of the name of <em class="parameter"><code>elem</code></em>
 .
 Caller should <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> the return value after usage.
-For a nameless element, this returns NULL, which you can safely <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
+For a nameless element, this returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, which you can safely <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
 as well.</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.62.5"></a><h4>Parameters</h4>
@@ -3278,7 +3278,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>locked_state</p></td>
-<td class="parameter_description"><p>TRUE to lock the element's state</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to lock the element's state</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -3286,7 +3286,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.70.7"></a><h4>Returns</h4>
-<p> TRUE if the state was changed, FALSE if bad parameters were given
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the state was changed, <a href="http://library.gnome.org/devel/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>
@@ -3319,7 +3319,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.71.7"></a><h4>Returns</h4>
-<p> TRUE, if the element's state is locked.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3489,7 +3489,7 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_element_sync_state_with_parent (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 <p>Tries to change the state of the element to the same as its parent.
-If this function returns FALSE, the state of element is undefined.</p>
+If this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, the state of element is undefined.</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.77.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -3507,7 +3507,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.77.6"></a><h4>Returns</h4>
-<p> TRUE, if the element's state could be synced to the parent's state.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3705,7 +3705,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.81.8"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3762,7 +3762,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.82.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3803,7 +3803,7 @@
 <tr>
 <td class="parameter_name"><p>cur</p></td>
 <td class="parameter_description"><p> a location in which to store the current
-position, or NULL. </p></td>
+position, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -3811,7 +3811,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.83.7"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3850,7 +3850,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>duration</p></td>
-<td class="parameter_description"><p> A location in which to store the total duration, or NULL. </p></td>
+<td class="parameter_description"><p> A location in which to store the total duration, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -3858,7 +3858,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.21.10.84.7"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
diff --git a/docs/gst/html/GstElementFactory.html b/docs/gst/html/GstElementFactory.html
index 655f898..1b2576e 100644
--- a/docs/gst/html/GstElementFactory.html
+++ b/docs/gst/html/GstElementFactory.html
@@ -384,7 +384,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>plugin</p></td>
-<td class="parameter_description"><p> <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> to register the element with, or NULL for
+<td class="parameter_description"><p> <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> to register the element with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for
 a static element. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -408,7 +408,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.22.8.2.6"></a><h4>Returns</h4>
-<p> TRUE, if the registering succeeded, FALSE on error</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the registering succeeded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error</p>
 <p></p>
 </div>
 </div>
@@ -436,7 +436,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.22.8.3.6"></a><h4>Returns</h4>
-<p> <a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="type">GstElementFactory</span></a> if found, NULL otherwise. </p>
+<p> <a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="type">GstElementFactory</span></a> if found, <a href="http://library.gnome.org/devel/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>]</span></p>
 </div>
 </div>
@@ -600,7 +600,7 @@
 <a name="gst-element-factory-get-uri-protocols"></a><h3>gst_element_factory_get_uri_protocols ()</h3>
 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const *
 gst_element_factory_get_uri_protocols (<em class="parameter"><code><a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="type">GstElementFactory</span></a> *factory</code></em>);</pre>
-<p>Gets a NULL-terminated array of protocols this element supports or NULL if
+<p>Gets a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of protocols this element supports or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
 no protocols are supported. You may not change the contents of the returned
 array, as it is still owned by the element factory. Use <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strdupv"><code class="function">g_strdupv()</code></a> to
 make a copy of the protocol string array if you need to.</p>
@@ -622,7 +622,7 @@
 <div class="refsect3">
 <a name="id-1.3.22.8.9.6"></a><h4>Returns</h4>
 <p> the supported protocols
-or NULL. </p>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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]</span></p>
 </div>
 </div>
@@ -659,7 +659,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.22.8.10.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> when <em class="parameter"><code>factory</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -689,7 +689,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> name of new element, or NULL to automatically create
+<td class="parameter_description"><p> name of new element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to automatically create
 a unique name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -698,7 +698,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.22.8.11.6"></a><h4>Returns</h4>
-<p> new <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> or NULL if the element couldn't
+<p> new <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the element couldn't
 be created. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
@@ -710,7 +710,7 @@
 gst_element_factory_make (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factoryname</code></em>,
                           <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Create a new element of the type defined by the given element factory.
-If name is NULL, then the element will receive a guaranteed unique name,
+If name is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then the element will receive a guaranteed unique name,
 consisting of the element factory name and a number.
 If name is given, it will be given the name supplied.</p>
 <div class="refsect3">
@@ -729,7 +729,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> name of new element, or NULL to automatically create
+<td class="parameter_description"><p> name of new element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to automatically create
 a unique name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -738,7 +738,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.22.8.12.6"></a><h4>Returns</h4>
-<p> new <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> or NULL if unable to create element. </p>
+<p> new <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unable to create element. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
 </div>
diff --git a/docs/gst/html/GstEvent.html b/docs/gst/html/GstEvent.html
index 2a89f10..caaead4 100644
--- a/docs/gst/html/GstEvent.html
+++ b/docs/gst/html/GstEvent.html
@@ -1024,7 +1024,7 @@
 event is unreffed, the new one is reffed).</p>
 <p>Either <em class="parameter"><code>new_event</code></em>
  or the <a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.24.8.16.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1052,7 +1052,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.24.8.16.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_event</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1091,7 +1091,7 @@
 <pre class="programlisting"><a class="link" href="GstEvent.html" title="GstEvent"><span class="returnvalue">GstEvent</span></a> *
 gst_event_steal (<em class="parameter"><code><a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>);</pre>
 <p>Atomically replace the <a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em>
- with NULL and
+ with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and
 return the original event.</p>
 <div class="refsect3">
 <a name="id-1.3.24.8.18.5"></a><h4>Parameters</h4>
@@ -1128,7 +1128,7 @@
 .</p>
 <p>Either <em class="parameter"><code>new_event</code></em>
  or the <a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.24.8.19.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1156,7 +1156,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.24.8.19.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_event</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1239,13 +1239,14 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.24.8.22.6"></a><h4>Returns</h4>
-<p> The structure of the event. The structure is still
-owned by the event, which means that you should not free it and
-that the pointer becomes invalid when you free the event.
+<p> The structure of the event. The structure
+is still owned by the event, which means that you should not free
+it and that the pointer becomes invalid when you free the event.
 This function checks if <em class="parameter"><code>event</code></em>
-is writable and will never return NULL.</p>
-<p>MT safe.</p>
-<p></p>
+is writable and will never return
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
+<p>MT safe. </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>
 </div>
 <hr>
@@ -3077,12 +3078,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p> Result location for the format, or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the format, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>position</p></td>
-<td class="parameter_description"><p> Result location for the position, or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the position, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
diff --git a/docs/gst/html/GstGhostPad.html b/docs/gst/html/GstGhostPad.html
index d595442..3ba1110 100644
--- a/docs/gst/html/GstGhostPad.html
+++ b/docs/gst/html/GstGhostPad.html
@@ -228,7 +228,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> the name of the new pad, or NULL to assign a default name. </p></td>
+<td class="parameter_description"><p> the name of the new pad, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to assign a default name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -241,7 +241,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.2.7"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
 </div>
@@ -266,7 +266,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> the name of the new pad, or NULL to assign a default name. </p></td>
+<td class="parameter_description"><p> the name of the new pad, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to assign a default name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -279,7 +279,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.3.7"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -306,7 +306,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> the name of the new pad, or NULL to assign a default name. </p></td>
+<td class="parameter_description"><p> the name of the new pad, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to assign a default name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -324,7 +324,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.4.7"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -350,7 +350,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> the name of the new pad, or NULL to assign a default name. </p></td>
+<td class="parameter_description"><p> the name of the new pad, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to assign a default name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -363,7 +363,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.5.6"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -377,7 +377,7 @@
 . Any existing target
 is unlinked and links to the new target are established. if <em class="parameter"><code>newtarget</code></em>
  is
-NULL the target will be cleared.</p>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> the target will be cleared.</p>
 <div class="refsect3">
 <a name="id-1.3.26.9.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -402,8 +402,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.6.6"></a><h4>Returns</h4>
-<p> TRUE if the new target could be set. This function
-can return FALSE when the internal pads could not be linked. </p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the new target could be set. This function
+can return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when the internal pads could not be linked. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -431,7 +431,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.7.6"></a><h4>Returns</h4>
-<p> the target <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, can be NULL if the ghostpad
+<p> the target <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the ghostpad
 has no target set. Unref target pad 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>
@@ -494,7 +494,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -544,7 +544,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -592,7 +592,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.11.7"></a><h4>Returns</h4>
-<p> the target <a class="link" href="GstGhostPad.html#GstProxyPad"><span class="type">GstProxyPad</span></a>, can be NULL.
+<p> the target <a class="link" href="GstGhostPad.html#GstProxyPad"><span class="type">GstProxyPad</span></a>, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 Unref target pad 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>
@@ -622,7 +622,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -630,7 +630,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.26.9.12.6"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL if <em class="parameter"><code>pad</code></em>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>pad</code></em>
 has no parent. Unref each
 returned pad with <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a>.</p>
 <p></p>
@@ -661,7 +661,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -704,7 +704,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
diff --git a/docs/gst/html/GstMemory.html b/docs/gst/html/GstMemory.html
index 67c8b3f..3dbe344 100644
--- a/docs/gst/html/GstMemory.html
+++ b/docs/gst/html/GstMemory.html
@@ -312,7 +312,7 @@
 also has an offset and size property that specifies the valid range of memory
 in the allocated region.</p>
 <p>Memory is usually created by allocators with a <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>
-method call. When NULL is used as the allocator, the default allocator will
+method call. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is used as the allocator, the default allocator will
 be used.</p>
 <p>New allocators can be registered with <a class="link" href="GstAllocator.html#gst-allocator-register" title="gst_allocator_register ()"><code class="function">gst_allocator_register()</code></a>.
 Allocators are identified by name and can be retrieved with
@@ -331,7 +331,7 @@
 copy. <a class="link" href="GstMemory.html#gst-memory-share" title="gst_memory_share ()"><code class="function">gst_memory_share()</code></a> will create a new memory block that shares the
 memory with an existing memory block at a custom offset and with a custom
 size.</p>
-<p>Memory can be efficiently merged when <a class="link" href="GstMemory.html#gst-memory-is-span" title="gst_memory_is_span ()"><code class="function">gst_memory_is_span()</code></a> returns TRUE.</p>
+<p>Memory can be efficiently merged when <a class="link" href="GstMemory.html#gst-memory-is-span" title="gst_memory_is_span ()"><code class="function">gst_memory_is_span()</code></a> returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 </div>
 <div class="refsect1">
 <a name="GstMemory.functions_details"></a><h2>Functions</h2>
@@ -1106,7 +1106,7 @@
 <div class="refsect3">
 <a name="id-1.3.28.8.27.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstMemory.html" title="GstMemory"><span class="type">GstMemory</span></a> object mapped with <em class="parameter"><code>flags</code></em>
-or NULL when
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when
 a mapping is not possible. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
diff --git a/docs/gst/html/GstMessage.html b/docs/gst/html/GstMessage.html
index 65ac123..5c7da8e 100644
--- a/docs/gst/html/GstMessage.html
+++ b/docs/gst/html/GstMessage.html
@@ -686,6 +686,38 @@
 <a class="link" href="GstMessage.html#gst-message-parse-have-context" title="gst_message_parse_have_context ()">gst_message_parse_have_context</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-device-added" title="gst_message_new_device_added ()">gst_message_new_device_added</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-device-removed" title="gst_message_new_device_removed ()">gst_message_new_device_removed</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="GstMessage.html#gst-message-parse-device-added" title="gst_message_parse_device_added ()">gst_message_parse_device_added</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="GstMessage.html#gst-message-parse-device-removed" title="gst_message_parse_device_removed ()">gst_message_parse_device_removed</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -1233,7 +1265,7 @@
 message is unreffed, the new one is reffed).</p>
 <p>Either <em class="parameter"><code>new_message</code></em>
  or the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> pointed to by <em class="parameter"><code>old_message</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.29.8.19.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1261,7 +1293,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.29.8.19.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_message</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1421,7 +1453,7 @@
 <tr>
 <td class="parameter_name"><p>debug</p></td>
 <td class="parameter_description"><p> location for the debug message,
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1505,7 +1537,7 @@
 <tr>
 <td class="parameter_name"><p>debug</p></td>
 <td class="parameter_description"><p> location for the debug message,
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1589,7 +1621,7 @@
 <tr>
 <td class="parameter_name"><p>debug</p></td>
 <td class="parameter_description"><p> location for the debug message,
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1860,23 +1892,23 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p> a buffering mode, or NULL. </p></td>
+<td class="parameter_description"><p> a buffering mode, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>avg_in</p></td>
-<td class="parameter_description"><p> the average input rate, or NULL. </p></td>
+<td class="parameter_description"><p> the average input rate, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>avg_out</p></td>
-<td class="parameter_description"><p> the average output rate, or NULL. </p></td>
+<td class="parameter_description"><p> the average output rate, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>buffering_left</p></td>
 <td class="parameter_description"><p> amount of buffering time left in
-milliseconds, or NULL. </p></td>
+milliseconds, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -1999,17 +2031,17 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>oldstate</p></td>
-<td class="parameter_description"><p> the previous state, or NULL. </p></td>
+<td class="parameter_description"><p> the previous state, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>newstate</p></td>
-<td class="parameter_description"><p> the new (current) state, or NULL. </p></td>
+<td class="parameter_description"><p> the new (current) state, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>pending</p></td>
-<td class="parameter_description"><p> the pending (target) state, or NULL. </p></td>
+<td class="parameter_description"><p> the pending (target) state, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2060,7 +2092,7 @@
                            <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> eos</code></em>);</pre>
 <p>This message is posted by elements when they complete a part, when <em class="parameter"><code>intermediate</code></em>
  set
-to TRUE, or a complete step operation.</p>
+to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, or a complete step operation.</p>
 <p><em class="parameter"><code>duration</code></em>
  will contain the amount of time (in GST_FORMAT_TIME) of the stepped
 <em class="parameter"><code>amount</code></em>
@@ -2226,7 +2258,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>ready</p></td>
-<td class="parameter_description"><p>TRUE if the sender can provide a clock</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sender can provide a clock</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -2266,12 +2298,12 @@
 <tr>
 <td class="parameter_name"><p>clock</p></td>
 <td class="parameter_description"><p> a pointer to  hold a clock
-object, or NULL. </p></td>
+object, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>ready</p></td>
-<td class="parameter_description"><p> a pointer to hold the ready flag, or NULL. </p></td>
+<td class="parameter_description"><p> a pointer to hold the ready flag, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2467,7 +2499,7 @@
 <p>Create a new element-specific message. This is meant as a generic way of
 allowing one-way communication from an element to an application, for example
 "the firewire cable was unplugged". The format of the message should be
-documented in the element's documentation. The structure field can be NULL.</p>
+documented in the element's documentation. The structure field can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.29.8.45.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -2507,7 +2539,7 @@
                         <em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
 <p>Create a new custom-typed message. This can be used for anything not
 handled by other message-specific functions to pass a message to the
-app. The structure field can be NULL.</p>
+app. The structure field can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.29.8.46.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -2613,12 +2645,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p> Result location for the format, or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the format, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>position</p></td>
-<td class="parameter_description"><p> Result location for the position, or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the position, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2695,12 +2727,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p> Result location for the format, or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the format, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>position</p></td>
-<td class="parameter_description"><p> Result location for the position, or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the position, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2864,7 +2896,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>running_time</p></td>
-<td class="parameter_description"><p> Result location for the running_time or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the running_time or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2887,10 +2919,10 @@
  in <em class="parameter"><code>format</code></em>
 . </p>
 <p><em class="parameter"><code>active</code></em>
- is set to FALSE when the element accepted the new step event and has
+ is set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when the element accepted the new step event and has
 queued it for execution in the streaming threads.</p>
 <p><em class="parameter"><code>active</code></em>
- is set to TRUE when the element has activated the step operation and
+ is set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the element has activated the step operation and
 is now ready to start executing the step in the streaming thread. After this
 message is emitted, the application can queue a new step operation in the
 element.</p>
@@ -3496,7 +3528,7 @@
 <tr>
 <td class="parameter_name"><p>running_time</p></td>
 <td class="parameter_description"><p> Result location for the running_time or
-NULL. </p></td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -3594,7 +3626,7 @@
 <tr>
 <td class="parameter_name"><p>group_id</p></td>
 <td class="parameter_description"><p> Result location for the group id or
-NULL. </p></td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -3768,7 +3800,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>state</p></td>
-<td class="parameter_description"><p> Result location for the requested state or NULL. </p></td>
+<td class="parameter_description"><p> Result location for the requested state or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -4078,7 +4110,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>context_type</p></td>
-<td class="parameter_description"><p> the context type, or NULL. </p></td>
+<td class="parameter_description"><p> the context type, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -4153,7 +4185,7 @@
 <tr>
 <td class="parameter_name"><p>context</p></td>
 <td class="parameter_description"><p> Result location for the
-context or NULL. </p></td>
+context or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -4161,6 +4193,150 @@
 </div>
 <p class="since">Since 1.2</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-device-added"></a><h3>gst_message_new_device_added ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_device_added (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+                              <em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>);</pre>
+<p>Creates a new device-added message. The device-added message is produced by
+<a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or a <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a>. They announce the appearance
+of monitored devices.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.85.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>src</p></td>
+<td class="parameter_description"><p>The <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> that created the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>device</p></td>
+<td class="parameter_description"><p> The new <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>. </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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.85.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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-device-removed"></a><h3>gst_message_new_device_removed ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_device_removed (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+                                <em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>);</pre>
+<p>Creates a new device-removed message. The device-removed message is produced
+by <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or a <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a>. They announce the
+disappearance of monitored devices.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.86.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>src</p></td>
+<td class="parameter_description"><p>The <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> that created the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>device</p></td>
+<td class="parameter_description"><p> The removed <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>. </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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-device-added"></a><h3>gst_message_parse_device_added ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_device_added (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+                                <em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> **device</code></em>);</pre>
+<p>Parses a device-added message. The device-added message is produced by
+<a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or a <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a>. It announces the appearance
+of monitored devices.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.87.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>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type <a class="link" href="GstMessage.html#GST-MESSAGE-DEVICE-ADDED:CAPS"><code class="literal">GST_MESSAGE_DEVICE_ADDED</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>device</p></td>
+<td class="parameter_description"><p> A location where to store a
+pointer to the new <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-device-removed"></a><h3>gst_message_parse_device_removed ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_device_removed (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+                                  <em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> **device</code></em>);</pre>
+<p>Parses a device-removed message. The device-removed message is produced by
+<a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> or a <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a>. It announces the
+disappearance of monitored devices.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.88.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>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type <a class="link" href="GstMessage.html#GST-MESSAGE-DEVICE-REMOVED:CAPS"><code class="literal">GST_MESSAGE_DEVICE_REMOVED</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>device</p></td>
+<td class="parameter_description"><p> A location where to store a
+pointer to the removed <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="GstMessage.other_details"></a><h2>Types and Values</h2>
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index ec8ac4e..d3dc706 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -455,8 +455,8 @@
 <li class="listitem"><p>
     when processing data (get, chain, loop function) at the beginning call
     gst_object_sync_values(element,timestamp).
-    This will make the controller to update all gobject properties that are under
-    control with the current values based on timestamp.
+    This will make the controller update all GObject properties that are
+    under its control with the current values based on the timestamp.
   </p></li>
 </ol></div>
 <p>
@@ -714,7 +714,7 @@
 <pre class="programlisting">#define GST_OBJECT_TRYLOCK(obj)                g_mutex_trylock(GST_OBJECT_GET_LOCK(obj))
 </pre>
 <p>This macro will try to obtain a lock on the object, but will return with
-FALSE if it can't get it immediately.</p>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it can't get it immediately.</p>
 <div class="refsect3">
 <a name="id-1.3.32.10.11.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -785,7 +785,7 @@
 , or gives <em class="parameter"><code>object</code></em>
  a guaranteed unique
 name (if <em class="parameter"><code>name</code></em>
- is NULL).
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>).
 This function makes a copy of the provided name, so the caller
 retains ownership of the name it sent.</p>
 <div class="refsect3">
@@ -812,8 +812,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.32.10.14.6"></a><h4>Returns</h4>
-<p> TRUE if the name could be set. Since Objects that have
-a parent cannot be renamed, this function returns FALSE in those
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the name could be set. Since Objects that have
+a parent cannot be renamed, this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in those
 cases.</p>
 <p>MT safe.  This function grabs and releases <em class="parameter"><code>object</code></em>
 's LOCK.</p>
@@ -828,7 +828,7 @@
 <p>Returns a copy of the name of <em class="parameter"><code>object</code></em>
 .
 Caller should <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> the return value after usage.
-For a nameless object, this returns NULL, which you can safely <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
+For a nameless object, this returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, which you can safely <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
 as well.</p>
 <p>Free-function: g_free</p>
 <div class="refsect3">
@@ -889,8 +889,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.32.10.16.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>parent</code></em>
-could be set or FALSE when <em class="parameter"><code>object</code></em>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>parent</code></em>
+could be set or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when <em class="parameter"><code>object</code></em>
 already had a parent or <em class="parameter"><code>object</code></em>
 and <em class="parameter"><code>parent</code></em>
 are the same.</p>
@@ -925,7 +925,7 @@
 <div class="refsect3">
 <a name="id-1.3.32.10.17.6"></a><h4>Returns</h4>
 <p> parent of <em class="parameter"><code>object</code></em>
-, this can be NULL if <em class="parameter"><code>object</code></em>
+, this can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
 has no parent. unref after usage.</p>
 <p>MT safe. Grabs and releases <em class="parameter"><code>object</code></em>
 's LOCK. </p>
@@ -1000,7 +1000,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>excluded_props</p></td>
-<td class="parameter_description"><p>    a set of user-specified properties to exclude or NULL to show
+<td class="parameter_description"><p>    a set of user-specified properties to exclude or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to show
 all changes. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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> gchar*][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -1039,7 +1039,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>debug</p></td>
-<td class="parameter_description"><p> an additional debug information string, or NULL. </p></td>
+<td class="parameter_description"><p> an additional debug information string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1084,10 +1084,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.32.10.21.6"></a><h4>Returns</h4>
-<p> TRUE if a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> named <em class="parameter"><code>name</code></em>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> named <em class="parameter"><code>name</code></em>
 does not appear in <em class="parameter"><code>list</code></em>
 ,
-FALSE if it does.</p>
+<a href="http://library.gnome.org/devel/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>
@@ -1126,7 +1126,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.32.10.22.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>ancestor</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
 <p>MT safe. Grabs and releases <em class="parameter"><code>object</code></em>
@@ -1241,7 +1241,7 @@
  is increased.</p>
 <p>Either <em class="parameter"><code>newobj</code></em>
  and the value pointed to by <em class="parameter"><code>oldobj</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/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.26.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1267,7 +1267,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.32.10.26.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>newobj</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
diff --git a/docs/gst/html/GstPad.html b/docs/gst/html/GstPad.html
index a20c402..15425b1 100644
--- a/docs/gst/html/GstPad.html
+++ b/docs/gst/html/GstPad.html
@@ -1389,7 +1389,7 @@
 on the data that the element is processing or based on the pads that the
 application requests.</p>
 <p>Pads without pad templates can be created with <a class="link" href="GstPad.html#gst-pad-new" title="gst_pad_new ()"><code class="function">gst_pad_new()</code></a>,
-which takes a direction and a name as an argument.  If the name is NULL,
+which takes a direction and a name as an argument.  If the name is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>,
 then a guaranteed unique name will be assigned to it.</p>
 <p>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> creating a pad will typically use the various
 gst_pad_set_*_function() calls to register callbacks for events, queries or
@@ -1684,7 +1684,7 @@
 <p>Get the parent of <em class="parameter"><code>pad</code></em>
 . This function increases the refcount
 of the parent object so you should <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> it after usage.
-Can return NULL if the pad did not have a parent.</p>
+Can return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the pad did not have a parent.</p>
 <p>MT safe.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.11.6"></a><h4>Parameters</h4>
@@ -1710,7 +1710,7 @@
 <p>Gets the parent of <em class="parameter"><code>pad</code></em>
 , cast to a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>. If a <em class="parameter"><code>pad</code></em>
  has no parent or
-its parent is not an element, return NULL.</p>
+its parent is not an element, return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.12.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1881,7 +1881,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.16.6"></a><h4>Returns</h4>
-<p> TRUE if the pads were unlinked. This function returns FALSE if
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pads were unlinked. This function returns <a href="http://library.gnome.org/devel/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>
@@ -1911,7 +1911,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.17.6"></a><h4>Returns</h4>
-<p> TRUE if the pad is linked, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the pad is linked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p>MT safe.</p>
 <p></p>
 </div>
@@ -1948,7 +1948,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.18.6"></a><h4>Returns</h4>
-<p> TRUE if the pads can be linked.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1982,7 +1982,7 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.19.7"></a><h4>Returns</h4>
 <p> the allowed <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> of the pad link. Unref the
-caps when you no longer need it. This function returns NULL when <em class="parameter"><code>pad</code></em>
+caps when you no longer need it. This function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when <em class="parameter"><code>pad</code></em>
 has no peer.</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>
@@ -2127,7 +2127,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.24.6"></a><h4>Returns</h4>
-<p> TRUE when <em class="parameter"><code>pad</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2172,7 +2172,7 @@
 <div class="refsect3">
 <a name="id-1.3.33.10.25.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="GstEvent.html" title="GstEvent"><span class="type">GstEvent</span></a> of type <em class="parameter"><code>event_type</code></em>
-or NULL when no
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when no
 event of <em class="parameter"><code>event_type</code></em>
 was on <em class="parameter"><code>pad</code></em>
 . Unref after usage. </p>
@@ -2190,7 +2190,7 @@
 <p>When this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the next event will be
 returned. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned, <a class="link" href="GstPad.html#gst-pad-sticky-events-foreach" title="gst_pad_sticky_events_foreach ()"><code class="function">gst_pad_sticky_events_foreach()</code></a> will return.</p>
 <p>When <em class="parameter"><code>event</code></em>
- is set to NULL, the item will be removed from the list of sticky events.
+ is set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the item will be removed from the list of sticky events.
 <em class="parameter"><code>event</code></em>
  can be replaced by assigning a new reference to it.
 This function is responsible for unreffing the old event when
@@ -2292,7 +2292,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.28.6"></a><h4>Returns</h4>
-<p> TRUE if the pad is active.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2597,7 +2597,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.45.6"></a><h4>Returns</h4>
-<p> TRUE if the pad is blocked.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2626,7 +2626,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.46.6"></a><h4>Returns</h4>
-<p> TRUE if the pad is blocking.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2699,7 +2699,7 @@
 gst_pad_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
              <em class="parameter"><code><a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDirection"><span class="type">GstPadDirection</span></a> direction</code></em>);</pre>
 <p>Creates a new pad with the given name in the given direction.
-If name is NULL, a guaranteed unique name (across all pads)
+If name is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a guaranteed unique name (across all pads)
 will be assigned.
 This function makes a copy of the name so you can safely free the name.</p>
 <div class="refsect3">
@@ -2726,7 +2726,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.49.6"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error.</p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error.</p>
 <p>MT safe. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
@@ -2738,7 +2738,7 @@
 gst_pad_new_from_template (<em class="parameter"><code><a class="link" href="GstPadTemplate.html" title="GstPadTemplate"><span class="type">GstPadTemplate</span></a> *templ</code></em>,
                            <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Creates a new pad with the given name from the given template.
-If name is NULL, a guaranteed unique name (across all pads)
+If name is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a guaranteed unique name (across all pads)
 will be assigned.
 This function makes a copy of the name so you can safely free the name.</p>
 <div class="refsect3">
@@ -2765,7 +2765,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.50.6"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
 </div>
@@ -2776,7 +2776,7 @@
 gst_pad_new_from_static_template (<em class="parameter"><code><a class="link" href="GstPadTemplate.html#GstStaticPadTemplate" title="struct GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *templ</code></em>,
                                   <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>Creates a new pad with the given name from the given static template.
-If name is NULL, a guaranteed unique name (across all pads)
+If name is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a guaranteed unique name (across all pads)
 will be assigned.
 This function makes a copy of the name so you can safely free the name.</p>
 <div class="refsect3">
@@ -2803,7 +2803,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.51.6"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
 </div>
@@ -2812,7 +2812,7 @@
 <a name="gst-pad-set-chain-function"></a><h3>gst_pad_set_chain_function()</h3>
 <pre class="programlisting">#define gst_pad_set_chain_function(p,f)         gst_pad_set_chain_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-chain-function-full" title="gst_pad_set_chain_function_full ()"><code class="function">gst_pad_set_chain_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-chain-function-full" title="gst_pad_set_chain_function_full ()"><code class="function">gst_pad_set_chain_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.52.5"></a><h4>Parameters</h4>
@@ -2916,7 +2916,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -2939,7 +2939,7 @@
 <a name="gst-pad-set-chain-list-function"></a><h3>gst_pad_set_chain_list_function()</h3>
 <pre class="programlisting">#define gst_pad_set_chain_list_function(p,f)    gst_pad_set_chain_list_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-chain-list-function-full" title="gst_pad_set_chain_list_function_full ()"><code class="function">gst_pad_set_chain_list_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-chain-list-function-full" title="gst_pad_set_chain_list_function_full ()"><code class="function">gst_pad_set_chain_list_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.55.5"></a><h4>Parameters</h4>
@@ -3044,7 +3044,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -3082,7 +3082,7 @@
 installed (see <a class="link" href="GstPad.html#gst-pad-set-getrange-function" title="gst_pad_set_getrange_function()"><code class="function">gst_pad_set_getrange_function()</code></a>) this function returns
 <a class="link" href="GstPad.html#GST-FLOW-NOT-SUPPORTED:CAPS"><span class="type">GST_FLOW_NOT_SUPPORTED</span></a>.</p>
 <p>If <em class="parameter"><code>buffer</code></em>
- points to a variable holding NULL, a valid new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> will be
+ points to a variable holding <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a valid new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> will be
 placed in <em class="parameter"><code>buffer</code></em>
  when this function returns <a class="link" href="GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a>. The new buffer
 must be freed with <a class="link" href="GstBuffer.html#gst-buffer-unref" title="gst_buffer_unref ()"><code class="function">gst_buffer_unref()</code></a> after usage.</p>
@@ -3149,7 +3149,7 @@
 <a name="gst-pad-set-getrange-function"></a><h3>gst_pad_set_getrange_function()</h3>
 <pre class="programlisting">#define gst_pad_set_getrange_function(p,f)      gst_pad_set_getrange_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-getrange-function-full" title="gst_pad_set_getrange_function_full ()"><code class="function">gst_pad_set_getrange_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-getrange-function-full" title="gst_pad_set_getrange_function_full ()"><code class="function">gst_pad_set_getrange_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.59.5"></a><h4>Parameters</h4>
@@ -3296,7 +3296,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -3312,7 +3312,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>a memory location to hold the result buffer, cannot be NULL.</p></td>
+<td class="parameter_description"><p>a memory location to hold the result buffer, cannot be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -3332,7 +3332,7 @@
 <a name="gst-pad-set-event-function"></a><h3>gst_pad_set_event_function()</h3>
 <pre class="programlisting">#define gst_pad_set_event_function(p,f)         gst_pad_set_event_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-event-function-full" title="gst_pad_set_event_function_full ()"><code class="function">gst_pad_set_event_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-event-function-full" title="gst_pad_set_event_function_full ()"><code class="function">gst_pad_set_event_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.62.5"></a><h4>Parameters</h4>
@@ -3428,7 +3428,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -3442,7 +3442,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.64.6"></a><h4>Returns</h4>
-<p> TRUE if the pad could handle the event.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3451,7 +3451,7 @@
 <a name="gst-pad-set-link-function"></a><h3>gst_pad_set_link_function()</h3>
 <pre class="programlisting">#define gst_pad_set_link_function(p,f)          gst_pad_set_link_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-link-function-full" title="gst_pad_set_link_function_full ()"><code class="function">gst_pad_set_link_function_full()</code></a> with NULL
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-link-function-full" title="gst_pad_set_link_function_full ()"><code class="function">gst_pad_set_link_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 for the user_data and notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.65.5"></a><h4>Parameters</h4>
@@ -3555,7 +3555,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -3578,7 +3578,7 @@
 <a name="gst-pad-set-unlink-function"></a><h3>gst_pad_set_unlink_function()</h3>
 <pre class="programlisting">#define gst_pad_set_unlink_function(p,f)        gst_pad_set_unlink_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-unlink-function-full" title="gst_pad_set_unlink_function_full ()"><code class="function">gst_pad_set_unlink_function_full()</code></a> with NULL
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-unlink-function-full" title="gst_pad_set_unlink_function_full ()"><code class="function">gst_pad_set_unlink_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 for the user_data and notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.68.5"></a><h4>Parameters</h4>
@@ -3674,7 +3674,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -3718,7 +3718,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.71.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>query</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3760,7 +3760,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.72.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>query</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3770,7 +3770,7 @@
 <a name="gst-pad-set-activate-function"></a><h3>gst_pad_set_activate_function()</h3>
 <pre class="programlisting">#define gst_pad_set_activate_function(p,f)      gst_pad_set_activate_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-activate-function-full" title="gst_pad_set_activate_function_full ()"><code class="function">gst_pad_set_activate_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-activate-function-full" title="gst_pad_set_activate_function_full ()"><code class="function">gst_pad_set_activate_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.73.5"></a><h4>Parameters</h4>
@@ -3878,7 +3878,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.75.6"></a><h4>Returns</h4>
-<p> TRUE if the pad could be activated.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3887,7 +3887,7 @@
 <a name="gst-pad-set-activatemode-function"></a><h3>gst_pad_set_activatemode_function()</h3>
 <pre class="programlisting">#define gst_pad_set_activatemode_function(p,f)  gst_pad_set_activatemode_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-activatemode-function-full" title="gst_pad_set_activatemode_function_full ()"><code class="function">gst_pad_set_activatemode_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-activatemode-function-full" title="gst_pad_set_activatemode_function_full ()"><code class="function">gst_pad_set_activatemode_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.76.5"></a><h4>Parameters</h4>
@@ -4003,7 +4003,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.78.6"></a><h4>Returns</h4>
-<p> TRUE if the pad could be activated or deactivated.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4172,7 +4172,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.83.7"></a><h4>Returns</h4>
-<p> TRUE if the event was handled.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4244,12 +4244,12 @@
 See <a class="link" href="GstPad.html#gst-pad-get-range" title="gst_pad_get_range ()"><code class="function">gst_pad_get_range()</code></a> for a list of return values and for the
 semantics of the arguments of this function.</p>
 <p>If <em class="parameter"><code>buffer</code></em>
- points to a variable holding NULL, a valid new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> will be
+ points to a variable holding <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a valid new <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> will be
 placed in <em class="parameter"><code>buffer</code></em>
  when this function returns <a class="link" href="GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a>. The new buffer
 must be freed with <a class="link" href="GstBuffer.html#gst-buffer-unref" title="gst_buffer_unref ()"><code class="function">gst_buffer_unref()</code></a> after usage. When this function
 returns any other result value, <em class="parameter"><code>buffer</code></em>
- will still point to NULL.</p>
+ will still point to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p>When <em class="parameter"><code>buffer</code></em>
  points to a variable that points to a valid <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a>, the
 buffer will be filled with the result data when this function returns
@@ -4347,7 +4347,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.86.7"></a><h4>Returns</h4>
-<p> TRUE if the operation was successful.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4403,7 +4403,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.87.9"></a><h4>Returns</h4>
-<p> TRUE if the event was handled.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event was handled.</p>
 <p></p>
 </div>
 </div>
@@ -4439,7 +4439,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -4452,7 +4452,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.88.8"></a><h4>Returns</h4>
-<p> TRUE if the event was sent successfully.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4494,7 +4494,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.89.8"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4532,7 +4532,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.90.7"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed. This function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/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>
@@ -4569,7 +4569,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -4582,7 +4582,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.91.6"></a><h4>Returns</h4>
-<p> TRUE if the query was performed successfully.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4615,7 +4615,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>cur</p></td>
-<td class="parameter_description"><p> A location in which to store the current position, or NULL. </p></td>
+<td class="parameter_description"><p> A location in which to store the current position, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -4623,7 +4623,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.92.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4657,7 +4657,7 @@
 <tr>
 <td class="parameter_name"><p>duration</p></td>
 <td class="parameter_description"><p> a location in which to store the total
-duration, or NULL. </p></td>
+duration, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -4665,7 +4665,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.93.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4721,7 +4721,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.94.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4756,7 +4756,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.95.6"></a><h4>Returns</h4>
-<p> TRUE if the pad can accept the caps.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4772,7 +4772,7 @@
 gst_pad_query_caps returns all possible caps a pad can operate with, using
 the pad's CAPS query function, If the query fails, this function will return
 <em class="parameter"><code>filter</code></em>
-, if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, otherwise ANY.</p>
+, if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, otherwise ANY.</p>
 <p>When called on sinkpads <em class="parameter"><code>filter</code></em>
  contains the caps that
 upstream could produce in the order preferred by upstream. When
@@ -4800,7 +4800,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>filter</p></td>
-<td class="parameter_description"><p> suggested <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>, or NULL. </p></td>
+<td class="parameter_description"><p> suggested <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -4843,7 +4843,7 @@
 <tr>
 <td class="parameter_name"><p>cur</p></td>
 <td class="parameter_description"><p> a location in which to store the current
-position, or NULL. </p></td>
+position, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -4851,7 +4851,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.97.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4886,7 +4886,7 @@
 <tr>
 <td class="parameter_name"><p>duration</p></td>
 <td class="parameter_description"><p> a location in which to store the total
-duration, or NULL. </p></td>
+duration, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -4894,7 +4894,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.98.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4952,7 +4952,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.99.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4966,7 +4966,7 @@
  accepts <em class="parameter"><code>caps</code></em>
 . If <em class="parameter"><code>pad</code></em>
  has no peer, this function
-returns TRUE.</p>
+returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.100.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -4991,7 +4991,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.100.6"></a><h4>Returns</h4>
-<p> TRUE if the peer of <em class="parameter"><code>pad</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -5030,7 +5030,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>filter</p></td>
-<td class="parameter_description"><p> a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> filter, or NULL. </p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> filter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -5051,7 +5051,7 @@
 <a name="gst-pad-set-query-function"></a><h3>gst_pad_set_query_function()</h3>
 <pre class="programlisting">#define gst_pad_set_query_function(p,f)   gst_pad_set_query_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-query-function-full" title="gst_pad_set_query_function_full ()"><code class="function">gst_pad_set_query_function_full()</code></a> with NULL for the user_data and
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-query-function-full" title="gst_pad_set_query_function_full ()"><code class="function">gst_pad_set_query_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the user_data and
 notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.102.5"></a><h4>Parameters</h4>
@@ -5147,7 +5147,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -5161,7 +5161,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.104.6"></a><h4>Returns</h4>
-<p> TRUE if the query could be performed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -5170,7 +5170,7 @@
 <a name="gst-pad-set-iterate-internal-links-function"></a><h3>gst_pad_set_iterate_internal_links_function()</h3>
 <pre class="programlisting">#define gst_pad_set_iterate_internal_links_function(p,f) gst_pad_set_iterate_internal_links_function_full((p),(f),NULL,NULL)
 </pre>
-<p>Calls <a class="link" href="GstPad.html#gst-pad-set-iterate-internal-links-function-full" title="gst_pad_set_iterate_internal_links_function_full ()"><code class="function">gst_pad_set_iterate_internal_links_function_full()</code></a> with NULL
+<p>Calls <a class="link" href="GstPad.html#gst-pad-set-iterate-internal-links-function-full" title="gst_pad_set_iterate_internal_links_function_full ()"><code class="function">gst_pad_set_iterate_internal_links_function_full()</code></a> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 for the user_data and notify.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.105.5"></a><h4>Parameters</h4>
@@ -5266,7 +5266,7 @@
 <td class="parameter_description"><p>the parent of <em class="parameter"><code>pad</code></em>
 . If the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-PARENT:CAPS"><span class="type">GST_PAD_FLAG_NEED_PARENT</span></a> flag is set,
 <em class="parameter"><code>parent</code></em>
-is guaranteed to be not-NULL and remain valid during the
+is guaranteed to be not-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and remain valid during the
 execution of this function.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -5343,7 +5343,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>pad</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -5351,7 +5351,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.109.7"></a><h4>Returns</h4>
-<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or NULL if <em class="parameter"><code>pad</code></em>
+<p> a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>pad</code></em>
 has no parent. Unref each
 returned pad with <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a>.</p>
 <p></p>
@@ -5686,7 +5686,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.116.6"></a><h4>Returns</h4>
-<p> TRUE if the dispatching procedure has to be stopped.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -5704,7 +5704,7 @@
 
 function is only called once for each pad.</p>
 <p>When <em class="parameter"><code>forward</code></em>
- returns TRUE, no further pads will be processed.</p>
+ returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, no further pads will be processed.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.117.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -5735,7 +5735,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.117.7"></a><h4>Returns</h4>
-<p> TRUE if one of the dispatcher functions returned TRUE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if one of the dispatcher functions returned <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -5923,7 +5923,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.121.6"></a><h4>Returns</h4>
-<p> a TRUE if the task could be paused or FALSE when the pad
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be paused or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when the pad
 has no task.</p>
 <p></p>
 </div>
@@ -5958,7 +5958,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.122.8"></a><h4>Returns</h4>
-<p> a TRUE if the task could be stopped or FALSE on error.</p>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the task could be stopped or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.</p>
 <p></p>
 </div>
 </div>
@@ -5976,7 +5976,7 @@
 function to perform the actual activation.</p>
 <p>If not <em class="parameter"><code>active</code></em>
 , calls <a class="link" href="GstPad.html#gst-pad-activate-mode" title="gst_pad_activate_mode ()"><code class="function">gst_pad_activate_mode()</code></a> with the pad's current mode
-and a FALSE argument.</p>
+and a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> argument.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.123.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -6001,7 +6001,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.123.8"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the operation was successful.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -6061,8 +6061,8 @@
 <a name="GST-PAD-STREAM-TRYLOCK:CAPS"></a><h3>GST_PAD_STREAM_TRYLOCK()</h3>
 <pre class="programlisting">#define GST_PAD_STREAM_TRYLOCK(pad)     g_rec_mutex_trylock(GST_PAD_GET_STREAM_LOCK(pad))
 </pre>
-<p>Try to take the pad's stream lock, and return TRUE if the lock could be
-taken, and otherwise FALSE.</p>
+<p>Try to take the pad's stream lock, and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the lock could be
+taken, and otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.33.10.126.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -6555,7 +6555,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.146.5"></a><h4>Returns</h4>
-<p> TRUE 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>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -6582,7 +6582,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.147.5"></a><h4>Returns</h4>
-<p> TRUE if the pad is a source pad (i.e. produces data).</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -6608,7 +6608,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.148.5"></a><h4>Returns</h4>
-<p> TRUE if the pad is a sink pad (i.e. consumes data).</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -6634,7 +6634,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.33.10.149.5"></a><h4>Returns</h4>
-<p> TRUE if the pad has been activated.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -7941,7 +7941,7 @@
 <td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstPadProbeInfo.data"></a>data</code></em>;</p></td>
 <td class="struct_member_description"><p>type specific data, check the <em class="parameter"><code>type</code></em>
 field to know the datatype.
-This field can be NULL.</p></td>
+This field can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
diff --git a/docs/gst/html/GstPipeline.html b/docs/gst/html/GstPipeline.html
index 6cc8a8d..1b77792 100644
--- a/docs/gst/html/GstPipeline.html
+++ b/docs/gst/html/GstPipeline.html
@@ -321,7 +321,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.37.10.4.6"></a><h4>Returns</h4>
-<p> TRUE if the clock could be set on the pipeline. FALSE if
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/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>
@@ -367,7 +367,7 @@
 always use the given clock even if new clock providers are added
 to this pipeline.</p>
 <p>If <em class="parameter"><code>clock</code></em>
- is NULL all clocking will be disabled which will make
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> all clocking will be disabled which will make
 the pipeline run as fast as possible.</p>
 <p>MT safe.</p>
 <div class="refsect3">
diff --git a/docs/gst/html/GstPlugin.html b/docs/gst/html/GstPlugin.html
index e75094d..8ad19b2 100644
--- a/docs/gst/html/GstPlugin.html
+++ b/docs/gst/html/GstPlugin.html
@@ -552,7 +552,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.38.8.8.6"></a><h4>Returns</h4>
-<p> TRUE for a positive match, FALSE otherwise</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for a positive match, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
 <p></p>
 </div>
 </div>
@@ -827,7 +827,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.38.8.18.6"></a><h4>Returns</h4>
-<p> TRUE is loaded, FALSE otherwise</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is loaded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
 <p></p>
 </div>
 </div>
@@ -915,7 +915,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>pointer to a NULL-valued GError</p></td>
+<td class="parameter_description"><p>pointer to a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-valued GError</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -924,7 +924,7 @@
 <div class="refsect3">
 <a name="id-1.3.38.8.21.6"></a><h4>Returns</h4>
 <p> a reference to the existing loaded GstPlugin, a
-reference to the newly-loaded GstPlugin, or NULL if an error occurred. </p>
+reference to the newly-loaded GstPlugin, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error occurred. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -961,7 +961,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.38.8.22.7"></a><h4>Returns</h4>
-<p> a reference to a loaded plugin, or NULL on error. </p>
+<p> a reference to a loaded plugin, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -988,7 +988,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.38.8.23.6"></a><h4>Returns</h4>
-<p> a reference to a loaded plugin, or NULL on error. </p>
+<p> a reference to a loaded plugin, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -1103,7 +1103,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.38.8.25.7"></a><h4>Returns</h4>
-<p> TRUE if the plugin was registered correctly, otherwise FALSE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the plugin was registered correctly, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -1204,7 +1204,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.38.8.26.7"></a><h4>Returns</h4>
-<p> TRUE if the plugin was registered correctly, otherwise FALSE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the plugin was registered correctly, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -1241,29 +1241,29 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>env_vars</p></td>
-<td class="parameter_description"><p> NULL-terminated array of environment variables affecting the
+<td class="parameter_description"><p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of environment variables affecting the
 feature set of the plugin (e.g. an environment variable containing
 paths where to look for additional modules/plugins of a library),
-or NULL. Environment variable names may be followed by a path component
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Environment variable names may be followed by a path component
 which will be added to the content of the environment variable, e.g.
 "HOME/.mystuff/plugins". </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>paths</p></td>
-<td class="parameter_description"><p> NULL-terminated array of directories/paths where dependent files
-may be, or NULL. </p></td>
+<td class="parameter_description"><p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of directories/paths where dependent files
+may be, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>names</p></td>
-<td class="parameter_description"><p> NULL-terminated array of file names (or file name suffixes,
+<td class="parameter_description"><p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of file names (or file name suffixes,
 depending on <em class="parameter"><code>flags</code></em>
 ) to be used in combination with the paths from
 <em class="parameter"><code>paths</code></em>
 and/or the paths extracted from the environment variables in
 <em class="parameter"><code>env_vars</code></em>
-, or NULL. </p></td>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -1312,7 +1312,7 @@
 <tr>
 <td class="parameter_name"><p>env_vars</p></td>
 <td class="parameter_description"><p> one or more environment variables (separated by ':', ';' or ','),
-or NULL. Environment variable names may be followed by a path component
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Environment variable names may be followed by a path component
 which will be added to the content of the environment variable, e.g.
 "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH". </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
@@ -1320,13 +1320,13 @@
 <tr>
 <td class="parameter_name"><p>paths</p></td>
 <td class="parameter_description"><p> one ore more directory paths (separated by ':' or ';' or ','),
-or NULL. Example: "/usr/lib/mystuff/plugins". </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Example: "/usr/lib/mystuff/plugins". </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>names</p></td>
 <td class="parameter_description"><p> one or more file names or file name suffixes (separated by commas),
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -1475,7 +1475,7 @@
 <tr>
 <td class="struct_member_name"><p>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstPluginDesc.release-datetime"></a>release_datetime</code></em>;</p></td>
 <td class="struct_member_description"><p>date time string in ISO 8601 format (or rather, a
-subset thereof), or NULL. Allowed are the following formats:
+subset thereof), or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Allowed are the following formats:
 "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z'
 indicating UTC/Zulu time). This field should be set via the
 GST_PACKAGE_RELEASE_DATETIME preprocessor macro.</p></td>
diff --git a/docs/gst/html/GstPluginFeature.html b/docs/gst/html/GstPluginFeature.html
index f034262..24e655d 100644
--- a/docs/gst/html/GstPluginFeature.html
+++ b/docs/gst/html/GstPluginFeature.html
@@ -311,7 +311,7 @@
 </pre>
 <p>Returns the name of <em class="parameter"><code>feature</code></em>
 .
-For a nameless plugin feature, this returns NULL.</p>
+For a nameless plugin feature, this returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.39.8.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -441,7 +441,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.39.8.9.9"></a><h4>Returns</h4>
-<p> a reference to the loaded feature, or NULL on error. </p>
+<p> a reference to the loaded feature, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -569,8 +569,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.39.8.13.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the plugin feature has at least
-the required version, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/GstPreset.html b/docs/gst/html/GstPreset.html
index d5b7dd3..e86a58c 100644
--- a/docs/gst/html/GstPreset.html
+++ b/docs/gst/html/GstPreset.html
@@ -177,7 +177,7 @@
 <a name="gst-preset-get-preset-names"></a><h3>gst_preset_get_preset_names ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
 gst_preset_get_preset_names (<em class="parameter"><code><a class="link" href="GstPreset.html" title="GstPreset"><span class="type">GstPreset</span></a> *preset</code></em>);</pre>
-<p>Get a copy of preset names as a NULL terminated string array.</p>
+<p>Get a copy of preset names as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated string array.</p>
 <div class="refsect3">
 <a name="id-1.3.41.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
diff --git a/docs/gst/html/GstQuery.html b/docs/gst/html/GstQuery.html
index 866c36b..feee4a6 100644
--- a/docs/gst/html/GstQuery.html
+++ b/docs/gst/html/GstQuery.html
@@ -1248,7 +1248,7 @@
 query is unreffed, the new one is reffed).</p>
 <p>Either <em class="parameter"><code>new_query</code></em>
  or the <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> pointed to by <em class="parameter"><code>old_query</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.16.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1276,7 +1276,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.42.8.16.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>new_query</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1485,7 +1485,7 @@
 , <em class="parameter"><code>dest_format</code></em>
 ,
 and <em class="parameter"><code>dest_value</code></em>
- may be NULL, in which case that value is omitted.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case that value is omitted.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.22.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1503,24 +1503,24 @@
 <tr>
 <td class="parameter_name"><p>src_format</p></td>
 <td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the
-source value, or NULL. </p></td>
+source value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>src_value</p></td>
-<td class="parameter_description"><p> the storage for the source value, or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the source value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>dest_format</p></td>
 <td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the
-destination value, or NULL. </p></td>
+destination value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>dest_value</p></td>
 <td class="parameter_description"><p> the storage for the destination value,
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -1603,7 +1603,7 @@
 <p>Parse a position query, writing the format into <em class="parameter"><code>format</code></em>
 , and the position
 into <em class="parameter"><code>cur</code></em>
-, if the respective parameters are non-NULL.</p>
+, if the respective parameters are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.25.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1621,12 +1621,12 @@
 <tr>
 <td class="parameter_name"><p>format</p></td>
 <td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the
-position values (may be NULL). </p></td>
+position values (may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </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>cur</p></td>
-<td class="parameter_description"><p> the storage for the current position (may be NULL). </p></td>
+<td class="parameter_description"><p> the storage for the current position (may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </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>
@@ -1709,7 +1709,7 @@
 <p>Parse a duration query answer. Write the format of the duration into <em class="parameter"><code>format</code></em>
 ,
 and the value into <em class="parameter"><code>duration</code></em>
-, if the respective variables are non-NULL.</p>
+, if the respective variables are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.28.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1727,12 +1727,12 @@
 <tr>
 <td class="parameter_name"><p>format</p></td>
 <td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the duration
-value, or NULL. </p></td>
+value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>duration</p></td>
-<td class="parameter_description"><p> the storage for the total duration, or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the total duration, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -1780,17 +1780,17 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>live</p></td>
-<td class="parameter_description"><p> storage for live or NULL. </p></td>
+<td class="parameter_description"><p> storage for live or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>min_latency</p></td>
-<td class="parameter_description"><p> the storage for the min latency or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the min latency or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>max_latency</p></td>
-<td class="parameter_description"><p> the storage for the max latency or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the max latency or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -1931,7 +1931,7 @@
 <p>Parse a seeking query, writing the format into <em class="parameter"><code>format</code></em>
 , and
 other results into the passed parameters, if the respective parameters
-are non-NULL</p>
+are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
 <div class="refsect3">
 <a name="id-1.3.42.8.34.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1950,22 +1950,22 @@
 <td class="parameter_name"><p>format</p></td>
 <td class="parameter_description"><p> the format to set for the <em class="parameter"><code>segment_start</code></em>
 and <em class="parameter"><code>segment_end</code></em>
-values, or NULL. </p></td>
+values, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>seekable</p></td>
-<td class="parameter_description"><p> the seekable flag to set, or NULL. </p></td>
+<td class="parameter_description"><p> the seekable flag to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>segment_start</p></td>
-<td class="parameter_description"><p> the segment_start to set, or NULL. </p></td>
+<td class="parameter_description"><p> the segment_start to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>segment_end</p></td>
-<td class="parameter_description"><p> the segment_end to set, or NULL. </p></td>
+<td class="parameter_description"><p> the segment_end to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2253,7 +2253,7 @@
 , <em class="parameter"><code>start_value</code></em>
 , and
 <em class="parameter"><code>stop_value</code></em>
- may be NULL, which will cause this value to be omitted.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, which will cause this value to be omitted.</p>
 <p>See <a class="link" href="GstQuery.html#gst-query-set-segment" title="gst_query_set_segment ()"><code class="function">gst_query_set_segment()</code></a> for an explanation of the function arguments.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.42.6"></a><h4>Parameters</h4>
@@ -2271,23 +2271,23 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p> the storage for the rate of the segment, or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the rate of the segment, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>format</p></td>
 <td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the values,
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>start_value</p></td>
-<td class="parameter_description"><p> the storage for the start value, or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the start value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>stop_value</p></td>
-<td class="parameter_description"><p> the storage for the stop value, or NULL. </p></td>
+<td class="parameter_description"><p> the storage for the stop value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2655,12 +2655,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>busy</p></td>
-<td class="parameter_description"><p> if buffering is busy, or NULL. </p></td>
+<td class="parameter_description"><p> if buffering is busy, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>percent</p></td>
-<td class="parameter_description"><p> a buffering percent, or NULL. </p></td>
+<td class="parameter_description"><p> a buffering percent, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2743,23 +2743,23 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p> a buffering mode, or NULL. </p></td>
+<td class="parameter_description"><p> a buffering mode, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>avg_in</p></td>
-<td class="parameter_description"><p> the average input rate, or NULL. </p></td>
+<td class="parameter_description"><p> the average input rate, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>avg_out</p></td>
-<td class="parameter_description"><p> the average output rat, or NULL. </p></td>
+<td class="parameter_description"><p> the average output rat, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>buffering_left</p></td>
 <td class="parameter_description"><p> amount of buffering time left in
-milliseconds, or NULL. </p></td>
+milliseconds, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2830,7 +2830,7 @@
 <p>Parse an available query, writing the format into <em class="parameter"><code>format</code></em>
 , and
 other results into the passed parameters, if the respective parameters
-are non-NULL</p>
+are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
 <div class="refsect3">
 <a name="id-1.3.42.8.57.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -2849,23 +2849,23 @@
 <td class="parameter_name"><p>format</p></td>
 <td class="parameter_description"><p> the format to set for the <em class="parameter"><code>segment_start</code></em>
 and <em class="parameter"><code>segment_end</code></em>
-values, or NULL. </p></td>
+values, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>start</p></td>
-<td class="parameter_description"><p> the start to set, or NULL. </p></td>
+<td class="parameter_description"><p> the start to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>stop</p></td>
-<td class="parameter_description"><p> the stop to set, or NULL. </p></td>
+<td class="parameter_description"><p> the stop to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>estimated_total</p></td>
 <td class="parameter_description"><p> estimated total amount of download
-time remaining in milliseconds, or NULL. </p></td>
+time remaining in milliseconds, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -2976,12 +2976,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>start</p></td>
-<td class="parameter_description"><p> the start position to set, or NULL. </p></td>
+<td class="parameter_description"><p> the start position to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>stop</p></td>
-<td class="parameter_description"><p> the stop position to set, or NULL. </p></td>
+<td class="parameter_description"><p> the stop position to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -3016,7 +3016,7 @@
                      <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **uri</code></em>);</pre>
 <p>Parse an URI query, writing the URI into <em class="parameter"><code>uri</code></em>
  as a newly
-allocated string, if the respective parameters are non-NULL.
+allocated string, if the respective parameters are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 Free the string with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.62.5"></a><h4>Parameters</h4>
@@ -3035,7 +3035,7 @@
 <tr>
 <td class="parameter_name"><p>uri</p></td>
 <td class="parameter_description"><p> the storage for the current URI
-(may be NULL). </p></td>
+(may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -3080,7 +3080,7 @@
                                  <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **uri</code></em>);</pre>
 <p>Parse an URI query, writing the URI into <em class="parameter"><code>uri</code></em>
  as a newly
-allocated string, if the respective parameters are non-NULL.
+allocated string, if the respective parameters are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 Free the string with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.64.5"></a><h4>Parameters</h4>
@@ -3099,7 +3099,7 @@
 <tr>
 <td class="parameter_name"><p>uri</p></td>
 <td class="parameter_description"><p> the storage for the redirect URI
-(may be NULL). </p></td>
+(may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -3167,7 +3167,7 @@
 <tr>
 <td class="parameter_name"><p>permanent</p></td>
 <td class="parameter_description"><p> if the URI redirection is permanent
-(may be NULL). </p></td>
+(may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </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>
@@ -3255,7 +3255,7 @@
  and
 whether a pool is needed in <em class="parameter"><code>need_pool</code></em>
 , if the respective parameters
-are non-NULL.</p>
+are non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.42.8.69.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -3846,7 +3846,7 @@
                                 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *index</code></em>);</pre>
 <p>Check if <em class="parameter"><code>query</code></em>
  has metadata <em class="parameter"><code>api</code></em>
- set. When this function returns TRUE,
+ set. When this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>,
 <em class="parameter"><code>index</code></em>
  will contain the index where the requested API and the flags can be
 found.</p>
@@ -3879,7 +3879,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.42.8.84.6"></a><h4>Returns</h4>
-<p> TRUE when <em class="parameter"><code>api</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4130,7 +4130,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.42.8.91.7"></a><h4>Returns</h4>
-<p> TRUE when <em class="parameter"><code>mode</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -4176,7 +4176,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.42.8.92.6"></a><h4>Returns</h4>
-<p> TRUE when <em class="parameter"><code>mode</code></em>
+<p> <a href="http://library.gnome.org/devel/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
 and <em class="parameter"><code>flags</code></em>
 are compatible with query flags.</p>
@@ -4313,7 +4313,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>context_type</p></td>
-<td class="parameter_description"><p> the context type, or NULL. </p></td>
+<td class="parameter_description"><p> the context type, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
diff --git a/docs/gst/html/GstRegistry.html b/docs/gst/html/GstRegistry.html
index 63f5a01..e21d466 100644
--- a/docs/gst/html/GstRegistry.html
+++ b/docs/gst/html/GstRegistry.html
@@ -485,7 +485,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.43.9.7.6"></a><h4>Returns</h4>
-<p> TRUE on success.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 <p>MT safe.</p>
 <p></p>
 </div>
@@ -658,7 +658,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.43.9.11.6"></a><h4>Returns</h4>
-<p> the plugin with the given name or NULL if the
+<p> the plugin with the given name or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 plugin was not found. <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> after usage.</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>
@@ -702,7 +702,7 @@
 <div class="refsect3">
 <a name="id-1.3.43.9.12.6"></a><h4>Returns</h4>
 <p> the pluginfeature with the given name and type
-or NULL if the plugin was not found. <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> after usage.</p>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the plugin was not found. <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> after usage.</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>
 </div>
@@ -875,7 +875,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.43.9.17.6"></a><h4>Returns</h4>
-<p> the <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> if found, or NULL if not.
+<p> the <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> if found, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not.
 <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</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>
@@ -944,7 +944,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.43.9.19.6"></a><h4>Returns</h4>
-<p> TRUE on success.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 <p>MT safe.</p>
 <p></p>
 </div>
@@ -1001,8 +1001,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.43.9.20.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the feature could be found and the version is
-the same as the required version or newer, and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a> otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/GstSample.html b/docs/gst/html/GstSample.html
index fbe5fb0..1439c5b 100644
--- a/docs/gst/html/GstSample.html
+++ b/docs/gst/html/GstSample.html
@@ -161,7 +161,7 @@
 <div class="refsect3">
 <a name="id-1.3.13.8.2.6"></a><h4>Returns</h4>
 <p> the buffer of <em class="parameter"><code>sample</code></em>
-or NULL when there
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there
 is no buffer. The buffer remains valid as long as <em class="parameter"><code>sample</code></em>
 is valid.
 If you need to hold on to it for longer than that, take a ref to
@@ -194,7 +194,7 @@
 <div class="refsect3">
 <a name="id-1.3.13.8.3.6"></a><h4>Returns</h4>
 <p> the caps of <em class="parameter"><code>sample</code></em>
-or NULL when there
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there
 is no caps. The caps remain valid as long as <em class="parameter"><code>sample</code></em>
 is valid.
 If you need to hold on to the caps for longer than that, take a ref to
@@ -285,22 +285,22 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p> a <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a>, or NULL. </p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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="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>caps</p></td>
-<td class="parameter_description"><p> a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>, or NULL. </p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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="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>segment</p></td>
-<td class="parameter_description"><p> a <a class="link" href="GstSegment.html" title="GstSegment"><span class="type">GstSegment</span></a>, or NULL. </p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstSegment.html" title="GstSegment"><span class="type">GstSegment</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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="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>info</p></td>
-<td class="parameter_description"><p> a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a>, or NULL. </p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
diff --git a/docs/gst/html/GstSegment.html b/docs/gst/html/GstSegment.html
index 2b950fd..76e3cae 100644
--- a/docs/gst/html/GstSegment.html
+++ b/docs/gst/html/GstSegment.html
@@ -230,14 +230,14 @@
  are compared and clipped to <em class="parameter"><code>segment</code></em>
 
 start and stop values.</p>
-<p>If the function returns FALSE, <em class="parameter"><code>start</code></em>
+<p>If the function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, <em class="parameter"><code>start</code></em>
  and <em class="parameter"><code>stop</code></em>
  are known to fall
 outside of <em class="parameter"><code>segment</code></em>
  and <em class="parameter"><code>clip_start</code></em>
  and <em class="parameter"><code>clip_stop</code></em>
  are not updated.</p>
-<p>When the function returns TRUE, <em class="parameter"><code>clip_start</code></em>
+<p>When the function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, <em class="parameter"><code>clip_start</code></em>
  and <em class="parameter"><code>clip_stop</code></em>
  will be
 updated. If <em class="parameter"><code>clip_start</code></em>
@@ -294,11 +294,11 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.44.8.2.9"></a><h4>Returns</h4>
-<p> TRUE if the given <em class="parameter"><code>start</code></em>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given <em class="parameter"><code>start</code></em>
 and <em class="parameter"><code>stop</code></em>
 times fall partially or
 completely in <em class="parameter"><code>segment</code></em>
-, FALSE if the values are completely outside
+, <a href="http://library.gnome.org/devel/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>
@@ -452,8 +452,8 @@
 
 rate and applied_rate after calling this function.</p>
 <p><em class="parameter"><code>update</code></em>
- will be set to TRUE if a seek should be performed to the segment
-position field. This field can be FALSE if, for example, only the <em class="parameter"><code>rate</code></em>
+ will be set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a seek should be performed to the segment
+position field. This field can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if, for example, only the <em class="parameter"><code>rate</code></em>
 
 has been changed but not the playback position.</p>
 <div class="refsect3">
diff --git a/docs/gst/html/GstStructure.html b/docs/gst/html/GstStructure.html
index 95c3c8f..93d0934 100644
--- a/docs/gst/html/GstStructure.html
+++ b/docs/gst/html/GstStructure.html
@@ -620,7 +620,7 @@
 <p>Fields can be removed with <a class="link" href="GstStructure.html#gst-structure-remove-field" title="gst_structure_remove_field ()"><code class="function">gst_structure_remove_field()</code></a> or
 <a class="link" href="GstStructure.html#gst-structure-remove-fields" title="gst_structure_remove_fields ()"><code class="function">gst_structure_remove_fields()</code></a>.</p>
 <p>Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
-not allowed. Strings may be NULL however.</p>
+not allowed. Strings may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> however.</p>
 <p>Be aware that the current <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> / <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> serialization into string
 has limited support for nested <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> / <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> fields. It can only
 support one level of nesting. Using more levels will lead to unexpected
@@ -667,8 +667,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.2.6"></a><h4>Returns</h4>
-<p> TRUE if the foreach operation should continue, FALSE if
-the foreach operation should stop with FALSE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the foreach operation should continue, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
+the foreach operation should stop with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -711,8 +711,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.3.6"></a><h4>Returns</h4>
-<p> TRUE if the map operation should continue, FALSE if
-the map operation should stop with FALSE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map operation should continue, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
+the map operation should stop with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -785,7 +785,7 @@
 <p>Creates a new <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> with the given name.  Parses the
 list of variable arguments and sets fields to the values listed.
 Variable arguments should be passed as field name, field type,
-and value.  Last variable argument should be NULL.</p>
+and value.  Last variable argument should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p>Free-function: gst_structure_free</p>
 <div class="refsect3">
 <a name="id-1.3.45.8.6.6"></a><h4>Parameters</h4>
@@ -878,7 +878,7 @@
 fieldname quark, GType, argument(s) "triplets" in the same format as
 <a class="link" href="GstStructure.html#gst-structure-id-set" title="gst_structure_id_set ()"><code class="function">gst_structure_id_set()</code></a>. Basically a convenience wrapper around
 <a class="link" href="GstStructure.html#gst-structure-new-id-empty" title="gst_structure_new_id_empty ()"><code class="function">gst_structure_new_id_empty()</code></a> and <a class="link" href="GstStructure.html#gst-structure-id-set" title="gst_structure_id_set ()"><code class="function">gst_structure_id_set()</code></a>.</p>
-<p>The last variable argument must be NULL (or 0).</p>
+<p>The last variable argument must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (or 0).</p>
 <p>Free-function: gst_structure_free</p>
 <div class="refsect3">
 <a name="id-1.3.45.8.8.7"></a><h4>Parameters</h4>
@@ -919,7 +919,7 @@
 <pre class="programlisting"><a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
 gst_structure_new_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
 <p>Creates a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> from a string representation.
-If end is not NULL, a pointer to the place inside the given string
+If end is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a pointer to the place inside the given string
 where parsing ended will be returned.</p>
 <p>The current implementation of serialization will lead to unexpected results
 when there are nested <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> / <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> deeper than one level.</p>
@@ -941,7 +941,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.9.8"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> or NULL when the string could
+<p> a new <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the string could
 not be parsed. Free with <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>]</span></p>
 </div>
@@ -1057,7 +1057,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.13.6"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>name</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1134,9 +1134,9 @@
  accordingly.
 Variable arguments should be in the form field id quark, field type
 (as a GType), pointer(s) to a variable(s) to hold the return value(s).
-The last variable argument should be NULL (technically it should be a
-0 quark, but we require NULL so compilers that support it can check for
-the NULL terminator and warn if it's not there).</p>
+The last variable argument should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (technically it should be a
+0 quark, but we require <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> so compilers that support it can check for
+the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminator and warn if it's not there).</p>
 <p>This function is just like <a class="link" href="GstStructure.html#gst-structure-get" title="gst_structure_get ()"><code class="function">gst_structure_get()</code></a> only that it is slightly
 more efficient since it saves the string-to-quark lookup in the global
 quark hashtable.</p>
@@ -1173,9 +1173,9 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.16.8"></a><h4>Returns</h4>
-<p> FALSE if there was a problem reading any of the fields (e.g.
+<p> <a href="http://library.gnome.org/devel/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 TRUE.</p>
+than the type specified), otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -1219,7 +1219,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.17.6"></a><h4>Returns</h4>
-<p> TRUE, or FALSE if there was a problem reading any of the fields</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, or <a href="http://library.gnome.org/devel/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>
@@ -1351,7 +1351,7 @@
  accordingly.
 Variable arguments should be in the form field name, field type
 (as a GType), pointer(s) to a variable(s) to hold the return value(s).
-The last variable argument should be NULL.</p>
+The last variable argument should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p>For refcounted (mini)objects you will receive a new reference which
 you must release with a suitable <code class="function">_unref()</code> when no longer needed. For
 strings and boxed types you will receive a copy which you will need to
@@ -1385,9 +1385,9 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.21.7"></a><h4>Returns</h4>
-<p> FALSE if there was a problem reading any of the fields (e.g.
+<p> <a href="http://library.gnome.org/devel/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 TRUE.</p>
+than the type specified), otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -1431,7 +1431,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.22.6"></a><h4>Returns</h4>
-<p> TRUE, or FALSE if there was a problem reading any of the fields</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, or <a href="http://library.gnome.org/devel/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>
@@ -1561,7 +1561,7 @@
                    <em class="parameter"><code>...</code></em>);</pre>
 <p>Parses the variable arguments and sets fields accordingly.
 Variable arguments should be in the form field name, field type
-(as a GType), value(s).  The last variable argument should be NULL.</p>
+(as a GType), value(s).  The last variable argument should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.45.8.26.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1637,7 +1637,7 @@
 passed using the GQuark for the field name. This allows more efficient
 setting of the structure if the caller already knows the associated
 quark values.
-The last variable argument must be NULL.</p>
+The last variable argument must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.45.8.28.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1763,7 +1763,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>NULL-terminated list of more fieldnames to remove</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of more fieldnames to remove</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1799,7 +1799,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>varargs</p></td>
-<td class="parameter_description"><p>NULL-terminated list of more fieldnames to remove</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of more fieldnames to remove</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1903,8 +1903,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.35.6"></a><h4>Returns</h4>
-<p> TRUE if the supplied function returns TRUE For each of the fields,
-FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the supplied function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> For each of the fields,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -1968,7 +1968,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.37.6"></a><h4>Returns</h4>
-<p> TRUE if the structure contains a field with the given name</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2012,7 +2012,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.38.6"></a><h4>Returns</h4>
-<p> TRUE if the structure contains a field with the given name and type</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2047,7 +2047,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.39.6"></a><h4>Returns</h4>
-<p> TRUE if the two structures have the same name and field.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2205,7 +2205,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.43.6"></a><h4>Returns</h4>
-<p> TRUE if the structure contains a field with the given name</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2249,7 +2249,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.44.6"></a><h4>Returns</h4>
-<p> TRUE if the structure contains a field with the given name and type</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2293,10 +2293,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.45.6"></a><h4>Returns</h4>
-<p> TRUE if the value could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value 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 boolean, this
-function returns FALSE.</p>
+function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2530,10 +2530,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.50.6"></a><h4>Returns</h4>
-<p> TRUE if the value could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value 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 double, this
-function returns FALSE.</p>
+function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2573,7 +2573,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.51.7"></a><h4>Returns</h4>
-<p> a pointer to the string or NULL when the field did not exist
+<p> a pointer to the string or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the field did not exist
 or did not contain a string.</p>
 <p></p>
 </div>
@@ -2623,10 +2623,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.52.7"></a><h4>Returns</h4>
-<p> TRUE if the value could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value 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 data, this function
-returns FALSE.</p>
+returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2675,10 +2675,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.53.7"></a><h4>Returns</h4>
-<p> TRUE if the value could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value 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 data, this function
-returns FALSE.</p>
+returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2722,10 +2722,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.54.6"></a><h4>Returns</h4>
-<p> TRUE if the value could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value 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 <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>, this
-function returns FALSE.</p>
+function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2775,10 +2775,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.55.6"></a><h4>Returns</h4>
-<p> TRUE if the value could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value could be set correctly. If there was no field
 with <em class="parameter"><code>fieldname</code></em>
 or the existing field did not contain an enum of the given
-type, this function returns FALSE.</p>
+type, this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2829,10 +2829,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.56.6"></a><h4>Returns</h4>
-<p> TRUE if the values could be set correctly. If there was no field
+<p> <a href="http://library.gnome.org/devel/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 GstFraction, this
-function returns FALSE.</p>
+function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -2875,8 +2875,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.57.6"></a><h4>Returns</h4>
-<p> TRUE if the supplied function returns TRUE For each of the fields,
-FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the supplied function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> For each of the fields,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -3006,7 +3006,7 @@
 gst_structure_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *string</code></em>,
                            <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **end</code></em>);</pre>
 <p>Creates a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> from a string representation.
-If end is not NULL, a pointer to the place inside the given string
+If end is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a pointer to the place inside the given string
 where parsing ended will be returned.</p>
 <p>Free-function: gst_structure_free</p>
 <div class="refsect3">
@@ -3033,7 +3033,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.61.7"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> or NULL when the string could
+<p> a new <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the string could
 not be parsed. Free with <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>]</span></p>
 </div>
@@ -3095,7 +3095,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.63.6"></a><h4>Returns</h4>
-<p> TRUE if the structure field could be fixated</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3140,7 +3140,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.64.6"></a><h4>Returns</h4>
-<p> TRUE if the structure could be fixated</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3185,7 +3185,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.65.6"></a><h4>Returns</h4>
-<p> TRUE if the structure could be fixated</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3238,7 +3238,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.66.6"></a><h4>Returns</h4>
-<p> TRUE if the structure could be fixated</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3283,7 +3283,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.67.6"></a><h4>Returns</h4>
-<p> TRUE if the structure could be fixated</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3328,7 +3328,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.45.8.68.6"></a><h4>Returns</h4>
-<p> TRUE if the structure could be fixated</p>
+<p> <a href="http://library.gnome.org/devel/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>
diff --git a/docs/gst/html/GstTagList.html b/docs/gst/html/GstTagList.html
index 061fd35..9ee85ee 100644
--- a/docs/gst/html/GstTagList.html
+++ b/docs/gst/html/GstTagList.html
@@ -935,7 +935,7 @@
 <a name="GstTagList.description"></a><h2>Description</h2>
 <p>List of tags and values used to describe media metadata.</p>
 <p>Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
-not allowed. Strings must not be empty or NULL.</p>
+not allowed. Strings must not be empty or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 </div>
 <div class="refsect1">
 <a name="GstTagList.functions_details"></a><h2>Functions</h2>
@@ -1071,7 +1071,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>func</p></td>
-<td class="parameter_description"><p> function for merging multiple values of this tag, or NULL. </p></td>
+<td class="parameter_description"><p> function for merging multiple values of this tag, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1132,7 +1132,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>func</p></td>
-<td class="parameter_description"><p> function for merging multiple values of this tag, or NULL. </p></td>
+<td class="parameter_description"><p> function for merging multiple values of this tag, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1225,7 +1225,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.8.6"></a><h4>Returns</h4>
-<p> TRUE if the type is already registered</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1364,7 +1364,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.13.6"></a><h4>Returns</h4>
-<p> TRUE, if the given tag is fixed.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1375,7 +1375,7 @@
 gst_tag_list_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                   <em class="parameter"><code>...</code></em>);</pre>
 <p>Creates a new taglist and appends the values for the given tags. It expects
-tag-value pairs like <a class="link" href="GstTagList.html#gst-tag-list-add" title="gst_tag_list_add ()"><code class="function">gst_tag_list_add()</code></a>, and a NULL terminator after the
+tag-value pairs like <a class="link" href="GstTagList.html#gst-tag-list-add" title="gst_tag_list_add ()"><code class="function">gst_tag_list_add()</code></a>, and a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminator after the
 last pair. The type of the values is implicit and is documented in the API
 reference, but can also be queried at runtime with <a class="link" href="GstTagList.html#gst-tag-get-type" title="gst_tag_get_type ()"><code class="function">gst_tag_get_type()</code></a>. It
 is an error to pass a value of a type not matching the tag type into this
@@ -1401,7 +1401,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>NULL-terminated list of values to set</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of values to set</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1480,7 +1480,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.17.6"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a>, or NULL in case of an error.</p>
+<p> a new <a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error.</p>
 <p></p>
 </div>
 </div>
@@ -1577,7 +1577,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.21.6"></a><h4>Returns</h4>
-<p> a newly-allocated string, or NULL in case of an error. The
+<p> a newly-allocated string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. The
 string must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.</p>
 <p></p>
 </div>
@@ -1605,7 +1605,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.22.6"></a><h4>Returns</h4>
-<p> TRUE if the taglist is empty, otherwise FALSE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the taglist is empty, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -1640,7 +1640,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.23.6"></a><h4>Returns</h4>
-<p> TRUE if the taglists are equal, otherwise FALSE</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the taglists are equal, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 <p></p>
 </div>
 </div>
@@ -1842,8 +1842,8 @@
 gst_tag_list_merge (<em class="parameter"><code>const <a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a> *list1</code></em>,
                     <em class="parameter"><code>const <a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a> *list2</code></em>,
                     <em class="parameter"><code><a class="link" href="GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Merges the two given lists into a new list. If one of the lists is NULL, a
-copy of the other is returned. If both lists are NULL, NULL is returned.</p>
+<p>Merges the two given lists into a new list. If one of the lists is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a
+copy of the other is returned. If both lists are <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned.</p>
 <p>Free-function: gst_tag_list_unref</p>
 <div class="refsect3">
 <a name="id-1.3.47.8.30.6"></a><h4>Parameters</h4>
@@ -2015,7 +2015,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>NULL-terminated list of values to set</p></td>
+<td class="parameter_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated list of values to set</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -2295,7 +2295,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.41.6"></a><h4>Returns</h4>
-<p> The GValue for the specified entry or NULL if the
+<p> The GValue for the specified entry or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 tag wasn't available or the tag doesn't have as many entries. </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>
@@ -2340,7 +2340,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.42.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2383,7 +2383,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.43.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2432,7 +2432,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.44.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2475,7 +2475,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.45.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2524,7 +2524,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.46.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2567,7 +2567,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.47.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2616,7 +2616,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.48.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2673,7 +2673,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.50.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2716,7 +2716,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.51.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2765,7 +2765,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.52.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2808,7 +2808,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.53.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2857,7 +2857,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.54.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2900,7 +2900,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.55.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2949,7 +2949,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.56.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -2968,7 +2968,7 @@
 <p>The resulting string in <em class="parameter"><code>value</code></em>
  will be in UTF-8 encoding and should be
 freed by the caller using g_free when no longer needed. The
-returned string is also guaranteed to be non-NULL and non-empty.</p>
+returned string is also guaranteed to be non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and non-empty.</p>
 <p>Free-function: g_free</p>
 <div class="refsect3">
 <a name="id-1.3.47.8.57.8"></a><h4>Parameters</h4>
@@ -2999,7 +2999,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.57.9"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -3017,7 +3017,7 @@
 <p>The resulting string in <em class="parameter"><code>value</code></em>
  will be in UTF-8 encoding and should be
 freed by the caller using g_free when no longer needed. The
-returned string is also guaranteed to be non-NULL and non-empty.</p>
+returned string is also guaranteed to be non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and non-empty.</p>
 <p>Free-function: g_free</p>
 <div class="refsect3">
 <a name="id-1.3.47.8.58.7"></a><h4>Parameters</h4>
@@ -3053,7 +3053,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.58.8"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -3071,7 +3071,7 @@
 <p>The resulting string in <em class="parameter"><code>value</code></em>
  will be in UTF-8 encoding and doesn't need
 to be freed by the caller. The returned string is also guaranteed to
-be non-NULL and non-empty.</p>
+be non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and non-empty.</p>
 <div class="refsect3">
 <a name="id-1.3.47.8.59.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -3106,7 +3106,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.59.7"></a><h4>Returns</h4>
-<p> TRUE, if a value was set, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was set, <a href="http://library.gnome.org/devel/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>
@@ -3149,7 +3149,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.60.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -3198,7 +3198,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.61.6"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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>
@@ -3245,8 +3245,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.62.7"></a><h4>Returns</h4>
-<p> TRUE, if a date was copied, FALSE if the tag didn't exist in the
-given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a date was copied, <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -3297,8 +3297,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.63.7"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
-given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -3344,8 +3344,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.64.7"></a><h4>Returns</h4>
-<p> TRUE, if a datetime was copied, FALSE if the tag didn't exist in
-the given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a datetime was copied, <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -3396,8 +3396,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.65.7"></a><h4>Returns</h4>
-<p> TRUE, if a value was copied, FALSE if the tag didn't exist in the
-given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a value was copied, <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -3445,8 +3445,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.66.7"></a><h4>Returns</h4>
-<p> TRUE, if a sample was returned, FALSE if the tag didn't exist in
-the given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a sample was returned, <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p></p>
 </div>
 </div>
@@ -3500,8 +3500,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.47.8.67.7"></a><h4>Returns</h4>
-<p> TRUE, if a sample was copied, FALSE if the tag didn't exist in the
-given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if a sample was copied, <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/GstTagSetter.html b/docs/gst/html/GstTagSetter.html
index 5ac8ec2..16181dd 100644
--- a/docs/gst/html/GstTagSetter.html
+++ b/docs/gst/html/GstTagSetter.html
@@ -295,7 +295,7 @@
                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                          <em class="parameter"><code>...</code></em>);</pre>
 <p>Adds the given tag / value pairs on the setter using the given merge mode.
-The list must be terminated with NULL.</p>
+The list must be terminated with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.48.9.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -380,7 +380,7 @@
                                <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                                <em class="parameter"><code>...</code></em>);</pre>
 <p>Adds the given tag / GValue pairs on the setter using the given merge mode.
-The list must be terminated with NULL.</p>
+The list must be terminated with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.48.9.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -423,7 +423,7 @@
                                <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                                <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
 <p>Adds the given tag / value pairs on the setter using the given merge mode.
-The list must be terminated with NULL.</p>
+The list must be terminated with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.48.9.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -466,7 +466,7 @@
                                       <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                                       <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
 <p>Adds the given tag / GValue pairs on the setter using the given merge mode.
-The list must be terminated with NULL.</p>
+The list must be terminated with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.48.9.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -526,7 +526,7 @@
 <div class="refsect3">
 <a name="id-1.3.48.9.9.7"></a><h4>Returns</h4>
 <p> a current snapshot of the taglist used in the
-setter or NULL if none is used. </p>
+setter or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is used. </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>
 </div>
diff --git a/docs/gst/html/GstTaskPool.html b/docs/gst/html/GstTaskPool.html
index 9703578..9756e54 100644
--- a/docs/gst/html/GstTaskPool.html
+++ b/docs/gst/html/GstTaskPool.html
@@ -242,7 +242,7 @@
 <div class="refsect3">
 <a name="id-1.3.50.8.5.6"></a><h4>Returns</h4>
 <p> a pointer that should be used for the
-gst_task_pool_join function. This pointer can be NULL, you must
+gst_task_pool_join function. This pointer can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, you must
 check <em class="parameter"><code>error</code></em>
 to detect errors. </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>
diff --git a/docs/gst/html/GstToc.html b/docs/gst/html/GstToc.html
index 87a492c..5ca256b 100644
--- a/docs/gst/html/GstToc.html
+++ b/docs/gst/html/GstToc.html
@@ -438,7 +438,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.51.9.5.6"></a><h4>Returns</h4>
-<p> newly allocated <a class="link" href="GstToc.html" title="GstToc"><span class="type">GstToc</span></a> in case of success, NULL otherwise;
+<p> newly allocated <a class="link" href="GstToc.html" title="GstToc"><span class="type">GstToc</span></a> in case of success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise;
 free it when done with <a class="link" href="GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a>.</p>
 <p></p>
 </div>
@@ -712,7 +712,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.51.9.17.6"></a><h4>Returns</h4>
-<p> newly allocated <a class="link" href="GstToc.html#GstTocEntry"><span class="type">GstTocEntry</span></a> in case of success, NULL otherwise;
+<p> newly allocated <a class="link" href="GstToc.html#GstTocEntry"><span class="type">GstTocEntry</span></a> in case of success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise;
 free it when done 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>
@@ -758,7 +758,7 @@
 <a name="id-1.3.51.9.19.6"></a><h4>Returns</h4>
 <p> <a class="link" href="GstToc.html#GstTocEntry"><span class="type">GstTocEntry</span></a> with specified <em class="parameter"><code>uid</code></em>
 from the <em class="parameter"><code>toc</code></em>
-, or NULL if not found. </p>
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not 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>
 </div>
diff --git a/docs/gst/html/GstTypeFindFactory.html b/docs/gst/html/GstTypeFindFactory.html
index 1c1f0b8..48d636a 100644
--- a/docs/gst/html/GstTypeFindFactory.html
+++ b/docs/gst/html/GstTypeFindFactory.html
@@ -232,7 +232,7 @@
 gst_type_find_factory_get_extensions (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</code></em>);</pre>
 <p>Gets the extensions associated with a <a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a>. The returned
 array should not be changed. If you need to change stuff in it, you should
-copy it using <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strdupv"><code class="function">g_strdupv()</code></a>.  This function may return NULL to indicate
+copy it using <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strdupv"><code class="function">g_strdupv()</code></a>.  This function may return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to indicate
 a 0-length list.</p>
 <div class="refsect3">
 <a name="id-1.3.54.8.3.5"></a><h4>Parameters</h4>
@@ -252,7 +252,7 @@
 <div class="refsect3">
 <a name="id-1.3.54.8.3.6"></a><h4>Returns</h4>
 <p> a
-NULL-terminated array of extensions associated with this factory. </p>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of extensions associated with this factory. </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>
 </div>
@@ -308,7 +308,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.54.8.5.6"></a><h4>Returns</h4>
-<p> TRUE if the factory has a typefind functions set, otherwise FALSE</p>
+<p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/api-index-full.html b/docs/gst/html/api-index-full.html
index 6e774df..f7bb4a7 100644
--- a/docs/gst/html/api-index-full.html
+++ b/docs/gst/html/api-index-full.html
@@ -639,6 +639,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstBufferPool.html#gst-buffer-pool-set-flushing" title="gst_buffer_pool_set_flushing ()">gst_buffer_pool_set_flushing</a>, function in <a class="link" href="GstBufferPool.html" title="GstBufferPool">GstBufferPool</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstBuffer.html#gst-buffer-prepend-memory" title="gst_buffer_prepend_memory ()">gst_buffer_prepend_memory</a>, function in <a class="link" href="GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
@@ -1785,11 +1789,11 @@
 </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>
-<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>
@@ -1961,10 +1965,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE:CAPS" title="GST_DEVICE()">GST_DEVICE</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice">GstDevice</a>, struct in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
 </dt>
 <dd></dd>
@@ -1989,14 +1989,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE-CAST:CAPS" title="GST_DEVICE_CAST()">GST_DEVICE_CAST</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE-CLASS:CAPS" title="GST_DEVICE_CLASS()">GST_DEVICE_CLASS</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDevice.html#gst-device-create-element" title="gst_device_create_element ()">gst_device_create_element</a>, function in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
 </dt>
 <dd></dd>
@@ -2005,22 +1997,10 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE-GET-CLASS:CAPS" title="GST_DEVICE_GET_CLASS()">GST_DEVICE_GET_CLASS</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDevice.html#gst-device-get-display-name" title="gst_device_get_display_name ()">gst_device_get_display_name</a>, function in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDevice.html#gst-device-get-klass" title="gst_device_get_klass ()">gst_device_get_klass</a>, function in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDevice.html#gst-device-get-type" title="gst_device_get_type ()">gst_device_get_type</a>, function in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDevice.html#gst-device-has-classes" title="gst_device_has_classes ()">gst_device_has_classes</a>, function in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
 </dt>
 <dd></dd>
@@ -2029,22 +2009,10 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR:CAPS" title="GST_DEVICE_MONITOR()">GST_DEVICE_MONITOR</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-can-monitor" title="gst_device_monitor_can_monitor ()">gst_device_monitor_can_monitor</a>, function in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CAST:CAPS" title="GST_DEVICE_MONITOR_CAST()">GST_DEVICE_MONITOR_CAST</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CLASS:CAPS" title="GST_DEVICE_MONITOR_CLASS()">GST_DEVICE_MONITOR_CLASS</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-class-add-metadata" title="gst_device_monitor_class_add_metadata ()">gst_device_monitor_class_add_metadata</a>, function in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
 </dt>
 <dd></dd>
@@ -2073,18 +2041,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY:CAPS" title="GST_DEVICE_MONITOR_FACTORY()">GST_DEVICE_MONITOR_FACTORY</a>, macro in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CAST:CAPS" title="GST_DEVICE_MONITOR_FACTORY_CAST()">GST_DEVICE_MONITOR_FACTORY_CAST</a>, macro in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CLASS:CAPS" title="GST_DEVICE_MONITOR_FACTORY_CLASS()">GST_DEVICE_MONITOR_FACTORY_CLASS</a>, macro in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstDeviceMonitorFactory.html#gst-device-monitor-factory-find" title="gst_device_monitor_factory_find ()">gst_device_monitor_factory_find</a>, function in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
 </dt>
 <dd></dd>
@@ -2109,10 +2065,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-type" title="gst_device_monitor_factory_get_type ()">gst_device_monitor_factory_get_type</a>, function in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstDeviceMonitorFactory.html#gst-device-monitor-factory-has-classes" title="gst_device_monitor_factory_has_classes ()">gst_device_monitor_factory_has_classes</a>, function in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
 </dt>
 <dd></dd>
@@ -2129,10 +2081,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-GET-CLASS:CAPS" title="GST_DEVICE_MONITOR_GET_CLASS()">GST_DEVICE_MONITOR_GET_CLASS</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-devices" title="gst_device_monitor_get_devices ()">gst_device_monitor_get_devices</a>, function in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
 </dt>
 <dd></dd>
@@ -2141,10 +2089,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-type" title="gst_device_monitor_get_type ()">gst_device_monitor_get_type</a>, function in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-register" title="gst_device_monitor_register ()">gst_device_monitor_register</a>, function in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
 </dt>
 <dd></dd>
@@ -3184,18 +3128,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR:CAPS" title="GST_GLOBAL_DEVICE_MONITOR()">GST_GLOBAL_DEVICE_MONITOR</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CAST:CAPS" title="GST_GLOBAL_DEVICE_MONITOR_CAST()">GST_GLOBAL_DEVICE_MONITOR_CAST</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CLASS:CAPS" title="GST_GLOBAL_DEVICE_MONITOR_CLASS()">GST_GLOBAL_DEVICE_MONITOR_CLASS</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-bus" title="gst_global_device_monitor_get_bus ()">gst_global_device_monitor_get_bus</a>, function in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
 </dt>
 <dd></dd>
@@ -3204,10 +3136,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-GET-CLASS:CAPS" title="GST_GLOBAL_DEVICE_MONITOR_GET_CLASS()">GST_GLOBAL_DEVICE_MONITOR_GET_CLASS</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-classes-filter" title="gst_global_device_monitor_get_classes_filter ()">gst_global_device_monitor_get_classes_filter</a>, function in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
 </dt>
 <dd></dd>
@@ -3216,10 +3144,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-type" title="gst_global_device_monitor_get_type ()">gst_global_device_monitor_get_type</a>, function in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-new" title="gst_global_device_monitor_new ()">gst_global_device_monitor_new</a>, function in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
 </dt>
 <dd></dd>
@@ -3265,30 +3189,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-IS-DEVICE:CAPS" title="GST_IS_DEVICE()">GST_IS_DEVICE</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-IS-DEVICE-CLASS:CAPS" title="GST_IS_DEVICE_CLASS()">GST_IS_DEVICE_CLASS</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR:CAPS" title="GST_IS_DEVICE_MONITOR()">GST_IS_DEVICE_MONITOR</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR-CLASS:CAPS" title="GST_IS_DEVICE_MONITOR_CLASS()">GST_IS_DEVICE_MONITOR_CLASS</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR:CAPS" title="GST_IS_GLOBAL_DEVICE_MONITOR()">GST_IS_GLOBAL_DEVICE_MONITOR</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR-CLASS:CAPS" title="GST_IS_GLOBAL_DEVICE_MONITOR_CLASS()">GST_IS_GLOBAL_DEVICE_MONITOR_CLASS</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-Gst.html#gst-is-initialized" title="gst_is_initialized ()">gst_is_initialized</a>, function in <a class="link" href="gstreamer-Gst.html" title="Gst">Gst</a>
 </dt>
 <dd></dd>
@@ -3663,6 +3563,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstMessage.html#gst-message-new-device-added" title="gst_message_new_device_added ()">gst_message_new_device_added</a>, function in <a class="link" href="GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstMessage.html#gst-message-new-device-removed" title="gst_message_new_device_removed ()">gst_message_new_device_removed</a>, function in <a class="link" href="GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstMessage.html#gst-message-new-duration-changed" title="gst_message_new_duration_changed ()">gst_message_new_duration_changed</a>, function in <a class="link" href="GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -3787,6 +3695,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstMessage.html#gst-message-parse-device-added" title="gst_message_parse_device_added ()">gst_message_parse_device_added</a>, function in <a class="link" href="GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstMessage.html#gst-message-parse-device-removed" title="gst_message_parse_device_removed ()">gst_message_parse_device_removed</a>, function in <a class="link" href="GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstMessage.html#gst-message-parse-error" title="gst_message_parse_error ()">gst_message_parse_error</a>, function in <a class="link" href="GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -4614,15 +4530,11 @@
 </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-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-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: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>
@@ -4630,7 +4542,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#gst-pad-is-blocking" title="gst_pad_is_blocking ()">gst_pad_is_blocking</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+<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>
@@ -4638,6 +4550,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstPad.html#gst-pad-is-blocking" title="gst_pad_is_blocking ()">gst_pad_is_blocking</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-EOS:CAPS" title="GST_PAD_IS_EOS()">GST_PAD_IS_EOS</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -4650,11 +4566,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#GST-PAD-IS-LINKED:CAPS" title="GST_PAD_IS_LINKED()">GST_PAD_IS_LINKED</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+<a class="link" href="GstPad.html#gst-pad-is-linked" title="gst_pad_is_linked ()">gst_pad_is_linked</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-linked" title="gst_pad_is_linked ()">gst_pad_is_linked</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+<a class="link" href="GstPad.html#GST-PAD-IS-LINKED:CAPS" title="GST_PAD_IS_LINKED()">GST_PAD_IS_LINKED</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
@@ -4734,11 +4650,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>
@@ -5482,11 +5398,11 @@
 </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>
-<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>
@@ -7810,18 +7726,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstDevice.html#GST-TYPE-DEVICE:CAPS" title="GST_TYPE_DEVICE">GST_TYPE_DEVICE</a>, macro in <a class="link" href="gstreamer-GstDevice.html" title="GstDevice">GstDevice</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-TYPE-DEVICE-MONITOR:CAPS" title="GST_TYPE_DEVICE_MONITOR">GST_TYPE_DEVICE_MONITOR</a>, macro in <a class="link" href="gstreamer-GstDeviceMonitor.html" title="GstDeviceMonitor">GstDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="GstDeviceMonitorFactory.html#GST-TYPE-DEVICE-MONITOR-FACTORY:CAPS" title="GST_TYPE_DEVICE_MONITOR_FACTORY">GST_TYPE_DEVICE_MONITOR_FACTORY</a>, macro in <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory">GstDeviceMonitorFactory</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS" title="GST_TYPE_DOUBLE_RANGE">GST_TYPE_DOUBLE_RANGE</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
 </dt>
 <dd></dd>
@@ -7874,10 +7778,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-TYPE-GLOBAL-DEVICE-MONITOR:CAPS" title="GST_TYPE_GLOBAL_DEVICE_MONITOR">GST_TYPE_GLOBAL_DEVICE_MONITOR</a>, macro in <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html" title="GstGlobalDeviceMonitor">GstGlobalDeviceMonitor</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS" title="GST_TYPE_INT64_RANGE">GST_TYPE_INT64_RANGE</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
 </dt>
 <dd></dd>
diff --git a/docs/gst/html/gstreamer-1.0.devhelp2 b/docs/gst/html/gstreamer-1.0.devhelp2
index 2b0e2cc..04523e3 100644
--- a/docs/gst/html/gstreamer-1.0.devhelp2
+++ b/docs/gst/html/gstreamer-1.0.devhelp2
@@ -249,6 +249,7 @@
     <keyword type="function" name="gst_buffer_pool_set_config ()" link="GstBufferPool.html#gst-buffer-pool-set-config"/>
     <keyword type="function" name="gst_buffer_pool_set_active ()" link="GstBufferPool.html#gst-buffer-pool-set-active"/>
     <keyword type="function" name="gst_buffer_pool_is_active ()" link="GstBufferPool.html#gst-buffer-pool-is-active"/>
+    <keyword type="function" name="gst_buffer_pool_set_flushing ()" link="GstBufferPool.html#gst-buffer-pool-set-flushing" since="1.4"/>
     <keyword type="function" name="gst_buffer_pool_acquire_buffer ()" link="GstBufferPool.html#gst-buffer-pool-acquire-buffer"/>
     <keyword type="function" name="gst_buffer_pool_release_buffer ()" link="GstBufferPool.html#gst-buffer-pool-release-buffer"/>
     <keyword type="struct" name="GstBufferPool" link="GstBufferPool.html#GstBufferPool-struct"/>
@@ -498,6 +499,7 @@
     <keyword type="struct" name="struct GstControlSource" link="GstControlSource.html#GstControlSource-struct"/>
     <keyword type="struct" name="struct GstControlSourceClass" link="GstControlSource.html#GstControlSourceClass"/>
     <keyword type="struct" name="struct GstTimedValue" link="GstControlSource.html#GstTimedValue"/>
+    <keyword type="macro" name="GST_TYPE_DATE_TIME" link="GstDateTime.html#GST-TYPE-DATE-TIME:CAPS"/>
     <keyword type="function" name="gst_date_time_get_day ()" link="GstDateTime.html#gst-date-time-get-day"/>
     <keyword type="function" name="gst_date_time_get_month ()" link="GstDateTime.html#gst-date-time-get-month"/>
     <keyword type="function" name="gst_date_time_get_hour ()" link="GstDateTime.html#gst-date-time-get-hour"/>
@@ -527,7 +529,6 @@
     <keyword type="function" name="gst_date_time_new_from_g_date_time ()" link="GstDateTime.html#gst-date-time-new-from-g-date-time"/>
     <keyword type="function" name="gst_date_time_to_g_date_time ()" link="GstDateTime.html#gst-date-time-to-g-date-time"/>
     <keyword type="struct" name="GstDateTime" link="GstDateTime.html#GstDateTime-struct"/>
-    <keyword type="macro" name="GST_TYPE_DATE_TIME" link="GstDateTime.html#GST-TYPE-DATE-TIME:CAPS"/>
     <keyword type="macro" name="GST_STATE()" link="GstElement.html#GST-STATE:CAPS"/>
     <keyword type="macro" name="GST_STATE_GET_NEXT()" link="GstElement.html#GST-STATE-GET-NEXT:CAPS"/>
     <keyword type="macro" name="GST_STATE_NEXT()" link="GstElement.html#GST-STATE-NEXT:CAPS"/>
@@ -929,6 +930,10 @@
     <keyword type="function" name="gst_message_parse_context_type ()" link="GstMessage.html#gst-message-parse-context-type" since="1.2"/>
     <keyword type="function" name="gst_message_new_have_context ()" link="GstMessage.html#gst-message-new-have-context" since="1.2"/>
     <keyword type="function" name="gst_message_parse_have_context ()" link="GstMessage.html#gst-message-parse-have-context" since="1.2"/>
+    <keyword type="function" name="gst_message_new_device_added ()" link="GstMessage.html#gst-message-new-device-added" since="1.4"/>
+    <keyword type="function" name="gst_message_new_device_removed ()" link="GstMessage.html#gst-message-new-device-removed" since="1.4"/>
+    <keyword type="function" name="gst_message_parse_device_added ()" link="GstMessage.html#gst-message-parse-device-added" since="1.4"/>
+    <keyword type="function" name="gst_message_parse_device_removed ()" link="GstMessage.html#gst-message-parse-device-removed" since="1.4"/>
     <keyword type="struct" name="struct GstMessage" link="GstMessage.html#GstMessage-struct"/>
     <keyword type="enum" name="enum GstMessageType" link="GstMessage.html#GstMessageType"/>
     <keyword type="enum" name="enum GstStructureChangeType" link="GstMessage.html#GstStructureChangeType"/>
@@ -1920,26 +1925,32 @@
     <keyword type="macro" name="GST_STR_FOURCC()" link="gstreamer-GstValue.html#GST-STR-FOURCC:CAPS"/>
     <keyword type="macro" name="GST_FOURCC_ARGS()" link="gstreamer-GstValue.html#GST-FOURCC-ARGS:CAPS"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_INT_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-INT-RANGE:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_INT_RANGE" link="gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS"/>
     <keyword type="function" name="gst_value_set_int_range ()" link="gstreamer-GstValue.html#gst-value-set-int-range"/>
     <keyword type="function" name="gst_value_get_int_range_min ()" link="gstreamer-GstValue.html#gst-value-get-int-range-min"/>
     <keyword type="function" name="gst_value_get_int_range_max ()" link="gstreamer-GstValue.html#gst-value-get-int-range-max"/>
     <keyword type="function" name="gst_value_set_int_range_step ()" link="gstreamer-GstValue.html#gst-value-set-int-range-step"/>
     <keyword type="function" name="gst_value_get_int_range_step ()" link="gstreamer-GstValue.html#gst-value-get-int-range-step"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_BITMASK()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-BITMASK:CAPS"/>
+    <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_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"/>
     <keyword type="function" name="gst_value_get_int64_range_min ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-min"/>
     <keyword type="function" name="gst_value_get_int64_range_max ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-max"/>
     <keyword type="function" name="gst_value_set_int64_range_step ()" link="gstreamer-GstValue.html#gst-value-set-int64-range-step"/>
     <keyword type="function" name="gst_value_get_int64_range_step ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-step"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_DOUBLE_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-DOUBLE-RANGE:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_DOUBLE_RANGE" link="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS"/>
     <keyword type="function" name="gst_value_set_double_range ()" link="gstreamer-GstValue.html#gst-value-set-double-range"/>
     <keyword type="function" name="gst_value_get_double_range_min ()" link="gstreamer-GstValue.html#gst-value-get-double-range-min"/>
     <keyword type="function" name="gst_value_get_double_range_max ()" link="gstreamer-GstValue.html#gst-value-get-double-range-max"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_LIST()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-LIST:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_LIST" link="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_ARRAY()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-ARRAY:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_ARRAY" link="gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS"/>
     <keyword type="function" name="gst_value_list_append_value ()" link="gstreamer-GstValue.html#gst-value-list-append-value"/>
     <keyword type="function" name="gst_value_list_append_and_take_value ()" link="gstreamer-GstValue.html#gst-value-list-append-and-take-value" since="1.2"/>
     <keyword type="function" name="gst_value_list_prepend_value ()" link="gstreamer-GstValue.html#gst-value-list-prepend-value"/>
@@ -1948,12 +1959,14 @@
     <keyword type="function" name="gst_value_list_get_size ()" link="gstreamer-GstValue.html#gst-value-list-get-size"/>
     <keyword type="function" name="gst_value_list_get_value ()" link="gstreamer-GstValue.html#gst-value-list-get-value"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_FRACTION()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-FRACTION:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_FRACTION" link="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS"/>
     <keyword type="function" name="gst_value_set_fraction ()" link="gstreamer-GstValue.html#gst-value-set-fraction"/>
     <keyword type="function" name="gst_value_get_fraction_numerator ()" link="gstreamer-GstValue.html#gst-value-get-fraction-numerator"/>
     <keyword type="function" name="gst_value_get_fraction_denominator ()" link="gstreamer-GstValue.html#gst-value-get-fraction-denominator"/>
     <keyword type="function" name="gst_value_fraction_multiply ()" link="gstreamer-GstValue.html#gst-value-fraction-multiply"/>
     <keyword type="function" name="gst_value_fraction_subtract ()" link="gstreamer-GstValue.html#gst-value-fraction-subtract"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_FRACTION_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-FRACTION-RANGE:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_FRACTION_RANGE" link="gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS"/>
     <keyword type="function" name="gst_value_set_fraction_range ()" link="gstreamer-GstValue.html#gst-value-set-fraction-range"/>
     <keyword type="function" name="gst_value_get_fraction_range_min ()" link="gstreamer-GstValue.html#gst-value-get-fraction-range-min"/>
     <keyword type="function" name="gst_value_get_fraction_range_max ()" link="gstreamer-GstValue.html#gst-value-get-fraction-range-max"/>
@@ -2001,14 +2014,6 @@
     <keyword type="function" name="gst_value_array_prepend_value ()" link="gstreamer-GstValue.html#gst-value-array-prepend-value"/>
     <keyword type="function" name="gst_value_fixate ()" link="gstreamer-GstValue.html#gst-value-fixate"/>
     <keyword type="macro" name="GST_FOURCC_FORMAT" link="gstreamer-GstValue.html#GST-FOURCC-FORMAT:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_INT_RANGE" link="gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_BITMASK" link="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_INT64_RANGE" link="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_DOUBLE_RANGE" link="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_LIST" link="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_ARRAY" link="gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_FRACTION" link="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_FRACTION_RANGE" link="gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS"/>
     <keyword type="macro" name="GST_VALUE_EQUAL" link="gstreamer-GstValue.html#GST-VALUE-EQUAL:CAPS"/>
     <keyword type="macro" name="GST_VALUE_GREATER_THAN" link="gstreamer-GstValue.html#GST-VALUE-GREATER-THAN:CAPS"/>
     <keyword type="macro" name="GST_VALUE_UNORDERED" link="gstreamer-GstValue.html#GST-VALUE-UNORDERED:CAPS"/>
@@ -2018,30 +2023,14 @@
     <keyword type="macro" name="GST_VERSION_MICRO" link="gstreamer-GstVersion.html#GST-VERSION-MICRO:CAPS"/>
     <keyword type="macro" name="GST_VERSION_NANO" link="gstreamer-GstVersion.html#GST-VERSION-NANO:CAPS"/>
     <keyword type="macro" name="GST_CHECK_VERSION()" link="gstreamer-GstVersion.html#GST-CHECK-VERSION:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE()" link="gstreamer-GstDevice.html#GST-DEVICE:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_CAST()" link="gstreamer-GstDevice.html#GST-DEVICE-CAST:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_CLASS()" link="gstreamer-GstDevice.html#GST-DEVICE-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_GET_CLASS()" link="gstreamer-GstDevice.html#GST-DEVICE-GET-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_IS_DEVICE()" link="gstreamer-GstDevice.html#GST-IS-DEVICE:CAPS"/>
-    <keyword type="macro" name="GST_IS_DEVICE_CLASS()" link="gstreamer-GstDevice.html#GST-IS-DEVICE-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_DEVICE" link="gstreamer-GstDevice.html#GST-TYPE-DEVICE:CAPS"/>
     <keyword type="function" name="gst_device_create_element ()" link="gstreamer-GstDevice.html#gst-device-create-element" since="1.4"/>
     <keyword type="function" name="gst_device_get_caps ()" link="gstreamer-GstDevice.html#gst-device-get-caps" since="1.4"/>
     <keyword type="function" name="gst_device_get_display_name ()" link="gstreamer-GstDevice.html#gst-device-get-display-name" since="1.4"/>
-    <keyword type="function" name="gst_device_get_klass ()" link="gstreamer-GstDevice.html#gst-device-get-klass" since="1.4"/>
-    <keyword type="function" name="gst_device_get_type ()" link="gstreamer-GstDevice.html#gst-device-get-type"/>
     <keyword type="function" name="gst_device_has_classes ()" link="gstreamer-GstDevice.html#gst-device-has-classes" since="1.4"/>
     <keyword type="function" name="gst_device_has_classesv ()" link="gstreamer-GstDevice.html#gst-device-has-classesv" since="1.4"/>
     <keyword type="function" name="gst_device_reconfigure_element ()" link="gstreamer-GstDevice.html#gst-device-reconfigure-element" since="1.4"/>
-    <keyword type="struct" name="struct GstDevice" link="gstreamer-GstDevice.html#GstDevice"/>
-    <keyword type="struct" name="struct GstDeviceClass" link="gstreamer-GstDevice.html#GstDeviceClass"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR()" link="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR_CAST()" link="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CAST:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR_CLASS()" link="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR_GET_CLASS()" link="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-GET-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_IS_DEVICE_MONITOR()" link="gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR:CAPS"/>
-    <keyword type="macro" name="GST_IS_DEVICE_MONITOR_CLASS()" link="gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_DEVICE_MONITOR" link="gstreamer-GstDeviceMonitor.html#GST-TYPE-DEVICE-MONITOR:CAPS"/>
+    <keyword type="struct" name="struct GstDevice" link="gstreamer-GstDevice.html#GstDevice" since="1.4"/>
+    <keyword type="struct" name="struct GstDeviceClass" link="gstreamer-GstDevice.html#GstDeviceClass" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_can_monitor ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-can-monitor"/>
     <keyword type="function" name="gst_device_monitor_class_add_metadata ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-class-add-metadata"/>
     <keyword type="function" name="gst_device_monitor_class_add_static_metadata ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-class-add-static-metadata" since="1.4"/>
@@ -2053,47 +2042,33 @@
     <keyword type="function" name="gst_device_monitor_get_bus ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-bus" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_get_devices ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-devices" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_get_factory ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-factory" since="1.4"/>
-    <keyword type="function" name="gst_device_monitor_get_type ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-type"/>
     <keyword type="function" name="gst_device_monitor_register ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-register" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_start ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-start" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_stop ()" link="gstreamer-GstDeviceMonitor.html#gst-device-monitor-stop" since="1.4"/>
-    <keyword type="struct" name="struct GstDeviceMonitor" link="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor"/>
+    <keyword type="struct" name="struct GstDeviceMonitor" link="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" since="1.4"/>
     <keyword type="struct" name="struct GstDeviceMonitorClass" link="gstreamer-GstDeviceMonitor.html#GstDeviceMonitorClass" since="1.4"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR_FACTORY()" link="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR_FACTORY_CAST()" link="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CAST:CAPS"/>
-    <keyword type="macro" name="GST_DEVICE_MONITOR_FACTORY_CLASS()" link="GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_DEVICE_MONITOR_FACTORY" link="GstDeviceMonitorFactory.html#GST-TYPE-DEVICE-MONITOR-FACTORY:CAPS"/>
     <keyword type="function" name="gst_device_monitor_factory_find ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-find" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_get ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_get_by_name ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-by-name" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_get_device_monitor_type ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-device-monitor-type" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_get_metadata ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-metadata" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_get_metadata_keys ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-metadata-keys" since="1.4"/>
-    <keyword type="function" name="gst_device_monitor_factory_get_type ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-type"/>
     <keyword type="function" name="gst_device_monitor_factory_has_classes ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-has-classes" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_has_classesv ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-has-classesv" since="1.4"/>
     <keyword type="function" name="gst_device_monitor_factory_list_get_device_monitors ()" link="GstDeviceMonitorFactory.html#gst-device-monitor-factory-list-get-device-monitors" since="1.4"/>
     <keyword type="struct" name="GstDeviceMonitorFactory" link="GstDeviceMonitorFactory.html#GstDeviceMonitorFactory-struct"/>
-    <keyword type="struct" name="GstDeviceMonitorFactoryClass" link="GstDeviceMonitorFactory.html#GstDeviceMonitorFactoryClass"/>
-    <keyword type="macro" name="GST_GLOBAL_DEVICE_MONITOR()" link="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR:CAPS"/>
-    <keyword type="macro" name="GST_GLOBAL_DEVICE_MONITOR_CAST()" link="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CAST:CAPS"/>
-    <keyword type="macro" name="GST_GLOBAL_DEVICE_MONITOR_CLASS()" link="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_GLOBAL_DEVICE_MONITOR_GET_CLASS()" link="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-GET-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_IS_GLOBAL_DEVICE_MONITOR()" link="gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR:CAPS"/>
-    <keyword type="macro" name="GST_IS_GLOBAL_DEVICE_MONITOR_CLASS()" link="gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_TYPE_GLOBAL_DEVICE_MONITOR" link="gstreamer-GstGlobalDeviceMonitor.html#GST-TYPE-GLOBAL-DEVICE-MONITOR:CAPS"/>
-    <keyword type="function" name="gst_global_device_monitor_get_bus ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-bus"/>
-    <keyword type="function" name="gst_global_device_monitor_get_caps_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-caps-filter"/>
-    <keyword type="function" name="gst_global_device_monitor_get_classes_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-classes-filter"/>
-    <keyword type="function" name="gst_global_device_monitor_get_devices ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-devices"/>
-    <keyword type="function" name="gst_global_device_monitor_get_type ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-type"/>
-    <keyword type="function" name="gst_global_device_monitor_new ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-new"/>
-    <keyword type="function" name="gst_global_device_monitor_set_caps_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-caps-filter"/>
-    <keyword type="function" name="gst_global_device_monitor_set_classes_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-classes-filter"/>
-    <keyword type="function" name="gst_global_device_monitor_start ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-start"/>
-    <keyword type="function" name="gst_global_device_monitor_stop ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-stop"/>
-    <keyword type="struct" name="struct GstGlobalDeviceMonitor" link="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor"/>
-    <keyword type="struct" name="struct GstGlobalDeviceMonitorClass" link="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitorClass"/>
+    <keyword type="struct" name="GstDeviceMonitorFactoryClass" link="GstDeviceMonitorFactory.html#GstDeviceMonitorFactoryClass" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_get_bus ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-bus" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_get_caps_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-caps-filter" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_get_classes_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-classes-filter" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_get_devices ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-devices" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_new ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-new" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_set_caps_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-caps-filter" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_set_classes_filter ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-classes-filter" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_start ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-start" since="1.4"/>
+    <keyword type="function" name="gst_global_device_monitor_stop ()" link="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-stop" since="1.4"/>
+    <keyword type="struct" name="struct GstGlobalDeviceMonitor" link="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" since="1.4"/>
+    <keyword type="struct" name="struct GstGlobalDeviceMonitorClass" link="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitorClass" since="1.4"/>
     <keyword type="macro" name="GST_STR_NULL()" link="gstreamer-GstInfo.html#GST-STR-NULL:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_PAD_NAME()" link="gstreamer-GstInfo.html#GST-DEBUG-PAD-NAME:CAPS"/>
     <keyword type="macro" name="GST_FUNCTION" link="gstreamer-GstInfo.html#GST-FUNCTION:CAPS"/>
diff --git a/docs/gst/html/gstreamer-Gst.html b/docs/gst/html/gstreamer-Gst.html
index 9832f75..22c8907 100644
--- a/docs/gst/html/gstreamer-Gst.html
+++ b/docs/gst/html/gstreamer-Gst.html
@@ -191,7 +191,7 @@
 </div>
 
 </div>
-<br class="example-break"><p>It's allowed to pass two NULL pointers to <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a> in case you don't want
+<br class="example-break"><p>It's allowed to pass two <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointers to <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a> in case you don't want
 to pass the command line args to GStreamer.</p>
 <p>You can also use GOption to initialize your own parameters as shown in
 the next code fragment:</p>
@@ -374,7 +374,7 @@
 or <a class="link" href="gstreamer-Gst.html#gst-init-check" title="gst_init_check ()"><code class="function">gst_init_check()</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.3.7.5.5"></a><h4>Returns</h4>
-<p> TRUE if initialization has been done, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if initialization has been done, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstAtomicQueue.html b/docs/gst/html/gstreamer-GstAtomicQueue.html
index dbb840a..5226a8f 100644
--- a/docs/gst/html/gstreamer-GstAtomicQueue.html
+++ b/docs/gst/html/gstreamer-GstAtomicQueue.html
@@ -258,7 +258,7 @@
 <div class="refsect3">
 <a name="id-1.3.5.8.6.6"></a><h4>Returns</h4>
 <p> the head element of <em class="parameter"><code>queue</code></em>
-or NULL when
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when
 the queue is empty. </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>
@@ -287,7 +287,7 @@
 <div class="refsect3">
 <a name="id-1.3.5.8.7.6"></a><h4>Returns</h4>
 <p> the head element of <em class="parameter"><code>queue</code></em>
-or NULL when
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when
 the queue is empty. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
diff --git a/docs/gst/html/gstreamer-GstDevice.html b/docs/gst/html/gstreamer-GstDevice.html
index bb0a612..a212aed 100644
--- a/docs/gst/html/gstreamer-GstDevice.html
+++ b/docs/gst/html/gstreamer-GstDevice.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gstreamer-GstDevice.top_of_page"></a>GstDevice</span></h2>
-<p>GstDevice</p>
+<p>GstDevice — Object representing a device</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -41,46 +41,6 @@
 </colgroup>
 <tbody>
 <tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE:CAPS" title="GST_DEVICE()">GST_DEVICE</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE-CAST:CAPS" title="GST_DEVICE_CAST()">GST_DEVICE_CAST</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE-CLASS:CAPS" title="GST_DEVICE_CLASS()">GST_DEVICE_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#GST-DEVICE-GET-CLASS:CAPS" title="GST_DEVICE_GET_CLASS()">GST_DEVICE_GET_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#GST-IS-DEVICE:CAPS" title="GST_IS_DEVICE()">GST_IS_DEVICE</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#GST-IS-DEVICE-CLASS:CAPS" title="GST_IS_DEVICE_CLASS()">GST_IS_DEVICE_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstDevice.html#GST-TYPE-DEVICE:CAPS" title="GST_TYPE_DEVICE">GST_TYPE_DEVICE</a></td>
-</tr>
-<tr>
 <td class="function_type">
 <a class="link" href="GstElement.html" title="GstElement"><span class="returnvalue">GstElement</span></a> *
 </td>
@@ -106,22 +66,6 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#gst-device-get-klass" title="gst_device_get_klass ()">gst_device_get_klass</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDevice.html#gst-device-get-type" title="gst_device_get_type ()">gst_device_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
@@ -178,58 +122,23 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstDevice.description"></a><h2>Description</h2>
+<p><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> are objects representing a device, they contain
+relevant metadata about the device, such as its class and the <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a>
+representing the media types it can produce or handle.</p>
+<p><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> are created by <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> objects which can be
+aggregated by <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> objects.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstDevice.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="GST-DEVICE:CAPS"></a><h3>GST_DEVICE()</h3>
-<pre class="programlisting">#define GST_DEVICE(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DEVICE, GstDevice))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-CAST:CAPS"></a><h3>GST_DEVICE_CAST()</h3>
-<pre class="programlisting">#define GST_DEVICE_CAST(obj)            ((GstDevice *)(obj))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-CLASS:CAPS"></a><h3>GST_DEVICE_CLASS()</h3>
-<pre class="programlisting">#define GST_DEVICE_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DEVICE, GstDeviceClass))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-GET-CLASS:CAPS"></a><h3>GST_DEVICE_GET_CLASS()</h3>
-<pre class="programlisting">#define GST_DEVICE_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DEVICE, GstDeviceClass))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-DEVICE:CAPS"></a><h3>GST_IS_DEVICE()</h3>
-<pre class="programlisting">#define GST_IS_DEVICE(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEVICE))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-DEVICE-CLASS:CAPS"></a><h3>GST_IS_DEVICE_CLASS()</h3>
-<pre class="programlisting">#define GST_IS_DEVICE_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DEVICE))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-DEVICE:CAPS"></a><h3>GST_TYPE_DEVICE</h3>
-<pre class="programlisting">#define GST_TYPE_DEVICE                 (gst_device_get_type())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-device-create-element"></a><h3>gst_device_create_element ()</h3>
 <pre class="programlisting"><a class="link" href="GstElement.html" title="GstElement"><span class="returnvalue">GstElement</span></a> *
 gst_device_create_element (<em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>,
                            <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Creates the element with all of the required paramaters set to use
+this device.</p>
 <div class="refsect3">
-<a name="id-1.4.2.8.9.4"></a><h4>Parameters</h4>
+<a name="id-1.4.2.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -244,7 +153,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p> name of new element, or NULL to automatically
+<td class="parameter_description"><p> name of new element, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to automatically
 create a unique name. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -252,7 +161,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.8.9.5"></a><h4>Returns</h4>
+<a name="id-1.4.2.8.2.6"></a><h4>Returns</h4>
 <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>
@@ -265,7 +174,7 @@
 gst_device_get_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>);</pre>
 <p>Getter for the <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> that this device supports.</p>
 <div class="refsect3">
-<a name="id-1.4.2.8.10.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.8.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -280,7 +189,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.8.10.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.8.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>
@@ -294,7 +203,7 @@
 gst_device_get_display_name (<em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>);</pre>
 <p>Gets the user-friendly name of the device.</p>
 <div class="refsect3">
-<a name="id-1.4.2.8.11.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.8.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -309,7 +218,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.8.11.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.8.4.6"></a><h4>Returns</h4>
 <p> The device name. Free with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</p>
 <p></p>
 </div>
@@ -317,42 +226,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-device-get-klass"></a><h3>gst_device_get_klass ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-gst_device_get_klass (<em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>);</pre>
-<p>Gets the "class" of a device. This is a "/" separated list of
-classes that represent this device. They are a subset of the
-classes of the <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> that produced this device.</p>
-<div class="refsect3">
-<a name="id-1.4.2.8.12.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>device</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.4.2.8.12.6"></a><h4>Returns</h4>
-<p> The device class. Free with <a href="http://library.gnome.org/devel/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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-device-get-type"></a><h3>gst_device_get_type ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-gst_device_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-device-has-classes"></a><h3>gst_device_has_classes ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_device_has_classes (<em class="parameter"><code><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> *device</code></em>,
@@ -360,7 +233,7 @@
 <p>Check if <em class="parameter"><code>device</code></em>
  matches all of the given classes</p>
 <div class="refsect3">
-<a name="id-1.4.2.8.14.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -375,15 +248,15 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>classes</p></td>
-<td class="parameter_description"><p>a "/" separate list of klasses to match, only match if all classes
-are matched</p></td>
+<td class="parameter_description"><p>a "/" separate list of device classes to match, only match if
+all classes are matched</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.8.14.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.8.5.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
@@ -399,7 +272,7 @@
 <p>Check if <em class="parameter"><code>factory</code></em>
  matches all of the given classes</p>
 <div class="refsect3">
-<a name="id-1.4.2.8.15.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.8.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -414,15 +287,15 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>classes</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of klasses to match, only match if all
-classes are matched</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of klasses to match, only match if all
+classes are matched. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<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.4.2.8.15.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.8.6.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
@@ -441,7 +314,7 @@
 <p>Note: This should only be implemented for elements can change their
 device in the PLAYING state.</p>
 <div class="refsect3">
-<a name="id-1.4.2.8.16.6"></a><h4>Parameters</h4>
+<a name="id-1.4.2.8.7.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -463,7 +336,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.8.16.7"></a><h4>Returns</h4>
+<a name="id-1.4.2.8.7.7"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
@@ -479,6 +352,23 @@
   GstObject         parent;
 };
 </pre>
+<p>A device object.</p>
+<div class="refsect3">
+<a name="id-1.4.2.9.2.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> <em class="structfield"><code><a name="GstDevice.parent"></a>parent</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> strucuture.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -490,7 +380,43 @@
   gboolean (*reconfigure_element) (GstDevice * device, GstElement * element);
 };
 </pre>
+<p>The class structure for a <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> object.</p>
+<div class="refsect3">
+<a name="id-1.4.2.9.3.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstDeviceClass.parent-class"></a>parent_class</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent <a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> strucuture.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstDeviceClass.create-element"></a>create_element</code></em> ()</p></td>
+<td class="struct_member_description"><p>Creates the fully configured element to access this device.
+Subclasses need to override this and return a new element.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstDeviceClass.reconfigure-element"></a>reconfigure_element</code></em> ()</p></td>
+<td class="struct_member_description"><p>This only needs to be implemented by subclasses if the
+element can be reconfigured to use a different device. See the documentation
+for <a class="link" href="gstreamer-GstDevice.html#gst-device-reconfigure-element" title="gst_device_reconfigure_element ()"><code class="function">gst_device_reconfigure_element()</code></a>.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
 </div>
+<p class="since">Since 1.4</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstDevice.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a></p>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/gst/html/gstreamer-GstDeviceMonitor.html b/docs/gst/html/gstreamer-GstDeviceMonitor.html
index 974e5ab..eff937b 100644
--- a/docs/gst/html/gstreamer-GstDeviceMonitor.html
+++ b/docs/gst/html/gstreamer-GstDeviceMonitor.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gstreamer-GstDeviceMonitor.top_of_page"></a>GstDeviceMonitor</span></h2>
-<p>GstDeviceMonitor</p>
+<p>GstDeviceMonitor — A device monitor and prober</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -41,46 +41,6 @@
 </colgroup>
 <tbody>
 <tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR:CAPS" title="GST_DEVICE_MONITOR()">GST_DEVICE_MONITOR</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CAST:CAPS" title="GST_DEVICE_MONITOR_CAST()">GST_DEVICE_MONITOR_CAST</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CLASS:CAPS" title="GST_DEVICE_MONITOR_CLASS()">GST_DEVICE_MONITOR_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-GET-CLASS:CAPS" title="GST_DEVICE_MONITOR_GET_CLASS()">GST_DEVICE_MONITOR_GET_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR:CAPS" title="GST_IS_DEVICE_MONITOR()">GST_IS_DEVICE_MONITOR</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR-CLASS:CAPS" title="GST_IS_DEVICE_MONITOR_CLASS()">GST_IS_DEVICE_MONITOR_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstDeviceMonitor.html#GST-TYPE-DEVICE-MONITOR:CAPS" title="GST_TYPE_DEVICE_MONITOR">GST_TYPE_DEVICE_MONITOR</a></td>
-</tr>
-<tr>
 <td class="function_type">
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
@@ -169,14 +129,6 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-type" title="gst_device_monitor_get_type ()">gst_device_monitor_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
@@ -233,59 +185,24 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstDeviceMonitor.description"></a><h2>Description</h2>
+<p>A <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> subclass is provided by a plugin that handles devices
+if there is a way to programatically list connected devices. It can also
+optionally provide updates to the list of connected devices.</p>
+<p>Each <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> subclass is a singleton, a plugin should
+normally provide a single subclass for all devices.</p>
+<p>Applications would normally use a <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> to monitor devices
+from all revelant monitors.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstDeviceMonitor.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="GST-DEVICE-MONITOR:CAPS"></a><h3>GST_DEVICE_MONITOR()</h3>
-<pre class="programlisting">#define GST_DEVICE_MONITOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DEVICE_MONITOR, GstDeviceMonitor))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-MONITOR-CAST:CAPS"></a><h3>GST_DEVICE_MONITOR_CAST()</h3>
-<pre class="programlisting">#define GST_DEVICE_MONITOR_CAST(obj)            ((GstDeviceMonitor *)(obj))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-MONITOR-CLASS:CAPS"></a><h3>GST_DEVICE_MONITOR_CLASS()</h3>
-<pre class="programlisting">#define GST_DEVICE_MONITOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DEVICE_MONITOR, GstDeviceMonitorClass))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-DEVICE-MONITOR-GET-CLASS:CAPS"></a><h3>GST_DEVICE_MONITOR_GET_CLASS()</h3>
-<pre class="programlisting">#define GST_DEVICE_MONITOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DEVICE_MONITOR, GstDeviceMonitorClass))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-DEVICE-MONITOR:CAPS"></a><h3>GST_IS_DEVICE_MONITOR()</h3>
-<pre class="programlisting">#define GST_IS_DEVICE_MONITOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEVICE_MONITOR))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-DEVICE-MONITOR-CLASS:CAPS"></a><h3>GST_IS_DEVICE_MONITOR_CLASS()</h3>
-<pre class="programlisting">#define GST_IS_DEVICE_MONITOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DEVICE_MONITOR))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-DEVICE-MONITOR:CAPS"></a><h3>GST_TYPE_DEVICE_MONITOR</h3>
-<pre class="programlisting">#define GST_TYPE_DEVICE_MONITOR                 (gst_device_monitor_get_type())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-device-monitor-can-monitor"></a><h3>gst_device_monitor_can_monitor ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_device_monitor_can_monitor (<em class="parameter"><code><a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> *monitor</code></em>);</pre>
 <p>If this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the device monitor can monitor if
 devices are added or removed. Otherwise, it can only do static probing.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.9.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -300,7 +217,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.9.6"></a><h4>Returns</h4>
+<a name="id-1.4.3.8.2.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> support monitoring, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
 <p></p>
 </div>
@@ -317,7 +234,7 @@
  as metadata in <em class="parameter"><code>klass</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.10.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -362,7 +279,7 @@
 be made resident once loaded, so this function can be used even from
 dynamically loaded plugins.)</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.11.6"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.4.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -400,7 +317,7 @@
  in <em class="parameter"><code>klass</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.12.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -422,7 +339,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.12.6"></a><h4>Returns</h4>
+<a name="id-1.4.3.8.5.6"></a><h4>Returns</h4>
 <p> the metadata for <em class="parameter"><code>key</code></em>
 .</p>
 <p></p>
@@ -441,7 +358,7 @@
 <p>Sets the detailed information for a <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitorClass" title="struct GstDeviceMonitorClass"><span class="type">GstDeviceMonitorClass</span></a>.</p>
 <div class="note">This function is for use in _class_init functions only.</div>
 <div class="refsect3">
-<a name="id-1.4.3.8.13.6"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.6.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -504,7 +421,7 @@
 they will not be copied. (GStreamer plugins will be made resident once
 loaded, so this function can be used even from dynamically loaded plugins.)</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.14.7"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -556,7 +473,7 @@
 a new device has been added.</p>
 <p>This is for use by subclasses.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.15.6"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.8.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -589,7 +506,7 @@
 a device has been removed.</p>
 <p>This is for use by subclasses.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.16.6"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.9.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -619,7 +536,7 @@
 gst_device_monitor_get_bus (<em class="parameter"><code><a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> *monitor</code></em>);</pre>
 <p>Gets the <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> of this <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a></p>
 <div class="refsect3">
-<a name="id-1.4.3.8.17.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -634,7 +551,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.17.6"></a><h4>Returns</h4>
+<a name="id-1.4.3.8.10.6"></a><h4>Returns</h4>
 <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>
@@ -648,7 +565,7 @@
 <p>Gets a list of devices that this monitor understands. This may actually
 probe the hardware if the monitor is not currently started.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.18.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.11.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -663,7 +580,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.18.6"></a><h4>Returns</h4>
+<a name="id-1.4.3.8.11.6"></a><h4>Returns</h4>
 <p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
 <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>
@@ -677,7 +594,7 @@
 gst_device_monitor_get_factory (<em class="parameter"><code><a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> *monitor</code></em>);</pre>
 <p>Retrieves the factory that was used to create this device monitor.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.19.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.12.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -692,7 +609,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.19.6"></a><h4>Returns</h4>
+<a name="id-1.4.3.8.12.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="type">GstDeviceMonitorFactory</span></a> used for creating this
 device monitor. 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>
@@ -701,12 +618,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-device-monitor-get-type"></a><h3>gst_device_monitor_get_type ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-gst_device_monitor_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-device-monitor-register"></a><h3>gst_device_monitor_register ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_device_monitor_register (<em class="parameter"><code><a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> *plugin</code></em>,
@@ -718,7 +629,7 @@
  and add the factory to <em class="parameter"><code>plugin</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.21.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.13.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -728,7 +639,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>plugin</p></td>
-<td class="parameter_description"><p> <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> to register the device monitor with, or NULL for
+<td class="parameter_description"><p> <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> to register the device monitor with, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for
 a static device monitor. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
@@ -751,8 +662,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.21.6"></a><h4>Returns</h4>
-<p> TRUE, if the registering succeeded, FALSE on error</p>
+<a name="id-1.4.3.8.13.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the registering succeeded, <a href="http://library.gnome.org/devel/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>
@@ -770,7 +681,7 @@
 user of the object, <a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-stop" title="gst_device_monitor_stop ()"><code class="function">gst_device_monitor_stop()</code></a> needs to be called the same
 number of times.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.22.6"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.14.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -785,7 +696,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.3.8.22.7"></a><h4>Returns</h4>
+<a name="id-1.4.3.8.14.7"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
@@ -800,7 +711,7 @@
 <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> will stop monitoring the devices. This needs to be
 called the same number of times that <a class="link" href="gstreamer-GstDeviceMonitor.html#gst-device-monitor-start" title="gst_device_monitor_start ()"><code class="function">gst_device_monitor_start()</code></a> was called.</p>
 <div class="refsect3">
-<a name="id-1.4.3.8.23.5"></a><h4>Parameters</h4>
+<a name="id-1.4.3.8.15.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -823,8 +734,35 @@
 <a name="GstDeviceMonitor"></a><h3>struct GstDeviceMonitor</h3>
 <pre class="programlisting">struct GstDeviceMonitor {
   GstObject         parent;
+
+  /* Protected by the Object lock */
+  GList *devices;
 };
 </pre>
+<p>The structure of the base <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a></p>
+<div class="refsect3">
+<a name="id-1.4.3.9.2.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> <em class="structfield"><code><a name="GstDeviceMonitor.parent"></a>parent</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstDeviceMonitor.devices"></a>devices</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of the <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> objects</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -838,9 +776,6 @@
 
   gboolean    (*start) (GstDeviceMonitor * monitor);
   void        (*stop)  (GstDeviceMonitor * monitor);
-
-
-  gpointer metadata;
 };
 </pre>
 <p>The structure of the base <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitorClass" title="struct GstDeviceMonitorClass"><span class="type">GstDeviceMonitorClass</span></a></p>
@@ -855,8 +790,8 @@
 <tbody>
 <tr>
 <td class="struct_member_name"><p><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstDeviceMonitorClass.parent-class"></a>parent_class</code></em>;</p></td>
-<td> </td>
-<td> </td>
+<td class="struct_member_description"><p>the parent <a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> structure</p></td>
+<td class="struct_member_annotations"> </td>
 </tr>
 <tr>
 <td class="struct_member_name"><p><a class="link" href="GstDeviceMonitorFactory.html" title="GstDeviceMonitorFactory"><span class="type">GstDeviceMonitorFactory</span></a> *<em class="structfield"><code><a name="GstDeviceMonitorClass.factory"></a>factory</code></em>;</p></td>
@@ -866,30 +801,32 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstDeviceMonitorClass.probe"></a>probe</code></em> ()</p></td>
-<td> </td>
-<td> </td>
+<td class="struct_member_description"><p>Returns a list of devices that are currently available.
+This should never block.</p></td>
+<td class="struct_member_annotations"> </td>
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstDeviceMonitorClass.start"></a>start</code></em> ()</p></td>
-<td class="struct_member_description"><p>Starts monitoring for new devices.</p></td>
+<td class="struct_member_description"><p>Starts monitoring for new devices. Only subclasses that can know
+that devices have been added or remove need to implement this method.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstDeviceMonitorClass.stop"></a>stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>Stops monitoring for new devices</p></td>
+<td class="struct_member_description"><p>Stops monitoring for new devices. Only subclasses that implement
+the <code class="function">start()</code> method need to implement this method.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
-<tr>
-<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstDeviceMonitorClass.metadata"></a>metadata</code></em>;</p></td>
-<td> </td>
-<td> </td>
-</tr>
 </tbody>
 </table></div>
 </div>
 <p class="since">Since 1.4</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gstreamer-GstDeviceMonitor.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>, <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>
diff --git a/docs/gst/html/gstreamer-GstFormat.html b/docs/gst/html/gstreamer-GstFormat.html
index 7456250..29b6001 100644
--- a/docs/gst/html/gstreamer-GstFormat.html
+++ b/docs/gst/html/gstreamer-GstFormat.html
@@ -164,7 +164,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.25.8.2.6"></a><h4>Returns</h4>
-<p> a reference to the static name of the format or NULL if
+<p> a reference to the static name of the format or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
 the format is unknown.</p>
 <p></p>
 </div>
@@ -295,7 +295,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.25.8.6.6"></a><h4>Returns</h4>
-<p> TRUE if the format is found inside the array</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -323,7 +323,7 @@
 <div class="refsect3">
 <a name="id-1.3.25.8.7.6"></a><h4>Returns</h4>
 <p> The <a class="link" href="gstreamer-GstFormat.html#GstFormatDefinition" title="struct GstFormatDefinition"><span class="type">GstFormatDefinition</span></a> for <em class="parameter"><code>format</code></em>
-or NULL on failure.</p>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure.</p>
 <p>MT safe.</p>
 <p></p>
 </div>
diff --git a/docs/gst/html/gstreamer-GstGError.html b/docs/gst/html/gstreamer-GstGError.html
index 9d33306..5681d4a 100644
--- a/docs/gst/html/gstreamer-GstGError.html
+++ b/docs/gst/html/gstreamer-GstGError.html
@@ -169,7 +169,7 @@
     currently provided should be enough.  If you find your type of error
     does not fit the current codes, you should use FAILED.</p></li>
 <li class="listitem"><p>Don't provide a message if the default one suffices.
-    this keeps messages more uniform.  Use (NULL) - not forgetting the
+    this keeps messages more uniform.  Use (<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) - not forgetting the
     parentheses.</p></li>
 <li class="listitem"><p>If you do supply a custom message, it should be
     marked for translation.  The message should start with a capital
@@ -178,7 +178,7 @@
     A user interface will present this message as the first thing a user
     sees.  Details, technical info, ... should go in the debug string.
   </p></li>
-<li class="listitem"><p>The debug string can be as you like.  Again, use (NULL)
+<li class="listitem"><p>The debug string can be as you like.  Again, use (<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>)
     if there's nothing to add - file and line number will still be
     passed.  <a class="link" href="gstreamer-GstGError.html#GST-ERROR-SYSTEM:CAPS" title="GST_ERROR_SYSTEM"><span class="type">GST_ERROR_SYSTEM</span></a> can be used as a shortcut to give
     debug information on a system call error.</p></li>
diff --git a/docs/gst/html/gstreamer-GstGlobalDeviceMonitor.html b/docs/gst/html/gstreamer-GstGlobalDeviceMonitor.html
index a3d51f4..4647794 100644
--- a/docs/gst/html/gstreamer-GstGlobalDeviceMonitor.html
+++ b/docs/gst/html/gstreamer-GstGlobalDeviceMonitor.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gstreamer-GstGlobalDeviceMonitor.top_of_page"></a>GstGlobalDeviceMonitor</span></h2>
-<p>GstGlobalDeviceMonitor</p>
+<p>GstGlobalDeviceMonitor — A global device monitor and prober</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -41,46 +41,6 @@
 </colgroup>
 <tbody>
 <tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR:CAPS" title="GST_GLOBAL_DEVICE_MONITOR()">GST_GLOBAL_DEVICE_MONITOR</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CAST:CAPS" title="GST_GLOBAL_DEVICE_MONITOR_CAST()">GST_GLOBAL_DEVICE_MONITOR_CAST</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CLASS:CAPS" title="GST_GLOBAL_DEVICE_MONITOR_CLASS()">GST_GLOBAL_DEVICE_MONITOR_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-GET-CLASS:CAPS" title="GST_GLOBAL_DEVICE_MONITOR_GET_CLASS()">GST_GLOBAL_DEVICE_MONITOR_GET_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR:CAPS" title="GST_IS_GLOBAL_DEVICE_MONITOR()">GST_IS_GLOBAL_DEVICE_MONITOR</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR-CLASS:CAPS" title="GST_IS_GLOBAL_DEVICE_MONITOR_CLASS()">GST_IS_GLOBAL_DEVICE_MONITOR_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GST-TYPE-GLOBAL-DEVICE-MONITOR:CAPS" title="GST_TYPE_GLOBAL_DEVICE_MONITOR">GST_TYPE_GLOBAL_DEVICE_MONITOR</a></td>
-</tr>
-<tr>
 <td class="function_type">
 <a class="link" href="GstBus.html" title="GstBus"><span class="returnvalue">GstBus</span></a> *
 </td>
@@ -114,14 +74,6 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-type" title="gst_global_device_monitor_get_type ()">gst_global_device_monitor_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
 <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="returnvalue">GstGlobalDeviceMonitor</span></a> *
 </td>
 <td class="function_name">
@@ -194,58 +146,22 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstGlobalDeviceMonitor.description"></a><h2>Description</h2>
+<p>Applications should create a <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> when they want
+to probe, list and monitor devices of a specific type. The
+<a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> will create the appropriate
+<a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> objects and manage them. It will then post
+messages on its <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> for devices that have been added and
+removed.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstGlobalDeviceMonitor.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="GST-GLOBAL-DEVICE-MONITOR:CAPS"></a><h3>GST_GLOBAL_DEVICE_MONITOR()</h3>
-<pre class="programlisting">#define GST_GLOBAL_DEVICE_MONITOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GLOBAL_DEVICE_MONITOR, GstGlobalDeviceMonitor))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-GLOBAL-DEVICE-MONITOR-CAST:CAPS"></a><h3>GST_GLOBAL_DEVICE_MONITOR_CAST()</h3>
-<pre class="programlisting">#define GST_GLOBAL_DEVICE_MONITOR_CAST(obj)            ((GstGlobalDeviceMonitor *)(obj))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-GLOBAL-DEVICE-MONITOR-CLASS:CAPS"></a><h3>GST_GLOBAL_DEVICE_MONITOR_CLASS()</h3>
-<pre class="programlisting">#define GST_GLOBAL_DEVICE_MONITOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GLOBAL_DEVICE_MONITOR, GstGlobalDeviceMonitorClass))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-GLOBAL-DEVICE-MONITOR-GET-CLASS:CAPS"></a><h3>GST_GLOBAL_DEVICE_MONITOR_GET_CLASS()</h3>
-<pre class="programlisting">#define GST_GLOBAL_DEVICE_MONITOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_GLOBAL_DEVICE_MONITOR, GstGlobalDeviceMonitorClass))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-GLOBAL-DEVICE-MONITOR:CAPS"></a><h3>GST_IS_GLOBAL_DEVICE_MONITOR()</h3>
-<pre class="programlisting">#define GST_IS_GLOBAL_DEVICE_MONITOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GLOBAL_DEVICE_MONITOR))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-GLOBAL-DEVICE-MONITOR-CLASS:CAPS"></a><h3>GST_IS_GLOBAL_DEVICE_MONITOR_CLASS()</h3>
-<pre class="programlisting">#define GST_IS_GLOBAL_DEVICE_MONITOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GLOBAL_DEVICE_MONITOR))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-GLOBAL-DEVICE-MONITOR:CAPS"></a><h3>GST_TYPE_GLOBAL_DEVICE_MONITOR</h3>
-<pre class="programlisting">#define GST_TYPE_GLOBAL_DEVICE_MONITOR                 (gst_global_device_monitor_get_type())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-global-device-monitor-get-bus"></a><h3>gst_global_device_monitor_get_bus ()</h3>
 <pre class="programlisting"><a class="link" href="GstBus.html" title="GstBus"><span class="returnvalue">GstBus</span></a> *
 gst_global_device_monitor_get_bus (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>);</pre>
 <p>Gets the <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> of this <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a></p>
 <div class="refsect3">
-<a name="id-1.4.5.8.9.5"></a><h4>Parameters</h4>
+<a name="id-1.4.5.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -260,10 +176,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.5.8.9.6"></a><h4>Returns</h4>
+<a name="id-1.4.5.8.2.6"></a><h4>Returns</h4>
 <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>
 </div>
 <hr>
 <div class="refsect2">
@@ -271,6 +188,28 @@
 <pre class="programlisting"><a class="link" href="GstCaps.html" title="GstCaps"><span class="returnvalue">GstCaps</span></a> *
 gst_global_device_monitor_get_caps_filter
                                (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>);</pre>
+<p>Get the <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> filter set by <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-caps-filter" title="gst_global_device_monitor_set_caps_filter ()"><code class="function">gst_global_device_monitor_set_caps_filter()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.4.5.8.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>monitor</p></td>
+<td class="parameter_description"><p>a global device monitor</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.4.5.8.3.6"></a><h4>Returns</h4>
+<p> the filter caps that are active (or ANY 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.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -278,6 +217,28 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_global_device_monitor_get_classes_filter
                                (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>);</pre>
+<p>Return the type (device classes) filter active for device filtering.</p>
+<div class="refsect3">
+<a name="id-1.4.5.8.4.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>monitor</p></td>
+<td class="parameter_description"><p>the global device monitor</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.4.5.8.4.6"></a><h4>Returns</h4>
+<p> string of device classes that are being filtered.</p>
+<p></p>
+</div>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -287,7 +248,7 @@
 <p>Gets a list of devices from all of the relevant monitors. This may actually
 probe the hardware if the global monitor is not currently started.</p>
 <div class="refsect3">
-<a name="id-1.4.5.8.12.5"></a><h4>Parameters</h4>
+<a name="id-1.4.5.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -302,23 +263,25 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.5.8.12.6"></a><h4>Returns</h4>
+<a name="id-1.4.5.8.5.6"></a><h4>Returns</h4>
 <p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
 <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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-global-device-monitor-get-type"></a><h3>gst_global_device_monitor_get_type ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-gst_global_device_monitor_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-global-device-monitor-new"></a><h3>gst_global_device_monitor_new ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="returnvalue">GstGlobalDeviceMonitor</span></a> *
 gst_global_device_monitor_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Create a new <a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a></p>
+<div class="refsect3">
+<a name="id-1.4.5.8.6.5"></a><h4>Returns</h4>
+<p> a new global 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>
 </div>
 <hr>
 <div class="refsect2">
@@ -327,6 +290,31 @@
 gst_global_device_monitor_set_caps_filter
                                (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>,
                                 <em class="parameter"><code><a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
+<p>Set caps to use as filter for devices. By default ANY caps are used,
+meaning no caps filter is active.</p>
+<div class="refsect3">
+<a name="id-1.4.5.8.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>monitor</p></td>
+<td class="parameter_description"><p>the global device monitor</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>caps</p></td>
+<td class="parameter_description"><p>caps to filter</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -335,6 +323,32 @@
 gst_global_device_monitor_set_classes_filter
                                (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>,
                                 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *classes</code></em>);</pre>
+<p>Filter devices monitored by device class, e.g. in case you are only
+interested in a certain type of device like audio devices or
+video sources.</p>
+<div class="refsect3">
+<a name="id-1.4.5.8.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>monitor</p></td>
+<td class="parameter_description"><p>the global device monitor</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>classes</p></td>
+<td class="parameter_description"><p>device classes to use as filter</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -342,10 +356,10 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_global_device_monitor_start (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>);</pre>
 <p>Starts monitoring the devices, one this has succeeded, the
-<span class="type">“added”</span> and <span class="type">“removed”</span>
-signals will be emitted when the list of devices changes.</p>
+<a class="link" href="GstMessage.html#GST-MESSAGE-DEVICE-ADDED:CAPS"><code class="literal">GST_MESSAGE_DEVICE_ADDED</code></a> and <a class="link" href="GstMessage.html#GST-MESSAGE-DEVICE-REMOVED:CAPS"><code class="literal">GST_MESSAGE_DEVICE_REMOVED</code></a> messages
+will be emitted on the bus when the list of devices changes.</p>
 <div class="refsect3">
-<a name="id-1.4.5.8.17.5"></a><h4>Parameters</h4>
+<a name="id-1.4.5.8.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -360,10 +374,11 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.5.8.17.6"></a><h4>Returns</h4>
+<a name="id-1.4.5.8.9.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
 </div>
 <hr>
 <div class="refsect2">
@@ -372,7 +387,7 @@
 gst_global_device_monitor_stop (<em class="parameter"><code><a class="link" href="gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor" title="struct GstGlobalDeviceMonitor"><span class="type">GstGlobalDeviceMonitor</span></a> *monitor</code></em>);</pre>
 <p>Stops monitoring the devices.</p>
 <div class="refsect3">
-<a name="id-1.4.5.8.18.5"></a><h4>Parameters</h4>
+<a name="id-1.4.5.8.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -386,6 +401,7 @@
 </tr></tbody>
 </table></div>
 </div>
+<p class="since">Since 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -396,6 +412,23 @@
   GstObject                parent;
 };
 </pre>
+<p>Opaque global device monitor object structure.</p>
+<div class="refsect3">
+<a name="id-1.4.5.9.2.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> <em class="structfield"><code><a name="GstGlobalDeviceMonitor.parent"></a>parent</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> structure</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -404,7 +437,28 @@
   GstObjectClass           parent_class;
 };
 </pre>
+<p>Opaque global device monitor class structure.</p>
+<div class="refsect3">
+<a name="id-1.4.5.9.3.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstGlobalDeviceMonitorClass.parent-class"></a>parent_class</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent <a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> structure</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
 </div>
+<p class="since">Since 1.4</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstGlobalDeviceMonitor.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a>, <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a></p>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/gst/html/gstreamer-GstInfo.html b/docs/gst/html/gstreamer-GstInfo.html
index 52fcb77..870d8cf 100644
--- a/docs/gst/html/gstreamer-GstInfo.html
+++ b/docs/gst/html/gstreamer-GstInfo.html
@@ -716,9 +716,9 @@
 <a name="GST-STR-NULL:CAPS"></a><h3>GST_STR_NULL()</h3>
 <pre class="programlisting">#define GST_STR_NULL(str) ((str) ? (str) : "(NULL)")
 </pre>
-<p>Macro to use when a string must not be NULL, but may be NULL. If the string
-is NULL, "(NULL)" is printed instead.
-In GStreamer printf string arguments may not be NULL, because on some
+<p>Macro to use when a string must not be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, but may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If the string
+is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, "(NULL)" is printed instead.
+In GStreamer printf string arguments may not be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, because on some
 platforms (ie Solaris) the libc crashes in that case. This includes debugging
 strings.</p>
 <div class="refsect3">
@@ -889,7 +889,7 @@
 <tr>
 <td class="parameter_name"><p>object</p></td>
 <td class="parameter_description"><p> the object this message relates to,
-or NULL if none. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none. </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="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -956,7 +956,7 @@
 <tr>
 <td class="parameter_name"><p>object</p></td>
 <td class="parameter_description"><p> the object this message relates to,
-or NULL if none. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none. </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="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -1062,7 +1062,7 @@
 <tr>
 <td class="parameter_name"><p>object</p></td>
 <td class="parameter_description"><p> the object this message relates to,
-or NULL if none. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none. </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="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -1227,7 +1227,7 @@
 <p>Checks if debugging output is activated.</p>
 <div class="refsect3">
 <a name="id-1.5.3.8.15.5"></a><h4>Returns</h4>
-<p> TRUE, if debugging is activated</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if debugging is activated</p>
 <p></p>
 </div>
 </div>
@@ -1314,7 +1314,7 @@
 <p>Checks if the debugging output should be colored.</p>
 <div class="refsect3">
 <a name="id-1.5.3.8.19.5"></a><h4>Returns</h4>
-<p> TRUE, if the debug output should be colored.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1601,7 +1601,7 @@
 category is not found, but GST_CAT_DEFAULT is defined, that is assigned to
 <em class="parameter"><code>cat</code></em>
 . Otherwise <em class="parameter"><code>cat</code></em>
- will be NULL.</p>
+ will be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -1944,7 +1944,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>object</p></td>
-<td class="parameter_description"><p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> the message belongs to or NULL if none. </p></td>
+<td class="parameter_description"><p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> the message belongs to or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
diff --git a/docs/gst/html/gstreamer-GstIterator.html b/docs/gst/html/gstreamer-GstIterator.html
index 80d3ba8..c4a2fa2 100644
--- a/docs/gst/html/gstreamer-GstIterator.html
+++ b/docs/gst/html/gstreamer-GstIterator.html
@@ -551,7 +551,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.27.8.8.6"></a><h4>Returns</h4>
-<p> TRUE if the fold should continue, FALSE if it should stop.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the fold should continue, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it should stop.</p>
 <p></p>
 </div>
 </div>
@@ -1104,9 +1104,9 @@
 <p>This procedure can be used (and is used internally) to implement the
 <a class="link" href="gstreamer-GstIterator.html#gst-iterator-foreach" title="gst_iterator_foreach ()"><code class="function">gst_iterator_foreach()</code></a> and <a class="link" href="gstreamer-GstIterator.html#gst-iterator-find-custom" title="gst_iterator_find_custom ()"><code class="function">gst_iterator_find_custom()</code></a> operations.</p>
 <p>The fold will proceed as long as <em class="parameter"><code>func</code></em>
- returns TRUE. When the iterator has no
+ returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. When the iterator has no
 more arguments, <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-DONE:CAPS"><code class="literal">GST_ITERATOR_DONE</code></a> will be returned. If <em class="parameter"><code>func</code></em>
- returns FALSE,
+ returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>,
 the fold will stop, and <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-OK:CAPS"><code class="literal">GST_ITERATOR_OK</code></a> will be returned. Errors or resyncs
 will cause fold to return <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-ERROR:CAPS"><code class="literal">GST_ITERATOR_ERROR</code></a> or <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-RESYNC:CAPS"><code class="literal">GST_ITERATOR_RESYNC</code></a> as
 appropriate.</p>
@@ -1216,7 +1216,7 @@
 The result will be stored in <em class="parameter"><code>elem</code></em>
  if a result is found.</p>
 <p>The iterator will not be freed.</p>
-<p>This function will return FALSE if an error happened to the iterator
+<p>This function will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if an error happened to the iterator
 or if the element wasn't found.</p>
 <div class="refsect3">
 <a name="id-1.3.27.8.24.7"></a><h4>Parameters</h4>
@@ -1252,7 +1252,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.27.8.24.8"></a><h4>Returns</h4>
-<p> Returns TRUE if the element was found, else FALSE.</p>
+<p> Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the element was found, else <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT safe.</p>
 <p></p>
 </div>
diff --git a/docs/gst/html/gstreamer-GstMeta.html b/docs/gst/html/gstreamer-GstMeta.html
index cbbee15..08771dd 100644
--- a/docs/gst/html/gstreamer-GstMeta.html
+++ b/docs/gst/html/gstreamer-GstMeta.html
@@ -674,7 +674,7 @@
 <div class="refsect3">
 <a name="id-1.3.30.8.15.6"></a><h4>Returns</h4>
 <p> a <a class="link" href="gstreamer-GstMeta.html#GstMetaInfo" title="struct GstMetaInfo"><span class="type">GstMetaInfo</span></a> with <em class="parameter"><code>impl</code></em>
-, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> when no such
+, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when no such
 metainfo exists. </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>
diff --git a/docs/gst/html/gstreamer-GstMiniObject.html b/docs/gst/html/gstreamer-GstMiniObject.html
index 1485ce1..c0dc9dd 100644
--- a/docs/gst/html/gstreamer-GstMiniObject.html
+++ b/docs/gst/html/gstreamer-GstMiniObject.html
@@ -703,17 +703,17 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>copy_func</p></td>
-<td class="parameter_description"><p> the copy function, or NULL. </p></td>
+<td class="parameter_description"><p> the copy function, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>dispose_func</p></td>
-<td class="parameter_description"><p> the dispose function, or NULL. </p></td>
+<td class="parameter_description"><p> the dispose function, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>free_func</p></td>
-<td class="parameter_description"><p> the free function or NULL. </p></td>
+<td class="parameter_description"><p> the free function or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -955,7 +955,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.31.8.23.8"></a><h4>Returns</h4>
-<p> TRUE if the object is writable.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object is writable.</p>
 <p></p>
 </div>
 </div>
@@ -1034,7 +1034,7 @@
 until the <em class="parameter"><code>object</code></em>
  is disposed.
 Setting a previously set user data pointer, overrides (frees)
-the old pointer set, using <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> as pointer essentially
+the old pointer set, using <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as pointer essentially
 removes the data stored.</p>
 <p><em class="parameter"><code>destroy</code></em>
  may be specified which is called with <em class="parameter"><code>data</code></em>
@@ -1165,7 +1165,7 @@
  is increased.</p>
 <p>Either <em class="parameter"><code>newdata</code></em>
  and the value pointed to by <em class="parameter"><code>olddata</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.31.8.29.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1191,7 +1191,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.31.8.29.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>newdata</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1211,7 +1211,7 @@
 .</p>
 <p>Either <em class="parameter"><code>newdata</code></em>
  and the value pointed to by <em class="parameter"><code>olddata</code></em>
- may be NULL.</p>
+ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.3.31.8.30.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1237,7 +1237,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.31.8.30.7"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>newdata</code></em>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1249,7 +1249,7 @@
 <pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *
 gst_mini_object_steal (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>);</pre>
 <p>Replace the current <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> pointer to by <em class="parameter"><code>olddata</code></em>
- with NULL and
+ with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and
 return the old value.</p>
 <div class="refsect3">
 <a name="id-1.3.31.8.31.5"></a><h4>Parameters</h4>
diff --git a/docs/gst/html/gstreamer-GstParse.html b/docs/gst/html/gstreamer-GstParse.html
index 60e82a6..82dc026 100644
--- a/docs/gst/html/gstreamer-GstParse.html
+++ b/docs/gst/html/gstreamer-GstParse.html
@@ -411,7 +411,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>err</p></td>
-<td class="parameter_description"><p>where to store the error message in case of an error, or NULL</p></td>
+<td class="parameter_description"><p>where to store the error message in case of an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -475,7 +475,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>err</p></td>
-<td class="parameter_description"><p>where to store the error message in case of an error, or NULL</p></td>
+<td class="parameter_description"><p>where to store the error message in case of an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -483,10 +483,11 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.36.9.8.6"></a><h4>Returns</h4>
-<p> a newly-created element, which
-is guaranteed to be a bin unless GST_FLAG_NO_SINGLE_ELEMENT_BINS was
-passed, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error occurred. </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.Element]</span></p>
+<p> a newly-created
+element, which is guaranteed to be a bin unless
+GST_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
+occurred. </p>
+<p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gst.Element]</span></p>
 </div>
 </div>
 <hr>
@@ -553,7 +554,7 @@
 <div class="refsect3">
 <a name="id-1.3.36.9.11.6"></a><h4>Returns</h4>
 <p> a
-NULL-terminated array of element factory name strings of missing
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of element factory name strings of missing
 elements. Free with <a href="http://library.gnome.org/devel/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="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> gchar*]</span></p>
 </div>
@@ -662,7 +663,7 @@
 <tr>
 <td class="enum_member_name"><p><a name="GST-PARSE-FLAG-FATAL-ERRORS:CAPS"></a>GST_PARSE_FLAG_FATAL_ERRORS</p></td>
 <td class="enum_member_description">
-<p>Always return NULL when an error occurs
+<p>Always return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when an error occurs
     (default behaviour is to return partially constructed bins or elements
      in some cases)</p>
 </td>
diff --git a/docs/gst/html/gstreamer-GstTocSetter.html b/docs/gst/html/gstreamer-GstTocSetter.html
index 4ff7e75..ba9eb04 100644
--- a/docs/gst/html/gstreamer-GstTocSetter.html
+++ b/docs/gst/html/gstreamer-GstTocSetter.html
@@ -167,7 +167,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.52.8.3.6"></a><h4>Returns</h4>
-<p> TOC set, or NULL. Unref with <a class="link" href="GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a>
+<p> TOC set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Unref with <a class="link" href="GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_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>]</span></p>
 </div>
diff --git a/docs/gst/html/gstreamer-GstTypeFind.html b/docs/gst/html/gstreamer-GstTypeFind.html
index 30a621f..4a6d6d1 100644
--- a/docs/gst/html/gstreamer-GstTypeFind.html
+++ b/docs/gst/html/gstreamer-GstTypeFind.html
@@ -192,7 +192,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.53.8.3.6"></a><h4>Returns</h4>
-<p> the requested data, or NULL
+<p> the requested data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 if that data is not available. </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> length=size]</span></p>
 </div>
@@ -252,7 +252,7 @@
 <p>This function is similar to <a class="link" href="gstreamer-GstTypeFind.html#gst-type-find-suggest" title="gst_type_find_suggest ()"><code class="function">gst_type_find_suggest()</code></a>, only that instead of
 passing a <a class="link" href="GstCaps.html" title="GstCaps"><span class="type">GstCaps</span></a> argument you can create the caps on the fly in the same
 way as you can with <a class="link" href="GstCaps.html#gst-caps-new-simple" title="gst_caps_new_simple ()"><code class="function">gst_caps_new_simple()</code></a>.</p>
-<p>Make sure you terminate the list of arguments with a NULL argument and that
+<p>Make sure you terminate the list of arguments with a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument and that
 the values passed have the correct type (in terms of width in bytes when
 passed to the vararg function - this applies particularly to gdouble and
 guint64 arguments).</p>
@@ -282,7 +282,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>fieldname</p></td>
-<td class="parameter_description"><p> first field of the suggested caps, or NULL. </p></td>
+<td class="parameter_description"><p> first field of the suggested caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -349,7 +349,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>plugin</p></td>
-<td class="parameter_description"><p> A <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a>, or NULL for a static typefind function. </p></td>
+<td class="parameter_description"><p> A <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for a static typefind function. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -397,7 +397,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.53.8.7.6"></a><h4>Returns</h4>
-<p> TRUE on success, FALSE otherwise</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstUriHandler.html b/docs/gst/html/gstreamer-GstUriHandler.html
index 768a4a4..2dd0b09 100644
--- a/docs/gst/html/gstreamer-GstUriHandler.html
+++ b/docs/gst/html/gstreamer-GstUriHandler.html
@@ -261,7 +261,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.4.6"></a><h4>Returns</h4>
-<p> TRUE if the string is a valid protocol identifier, FALSE otherwise.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the string is a valid protocol identifier, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -298,7 +298,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.5.6"></a><h4>Returns</h4>
-<p> TRUE</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a></p>
 <p></p>
 </div>
 </div>
@@ -326,7 +326,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.6.6"></a><h4>Returns</h4>
-<p> TRUE if the string is a valid URI</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -421,7 +421,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.9.7"></a><h4>Returns</h4>
-<p> the location for this URI. Returns NULL if the
+<p> the location for this URI. Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 URI isn't valid. If the URI does not contain a location, an empty
 string is returned. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -459,8 +459,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.10.7"></a><h4>Returns</h4>
-<p> a new string for this URI. Returns NULL if the
-given URI protocol is not valid, or the given location is NULL. </p>
+<p> a new string for this URI. Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
+given URI protocol is not valid, or the given location is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
 </div>
@@ -492,7 +492,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>pointer to error, or NULL</p></td>
+<td class="parameter_description"><p>pointer to error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -529,12 +529,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>elementname</p></td>
-<td class="parameter_description"><p> Name of created element, can be NULL. </p></td>
+<td class="parameter_description"><p> Name of created element, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<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>error</p></td>
-<td class="parameter_description"><p> address where to store error information, or NULL. </p></td>
+<td class="parameter_description"><p> address where to store error information, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -542,7 +542,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.12.6"></a><h4>Returns</h4>
-<p> a new element or NULL if none could be created. </p>
+<p> a new element or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none could be created. </p>
 <p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
 </div>
 </div>
@@ -601,7 +601,7 @@
 <div class="refsect3">
 <a name="id-1.3.55.9.14.6"></a><h4>Returns</h4>
 <p> the supported protocols.
-Returns NULL if the <em class="parameter"><code>handler</code></em>
+Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the <em class="parameter"><code>handler</code></em>
 isn't implemented properly, or the <em class="parameter"><code>handler</code></em>
 doesn't support any protocols. </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="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span></p>
@@ -632,7 +632,7 @@
 <a name="id-1.3.55.9.15.6"></a><h4>Returns</h4>
 <p> the URI currently handled by the <em class="parameter"><code>handler</code></em>
 .
-Returns NULL if there are no URI currently handled. The
+Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are no URI currently handled. The
 returned string must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</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>]</span></p>
 </div>
@@ -667,7 +667,7 @@
 <tr>
 <td class="parameter_name"><p>error</p></td>
 <td class="parameter_description"><p> address where to store a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> in case of
-an error, or NULL. </p></td>
+an error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -675,7 +675,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.55.9.16.6"></a><h4>Returns</h4>
-<p> TRUE if the URI was set successfully, else FALSE.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the URI was set successfully, else <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p></p>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstValue.html b/docs/gst/html/gstreamer-GstValue.html
index 7f580c3..beabfd8 100644
--- a/docs/gst/html/gstreamer-GstValue.html
+++ b/docs/gst/html/gstreamer-GstValue.html
@@ -66,6 +66,10 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS" title="GST_TYPE_INT_RANGE">GST_TYPE_INT_RANGE</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -112,6 +116,10 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS" title="GST_TYPE_BITMASK">GST_TYPE_BITMASK</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -134,6 +142,10 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS" title="GST_TYPE_INT64_RANGE">GST_TYPE_INT64_RANGE</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -180,6 +192,10 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS" title="GST_TYPE_DOUBLE_RANGE">GST_TYPE_DOUBLE_RANGE</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -211,11 +227,19 @@
 </tr>
 <tr>
 <td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST">GST_TYPE_LIST</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
 <td class="function_name">
 <a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-ARRAY:CAPS" title="GST_VALUE_HOLDS_ARRAY()">GST_VALUE_HOLDS_ARRAY</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-ARRAY:CAPS" title="GST_TYPE_ARRAY">GST_TYPE_ARRAY</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -277,6 +301,10 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS" title="GST_TYPE_FRACTION">GST_TYPE_FRACTION</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -323,6 +351,10 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS" title="GST_TYPE_FRACTION_RANGE">GST_TYPE_FRACTION_RANGE</a></td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -673,38 +705,6 @@
 </tr>
 <tr>
 <td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS" title="GST_TYPE_INT_RANGE">GST_TYPE_INT_RANGE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS" title="GST_TYPE_BITMASK">GST_TYPE_BITMASK</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS" title="GST_TYPE_INT64_RANGE">GST_TYPE_INT64_RANGE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS" title="GST_TYPE_DOUBLE_RANGE">GST_TYPE_DOUBLE_RANGE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST">GST_TYPE_LIST</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS" title="GST_TYPE_ARRAY">GST_TYPE_ARRAY</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS" title="GST_TYPE_FRACTION">GST_TYPE_FRACTION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS" title="GST_TYPE_FRACTION_RANGE">GST_TYPE_FRACTION_RANGE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
 <td class="function_name"><a class="link" href="gstreamer-GstValue.html#GST-VALUE-EQUAL:CAPS" title="GST_VALUE_EQUAL">GST_VALUE_EQUAL</a></td>
 </tr>
 <tr>
@@ -851,7 +851,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-INT-RANGE:CAPS"></a><h3>GST_VALUE_HOLDS_INT_RANGE()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_INT_RANGE(x)    (G_VALUE_HOLDS((x), gst_int_range_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_INT_RANGE(x)      ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_int_range_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS" title="GST_TYPE_INT_RANGE"><span class="type">GST_TYPE_INT_RANGE</span></a> value.</p>
 <div class="refsect3">
@@ -872,6 +872,18 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-INT-RANGE:CAPS"></a><h3>GST_TYPE_INT_RANGE</h3>
+<pre class="programlisting">#define GST_TYPE_INT_RANGE               (_gst_int_range_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an integer range</p>
+<div class="refsect3">
+<a name="id-1.3.57.8.6.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-value-set-int-range"></a><h3>gst_value_set_int_range ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_set_int_range (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -882,7 +894,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.6.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -917,34 +929,6 @@
 <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.57.8.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>value</p></td>
-<td class="parameter_description"><p>a GValue initialized to GST_TYPE_INT_RANGE</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.3.57.8.7.6"></a><h4>Returns</h4>
-<p> the minimum of the range</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-value-get-int-range-max"></a><h3>gst_value_get_int_range_max ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
-gst_value_get_int_range_max (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
-<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.57.8.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -961,6 +945,34 @@
 </div>
 <div class="refsect3">
 <a name="id-1.3.57.8.8.6"></a><h4>Returns</h4>
+<p> the minimum of the range</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-value-get-int-range-max"></a><h3>gst_value_get_int_range_max ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+gst_value_get_int_range_max (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<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.57.8.9.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 GST_TYPE_INT_RANGE</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.57.8.9.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
 <p></p>
 </div>
@@ -979,7 +991,7 @@
  and <em class="parameter"><code>step</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.9.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1019,7 +1031,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.57.8.10.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.11.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1034,7 +1046,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.10.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.11.6"></a><h4>Returns</h4>
 <p> the step of the range</p>
 <p></p>
 </div>
@@ -1042,11 +1054,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-BITMASK:CAPS"></a><h3>GST_VALUE_HOLDS_BITMASK()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_BITMASK(x)      (G_VALUE_HOLDS((x), gst_bitmask_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_BITMASK(x)      ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_bitmask_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS" title="GST_TYPE_BITMASK"><span class="type">GST_TYPE_BITMASK</span></a> value.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.11.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.12.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1063,6 +1075,18 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-BITMASK:CAPS"></a><h3>GST_TYPE_BITMASK</h3>
+<pre class="programlisting">#define GST_TYPE_BITMASK                 (_gst_bitmask_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a 64-bit bitmask.</p>
+<div class="refsect3">
+<a name="id-1.3.57.8.13.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/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>
+<div class="refsect2">
 <a name="gst-value-set-bitmask"></a><h3>gst_value_set_bitmask ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_set_bitmask (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -1071,7 +1095,7 @@
  to the bitmask specified by <em class="parameter"><code>bitmask</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.12.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.14.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1101,7 +1125,7 @@
 <p>Gets the bitmask specified by <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.13.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.15.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1116,7 +1140,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.13.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.15.6"></a><h4>Returns</h4>
 <p> the bitmask.</p>
 <p></p>
 </div>
@@ -1124,11 +1148,11 @@
 <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)    (G_VALUE_HOLDS((x), gst_int64_range_get_type ()))
+<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="http://library.gnome.org/devel/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.57.8.14.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.16.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1145,6 +1169,18 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-INT64-RANGE:CAPS"></a><h3>GST_TYPE_INT64_RANGE</h3>
+<pre class="programlisting">#define GST_TYPE_INT64_RANGE             (_gst_int64_range_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/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.57.8.17.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstInt64Range</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-value-set-int64-range"></a><h3>gst_value_set_int64_range ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_set_int64_range (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -1155,7 +1191,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.15.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.18.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1190,7 +1226,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.57.8.16.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.19.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1205,7 +1241,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.16.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.19.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
 <p></p>
 </div>
@@ -1218,7 +1254,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.57.8.17.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.20.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1233,7 +1269,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.17.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.20.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
 <p></p>
 </div>
@@ -1252,7 +1288,7 @@
  and <em class="parameter"><code>step</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.18.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.21.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1292,7 +1328,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.57.8.19.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.22.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1307,7 +1343,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.19.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.22.6"></a><h4>Returns</h4>
 <p> the step of the range</p>
 <p></p>
 </div>
@@ -1315,11 +1351,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-DOUBLE-RANGE:CAPS"></a><h3>GST_VALUE_HOLDS_DOUBLE_RANGE()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_DOUBLE_RANGE(x) (G_VALUE_HOLDS((x), gst_double_range_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_DOUBLE_RANGE(x)   ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_double_range_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.20.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.23.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1336,6 +1372,18 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-DOUBLE-RANGE:CAPS"></a><h3>GST_TYPE_DOUBLE_RANGE</h3>
+<pre class="programlisting">#define GST_TYPE_DOUBLE_RANGE            (_gst_double_range_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/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.57.8.24.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-value-set-double-range"></a><h3>gst_value_set_double_range ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_set_double_range (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -1346,7 +1394,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.21.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.25.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1381,7 +1429,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.57.8.22.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.26.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1396,7 +1444,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.22.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.26.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
 <p></p>
 </div>
@@ -1409,7 +1457,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.57.8.23.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.27.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1424,7 +1472,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.23.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.27.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
 <p></p>
 </div>
@@ -1432,11 +1480,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-LIST:CAPS"></a><h3>GST_VALUE_HOLDS_LIST()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_LIST(x)         (G_VALUE_HOLDS((x), gst_value_list_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_LIST(x)         ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_value_list_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.24.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.28.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1453,12 +1501,28 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-LIST:CAPS"></a><h3>GST_TYPE_LIST</h3>
+<pre class="programlisting">#define GST_TYPE_LIST                    (_gst_value_list_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an unordered list of <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> values. This
+is used for example to express a list of possible values for a field in
+a caps structure, like a list of possible sample rates, of which only one
+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.57.8.29.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/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>
+<div class="refsect2">
 <a name="GST-VALUE-HOLDS-ARRAY:CAPS"></a><h3>GST_VALUE_HOLDS_ARRAY()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_ARRAY(x)        (G_VALUE_HOLDS((x), gst_value_array_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_ARRAY(x)        ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_value_array_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.25.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.30.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1475,6 +1539,23 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-ARRAY:CAPS"></a><h3>GST_TYPE_ARRAY</h3>
+<pre class="programlisting">#define GST_TYPE_ARRAY                   (_gst_value_array_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an ordered list of <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> values. This is
+used to express a set of values that is meaningful only in their specific
+combination and order of values. Each value on its own is not particularly
+meaningful, only the ordered array in its entirety is meaningful. This is
+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.57.8.31.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/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>
+<div class="refsect2">
 <a name="gst-value-list-append-value"></a><h3>gst_value_list_append_value ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_list_append_value (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -1483,7 +1564,7 @@
  to the GstValueList in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.26.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.32.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1515,7 +1596,7 @@
  to the GstValueList in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.27.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.33.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1548,7 +1629,7 @@
  to the GstValueList in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.28.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.34.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1584,7 +1665,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.57.8.29.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.35.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1629,7 +1710,7 @@
 
 were equal).</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.30.6"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.36.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1664,7 +1745,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.57.8.31.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.37.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1679,7 +1760,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.31.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.37.6"></a><h4>Returns</h4>
 <p> the number of values</p>
 <p></p>
 </div>
@@ -1695,7 +1776,7 @@
 has the index <em class="parameter"><code>index</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.32.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.38.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1717,7 +1798,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.32.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.38.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>
@@ -1725,11 +1806,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-FRACTION:CAPS"></a><h3>GST_VALUE_HOLDS_FRACTION()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_FRACTION(x)     (G_VALUE_HOLDS((x), gst_fraction_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_FRACTION(x)     ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_fraction_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.33.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.39.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1746,6 +1827,19 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-FRACTION:CAPS"></a><h3>GST_TYPE_FRACTION</h3>
+<pre class="programlisting">#define GST_TYPE_FRACTION                (_gst_fraction_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/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.57.8.40.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/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>
+<div class="refsect2">
 <a name="gst-value-set-fraction"></a><h3>gst_value_set_fraction ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_set_fraction (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -1758,7 +1852,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.57.8.34.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.41.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1793,7 +1887,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.57.8.35.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.42.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1808,7 +1902,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.35.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.42.6"></a><h4>Returns</h4>
 <p> the numerator of the fraction.</p>
 <p></p>
 </div>
@@ -1821,7 +1915,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.57.8.36.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.43.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1836,7 +1930,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.36.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.43.6"></a><h4>Returns</h4>
 <p> the denominator of the fraction.</p>
 <p></p>
 </div>
@@ -1852,7 +1946,7 @@
 <em class="parameter"><code>product</code></em>
  to the product of the two fractions.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.37.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.44.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1879,8 +1973,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.37.6"></a><h4>Returns</h4>
-<p> FALSE in case of an error (like integer overflow), TRUE otherwise.</p>
+<a name="id-1.3.57.8.44.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in case of an error (like integer overflow), <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
@@ -1896,7 +1990,7 @@
  and sets <em class="parameter"><code>dest</code></em>
  to the result.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.38.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.45.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1923,19 +2017,19 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.38.6"></a><h4>Returns</h4>
-<p> FALSE in case of an error (like integer overflow), TRUE otherwise.</p>
+<a name="id-1.3.57.8.45.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> in case of an error (like integer overflow), <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
 <p></p>
 </div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-FRACTION-RANGE:CAPS"></a><h3>GST_VALUE_HOLDS_FRACTION_RANGE()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_FRACTION_RANGE(x)    (G_VALUE_HOLDS((x), gst_fraction_range_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_FRACTION_RANGE(x) ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_fraction_range_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.39.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.46.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1952,6 +2046,18 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-TYPE-FRACTION-RANGE:CAPS"></a><h3>GST_TYPE_FRACTION_RANGE</h3>
+<pre class="programlisting">#define GST_TYPE_FRACTION_RANGE           (_gst_fraction_range_type)
+</pre>
+<p>a <a href="http://library.gnome.org/devel/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.57.8.47.5"></a><h4>Returns</h4>
+<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFractionRange</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-value-set-fraction-range"></a><h3>gst_value_set_fraction_range ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_value_set_fraction_range (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
@@ -1962,7 +2068,7 @@
  and <em class="parameter"><code>end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.40.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.48.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1997,7 +2103,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.57.8.41.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.49.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2012,7 +2118,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.41.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.49.6"></a><h4>Returns</h4>
 <p> the minimum of the range</p>
 <p></p>
 </div>
@@ -2025,7 +2131,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.57.8.42.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.50.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2040,7 +2146,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.42.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.50.6"></a><h4>Returns</h4>
 <p> the maximum of the range</p>
 <p></p>
 </div>
@@ -2062,7 +2168,7 @@
 /<em class="parameter"><code>denominator_end</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.43.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.51.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2102,11 +2208,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-DATE-TIME:CAPS"></a><h3>GST_VALUE_HOLDS_DATE_TIME()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_DATE_TIME(x)    (G_VALUE_HOLDS((x), gst_date_time_get_type ()))
+<pre class="programlisting">#define GST_VALUE_HOLDS_DATE_TIME(x)    ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_date_time_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.44.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.52.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2124,11 +2230,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-CAPS"></a><h3>GST_VALUE_HOLDS_CAPS()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_CAPS(x)         (G_VALUE_HOLDS((x), GST_TYPE_CAPS))
+<pre class="programlisting">#define GST_VALUE_HOLDS_CAPS(x)         ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_caps_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.45.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.53.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2156,7 +2262,7 @@
  will be taken by the <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.46.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.54.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2189,7 +2295,7 @@
 before getting rid of the <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.47.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.55.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2204,7 +2310,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.47.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.55.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>
@@ -2213,11 +2319,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-CAPS-FEATURES:CAPS"></a><h3>GST_VALUE_HOLDS_CAPS_FEATURES()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_CAPS_FEATURES(x)        (G_VALUE_HOLDS((x), GST_TYPE_CAPS_FEATURES))
+<pre class="programlisting">#define GST_VALUE_HOLDS_CAPS_FEATURES(x)        (G_VALUE_HOLDS((x), _gst_caps_features_type))
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.48.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.56.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2242,7 +2348,7 @@
  to <em class="parameter"><code>features</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.49.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.57.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2272,7 +2378,7 @@
 <p>Gets the contents of <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.50.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.58.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2287,7 +2393,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.50.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.58.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>
@@ -2296,11 +2402,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-STRUCTURE:CAPS"></a><h3>GST_VALUE_HOLDS_STRUCTURE()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_STRUCTURE(x)            (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
+<pre class="programlisting">#define GST_VALUE_HOLDS_STRUCTURE(x)            (G_VALUE_HOLDS((x), _gst_structure_type))
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.51.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.59.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2325,7 +2431,7 @@
  to <em class="parameter"><code>structure</code></em>
 .  The actual</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.52.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.60.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2355,7 +2461,7 @@
 <p>Gets the contents of <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.53.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.61.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2370,7 +2476,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.53.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.61.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>
@@ -2379,11 +2485,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-BUFFER:CAPS"></a><h3>GST_VALUE_HOLDS_BUFFER()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_BUFFER(x)       (G_VALUE_HOLDS((x), GST_TYPE_BUFFER))
+<pre class="programlisting">#define GST_VALUE_HOLDS_BUFFER(x)       ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_buffer_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.54.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.62.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2409,7 +2515,7 @@
 a reference to <em class="parameter"><code>v</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.55.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.63.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2424,7 +2530,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.55.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.63.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>
@@ -2438,7 +2544,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.57.8.56.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.64.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2469,7 +2575,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.57.8.57.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.65.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2494,11 +2600,11 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VALUE-HOLDS-SAMPLE:CAPS"></a><h3>GST_VALUE_HOLDS_SAMPLE()</h3>
-<pre class="programlisting">#define GST_VALUE_HOLDS_SAMPLE(x)       (G_VALUE_HOLDS((x), GST_TYPE_SAMPLE))
+<pre class="programlisting">#define GST_VALUE_HOLDS_SAMPLE(x)       ((x) != NULL &amp;&amp; G_VALUE_TYPE(x) == _gst_sample_type)
 </pre>
 <p>Checks if the given <a href="http://library.gnome.org/devel/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.57.8.58.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.66.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2524,7 +2630,7 @@
 a reference to <em class="parameter"><code>v</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.59.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.67.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2539,7 +2645,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.59.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.67.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>
@@ -2553,7 +2659,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.57.8.60.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.68.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2584,7 +2690,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.57.8.61.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.69.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2622,7 +2728,7 @@
                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> items.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.63.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.71.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2644,7 +2750,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.63.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.71.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>
@@ -2658,7 +2764,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="http://library.gnome.org/devel/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.57.8.64.6"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.72.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2673,7 +2779,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.64.7"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.72.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>
@@ -2686,7 +2792,7 @@
                             <em class="parameter"><code>const <a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.65.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.73.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2708,7 +2814,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.65.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.73.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for success</p>
 <p></p>
 </div>
@@ -2723,7 +2829,7 @@
 (which means: multiple possible values, such as data lists or data
 ranges) value.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.66.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.74.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2738,7 +2844,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.66.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.74.6"></a><h4>Returns</h4>
 <p> true if the value is "fixed".</p>
 <p></p>
 </div>
@@ -2751,7 +2857,7 @@
 <p>Registers functions to perform calculations on <a href="http://library.gnome.org/devel/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.57.8.67.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.75.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2775,7 +2881,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.57.8.68.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.76.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2807,7 +2913,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.57.8.69.6"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.77.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2822,9 +2928,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.69.7"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.77.7"></a><h4>Returns</h4>
 <p> the serialization for <em class="parameter"><code>value</code></em>
-or NULL if none exists. </p>
+or <a href="http://library.gnome.org/devel/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>]</span></p>
 </div>
 </div>
@@ -2835,9 +2941,9 @@
 gst_value_deserialize (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *dest</code></em>,
                        <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *src</code></em>);</pre>
 <p>Tries to deserialize a string into the type specified by the given GValue.
-If the operation succeeds, TRUE is returned, FALSE otherwise.</p>
+If the operation succeeds, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is returned, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.70.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.78.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2860,8 +2966,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.70.6"></a><h4>Returns</h4>
-<p> TRUE on success</p>
+<a name="id-1.3.57.8.78.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
 <p></p>
 </div>
 </div>
@@ -2885,7 +2991,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.57.8.71.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.79.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2907,7 +3013,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.71.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.79.6"></a><h4>Returns</h4>
 <p> comparison result</p>
 <p></p>
 </div>
@@ -2922,7 +3028,7 @@
  and <em class="parameter"><code>value2</code></em>
  can be compared.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.72.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.80.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2944,8 +3050,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.72.6"></a><h4>Returns</h4>
-<p> TRUE if the values can be compared</p>
+<a name="id-1.3.57.8.80.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -2960,7 +3066,7 @@
  and <em class="parameter"><code>value2</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.73.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.81.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2987,8 +3093,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.73.6"></a><h4>Returns</h4>
-<p> TRUE if the union succeeded.</p>
+<a name="id-1.3.57.8.81.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the union succeeded.</p>
 <p></p>
 </div>
 </div>
@@ -3002,13 +3108,13 @@
  and <em class="parameter"><code>value2</code></em>
  can be non-trivially unioned.
 Any two values can be trivially unioned by adding both of them
-to a GstValueList.  However, certain types have the possibility
+to a <span class="type">GstValueList</span>.  However, certain types have the possibility
 to be unioned in a simpler way.  For example, an integer range
 and an integer can be unioned if the integer is a subset of the
 integer range.  If there is the possibility that two values can
-be unioned, this function returns TRUE.</p>
+be unioned, this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.74.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.82.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3030,8 +3136,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.74.6"></a><h4>Returns</h4>
-<p> TRUE if there is a function allowing the two values to
+<a name="id-1.3.57.8.82.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3049,7 +3155,7 @@
 .
 Note that this means subtraction as in sets, not as in mathematics.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.75.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.83.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3060,7 +3166,7 @@
 <tr>
 <td class="parameter_name"><p>dest</p></td>
 <td class="parameter_description"><p> the destination value for the result if the
-subtraction is not empty. May be NULL, in which case the resulting set
+subtraction is not empty. May be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case the resulting set
 will not be computed, which can give a fair speedup. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
 </tr>
@@ -3078,7 +3184,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.75.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.83.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the subtraction is not empty</p>
 <p></p>
 </div>
@@ -3093,7 +3199,7 @@
  from <em class="parameter"><code>minuend</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.76.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.84.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3115,8 +3221,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.76.6"></a><h4>Returns</h4>
-<p> TRUE if a subtraction is possible</p>
+<a name="id-1.3.57.8.84.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a subtraction is possible</p>
 <p></p>
 </div>
 </div>
@@ -3130,11 +3236,11 @@
 <p>Calculates the intersection of two values.  If the values have
 a non-empty intersection, the value representing the intersection
 is placed in <em class="parameter"><code>dest</code></em>
-, unless NULL.  If the intersection is non-empty,
+, unless <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.  If the intersection is non-empty,
 <em class="parameter"><code>dest</code></em>
  is not modified.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.77.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.85.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3145,7 +3251,7 @@
 <tr>
 <td class="parameter_name"><p>dest</p></td>
 <td class="parameter_description"><p> a uninitialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> that will hold the calculated
-intersection value. May be NULL if the resulting set if not needed. </p></td>
+intersection value. May be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the resulting set if not needed. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -3162,8 +3268,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.77.6"></a><h4>Returns</h4>
-<p> TRUE if the intersection is non-empty</p>
+<a name="id-1.3.57.8.85.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3177,7 +3283,7 @@
 Two values will produce a valid intersection if they have the same
 type.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.78.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.86.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3199,8 +3305,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.78.6"></a><h4>Returns</h4>
-<p> TRUE if the values can intersect</p>
+<a name="id-1.3.57.8.86.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the values can intersect</p>
 <p></p>
 </div>
 </div>
@@ -3217,7 +3323,7 @@
  is a subset of <em class="parameter"><code>value2</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.3.57.8.79.6"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.87.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3249,7 +3355,7 @@
  to the GstValueArray in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.80.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.88.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3281,7 +3387,7 @@
  to the GstValueArray in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.81.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.89.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3312,7 +3418,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.57.8.82.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.90.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3327,7 +3433,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.82.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.90.6"></a><h4>Returns</h4>
 <p> the number of values</p>
 <p></p>
 </div>
@@ -3343,7 +3449,7 @@
 has the index <em class="parameter"><code>index</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.83.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.91.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3365,7 +3471,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.83.6"></a><h4>Returns</h4>
+<a name="id-1.3.57.8.91.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>
@@ -3380,7 +3486,7 @@
  to the GstValueArray in <em class="parameter"><code>value</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.84.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.92.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3414,9 +3520,9 @@
 For ranges, the first element is taken. For lists and arrays, the
 first item is fixated and returned.
 If <em class="parameter"><code>src</code></em>
- is already fixed, this function returns FALSE.</p>
+ is already fixed, this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.3.57.8.85.5"></a><h4>Parameters</h4>
+<a name="id-1.3.57.8.93.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3438,8 +3544,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.3.57.8.85.6"></a><h4>Returns</h4>
-<p> true if <em class="parameter"><code>dest</code></em>
+<a name="id-1.3.57.8.93.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -3468,112 +3574,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GST-TYPE-INT-RANGE:CAPS"></a><h3>GST_TYPE_INT_RANGE</h3>
-<pre class="programlisting">#define GST_TYPE_INT_RANGE               gst_int_range_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an integer range</p>
-<div class="refsect3">
-<a name="id-1.3.57.9.3.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-BITMASK:CAPS"></a><h3>GST_TYPE_BITMASK</h3>
-<pre class="programlisting">#define GST_TYPE_BITMASK                 gst_bitmask_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a 64-bit bitmask.</p>
-<div class="refsect3">
-<a name="id-1.3.57.9.4.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/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>
-<div class="refsect2">
-<a name="GST-TYPE-INT64-RANGE:CAPS"></a><h3>GST_TYPE_INT64_RANGE</h3>
-<pre class="programlisting">#define GST_TYPE_INT64_RANGE             gst_int64_range_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/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.57.9.5.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstInt64Range</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-DOUBLE-RANGE:CAPS"></a><h3>GST_TYPE_DOUBLE_RANGE</h3>
-<pre class="programlisting">#define GST_TYPE_DOUBLE_RANGE            gst_double_range_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/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.57.9.6.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-LIST:CAPS"></a><h3>GST_TYPE_LIST</h3>
-<pre class="programlisting">#define GST_TYPE_LIST                    gst_value_list_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an unordered list of <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> values. This
-is used for example to express a list of possible values for a field in
-a caps structure, like a list of possible sample rates, of which only one
-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.57.9.7.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/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>
-<div class="refsect2">
-<a name="GST-TYPE-ARRAY:CAPS"></a><h3>GST_TYPE_ARRAY</h3>
-<pre class="programlisting">#define GST_TYPE_ARRAY                   gst_value_array_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an ordered list of <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> values. This is
-used to express a set of values that is meaningful only in their specific
-combination and order of values. Each value on its own is not particularly
-meaningful, only the ordered array in its entirety is meaningful. This is
-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.57.9.8.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/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>
-<div class="refsect2">
-<a name="GST-TYPE-FRACTION:CAPS"></a><h3>GST_TYPE_FRACTION</h3>
-<pre class="programlisting">#define GST_TYPE_FRACTION                gst_fraction_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/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.57.9.9.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/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>
-<div class="refsect2">
-<a name="GST-TYPE-FRACTION-RANGE:CAPS"></a><h3>GST_TYPE_FRACTION_RANGE</h3>
-<pre class="programlisting">#define GST_TYPE_FRACTION_RANGE            gst_fraction_range_get_type ()
-</pre>
-<p>a <a href="http://library.gnome.org/devel/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.57.9.10.5"></a><h4>Returns</h4>
-<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFractionRange</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GST-VALUE-EQUAL:CAPS"></a><h3>GST_VALUE_EQUAL</h3>
 <pre class="programlisting">#define GST_VALUE_EQUAL                   0
 </pre>
@@ -3609,7 +3609,7 @@
 <p>VTable for the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> <em class="parameter"><code>type</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.3.57.9.14.5"></a><h4>Members</h4>
+<a name="id-1.3.57.9.6.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index fa3d072..6d0d122 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -104,7 +104,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VERSION-MICRO:CAPS"></a><h3>GST_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_VERSION_MICRO (2)
+<pre class="programlisting">#define GST_VERSION_MICRO (3)
 </pre>
 <p>The micro version of GStreamer at compile time:</p>
 </div>
diff --git a/docs/gst/html/gstreamer-device-probing.html b/docs/gst/html/gstreamer-device-probing.html
index 83cab01..e17f19f 100644
--- a/docs/gst/html/gstreamer-device-probing.html
+++ b/docs/gst/html/gstreamer-device-probing.html
@@ -24,16 +24,16 @@
 <a name="gstreamer-device-probing"></a>GStreamer Device Discovery and Device Probing</h1></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gstreamer-GstDevice.html">GstDevice</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gstreamer-GstDevice.html">GstDevice</a></span><span class="refpurpose"> — Object representing a device</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gstreamer-GstDeviceMonitor.html">GstDeviceMonitor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gstreamer-GstDeviceMonitor.html">GstDeviceMonitor</a></span><span class="refpurpose"> — A device monitor and prober</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstDeviceMonitorFactory.html">GstDeviceMonitorFactory</a></span><span class="refpurpose"> — Create GstDeviceMonitors from a factory</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gstreamer-GstGlobalDeviceMonitor.html">GstGlobalDeviceMonitor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gstreamer-GstGlobalDeviceMonitor.html">GstGlobalDeviceMonitor</a></span><span class="refpurpose"> — A global device monitor and prober</span>
 </dt>
 </dl></div>
 </div>
diff --git a/docs/gst/html/gstreamer-hierarchy.html b/docs/gst/html/gstreamer-hierarchy.html
index fd9c1b1..bf059b8 100644
--- a/docs/gst/html/gstreamer-hierarchy.html
+++ b/docs/gst/html/gstreamer-hierarchy.html
@@ -54,6 +54,7 @@
     <span class="lineart">├──</span> <a class="link" href="GstPreset.html" title="GstPreset">GstPreset</a>
     <span class="lineart">╰──</span> <a class="link" href="GstTagSetter.html" title="GstTagSetter">GstTagSetter</a>
     GBoxed
+    <span class="lineart">├──</span> <a class="link" href="GstMemory.html" title="GstMemory">GstMemory</a>
     <span class="lineart">├──</span> <a class="link" href="GstQuery.html" title="GstQuery">GstQuery</a>
     <span class="lineart">├──</span> <a class="link" href="GstStructure.html" title="GstStructure">GstStructure</a>
     <span class="lineart">├──</span> <a class="link" href="GstCaps.html" title="GstCaps">GstCaps</a>
@@ -63,15 +64,14 @@
     <span class="lineart">├──</span> <a class="link" href="GstBuffer.html" title="GstBuffer">GstBuffer</a>
     <span class="lineart">├──</span> <a class="link" href="GstBufferList.html" title="GstBufferList">GstBufferList</a>
     <span class="lineart">├──</span> <a class="link" href="GstSample.html" title="GstSample">GstSample</a>
-    <span class="lineart">├──</span> <a class="link" href="GstSegment.html" title="GstSegment">GstSegment</a>
-    <span class="lineart">├──</span> <a class="link" href="GstTagList.html" title="GstTagList">GstTagList</a>
-    <span class="lineart">├──</span> <a class="link" href="GstDateTime.html" title="GstDateTime">GstDateTime</a>
-    <span class="lineart">├──</span> <a class="link" href="GstAllocator.html#GstAllocationParams">GstAllocationParams</a>
     <span class="lineart">├──</span> <a class="link" href="GstContext.html" title="GstContext">GstContext</a>
-    <span class="lineart">├──</span> <a class="link" href="gstreamer-GstParse.html#GstParseContext">GstParseContext</a>
-    <span class="lineart">├──</span> <a class="link" href="GstMemory.html" title="GstMemory">GstMemory</a>
+    <span class="lineart">├──</span> <a class="link" href="GstDateTime.html" title="GstDateTime">GstDateTime</a>
     <span class="lineart">├──</span> <a class="link" href="GstToc.html" title="GstToc">GstToc</a>
-    <span class="lineart">╰──</span> <a class="link" href="GstToc.html#GstTocEntry">GstTocEntry</a>
+    <span class="lineart">├──</span> <a class="link" href="GstToc.html#GstTocEntry">GstTocEntry</a>
+    <span class="lineart">├──</span> <a class="link" href="GstSegment.html" title="GstSegment">GstSegment</a>
+    <span class="lineart">├──</span> <a class="link" href="GstAllocator.html#GstAllocationParams">GstAllocationParams</a>
+    <span class="lineart">├──</span> <a class="link" href="GstTagList.html" title="GstTagList">GstTagList</a>
+    <span class="lineart">╰──</span> <a class="link" href="gstreamer-GstParse.html#GstParseContext">GstParseContext</a>
 </pre>
 </div>
 <div class="footer">
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index 18b7308..7005ffe 100644
--- a/docs/gst/html/index.html
+++ b/docs/gst/html/index.html
@@ -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.3.2)
+      for GStreamer Core 1.0 (1.3.3)
       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>
@@ -223,16 +223,16 @@
 <dt><span class="chapter"><a href="gstreamer-device-probing.html">GStreamer Device Discovery and Device Probing</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gstreamer-GstDevice.html">GstDevice</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gstreamer-GstDevice.html">GstDevice</a></span><span class="refpurpose"> — Object representing a device</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gstreamer-GstDeviceMonitor.html">GstDeviceMonitor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gstreamer-GstDeviceMonitor.html">GstDeviceMonitor</a></span><span class="refpurpose"> — A device monitor and prober</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstDeviceMonitorFactory.html">GstDeviceMonitorFactory</a></span><span class="refpurpose"> — Create GstDeviceMonitors from a factory</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gstreamer-GstGlobalDeviceMonitor.html">GstGlobalDeviceMonitor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gstreamer-GstGlobalDeviceMonitor.html">GstGlobalDeviceMonitor</a></span><span class="refpurpose"> — A global device monitor and prober</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-support.html">GStreamer Core Support</a></span></dt>
diff --git a/docs/gst/html/index.sgml b/docs/gst/html/index.sgml
index 576d116..938a309 100644
--- a/docs/gst/html/index.sgml
+++ b/docs/gst/html/index.sgml
@@ -232,6 +232,7 @@
 <ANCHOR id="gst-buffer-pool-set-config" href="gstreamer-1.0/GstBufferPool.html#gst-buffer-pool-set-config">
 <ANCHOR id="gst-buffer-pool-set-active" href="gstreamer-1.0/GstBufferPool.html#gst-buffer-pool-set-active">
 <ANCHOR id="gst-buffer-pool-is-active" href="gstreamer-1.0/GstBufferPool.html#gst-buffer-pool-is-active">
+<ANCHOR id="gst-buffer-pool-set-flushing" href="gstreamer-1.0/GstBufferPool.html#gst-buffer-pool-set-flushing">
 <ANCHOR id="gst-buffer-pool-acquire-buffer" href="gstreamer-1.0/GstBufferPool.html#gst-buffer-pool-acquire-buffer">
 <ANCHOR id="gst-buffer-pool-release-buffer" href="gstreamer-1.0/GstBufferPool.html#gst-buffer-pool-release-buffer">
 <ANCHOR id="GstBufferPool.other_details" href="gstreamer-1.0/GstBufferPool.html#GstBufferPool.other_details">
@@ -588,6 +589,7 @@
 <ANCHOR id="GstDateTime.includes" href="gstreamer-1.0/GstDateTime.html#GstDateTime.includes">
 <ANCHOR id="GstDateTime.description" href="gstreamer-1.0/GstDateTime.html#GstDateTime.description">
 <ANCHOR id="GstDateTime.functions_details" href="gstreamer-1.0/GstDateTime.html#GstDateTime.functions_details">
+<ANCHOR id="GST-TYPE-DATE-TIME:CAPS" href="gstreamer-1.0/GstDateTime.html#GST-TYPE-DATE-TIME:CAPS">
 <ANCHOR id="gst-date-time-get-day" href="gstreamer-1.0/GstDateTime.html#gst-date-time-get-day">
 <ANCHOR id="gst-date-time-get-month" href="gstreamer-1.0/GstDateTime.html#gst-date-time-get-month">
 <ANCHOR id="gst-date-time-get-hour" href="gstreamer-1.0/GstDateTime.html#gst-date-time-get-hour">
@@ -618,7 +620,6 @@
 <ANCHOR id="gst-date-time-to-g-date-time" href="gstreamer-1.0/GstDateTime.html#gst-date-time-to-g-date-time">
 <ANCHOR id="GstDateTime.other_details" href="gstreamer-1.0/GstDateTime.html#GstDateTime.other_details">
 <ANCHOR id="GstDateTime-struct" href="gstreamer-1.0/GstDateTime.html#GstDateTime-struct">
-<ANCHOR id="GST-TYPE-DATE-TIME:CAPS" href="gstreamer-1.0/GstDateTime.html#GST-TYPE-DATE-TIME:CAPS">
 <ANCHOR id="GstElement" href="gstreamer-1.0/GstElement.html">
 <ANCHOR id="GstElement.functions" href="gstreamer-1.0/GstElement.html#GstElement.functions">
 <ANCHOR id="GstElement.signals" href="gstreamer-1.0/GstElement.html#GstElement.signals">
@@ -1103,6 +1104,10 @@
 <ANCHOR id="gst-message-parse-context-type" href="gstreamer-1.0/GstMessage.html#gst-message-parse-context-type">
 <ANCHOR id="gst-message-new-have-context" href="gstreamer-1.0/GstMessage.html#gst-message-new-have-context">
 <ANCHOR id="gst-message-parse-have-context" href="gstreamer-1.0/GstMessage.html#gst-message-parse-have-context">
+<ANCHOR id="gst-message-new-device-added" href="gstreamer-1.0/GstMessage.html#gst-message-new-device-added">
+<ANCHOR id="gst-message-new-device-removed" href="gstreamer-1.0/GstMessage.html#gst-message-new-device-removed">
+<ANCHOR id="gst-message-parse-device-added" href="gstreamer-1.0/GstMessage.html#gst-message-parse-device-added">
+<ANCHOR id="gst-message-parse-device-removed" href="gstreamer-1.0/GstMessage.html#gst-message-parse-device-removed">
 <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">
@@ -2354,26 +2359,32 @@
 <ANCHOR id="GST-STR-FOURCC:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-STR-FOURCC:CAPS">
 <ANCHOR id="GST-FOURCC-ARGS:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-FOURCC-ARGS:CAPS">
 <ANCHOR id="GST-VALUE-HOLDS-INT-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-INT-RANGE:CAPS">
+<ANCHOR id="GST-TYPE-INT-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS">
 <ANCHOR id="gst-value-set-int-range" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-int-range">
 <ANCHOR id="gst-value-get-int-range-min" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-int-range-min">
 <ANCHOR id="gst-value-get-int-range-max" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-int-range-max">
 <ANCHOR id="gst-value-set-int-range-step" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-int-range-step">
 <ANCHOR id="gst-value-get-int-range-step" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-int-range-step">
 <ANCHOR id="GST-VALUE-HOLDS-BITMASK:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-BITMASK:CAPS">
+<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-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">
 <ANCHOR id="gst-value-get-int64-range-min" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-int64-range-min">
 <ANCHOR id="gst-value-get-int64-range-max" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-int64-range-max">
 <ANCHOR id="gst-value-set-int64-range-step" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-int64-range-step">
 <ANCHOR id="gst-value-get-int64-range-step" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-int64-range-step">
 <ANCHOR id="GST-VALUE-HOLDS-DOUBLE-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-DOUBLE-RANGE:CAPS">
+<ANCHOR id="GST-TYPE-DOUBLE-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS">
 <ANCHOR id="gst-value-set-double-range" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-double-range">
 <ANCHOR id="gst-value-get-double-range-min" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-double-range-min">
 <ANCHOR id="gst-value-get-double-range-max" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-double-range-max">
 <ANCHOR id="GST-VALUE-HOLDS-LIST:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-LIST:CAPS">
+<ANCHOR id="GST-TYPE-LIST:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-LIST:CAPS">
 <ANCHOR id="GST-VALUE-HOLDS-ARRAY:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-ARRAY:CAPS">
+<ANCHOR id="GST-TYPE-ARRAY:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS">
 <ANCHOR id="gst-value-list-append-value" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-list-append-value">
 <ANCHOR id="gst-value-list-append-and-take-value" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-list-append-and-take-value">
 <ANCHOR id="gst-value-list-prepend-value" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-list-prepend-value">
@@ -2382,12 +2393,14 @@
 <ANCHOR id="gst-value-list-get-size" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-list-get-size">
 <ANCHOR id="gst-value-list-get-value" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-list-get-value">
 <ANCHOR id="GST-VALUE-HOLDS-FRACTION:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-FRACTION:CAPS">
+<ANCHOR id="GST-TYPE-FRACTION:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS">
 <ANCHOR id="gst-value-set-fraction" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-fraction">
 <ANCHOR id="gst-value-get-fraction-numerator" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-fraction-numerator">
 <ANCHOR id="gst-value-get-fraction-denominator" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-fraction-denominator">
 <ANCHOR id="gst-value-fraction-multiply" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-fraction-multiply">
 <ANCHOR id="gst-value-fraction-subtract" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-fraction-subtract">
 <ANCHOR id="GST-VALUE-HOLDS-FRACTION-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-FRACTION-RANGE:CAPS">
+<ANCHOR id="GST-TYPE-FRACTION-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS">
 <ANCHOR id="gst-value-set-fraction-range" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-fraction-range">
 <ANCHOR id="gst-value-get-fraction-range-min" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-fraction-range-min">
 <ANCHOR id="gst-value-get-fraction-range-max" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-fraction-range-max">
@@ -2436,14 +2449,6 @@
 <ANCHOR id="gst-value-fixate" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-fixate">
 <ANCHOR id="gstreamer-GstValue.other_details" href="gstreamer-1.0/gstreamer-GstValue.html#gstreamer-GstValue.other_details">
 <ANCHOR id="GST-FOURCC-FORMAT:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-FOURCC-FORMAT:CAPS">
-<ANCHOR id="GST-TYPE-INT-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS">
-<ANCHOR id="GST-TYPE-BITMASK:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS">
-<ANCHOR id="GST-TYPE-INT64-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS">
-<ANCHOR id="GST-TYPE-DOUBLE-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS">
-<ANCHOR id="GST-TYPE-LIST:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-LIST:CAPS">
-<ANCHOR id="GST-TYPE-ARRAY:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS">
-<ANCHOR id="GST-TYPE-FRACTION:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS">
-<ANCHOR id="GST-TYPE-FRACTION-RANGE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS">
 <ANCHOR id="GST-VALUE-EQUAL:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-EQUAL:CAPS">
 <ANCHOR id="GST-VALUE-GREATER-THAN:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-GREATER-THAN:CAPS">
 <ANCHOR id="GST-VALUE-UNORDERED:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-UNORDERED:CAPS">
@@ -2467,24 +2472,16 @@
 <ANCHOR id="gstreamer-GstDevice.includes" href="gstreamer-1.0/gstreamer-GstDevice.html#gstreamer-GstDevice.includes">
 <ANCHOR id="gstreamer-GstDevice.description" href="gstreamer-1.0/gstreamer-GstDevice.html#gstreamer-GstDevice.description">
 <ANCHOR id="gstreamer-GstDevice.functions_details" href="gstreamer-1.0/gstreamer-GstDevice.html#gstreamer-GstDevice.functions_details">
-<ANCHOR id="GST-DEVICE:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-DEVICE:CAPS">
-<ANCHOR id="GST-DEVICE-CAST:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-DEVICE-CAST:CAPS">
-<ANCHOR id="GST-DEVICE-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-DEVICE-CLASS:CAPS">
-<ANCHOR id="GST-DEVICE-GET-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-DEVICE-GET-CLASS:CAPS">
-<ANCHOR id="GST-IS-DEVICE:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-IS-DEVICE:CAPS">
-<ANCHOR id="GST-IS-DEVICE-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-IS-DEVICE-CLASS:CAPS">
-<ANCHOR id="GST-TYPE-DEVICE:CAPS" href="gstreamer-1.0/gstreamer-GstDevice.html#GST-TYPE-DEVICE:CAPS">
 <ANCHOR id="gst-device-create-element" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-create-element">
 <ANCHOR id="gst-device-get-caps" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-get-caps">
 <ANCHOR id="gst-device-get-display-name" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-get-display-name">
-<ANCHOR id="gst-device-get-klass" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-get-klass">
-<ANCHOR id="gst-device-get-type" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-get-type">
 <ANCHOR id="gst-device-has-classes" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-has-classes">
 <ANCHOR id="gst-device-has-classesv" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-has-classesv">
 <ANCHOR id="gst-device-reconfigure-element" href="gstreamer-1.0/gstreamer-GstDevice.html#gst-device-reconfigure-element">
 <ANCHOR id="gstreamer-GstDevice.other_details" href="gstreamer-1.0/gstreamer-GstDevice.html#gstreamer-GstDevice.other_details">
 <ANCHOR id="GstDevice" href="gstreamer-1.0/gstreamer-GstDevice.html#GstDevice">
 <ANCHOR id="GstDeviceClass" href="gstreamer-1.0/gstreamer-GstDevice.html#GstDeviceClass">
+<ANCHOR id="gstreamer-GstDevice.see-also" href="gstreamer-1.0/gstreamer-GstDevice.html#gstreamer-GstDevice.see-also">
 <ANCHOR id="gstreamer-GstDeviceMonitor" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html">
 <ANCHOR id="gstreamer-GstDeviceMonitor.functions" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.functions">
 <ANCHOR id="gstreamer-GstDeviceMonitor.other" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.other">
@@ -2492,13 +2489,6 @@
 <ANCHOR id="gstreamer-GstDeviceMonitor.includes" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.includes">
 <ANCHOR id="gstreamer-GstDeviceMonitor.description" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.description">
 <ANCHOR id="gstreamer-GstDeviceMonitor.functions_details" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.functions_details">
-<ANCHOR id="GST-DEVICE-MONITOR:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR:CAPS">
-<ANCHOR id="GST-DEVICE-MONITOR-CAST:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CAST:CAPS">
-<ANCHOR id="GST-DEVICE-MONITOR-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-CLASS:CAPS">
-<ANCHOR id="GST-DEVICE-MONITOR-GET-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-DEVICE-MONITOR-GET-CLASS:CAPS">
-<ANCHOR id="GST-IS-DEVICE-MONITOR:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR:CAPS">
-<ANCHOR id="GST-IS-DEVICE-MONITOR-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-IS-DEVICE-MONITOR-CLASS:CAPS">
-<ANCHOR id="GST-TYPE-DEVICE-MONITOR:CAPS" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GST-TYPE-DEVICE-MONITOR:CAPS">
 <ANCHOR id="gst-device-monitor-can-monitor" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-can-monitor">
 <ANCHOR id="gst-device-monitor-class-add-metadata" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-class-add-metadata">
 <ANCHOR id="gst-device-monitor-class-add-static-metadata" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-class-add-static-metadata">
@@ -2510,13 +2500,13 @@
 <ANCHOR id="gst-device-monitor-get-bus" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-bus">
 <ANCHOR id="gst-device-monitor-get-devices" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-devices">
 <ANCHOR id="gst-device-monitor-get-factory" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-factory">
-<ANCHOR id="gst-device-monitor-get-type" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-get-type">
 <ANCHOR id="gst-device-monitor-register" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-register">
 <ANCHOR id="gst-device-monitor-start" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-start">
 <ANCHOR id="gst-device-monitor-stop" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gst-device-monitor-stop">
 <ANCHOR id="gstreamer-GstDeviceMonitor.other_details" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.other_details">
 <ANCHOR id="GstDeviceMonitor" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GstDeviceMonitor">
 <ANCHOR id="GstDeviceMonitorClass" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#GstDeviceMonitorClass">
+<ANCHOR id="gstreamer-GstDeviceMonitor.see-also" href="gstreamer-1.0/gstreamer-GstDeviceMonitor.html#gstreamer-GstDeviceMonitor.see-also">
 <ANCHOR id="GstDeviceMonitorFactory" href="gstreamer-1.0/GstDeviceMonitorFactory.html">
 <ANCHOR id="GstDeviceMonitorFactory.functions" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GstDeviceMonitorFactory.functions">
 <ANCHOR id="GstDeviceMonitorFactory.other" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GstDeviceMonitorFactory.other">
@@ -2524,17 +2514,12 @@
 <ANCHOR id="GstDeviceMonitorFactory.includes" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GstDeviceMonitorFactory.includes">
 <ANCHOR id="GstDeviceMonitorFactory.description" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GstDeviceMonitorFactory.description">
 <ANCHOR id="GstDeviceMonitorFactory.functions_details" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GstDeviceMonitorFactory.functions_details">
-<ANCHOR id="GST-DEVICE-MONITOR-FACTORY:CAPS" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY:CAPS">
-<ANCHOR id="GST-DEVICE-MONITOR-FACTORY-CAST:CAPS" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CAST:CAPS">
-<ANCHOR id="GST-DEVICE-MONITOR-FACTORY-CLASS:CAPS" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GST-DEVICE-MONITOR-FACTORY-CLASS:CAPS">
-<ANCHOR id="GST-TYPE-DEVICE-MONITOR-FACTORY:CAPS" href="gstreamer-1.0/GstDeviceMonitorFactory.html#GST-TYPE-DEVICE-MONITOR-FACTORY:CAPS">
 <ANCHOR id="gst-device-monitor-factory-find" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-find">
 <ANCHOR id="gst-device-monitor-factory-get" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-get">
 <ANCHOR id="gst-device-monitor-factory-get-by-name" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-by-name">
 <ANCHOR id="gst-device-monitor-factory-get-device-monitor-type" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-device-monitor-type">
 <ANCHOR id="gst-device-monitor-factory-get-metadata" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-metadata">
 <ANCHOR id="gst-device-monitor-factory-get-metadata-keys" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-metadata-keys">
-<ANCHOR id="gst-device-monitor-factory-get-type" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-get-type">
 <ANCHOR id="gst-device-monitor-factory-has-classes" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-has-classes">
 <ANCHOR id="gst-device-monitor-factory-has-classesv" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-has-classesv">
 <ANCHOR id="gst-device-monitor-factory-list-get-device-monitors" href="gstreamer-1.0/GstDeviceMonitorFactory.html#gst-device-monitor-factory-list-get-device-monitors">
@@ -2549,18 +2534,10 @@
 <ANCHOR id="gstreamer-GstGlobalDeviceMonitor.includes" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gstreamer-GstGlobalDeviceMonitor.includes">
 <ANCHOR id="gstreamer-GstGlobalDeviceMonitor.description" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gstreamer-GstGlobalDeviceMonitor.description">
 <ANCHOR id="gstreamer-GstGlobalDeviceMonitor.functions_details" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gstreamer-GstGlobalDeviceMonitor.functions_details">
-<ANCHOR id="GST-GLOBAL-DEVICE-MONITOR:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR:CAPS">
-<ANCHOR id="GST-GLOBAL-DEVICE-MONITOR-CAST:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CAST:CAPS">
-<ANCHOR id="GST-GLOBAL-DEVICE-MONITOR-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-CLASS:CAPS">
-<ANCHOR id="GST-GLOBAL-DEVICE-MONITOR-GET-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-GLOBAL-DEVICE-MONITOR-GET-CLASS:CAPS">
-<ANCHOR id="GST-IS-GLOBAL-DEVICE-MONITOR:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR:CAPS">
-<ANCHOR id="GST-IS-GLOBAL-DEVICE-MONITOR-CLASS:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-IS-GLOBAL-DEVICE-MONITOR-CLASS:CAPS">
-<ANCHOR id="GST-TYPE-GLOBAL-DEVICE-MONITOR:CAPS" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GST-TYPE-GLOBAL-DEVICE-MONITOR:CAPS">
 <ANCHOR id="gst-global-device-monitor-get-bus" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-bus">
 <ANCHOR id="gst-global-device-monitor-get-caps-filter" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-caps-filter">
 <ANCHOR id="gst-global-device-monitor-get-classes-filter" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-classes-filter">
 <ANCHOR id="gst-global-device-monitor-get-devices" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-devices">
-<ANCHOR id="gst-global-device-monitor-get-type" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-get-type">
 <ANCHOR id="gst-global-device-monitor-new" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-new">
 <ANCHOR id="gst-global-device-monitor-set-caps-filter" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-caps-filter">
 <ANCHOR id="gst-global-device-monitor-set-classes-filter" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gst-global-device-monitor-set-classes-filter">
@@ -2569,6 +2546,7 @@
 <ANCHOR id="gstreamer-GstGlobalDeviceMonitor.other_details" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gstreamer-GstGlobalDeviceMonitor.other_details">
 <ANCHOR id="GstGlobalDeviceMonitor" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitor">
 <ANCHOR id="GstGlobalDeviceMonitorClass" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#GstGlobalDeviceMonitorClass">
+<ANCHOR id="gstreamer-GstGlobalDeviceMonitor.see-also" href="gstreamer-1.0/gstreamer-GstGlobalDeviceMonitor.html#gstreamer-GstGlobalDeviceMonitor.see-also">
 <ANCHOR id="gstreamer-GstInfo" href="gstreamer-1.0/gstreamer-GstInfo.html">
 <ANCHOR id="gstreamer-GstInfo.functions" href="gstreamer-1.0/gstreamer-GstInfo.html#gstreamer-GstInfo.functions">
 <ANCHOR id="gstreamer-GstInfo.other" href="gstreamer-1.0/gstreamer-GstInfo.html#gstreamer-GstInfo.other">
diff --git a/docs/libs/gstreamer-libs-docs.sgml b/docs/libs/gstreamer-libs-docs.sgml
index 92d25fb..ce87695 100644
--- a/docs/libs/gstreamer-libs-docs.sgml
+++ b/docs/libs/gstreamer-libs-docs.sgml
@@ -44,6 +44,7 @@
       <xi:include href="xml/gstbytereader.xml" />
       <xi:include href="xml/gstbytewriter.xml" />
       <xi:include href="xml/gstcollectpads.xml" />
+      <xi:include href="xml/gstflowcombiner.xml" />
       <xi:include href="xml/gsttypefindhelper.xml" />
       <xi:include href="xml/gstdataqueue.xml" />
       <xi:include href="xml/gstqueuearray.xml" />
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
index fbc0a71..78c32c9 100644
--- a/docs/libs/gstreamer-libs-sections.txt
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -760,6 +760,19 @@
 </SECTION>
 
 <SECTION>
+<FILE>gstflowcombiner</FILE>
+<TITLE>GstFlowCombiner</TITLE>
+<INCLUDE>gst/base/gstflowcombiner.h</INCLUDE>
+gst_flow_combiner_new
+gst_flow_combiner_free
+gst_flow_combiner_update_flow
+gst_flow_combiner_add_pad
+gst_flow_combiner_remove_pad
+<SUBSECTION Standard>
+<SUBSECTION Private>
+</SECTION>
+
+<SECTION>
 <FILE>gstpushsrc</FILE>
 <TITLE>GstPushSrc</TITLE>
 <INCLUDE>gst/base/gstpushsrc.h</INCLUDE>
diff --git a/docs/libs/html/GstAdapter.html b/docs/libs/html/GstAdapter.html
index ff0c888..ec95464 100644
--- a/docs/libs/html/GstAdapter.html
+++ b/docs/libs/html/GstAdapter.html
@@ -304,12 +304,12 @@
 </div>
 
 <p></p>
-<p>For another example, a simple element inside GStreamer that uses GstAdapter
+<p>For another example, a simple element inside GStreamer that uses <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a>
 is the libvisual element.</p>
-<p>An element using GstAdapter in its sink pad chain function should ensure that
+<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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><span class="type">GST_STATE_PAUSED</span></a> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-READY:CAPS"><span class="type">GST_STATE_READY</span></a>.</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
@@ -322,16 +322,16 @@
 last seen timestamp and the amount of bytes since.  Additionally, the
 <a class="link" href="GstAdapter.html#gst-adapter-prev-pts-at-offset" title="gst_adapter_prev_pts_at_offset ()"><code class="function">gst_adapter_prev_pts_at_offset()</code></a> can be used to determine the last
 seen timestamp at a particular offset in the adapter.</p>
-<p>A last thing to note is that while GstAdapter is pretty optimized,
+<p>A last thing to note is that while <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> is pretty optimized,
 merging buffers still might be an operation that requires a <code class="function">malloc()</code> and
 <code class="function">memcpy()</code> operation, and these operations are not the fastest. Because of
 this, some functions like <a class="link" href="GstAdapter.html#gst-adapter-available-fast" title="gst_adapter_available_fast ()"><code class="function">gst_adapter_available_fast()</code></a> are provided to help
 speed up such cases should you want to. To avoid repeated memory allocations,
 <a class="link" href="GstAdapter.html#gst-adapter-copy" title="gst_adapter_copy ()"><code class="function">gst_adapter_copy()</code></a> can be used to copy data into a (statically allocated)
 user provided buffer.</p>
-<p>GstAdapter is not MT safe. All operations on an adapter must be serialized by
+<p><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> is not MT safe. All operations on an adapter must be serialized by
 the caller. This is not normally a problem, however, as the normal use case
-of GstAdapter is inside one pad's chain function, in which case access is
+of <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> is inside one pad's chain function, in which case access is
 serialized via the pad's STREAM_LOCK.</p>
 <p>Note that <a class="link" href="GstAdapter.html#gst-adapter-push" title="gst_adapter_push ()"><code class="function">gst_adapter_push()</code></a> takes ownership of the buffer passed. Use
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> before pushing it into the adapter if you still want to
@@ -425,7 +425,7 @@
 <a class="link" href="GstAdapter.html#gst-adapter-take" title="gst_adapter_take ()"><code class="function">gst_adapter_take()</code></a>, which returns a freshly-allocated buffer that you can set
 as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> memory or the potentially more performant
 <a class="link" href="GstAdapter.html#gst-adapter-take-buffer" title="gst_adapter_take_buffer ()"><code class="function">gst_adapter_take_buffer()</code></a>.</p>
-<p>Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>size</code></em>
+<p>Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>size</code></em>
  bytes are not available.</p>
 <div class="refsect3">
 <a name="id-1.2.4.8.8.5.7"></a><h4>Parameters</h4>
@@ -452,7 +452,7 @@
 <div class="refsect3">
 <a name="id-1.2.4.8.8.5.8"></a><h4>Returns</h4>
 <p>    a pointer to the first <em class="parameter"><code>size</code></em>
-bytes of data, or NULL. </p>
+bytes of data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></p>
 </div>
 </div>
@@ -489,8 +489,7 @@
 <p>Copies <em class="parameter"><code>size</code></em>
  bytes of data starting at <em class="parameter"><code>offset</code></em>
  out of the buffers
-contained in <em class="parameter"><code>GstAdapter</code></em>
- into an array <em class="parameter"><code>dest</code></em>
+contained in <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> into an array <em class="parameter"><code>dest</code></em>
  provided by the caller.</p>
 <p>The array <em class="parameter"><code>dest</code></em>
  should be large enough to contain <em class="parameter"><code>size</code></em>
@@ -623,7 +622,7 @@
 gst_adapter_available (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);</pre>
 <p>Gets the maximum amount of bytes available, that is it returns the maximum
 value that can be supplied to <a class="link" href="GstAdapter.html#gst-adapter-map" title="gst_adapter_map ()"><code class="function">gst_adapter_map()</code></a> without that function
-returning NULL.</p>
+returning <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.2.4.8.8.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -713,7 +712,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.8.8.12.8"></a><h4>Returns</h4>
-<p>    oven-fresh hot data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em>
+<p>    oven-fresh hot data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>nbytes</code></em>
 bytes are not available. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=nbytes][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></p>
 </div>
@@ -765,7 +764,7 @@
 <a name="id-1.2.4.8.8.13.9"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em>
 of
-the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em>
+the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>nbytes</code></em>
 bytes are not available.
 <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>]</span></p>
@@ -821,7 +820,7 @@
 <a name="id-1.2.4.8.8.14.10"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em>
 of
-the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em>
+the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>nbytes</code></em>
 bytes are not available.
 <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>]</span></p>
@@ -868,7 +867,7 @@
 <a name="id-1.2.4.8.8.15.7"></a><h4>Returns</h4>
 <p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of buffers
 containing the first <em class="parameter"><code>nbytes</code></em>
-of the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em>
+of the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>nbytes</code></em>
 bytes
 are not available. </p>
 <p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Buffer][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -904,7 +903,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>distance</p></td>
-<td class="parameter_description"><p> pointer to location for distance, or NULL. </p></td>
+<td class="parameter_description"><p> pointer to location for distance, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -946,7 +945,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>distance</p></td>
-<td class="parameter_description"><p> pointer to location for distance, or NULL. </p></td>
+<td class="parameter_description"><p> pointer to location for distance, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -995,7 +994,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>distance</p></td>
-<td class="parameter_description"><p> pointer to location for distance, or NULL. </p></td>
+<td class="parameter_description"><p> pointer to location for distance, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -1045,7 +1044,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>distance</p></td>
-<td class="parameter_description"><p> pointer to location for distance, or NULL. </p></td>
+<td class="parameter_description"><p> pointer to location for distance, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -1079,7 +1078,7 @@
 adapter for it to match, even if the first or last bytes are masked out.</p>
 <p>It is an error to call this function without making sure that there is
 enough data (offset+size bytes) in the adapter.</p>
-<p>This function calls <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32-peek" title="gst_adapter_masked_scan_uint32_peek ()"><code class="function">gst_adapter_masked_scan_uint32_peek()</code></a> passing NULL
+<p>This function calls <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32-peek" title="gst_adapter_masked_scan_uint32_peek ()"><code class="function">gst_adapter_masked_scan_uint32_peek()</code></a> passing <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 for value.</p>
 <div class="refsect3">
 <a name="id-1.2.4.8.8.20.8"></a><h4>Parameters</h4>
diff --git a/docs/libs/html/GstBaseParse.html b/docs/libs/html/GstBaseParse.html
index a5d91ea..468d87f 100644
--- a/docs/libs/html/GstBaseParse.html
+++ b/docs/libs/html/GstBaseParse.html
@@ -304,22 +304,22 @@
 <p class="title"><b>Set-up phase</b></p>
 <ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem"><p>
-    GstBaseParse calls <em class="parameter"><code>start</code></em> to inform subclass that data processing is
+    <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> calls <em class="parameter"><code>start</code></em> to inform subclass that data processing is
     about to start now.
   </p></li>
 <li class="listitem"><p>
-    GstBaseParse class calls <em class="parameter"><code>set_sink_caps</code></em> to inform the subclass about
+    <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> class calls <em class="parameter"><code>set_sink_caps</code></em> to inform the subclass about
     incoming sinkpad caps. Subclass could already set the srcpad caps
     accordingly, but this might be delayed until calling
     <a class="link" href="GstBaseParse.html#gst-base-parse-finish-frame" title="gst_base_parse_finish_frame ()"><code class="function">gst_base_parse_finish_frame()</code></a> with a non-queued frame.
   </p></li>
 <li class="listitem"><p>
-     At least at this point subclass needs to tell the GstBaseParse class
+     At least at this point subclass needs to tell the <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> class
      how big data chunks it wants to receive (min_frame_size). It can do
      this with <a class="link" href="GstBaseParse.html#gst-base-parse-set-min-frame-size" title="gst_base_parse_set_min_frame_size ()"><code class="function">gst_base_parse_set_min_frame_size()</code></a>.
   </p></li>
 <li class="listitem"><p>
-     GstBaseParse class sets up appropriate data passing mode (pull/push)
+     <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> class sets up appropriate data passing mode (pull/push)
      and starts to process the data.
   </p></li>
 </ul>
@@ -328,7 +328,7 @@
 <p class="title"><b>Parsing phase</b></p>
 <ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem"><p>
-      GstBaseParse gathers at least min_frame_size bytes of data either
+      <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> gathers at least min_frame_size bytes of data either
       by pulling it from upstream or collecting buffers in an internal
       <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a>.
     </p></li>
@@ -357,7 +357,7 @@
 <p>
       Subclass is also responsible for setting the buffer metadata
       (e.g. buffer timestamp and duration, or keyframe if applicable).
-      (although the latter can also be done by GstBaseParse if it is
+      (although the latter can also be done by <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> if it is
       appropriately configured, see below).  Frame is provided with
       timestamp derived from upstream (as much as generally possible),
       duration obtained from configuration (see below), and offset
@@ -376,7 +376,7 @@
       events, or to perform custom (segment) filtering.
     </p></li>
 <li class="listitem"><p>
-      During the parsing process GstBaseParseClass will handle both srcpad
+      During the parsing process <a class="link" href="GstBaseParse.html#GstBaseParseClass" title="struct GstBaseParseClass"><span class="type">GstBaseParseClass</span></a> will handle both srcpad
       and sinkpad events. They will be passed to subclass if <em class="parameter"><code>event</code></em> or
       <em class="parameter"><code>src_event</code></em> callbacks have been provided.
     </p></li>
@@ -385,7 +385,7 @@
 <li class="listitem"><div class="itemizedlist">
 <p class="title"><b>Shutdown phase</b></p>
 <ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-    GstBaseParse class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
+    <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
     parsing will be stopped.
   </p></li></ul>
 </div></li>
@@ -395,11 +395,11 @@
 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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> 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
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><span class="type">GST_FORMAT_TIME</span></a> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> 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>GstBaseParse uses subclasses conversion methods also for seeking (or
+<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>
 <p>Subclass <em class="parameter"><code>start</code></em>
  and <em class="parameter"><code>stop</code></em>
@@ -435,10 +435,10 @@
 <li class="listitem"><p>
      In particular, if subclass is unable to determine a duration, but
      parsing (or specs) yields a frames per seconds rate, then this can be
-     provided to GstBaseParse to enable it to cater for
+     provided to <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> to enable it to cater for
      buffer time metadata (which will be taken from upstream as much as
      possible). Internally keeping track of frame durations and respective
-     sizes that have been pushed provides GstBaseParse with an estimated
+     sizes that have been pushed provides <a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> with an estimated
      bitrate. A default <em class="parameter"><code>convert</code></em> (used if not overridden) will then use these
      rates to perform obvious conversions.  These rates are also used to
      update (estimated) duration at regular frame intervals.
@@ -831,7 +831,7 @@
                                  <em class="parameter"><code><span class="type">gsize</span> offset</code></em>);</pre>
 <p>This function should only be called from a <em class="parameter"><code>handle_frame</code></em>
  implementation.</p>
-<p>GstBaseParse creates initial timestamps for frames by using the last
+<p><a class="link" href="GstBaseParse.html" title="GstBaseParse"><span class="type">GstBaseParse</span></a> creates initial timestamps for frames by using the last
 timestamp seen in the stream before the frame starts.  In certain
 cases, the correct timestamps will occur in the stream after the
 start of the frame, but before the start of the actual picture data.
@@ -910,7 +910,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.3.9.13.6"></a><h4>Returns</h4>
-<p> TRUE if conversion was successful.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if conversion was successful.</p>
 <p></p>
 </div>
 </div>
@@ -1574,11 +1574,11 @@
 <div class="refsect2">
 <a name="GstBaseParse--disable-passthrough"></a><h3>The <code class="literal">“disable-passthrough”</code> property</h3>
 <pre class="programlisting">  “disable-passthrough”      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, baseparse will unconditionally force parsing of the
+<p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, baseparse will unconditionally force parsing of the
 incoming data. This can be required in the rare cases where the incoming
 side-data (caps, pts, dts, ...) is not trusted by the user and wants to
 force validation and parsing of the incoming data.
-If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, decision of whether to parse the data or not is up to
+If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, decision of whether to parse the data or not is up to
 the implementation (standard behaviour).</p>
 <p>Flags: Read / Write</p>
 <p>Default value: FALSE</p>
diff --git a/docs/libs/html/GstBaseSink.html b/docs/libs/html/GstBaseSink.html
index 7f59329..d8ed1a6 100644
--- a/docs/libs/html/GstBaseSink.html
+++ b/docs/libs/html/GstBaseSink.html
@@ -460,7 +460,7 @@
   GstElementClass <span class="gtkdoc opt">*</span>gstelement_class <span class="gtkdoc opt">=</span> <span class="function">GST_ELEMENT_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">);</span>
 
   <span class="gtkdoc slc">// sinktemplate should be a #GstStaticPadTemplate with direction</span>
-  <span class="gtkdoc slc">// #GST_PAD_SINK and name &quot;sink&quot;</span>
+  <span class="gtkdoc slc">// %GST_PAD_SINK and name &quot;sink&quot;</span>
   <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
       <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>sinktemplate<span class="gtkdoc opt">));</span>
 
@@ -477,13 +477,13 @@
 
 <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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-CHANGE-ASYNC:CAPS"><span class="type">GST_STATE_CHANGE_ASYNC</span></a> 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>
 <p>When the element is set to PLAYING, <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will synchronise on the
 clock using the times returned from <a class="link" href="GstBaseSink.html#GstBaseSinkClass.get-times"><code class="function">GstBaseSinkClass.get_times()</code></a>. If this
-function returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a> for the start time, no synchronisation
+function returns <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> for the start time, no synchronisation
 will be done. Synchronisation can be disabled entirely by setting the object
 <a class="link" href="GstBaseSink.html#GstBaseSink--sync" title="The “sync” property"><span class="type">“sync”</span></a> property to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>After synchronisation the virtual method <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> will be
@@ -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 <span class="type">GST_EVENT_SEGMENT</span> events to schedule
+<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
 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
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><span class="type">GST_FORMAT_TIME</span></a> 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
@@ -558,14 +558,14 @@
                              <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> *max_latency</code></em>);</pre>
 <p>Query the sink for the latency parameters. The latency will be queried from
 the upstream elements. <em class="parameter"><code>live</code></em>
- will be TRUE if <em class="parameter"><code>sink</code></em>
+ will be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>sink</code></em>
  is configured to
 synchronize against the clock. <em class="parameter"><code>upstream_live</code></em>
- will be TRUE if an upstream
+ will be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if an upstream
 element is live.</p>
 <p>If both <em class="parameter"><code>live</code></em>
  and <em class="parameter"><code>upstream_live</code></em>
- are TRUE, the sink will want to compensate
+ are <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the sink will want to compensate
 for the latency introduced by the upstream elements by setting the
 <em class="parameter"><code>min_latency</code></em>
  to a strictly positive value.</p>
@@ -609,7 +609,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.2.8"></a><h4>Returns</h4>
-<p> TRUE if the query succeeded.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query succeeded.</p>
 <p></p>
 </div>
 </div>
@@ -676,7 +676,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.4.7"></a><h4>Returns</h4>
-<p> <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> 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>
@@ -720,7 +720,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>jitter</p></td>
-<td class="parameter_description"><p> the jitter to be filled with time diff, or NULL. </p></td>
+<td class="parameter_description"><p> the jitter to be filled with time diff, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -741,9 +741,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 <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>) 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 <span class="type">GST_FLOW_FLUSHING</span>).</p>
+returns <code class="literal">GST_FLOW_FLUSHING</code>).</p>
 <p>This function should only be called with the PREROLL_LOCK held, like in the
 render function.</p>
 <div class="refsect3">
@@ -763,7 +763,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.6.8"></a><h4>Returns</h4>
-<p> <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> 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>
@@ -779,9 +779,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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> 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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> 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
@@ -811,7 +811,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>jitter</p></td>
-<td class="parameter_description"><p> the jitter to be filled with time diff, or NULL. </p></td>
+<td class="parameter_description"><p> the jitter to be filled with time diff, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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>
@@ -832,9 +832,9 @@
 <p>Configures <em class="parameter"><code>sink</code></em>
  to synchronize on the clock or not. When
 <em class="parameter"><code>sync</code></em>
- is FALSE, incoming samples will be played as fast as
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, incoming samples will be played as fast as
 possible. If <em class="parameter"><code>sync</code></em>
- is TRUE, the timestamps of the incoming
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the timestamps of the incoming
 buffers will be used to schedule the exact render time of its
 contents.</p>
 <div class="refsect3">
@@ -885,7 +885,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.9.6"></a><h4>Returns</h4>
-<p> TRUE if the sink is configured to synchronize against the clock.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1009,7 +1009,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.13.6"></a><h4>Returns</h4>
-<p> TRUE if the sink is configured to perform Quality-of-Service.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1072,7 +1072,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.15.6"></a><h4>Returns</h4>
-<p> TRUE if the sink is configured to perform asynchronous state
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1235,7 +1235,7 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.9.20.8"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="type">GstSample</span></a>. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html#gst-sample-unref"><code class="function">gst_sample_unref()</code></a> after usage.
-This function returns NULL when no buffer has arrived in the sink yet
+This function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when no buffer has arrived in the sink yet
 or when the sink is not in PAUSED or PLAYING. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -1478,7 +1478,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.5.9.28.6"></a><h4>Returns</h4>
-<p> TRUE if the sink is configured to store the last received sample.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1754,8 +1754,8 @@
 <div class="refsect2">
 <a name="GstBaseSink--async"></a><h3>The <code class="literal">“async”</code> property</h3>
 <pre class="programlisting">  “async”                    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, the basesink will perform asynchronous state changes.
-When set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, the sink will not signal the parent when it prerolls.
+<p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the basesink will perform asynchronous state changes.
+When set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, the sink will not signal the parent when it prerolls.
 Use this option when dealing with sparse streams or when synchronisation is
 not required.</p>
 <p>Flags: Read / Write</p>
@@ -1773,9 +1773,9 @@
 <div class="refsect2">
 <a name="GstBaseSink--enable-last-sample"></a><h3>The <code class="literal">“enable-last-sample”</code> property</h3>
 <pre class="programlisting">  “enable-last-sample”       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Enable the last-sample property. If FALSE, basesink doesn't keep a
+<p>Enable the last-sample property. If <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, basesink doesn't keep a
 reference to the last buffer arrived and the last-sample property is always
-set to NULL. This can be useful if you need buffers to be released as soon
+set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. This can be useful if you need buffers to be released as soon
 as possible, eg. if you're using a buffer pool.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: TRUE</p>
@@ -1786,7 +1786,7 @@
 <pre class="programlisting">  “last-sample”              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="type">GstSample</span></a> *</pre>
 <p>The last buffer that arrived in the sink and was used for preroll or for
 rendering. This property can be used to generate thumbnails. This property
-can be NULL when the sink has not yet received a buffer.</p>
+can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the sink has not yet received a buffer.</p>
 <p>Flags: Read</p>
 </div>
 <hr>
diff --git a/docs/libs/html/GstBaseSrc.html b/docs/libs/html/GstBaseSrc.html
index 39cacb2..bbc80e1 100644
--- a/docs/libs/html/GstBaseSrc.html
+++ b/docs/libs/html/GstBaseSrc.html
@@ -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 <span class="type">GST_EVENT_SEGMENT</span>
-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"><span class="type">GST_FORMAT_BYTES</span></a>.</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 <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 <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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a> (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="http://library.gnome.org/devel/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
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>:</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="http://library.gnome.org/devel/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
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS"><span class="type">GST_STATE_CHANGE_NO_PREROLL</span></a>.</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
@@ -384,7 +384,7 @@
 <span class="gtkdoc opt">{</span>
   GstElementClass <span class="gtkdoc opt">*</span>gstelement_class <span class="gtkdoc opt">=</span> <span class="function">GST_ELEMENT_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">);</span>
   <span class="gtkdoc slc">// srctemplate should be a #GstStaticPadTemplate with direction</span>
-  <span class="gtkdoc slc">// #GST_PAD_SRC and name &quot;src&quot;</span>
+  <span class="gtkdoc slc">// %GST_PAD_SRC and name &quot;src&quot;</span>
   <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
       <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>srctemplate<span class="gtkdoc opt">));</span>
 
@@ -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
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"><span class="type">GST_MESSAGE_SEGMENT_DONE</span></a> on the bus). This can typically be done
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-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 <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>) 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 <span class="type">GST_FLOW_FLUSHING</span>).</p>
+returns <code class="literal">GST_FLOW_FLUSHING</code>).</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,7 +453,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.4.9.2.7"></a><h4>Returns</h4>
-<p> <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> 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>
@@ -592,7 +592,7 @@
 <p>Sets the default format of the source. This will be the format used
 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 TRUE.</p>
+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="http://library.gnome.org/devel/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; <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>
@@ -626,7 +626,7 @@
                             <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> *min_latency</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> *max_latency</code></em>);</pre>
 <p>Query the source for the latency parameters. <em class="parameter"><code>live</code></em>
- will be TRUE when <em class="parameter"><code>src</code></em>
+ will be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>src</code></em>
  is
 configured as a live source. <em class="parameter"><code>min_latency</code></em>
  will be set to the difference
@@ -668,7 +668,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.4.9.8.7"></a><h4>Returns</h4>
-<p> TRUE if the query succeeded.</p>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query succeeded.</p>
 <p></p>
 </div>
 </div>
@@ -1267,11 +1267,12 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstBaseSrcClass.prepare-seek-segment"></a>prepare_seek_segment</code></em> ()</p></td>
-<td class="struct_member_description"><p>Prepare the GstSegment that will be passed to the
-do_seek vmethod for executing a seek request. Sub-classes should override
-this if they support seeking in formats other than the configured native
-format. By default, it tries to convert the seek arguments to the
-configured native format and prepare a segment in that format.</p></td>
+<td class="struct_member_description"><p>Prepare the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html"><span class="type">GstSegment</span></a> that will be passed to the
+<a class="link" href="GstBaseSrc.html#GstBaseSrcClass.do-seek"><code class="function">GstBaseSrcClass.do_seek()</code></a> vmethod for executing a seek
+request. Sub-classes should override this if they support seeking in
+formats other than the configured native format. By default, it tries to
+convert the seek arguments to the configured native format and prepare a
+segment in that format.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
@@ -1281,19 +1282,19 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstBaseSrcClass.unlock"></a>unlock</code></em> ()</p></td>
-<td class="struct_member_description"><p>Unlock any pending access to the resource. Subclasses should
-unblock any blocked function ASAP. In particular, any <code class="function">create()</code> function in
+<td class="struct_member_description"><p>Unlock any pending access to the resource. Subclasses should unblock
+any blocked function ASAP. In particular, any <code class="function">create()</code> function in
 progress should be unblocked and should return GST_FLOW_FLUSHING. Any
-future <em class="parameter"><code>create</code></em>
-() function call should also return GST_FLOW_FLUSHING
-until the <em class="parameter"><code>unlock_stop</code></em>
-() function has been called.</p></td>
+future <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.create"><code class="function">GstBaseSrcClass.create()</code></a> function call should also return
+GST_FLOW_FLUSHING until the <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.unlock-stop"><code class="function">GstBaseSrcClass.unlock_stop()</code></a> function has
+been called.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstBaseSrcClass.unlock-stop"></a>unlock_stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>Clear the previous unlock request. Subclasses should clear
-any state they set during <code class="function">unlock()</code>, such as clearing command queues.</p></td>
+<td class="struct_member_description"><p>Clear the previous unlock request. Subclasses should clear any
+state they set during <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.unlock"><code class="function">GstBaseSrcClass.unlock()</code></a>, such as clearing command
+queues.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
@@ -1308,15 +1309,13 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstBaseSrcClass.create"></a>create</code></em> ()</p></td>
-<td class="struct_member_description"><p>Ask the subclass to create a buffer with offset and size.
-When the subclass returns GST_FLOW_OK, it MUST return a buffer of the
-requested size unless fewer bytes are available because an EOS condition
-is near. No buffer should be returned when the return value is different
-from GST_FLOW_OK. A return value of GST_FLOW_EOS signifies that the
-end of stream is reached. The default implementation will call <em class="parameter"><code>alloc</code></em>
-and
-then call <em class="parameter"><code>fill</code></em>
-.</p></td>
+<td class="struct_member_description"><p>Ask the subclass to create a buffer with offset and size.  When the
+subclass returns GST_FLOW_OK, it MUST return a buffer of the requested size
+unless fewer bytes are available because an EOS condition is near. No
+buffer should be returned when the return value is different from
+GST_FLOW_OK. A return value of GST_FLOW_EOS signifies that the end of
+stream is reached. The default implementation will call
+<a class="link" href="GstBaseSrc.html#GstBaseSrcClass.alloc"><code class="function">GstBaseSrcClass.alloc()</code></a> and then call <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.fill"><code class="function">GstBaseSrcClass.fill()</code></a>.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
diff --git a/docs/libs/html/GstBaseTransform.html b/docs/libs/html/GstBaseTransform.html
index 2f733f2..7ff610e 100644
--- a/docs/libs/html/GstBaseTransform.html
+++ b/docs/libs/html/GstBaseTransform.html
@@ -254,14 +254,14 @@
     intact.
   </p></li>
 <li class="listitem"><p>
-    On the GstBaseTransformClass is the passthrough_on_same_caps variable
-    which will automatically set/unset passthrough based on whether the
+    The <a class="link" href="GstBaseTransform.html#GstBaseTransformClass.passthrough-on-same-caps"><span class="type">GstBaseTransformClass.passthrough_on_same_caps</span></a> variable
+    will automatically set/unset passthrough based on whether the
     element negotiates the same caps on both pads.
   </p></li>
 <li class="listitem"><p>
-    passthrough_on_same_caps on an element that doesn't implement a
-    transform_caps function is useful for elements that only inspect data
-    (such as level)
+    <a class="link" href="GstBaseTransform.html#GstBaseTransformClass.passthrough-on-same-caps"><span class="type">GstBaseTransformClass.passthrough_on_same_caps</span></a> on an element that
+    doesn't implement a transform_caps function is useful for elements that
+    only inspect data (such as level)
   </p></li>
 </ul>
 </div>
@@ -295,7 +295,7 @@
     immediately.  </p></li>
 <li class="listitem"><p>
     only implementing transform_ip and not transform implies always_in_place
-    = TRUE
+    = <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
   </p></li>
 </ul>
 </div>
@@ -321,7 +321,7 @@
 <li class="listitem"><p>
     Elements wishing to operate in this mode should replace the
     prepare_output_buffer method to create subbuffers of the input buffer
-    and set always_in_place to TRUE
+    and set always_in_place to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
   </p></li>
 </ul>
 </div>
@@ -411,10 +411,10 @@
       to the transform_ip function.
     </p></li>
 <li class="listitem"><p>
-      Implied TRUE if no transform function is implemented.
+      Implied <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if no transform function is implemented.
     </p></li>
 <li class="listitem"><p>
-      Implied FALSE if ONLY transform function is implemented.
+      Implied <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if ONLY transform function is implemented.
     </p></li>
 </ul>
 </div>
@@ -451,7 +451,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.6.9.2.6"></a><h4>Returns</h4>
-<p> TRUE is the transform is configured in passthrough mode.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -464,7 +464,7 @@
                                     <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> passthrough</code></em>);</pre>
 <p>Set passthrough mode for this filter by default. This is mostly
 useful for filters that do not care about negotiation.</p>
-<p>Always TRUE for filters which don't implement either a transform
+<p>Always <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for filters which don't implement either a transform
 or transform_ip method.</p>
 <p>MT safe.</p>
 <div class="refsect3">
@@ -556,7 +556,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.6.9.5.6"></a><h4>Returns</h4>
-<p> TRUE is the transform is configured in in_place mode.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -570,8 +570,8 @@
 <p>Determines whether a non-writable buffer will be copied before passing
 to the transform_ip function.</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">Always TRUE if no transform function is implemented.</li>
-<li class="listitem">Always FALSE if ONLY transform function is implemented.</li>
+<li class="listitem">Always <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if no transform function is implemented.</li>
+<li class="listitem">Always <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if ONLY transform function is implemented.</li>
 </ul></div>
 <p>MT safe.</p>
 <div class="refsect3">
@@ -621,7 +621,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.6.9.7.6"></a><h4>Returns</h4>
-<p> TRUE if QoS is enabled.</p>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -1074,8 +1074,8 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstBaseTransformClass.filter-meta"></a>filter_meta</code></em> ()</p></td>
-<td class="struct_member_description"><p>Return TRUE if the metadata API should be proposed in the
-upstream allocation query. The default implementation is NULL
+<td class="struct_member_description"><p>Return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata API should be proposed in the
+upstream allocation query. The default implementation is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 and will cause all metadata to be removed.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -1084,7 +1084,7 @@
 <td class="struct_member_description"><p>Propose buffer allocation parameters for upstream elements.
 This function must be implemented if the element reads or
 writes the buffer content. The query that was passed to
-the decide_allocation is passed in this method (or NULL
+the decide_allocation is passed in this method (or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 when the element is in passthrough mode). The default
 implementation will pass the query downstream when in
 passthrough mode and will copy all the filtered metadata
@@ -1158,9 +1158,9 @@
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstBaseTransformClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
 <td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
-output buffer. By default this method is NULL and no
+output buffer. By default this method is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and no
 metadata is copied. subclasses can implement this method and
-return TRUE if the metadata is to be copied.</p></td>
+return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be copied.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
diff --git a/docs/libs/html/GstCollectPads.html b/docs/libs/html/GstCollectPads.html
index 0c9a4cc..b6bdea9 100644
--- a/docs/libs/html/GstCollectPads.html
+++ b/docs/libs/html/GstCollectPads.html
@@ -7,7 +7,7 @@
 <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-GstTypeFindHelper.html" title="GstTypeFindHelper">
+<link rel="next" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">
 <meta name="generator" content="GTK-Doc V1.20 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,7 +21,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-base.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gstreamer-libs-GstByteWriter.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gstreamer-libs-GstTypeFindHelper.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gstreamer-libs-GstFlowCombiner.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="GstCollectPads"></a><div class="titlepage"></div>
@@ -403,8 +403,8 @@
 <li class="listitem"><p>
     Data can be dequeued from the pad with the <a class="link" href="GstCollectPads.html#gst-collect-pads-pop" title="gst_collect_pads_pop ()"><code class="function">gst_collect_pads_pop()</code></a> method.
     One can peek at the data with the <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()"><code class="function">gst_collect_pads_peek()</code></a> function.
-    These functions will return NULL if the pad received an EOS event. When all
-    pads return NULL from a <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()"><code class="function">gst_collect_pads_peek()</code></a>, the element can emit an EOS
+    These functions will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the pad received an EOS event. When all
+    pads return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> from a <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()"><code class="function">gst_collect_pads_peek()</code></a>, the element can emit an EOS
     event itself.
   </p></li>
 <li class="listitem"><p>
@@ -460,9 +460,9 @@
                                  <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                  <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>A function that will be called when a (considered oldest) buffer can be muxed.
-If all pads have reached EOS, this function is called with NULL <em class="parameter"><code>buffer</code></em>
+If all pads have reached EOS, this function is called with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>buffer</code></em>
 
-and NULL <em class="parameter"><code>data</code></em>
+and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>data</code></em>
 .</p>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.3.5"></a><h4>Parameters</h4>
@@ -498,7 +498,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.3.6"></a><h4>Returns</h4>
-<p> <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> for success</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>
 <p></p>
 </div>
 </div>
@@ -795,7 +795,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.9.6"></a><h4>Returns</h4>
-<p> <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> for success</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>
 <p></p>
 </div>
 </div>
@@ -989,7 +989,7 @@
 <p>MT safe.</p>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.17.6"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>, or NULL in case of an error. </p>
+<p> a new <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -1063,7 +1063,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.4.12.8.18.11"></a><h4>Returns</h4>
-<p> a new <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> to identify the new pad. Or NULL
+<p> a new <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> to identify the new pad. Or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 if wrong parameters are supplied.</p>
 <p></p>
 </div>
@@ -1275,7 +1275,7 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.24.7"></a><h4>Returns</h4>
 <p> The buffer in <em class="parameter"><code>data</code></em>
-or NULL if no buffer is queued.
+or <a href="http://library.gnome.org/devel/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>
@@ -1317,7 +1317,7 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.25.7"></a><h4>Returns</h4>
 <p> The buffer in <em class="parameter"><code>data</code></em>
-or NULL if no buffer was
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no buffer was
 queued. You should unref the buffer 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>
@@ -1366,7 +1366,7 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.26.8"></a><h4>Returns</h4>
 <p> A sub buffer. The size of the buffer can be less that requested.
-A return of NULL signals that the pad is end-of-stream.
+A return of <a href="http://library.gnome.org/devel/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><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -1416,7 +1416,7 @@
 <div class="refsect3">
 <a name="id-1.2.4.12.8.27.8"></a><h4>Returns</h4>
 <p> A sub buffer. The size of the buffer can be less that requested.
-A return of NULL signals that the pad is end-of-stream.
+A return of <a href="http://library.gnome.org/devel/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>
@@ -1478,7 +1478,7 @@
                                 <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstQuery.html"><span class="type">GstQuery</span></a> *query</code></em>,
                                 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> discard</code></em>);</pre>
-<p>Default GstCollectPads query handling that elements should always
+<p>Default <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> query handling that elements should always
 chain up to to ensure proper operation.  Element might however indicate
 query should not be forwarded downstream.</p>
 <div class="refsect3">
@@ -1522,7 +1522,7 @@
                                 <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html"><span class="type">GstEvent</span></a> *event</code></em>,
                                 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> discard</code></em>);</pre>
-<p>Default GstCollectPads event handling that elements should always
+<p>Default <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> event handling that elements should always
 chain up to to ensure proper operation.  Element might however indicate
 event should not be forwarded downstream.</p>
 <div class="refsect3">
@@ -1565,7 +1565,7 @@
 gst_collect_pads_src_event_default (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</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>,
                                     <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html"><span class="type">GstEvent</span></a> *event</code></em>);</pre>
-<p>Default GstCollectPads event handling for the src pad of elements.
+<p>Default <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> event handling for the src pad of elements.
 Elements can chain up to this to let flushing seek event handling
 be done by GstCollectPads.</p>
 <div class="refsect3">
@@ -1605,7 +1605,7 @@
                                       <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectPadsBufferFunction" title="GstCollectPadsBufferFunction ()"><span class="type">GstCollectPadsBufferFunction</span></a> func</code></em>,
                                       <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Set the callback function and user data that will be called with
-the oldest buffer when all pads have been collected, or NULL on EOS.
+the oldest buffer when all pads have been collected, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on EOS.
 If a buffer is passed, the callback owns a reference and must unref
 it.</p>
 <p>MT safe.</p>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 7d7a18d..9f6d52c 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -1121,11 +1121,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-libs-GstByteReader.html#GST-BYTE-READER-INIT:CAPS" title="GST_BYTE_READER_INIT()">GST_BYTE_READER_INIT</a>, macro in <a class="link" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">GstByteReader</a>
+<a class="link" href="gstreamer-libs-GstByteReader.html#gst-byte-reader-init" title="gst_byte_reader_init ()">gst_byte_reader_init</a>, function in <a class="link" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">GstByteReader</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-libs-GstByteReader.html#gst-byte-reader-init" title="gst_byte_reader_init ()">gst_byte_reader_init</a>, function in <a class="link" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">GstByteReader</a>
+<a class="link" href="gstreamer-libs-GstByteReader.html#GST-BYTE-READER-INIT:CAPS" title="GST_BYTE_READER_INIT()">GST_BYTE_READER_INIT</a>, macro in <a class="link" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">GstByteReader</a>
 </dt>
 <dd></dd>
 <dt>
@@ -2028,6 +2028,26 @@
 <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-message-error" title="fail_unless_message_error()">fail_unless_message_error</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
 </dt>
 <dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-add-pad" title="gst_flow_combiner_add_pad ()">gst_flow_combiner_add_pad</a>, function in <a class="link" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">GstFlowCombiner</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-free" title="gst_flow_combiner_free ()">gst_flow_combiner_free</a>, function in <a class="link" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">GstFlowCombiner</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-new" title="gst_flow_combiner_new ()">gst_flow_combiner_new</a>, function in <a class="link" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">GstFlowCombiner</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-remove-pad" title="gst_flow_combiner_remove_pad ()">gst_flow_combiner_remove_pad</a>, function in <a class="link" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">GstFlowCombiner</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-update-flow" title="gst_flow_combiner_update_flow ()">gst_flow_combiner_update_flow</a>, function in <a class="link" href="gstreamer-libs-GstFlowCombiner.html" title="GstFlowCombiner">GstFlowCombiner</a>
+</dt>
+<dd></dd>
 <a name="idxI"></a><h3 class="title">I</h3>
 <dt>
 <a class="link" href="GstInterpolationControlSource.html#GstInterpolationControlSource-struct" title="struct GstInterpolationControlSource">GstInterpolationControlSource</a>, struct in <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">GstInterpolationControlSource</a>
diff --git a/docs/libs/html/gstreamer-base.html b/docs/libs/html/gstreamer-base.html
index 18aaf1c..cdcb3c0 100644
--- a/docs/libs/html/gstreamer-base.html
+++ b/docs/libs/html/gstreamer-base.html
@@ -56,6 +56,9 @@
 <span class="refentrytitle"><a href="GstCollectPads.html">GstCollectPads</a></span><span class="refpurpose"> — manages a set of pads that operate in collect mode</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstFlowCombiner.html">GstFlowCombiner</a></span><span class="refpurpose"> — Utility to combine multiple flow returns into one</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gstreamer-libs-GstTypeFindHelper.html">GstTypeFindHelper</a></span><span class="refpurpose"> — Utility functions for typefinding</span>
 </dt>
 <dt>
diff --git a/docs/libs/html/gstreamer-libs-1.0.devhelp2 b/docs/libs/html/gstreamer-libs-1.0.devhelp2
index c771320..f753ba1 100644
--- a/docs/libs/html/gstreamer-libs-1.0.devhelp2
+++ b/docs/libs/html/gstreamer-libs-1.0.devhelp2
@@ -14,6 +14,7 @@
         <sub name="GstByteReader" link="gstreamer-libs-GstByteReader.html"/>
         <sub name="GstByteWriter" link="gstreamer-libs-GstByteWriter.html"/>
         <sub name="GstCollectPads" link="GstCollectPads.html"/>
+        <sub name="GstFlowCombiner" link="gstreamer-libs-GstFlowCombiner.html"/>
         <sub name="GstTypeFindHelper" link="gstreamer-libs-GstTypeFindHelper.html"/>
         <sub name="GstDataQueue" link="gstreamer-libs-GstDataQueue.html"/>
         <sub name="GstQueueArray" link="gstreamer-libs-GstQueueArray.html"/>
@@ -461,6 +462,11 @@
     <keyword type="struct" name="struct GstCollectPads" link="GstCollectPads.html#GstCollectPads-struct"/>
     <keyword type="struct" name="struct GstCollectData" link="GstCollectPads.html#GstCollectData"/>
     <keyword type="enum" name="enum GstCollectPadsStateFlags" link="GstCollectPads.html#GstCollectPadsStateFlags"/>
+    <keyword type="function" name="gst_flow_combiner_new ()" link="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-new" since="1.4"/>
+    <keyword type="function" name="gst_flow_combiner_free ()" link="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-free" since="1.4"/>
+    <keyword type="function" name="gst_flow_combiner_update_flow ()" link="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-update-flow" since="1.4"/>
+    <keyword type="function" name="gst_flow_combiner_add_pad ()" link="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-add-pad" since="1.4"/>
+    <keyword type="function" name="gst_flow_combiner_remove_pad ()" link="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-remove-pad" since="1.4"/>
     <keyword type="function" name="gst_type_find_helper ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper"/>
     <keyword type="function" name="gst_type_find_helper_for_buffer ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-buffer"/>
     <keyword type="function" name="gst_type_find_helper_for_extension ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension"/>
diff --git a/docs/libs/html/gstreamer-libs-GstDataQueue.html b/docs/libs/html/gstreamer-libs-GstDataQueue.html
index aba94d5..06476d6 100644
--- a/docs/libs/html/gstreamer-libs-GstDataQueue.html
+++ b/docs/libs/html/gstreamer-libs-GstDataQueue.html
@@ -215,7 +215,7 @@
 <p>The prototype of the function used to inform the queue that it should be
 considered as full.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -252,8 +252,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.2.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the queue should be considered full.</p>
+<a name="id-1.2.4.15.8.2.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -286,7 +286,7 @@
 or <em class="parameter"><code>emptycallback</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.5.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -312,15 +312,18 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>checkdata</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> that will be given in the <em class="parameter"><code>checkfull</code></em>
-callback.</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> that will be passed to the <em class="parameter"><code>checkfull</code></em>
+, <em class="parameter"><code>fullcallback</code></em>
+,
+and <em class="parameter"><code>emptycallback</code></em>
+callbacks.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.5.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.15.8.5.6"></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>
@@ -343,11 +346,11 @@
 and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push-event"><code class="function">gst_pad_push_event()</code></a>: this function only takes ownership of <em class="parameter"><code>item</code></em>
  and
 the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> contained in <em class="parameter"><code>item</code></em>
- if the push was successful. If FALSE
+ if the push was successful. If <a href="http://library.gnome.org/devel/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>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.6.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.6.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -369,8 +372,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.6.7"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the <em class="parameter"><code>item</code></em>
+<a name="id-1.2.4.15.8.6.7"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -394,11 +397,11 @@
 and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push-event"><code class="function">gst_pad_push_event()</code></a>: this function only takes ownership of <em class="parameter"><code>item</code></em>
  and
 the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> contained in <em class="parameter"><code>item</code></em>
- if the push was successful. If FALSE
+ if the push was successful. If <a href="http://library.gnome.org/devel/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>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.7.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.7.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -420,8 +423,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.7.7"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the <em class="parameter"><code>item</code></em>
+<a name="id-1.2.4.15.8.7.7"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -442,7 +445,7 @@
  is set to the flushing state.
 MT safe.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -464,8 +467,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.8.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if an <em class="parameter"><code>item</code></em>
+<a name="id-1.2.4.15.8.8.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -486,7 +489,7 @@
  is set to the flushing state.
 MT safe.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -508,8 +511,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.9.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if an <em class="parameter"><code>item</code></em>
+<a name="id-1.2.4.15.8.9.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -526,7 +529,7 @@
 <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>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.10.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -549,16 +552,16 @@
 gst_data_queue_set_flushing (<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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);</pre>
 <p>Sets the queue to flushing state if <em class="parameter"><code>flushing</code></em>
- is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>. If set to flushing
+ is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. If set to flushing
 state, any incoming data on the <em class="parameter"><code>queue</code></em>
  will be discarded. Any call currently
 blocking on <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> or <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 return straight
-away with a return value of <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>. While the <em class="parameter"><code>queue</code></em>
+away with a return value of <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>. While the <em class="parameter"><code>queue</code></em>
  is in flushing state, 
-all calls to those two functions will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
+all calls to those two functions will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
 <p>MT Safe.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.11.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.11.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -589,7 +592,7 @@
                           <em class="parameter"><code><a href="http://library.gnome.org/devel/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="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.12.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.12.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -611,8 +614,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.12.6"></a><h4>Returns</h4>
-<p> TRUE if an element was removed.</p>
+<a name="id-1.2.4.15.8.12.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -628,7 +631,7 @@
 .
 MT safe.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.13.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.13.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -643,8 +646,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.13.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>queue</code></em>
+<a name="id-1.2.4.15.8.13.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -659,7 +662,7 @@
 .
 MT safe.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.14.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.14.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -674,8 +677,8 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.14.6"></a><h4>Returns</h4>
-<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>queue</code></em>
+<a name="id-1.2.4.15.8.14.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/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>
@@ -689,7 +692,7 @@
                           <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>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.15.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.15.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -720,7 +723,7 @@
 <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>
 <div class="refsect3">
-<a name="id-1.2.4.14.8.16.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.15.8.16.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -747,7 +750,7 @@
 </pre>
 <p>Opaque <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> structure.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.9.2.5"></a><h4>Members</h4>
+<a name="id-1.2.4.15.9.2.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
@@ -773,7 +776,7 @@
 </pre>
 <p>Structure describing the size of a queue.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.9.3.5"></a><h4>Members</h4>
+<a name="id-1.2.4.15.9.3.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
@@ -816,7 +819,7 @@
 <p>Structure used by <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>. You can supply a different structure, as
 long as the top of the structure is identical to this structure.</p>
 <div class="refsect3">
-<a name="id-1.2.4.14.9.4.5"></a><h4>Members</h4>
+<a name="id-1.2.4.15.9.4.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
@@ -837,12 +840,12 @@
 <tr>
 <td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="GstDataQueueItem.duration"></a>duration</code></em>;</p></td>
 <td class="struct_member_description"><p>the duration in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> of the miniobject. Can not be
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>.</p></td>
+<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>.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
 <td class="struct_member_name"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstDataQueueItem.visible"></a>visible</code></em>;</p></td>
-<td class="struct_member_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>object</code></em>
+<td class="struct_member_description"><p><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>object</code></em>
 should be considered as a visible object.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
diff --git a/docs/libs/html/gstreamer-libs-GstFlowCombiner.html b/docs/libs/html/gstreamer-libs-GstFlowCombiner.html
new file mode 100644
index 0000000..0681a96
--- /dev/null
+++ b/docs/libs/html/gstreamer-libs-GstFlowCombiner.html
@@ -0,0 +1,274 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GStreamer 1.0 Library Reference Manual: GstFlowCombiner</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.20 (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="10"><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-GstFlowCombiner.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 
+                  <a href="#gstreamer-libs-GstFlowCombiner.object-hierarchy" class="shortcut">Object Hierarchy</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-base.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="GstCollectPads.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gstreamer-libs-GstTypeFindHelper.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gstreamer-libs-GstFlowCombiner"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gstreamer-libs-GstFlowCombiner.top_of_page"></a>GstFlowCombiner</span></h2>
+<p>GstFlowCombiner — Utility to combine multiple flow returns into one</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstFlowCombiner.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">
+<span class="returnvalue">GstFlowCombiner</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-new" title="gst_flow_combiner_new ()">gst_flow_combiner_new</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-GstFlowCombiner.html#gst-flow-combiner-free" title="gst_flow_combiner_free ()">gst_flow_combiner_free</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/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-update-flow" title="gst_flow_combiner_update_flow ()">gst_flow_combiner_update_flow</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-GstFlowCombiner.html#gst-flow-combiner-add-pad" title="gst_flow_combiner_add_pad ()">gst_flow_combiner_add_pad</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-GstFlowCombiner.html#gst-flow-combiner-remove-pad" title="gst_flow_combiner_remove_pad ()">gst_flow_combiner_remove_pad</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstFlowCombiner.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstFlowCombiner.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/base/gstflowcombiner.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstFlowCombiner.description"></a><h2>Description</h2>
+<p>Utility struct to help handling <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> combination. Useful for
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>s that have multiple source pads and need to combine
+the different <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> for those pads.</p>
+<p><span class="type">GstFlowCombiner</span> works by using the last <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> for all <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>
+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 <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>
+<p>None of these functions will take refs on the passed <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>s, it
+is the caller's responsibility to make sure that the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> exists as long
+as this struct exists.</p>
+<p>Aside from reducing the user's code size, the main advantage of using this
+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><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><code class="literal">GST_FLOW_FLUSHING</code>: 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><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">
+<a name="gstreamer-libs-GstFlowCombiner.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-flow-combiner-new"></a><h3>gst_flow_combiner_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">GstFlowCombiner</span> *
+gst_flow_combiner_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <span class="type">GstFlowCombiner</span>, use <a class="link" href="gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-free" title="gst_flow_combiner_free ()"><code class="function">gst_flow_combiner_free()</code></a> to free it.</p>
+<div class="refsect3">
+<a name="id-1.2.4.13.7.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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-flow-combiner-free"></a><h3>gst_flow_combiner_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_flow_combiner_free (<em class="parameter"><code><span class="type">GstFlowCombiner</span> *combiner</code></em>);</pre>
+<p>Frees a <span class="type">GstFlowCombiner</span> struct and all its internal data.</p>
+<div class="refsect3">
+<a name="id-1.2.4.13.7.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>combiner</p></td>
+<td class="parameter_description"><p>the <span class="type">GstFlowCombiner</span> to free</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-flow-combiner-update-flow"></a><h3>gst_flow_combiner_update_flow ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
+gst_flow_combiner_update_flow (<em class="parameter"><code><span class="type">GstFlowCombiner</span> *combiner</code></em>,
+                               <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> fret</code></em>);</pre>
+<p>Computes the combined flow return for the pads in it.</p>
+<p>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> paramter should be the last flow return update for a pad
+in this <span class="type">GstFlowCombiner</span>. It will use this value to be able to shortcut some
+combinations and avoid looking over all pads again. e.g. The last combined
+return is the same as the latest obtained <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.13.7.4.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>combiner</p></td>
+<td class="parameter_description"><p>the <span class="type">GstFlowCombiner</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>fret</p></td>
+<td class="parameter_description"><p>the latest <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> received for a pad in this <span class="type">GstFlowCombiner</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.4.13.7.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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-flow-combiner-add-pad"></a><h3>gst_flow_combiner_add_pad ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_flow_combiner_add_pad (<em class="parameter"><code><span class="type">GstFlowCombiner</span> *combiner</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>Adds a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> to the <span class="type">GstFlowCombiner</span>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.13.7.5.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>combiner</p></td>
+<td class="parameter_description"><p>the <span class="type">GstFlowCombiner</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pad</p></td>
+<td class="parameter_description"><p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> that is being added. </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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-flow-combiner-remove-pad"></a><h3>gst_flow_combiner_remove_pad ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_flow_combiner_remove_pad (<em class="parameter"><code><span class="type">GstFlowCombiner</span> *combiner</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>Removes a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> from the <span class="type">GstFlowCombiner</span>.</p>
+<div class="refsect3">
+<a name="id-1.2.4.13.7.6.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>combiner</p></td>
+<td class="parameter_description"><p>the <span class="type">GstFlowCombiner</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pad</p></td>
+<td class="parameter_description"><p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> to remove. </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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.4</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstFlowCombiner.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>
+          Generated by GTK-Doc V1.20</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 3ff1cba..99cd128 100644
--- a/docs/libs/html/gstreamer-libs-GstQueueArray.html
+++ b/docs/libs/html/gstreamer-libs-GstQueueArray.html
@@ -154,7 +154,7 @@
 queue size of <em class="parameter"><code>initial_size</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -169,7 +169,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.2.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.2.6"></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>
@@ -183,7 +183,7 @@
 <p>Frees queue <em class="parameter"><code>array</code></em>
  and all memory associated to it.</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.3.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -207,7 +207,7 @@
 <p>Returns the length of the queue <em class="parameter"><code>array</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.4.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -222,7 +222,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.4.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.4.6"></a><h4>Returns</h4>
 <p> the length of the queue <em class="parameter"><code>array</code></em>
 .</p>
 <p></p>
@@ -238,7 +238,7 @@
  and removes
 it from the queue.</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.5.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -253,7 +253,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.5.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.5.6"></a><h4>Returns</h4>
 <p> The head of the queue</p>
 <p></p>
 </div>
@@ -268,7 +268,7 @@
  and does not
 remove it from the queue.</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.6.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -283,7 +283,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.6.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.6.6"></a><h4>Returns</h4>
 <p> The head of the queue</p>
 <p></p>
 </div>
@@ -299,7 +299,7 @@
  to the tail of the queue <em class="parameter"><code>array</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -330,7 +330,7 @@
 <p>Checks if the queue <em class="parameter"><code>array</code></em>
  is empty.</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -345,7 +345,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.8.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.8.6"></a><h4>Returns</h4>
 <p> <a href="http://library.gnome.org/devel/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>
@@ -362,7 +362,7 @@
  from queue <em class="parameter"><code>array</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -384,7 +384,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.9.6"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.9.6"></a><h4>Returns</h4>
 <p> the dropped element</p>
 <p></p>
 </div>
@@ -409,7 +409,7 @@
 <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>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.10.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.16.8.10.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -437,7 +437,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.15.8.10.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.16.8.10.7"></a><h4>Returns</h4>
 <p> Index of the found element or -1 if nothing was found.</p>
 <p></p>
 </div>
diff --git a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
index 847b780..af1cf7e 100644
--- a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
+++ b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.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="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
-<link rel="prev" href="GstCollectPads.html" title="GstCollectPads">
+<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.20 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -20,7 +20,7 @@
 </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-base.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="GstCollectPads.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gstreamer-libs-GstFlowCombiner.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gstreamer-libs-GstDataQueue.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -118,7 +118,7 @@
 <p>Tries to find what type of data is flowing from the given source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>.</p>
 <p>Free-function: gst_caps_unref</p>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.14.7.2.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -140,9 +140,9 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.2.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.14.7.2.7"></a><h4>Returns</h4>
 <p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to the data stream.
-Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> matches the data stream. </p>
+Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> matches the data stream. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
@@ -157,14 +157,14 @@
 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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><span class="type">GST_TYPE_FIND_MAXIMUM</span></a>,
+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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if
+and the caps with the highest probability will be returned, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
 the content of the buffer could not be identified.</p>
 <p>Free-function: gst_caps_unref</p>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.3.7"></a><h4>Parameters</h4>
+<a name="id-1.2.4.14.7.3.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -174,7 +174,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>obj</p></td>
-<td class="parameter_description"><p> object doing the typefinding, or NULL (used for logging). </p></td>
+<td class="parameter_description"><p> object doing the typefinding, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (used for logging). </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -185,15 +185,15 @@
 <tr>
 <td class="parameter_name"><p>prob</p></td>
 <td class="parameter_description"><p> location to store the probability of the found
-caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. </p></td>
+caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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.2.4.13.7.3.8"></a><h4>Returns</h4>
-<p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
+<a name="id-1.2.4.14.7.3.8"></a><h4>Returns</h4>
+<p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 if no type could be found. The caller should free the caps returned
 with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -213,7 +213,7 @@
 returned.</p>
 <p>Free-function: gst_caps_unref</p>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.4.7"></a><h4>Parameters</h4>
+<a name="id-1.2.4.14.7.4.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -223,7 +223,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>obj</p></td>
-<td class="parameter_description"><p> object doing the typefinding, or NULL (used for logging). </p></td>
+<td class="parameter_description"><p> object doing the typefinding, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (used for logging). </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -235,10 +235,10 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.4.8"></a><h4>Returns</h4>
+<a name="id-1.2.4.14.7.4.8"></a><h4>Returns</h4>
 <p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to <em class="parameter"><code>extension</code></em>
 , or
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no type could be found. The caller should free the caps
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no type could be found. The caller should free the caps
 returned with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></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>
@@ -256,15 +256,15 @@
 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 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><span class="type">GST_TYPE_FIND_MAXIMUM</span></a>,
+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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if
+and the caps with the highest probability will be returned, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
 the content of <em class="parameter"><code>data</code></em>
  could not be identified.</p>
 <p>Free-function: gst_caps_unref</p>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.5.7"></a><h4>Parameters</h4>
+<a name="id-1.2.4.14.7.5.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -274,7 +274,7 @@
 <tbody>
 <tr>
 <td class="parameter_name"><p>obj</p></td>
-<td class="parameter_description"><p> object doing the typefinding, or NULL (used for logging). </p></td>
+<td class="parameter_description"><p> object doing the typefinding, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (used for logging). </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -291,15 +291,15 @@
 <tr>
 <td class="parameter_name"><p>prob</p></td>
 <td class="parameter_description"><p> location to store the probability of the found
-caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. </p></td>
+caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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.2.4.13.7.5.8"></a><h4>Returns</h4>
-<p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
+<a name="id-1.2.4.14.7.5.8"></a><h4>Returns</h4>
+<p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 if no type could be found. The caller should free the caps returned
 with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -323,7 +323,7 @@
 return value.</p>
 <p>This function is supposed to behave exactly like a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstPadGetRangeFunction"><span class="type">GstPadGetRangeFunction</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.6.6"></a><h4>Parameters</h4>
+<a name="id-1.2.4.14.7.6.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -339,7 +339,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>obj</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -361,7 +361,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.6.7"></a><h4>Returns</h4>
+<a name="id-1.2.4.14.7.6.7"></a><h4>Returns</h4>
 <p> GST_FLOW_OK for success</p>
 <p></p>
 </div>
@@ -386,12 +386,12 @@
 callback can then call the upstream peer pad with offsets adjusted for the
 tag size, for example).</p>
 <p>When <em class="parameter"><code>extension</code></em>
- is not NULL, this function will first try the typefind
+ is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, this function will first try the typefind
 functions for the given extension, which might speed up the typefinding
 in many cases.</p>
 <p>Free-function: gst_caps_unref</p>
 <div class="refsect3">
-<a name="id-1.2.4.13.7.7.7"></a><h4>Parameters</h4>
+<a name="id-1.2.4.14.7.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -408,7 +408,7 @@
 <tr>
 <td class="parameter_name"><p>parent</p></td>
 <td class="parameter_description"><p> the parent of <em class="parameter"><code>obj</code></em>
-or NULL. </p></td>
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -430,16 +430,16 @@
 <tr>
 <td class="parameter_name"><p>prob</p></td>
 <td class="parameter_description"><p> location to store the probability of the found
-caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. </p></td>
+caps, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </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.2.4.13.7.7.8"></a><h4>Returns</h4>
+<a name="id-1.2.4.14.7.7.8"></a><h4>Returns</h4>
 <p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> corresponding to the data stream.
-Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> matches the data stream. </p>
+Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> matches the data stream. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs.html b/docs/libs/html/gstreamer-libs.html
index 4505d88..d8f6dcf 100644
--- a/docs/libs/html/gstreamer-libs.html
+++ b/docs/libs/html/gstreamer-libs.html
@@ -60,6 +60,9 @@
 <span class="refentrytitle"><a href="GstCollectPads.html">GstCollectPads</a></span><span class="refpurpose"> — manages a set of pads that operate in collect mode</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstFlowCombiner.html">GstFlowCombiner</a></span><span class="refpurpose"> — Utility to combine multiple flow returns into one</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gstreamer-libs-GstTypeFindHelper.html">GstTypeFindHelper</a></span><span class="refpurpose"> — Utility functions for typefinding</span>
 </dt>
 <dt>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index fdad30d..cd3556a 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -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.3.2)
+      for GStreamer Library 1.0 (1.3.3)
       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>
@@ -60,6 +60,9 @@
 <span class="refentrytitle"><a href="GstCollectPads.html">GstCollectPads</a></span><span class="refpurpose"> — manages a set of pads that operate in collect mode</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstFlowCombiner.html">GstFlowCombiner</a></span><span class="refpurpose"> — Utility to combine multiple flow returns into one</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gstreamer-libs-GstTypeFindHelper.html">GstTypeFindHelper</a></span><span class="refpurpose"> — Utility functions for typefinding</span>
 </dt>
 <dt>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index f2ab5a2..70354d7 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -505,6 +505,18 @@
 <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="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.object-hierarchy" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.object-hierarchy">
+<ANCHOR id="gstreamer-libs-GstFlowCombiner.includes" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.includes">
+<ANCHOR id="gstreamer-libs-GstFlowCombiner.description" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.description">
+<ANCHOR id="gstreamer-libs-GstFlowCombiner.functions_details" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.functions_details">
+<ANCHOR id="gst-flow-combiner-new" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-new">
+<ANCHOR id="gst-flow-combiner-free" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-free">
+<ANCHOR id="gst-flow-combiner-update-flow" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-update-flow">
+<ANCHOR id="gst-flow-combiner-add-pad" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-add-pad">
+<ANCHOR id="gst-flow-combiner-remove-pad" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gst-flow-combiner-remove-pad">
+<ANCHOR id="gstreamer-libs-GstFlowCombiner.other_details" href="gstreamer-libs-1.0/gstreamer-libs-GstFlowCombiner.html#gstreamer-libs-GstFlowCombiner.other_details">
 <ANCHOR id="gstreamer-libs-GstTypeFindHelper" href="gstreamer-libs-1.0/gstreamer-libs-GstTypeFindHelper.html">
 <ANCHOR id="gstreamer-libs-GstTypeFindHelper.functions" href="gstreamer-libs-1.0/gstreamer-libs-GstTypeFindHelper.html#gstreamer-libs-GstTypeFindHelper.functions">
 <ANCHOR id="gstreamer-libs-GstTypeFindHelper.object-hierarchy" href="gstreamer-libs-1.0/gstreamer-libs-GstTypeFindHelper.html#gstreamer-libs-GstTypeFindHelper.object-hierarchy">
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index 54aa747..834c3f3 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.3.2</td>
+<td>1.3.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 90c8933..ead4d8e 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -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.3.2)
+      for GStreamer Core Plugins 1.0 (1.3.3)
       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>
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index 67f7b7b..8f8ef79 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -3,7 +3,7 @@
   <description>GStreamer core elements</description>
   <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
   <basename>libgstcoreelements.so</basename>
-  <version>1.3.2</version>
+  <version>1.3.3</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/gst/Makefile.am b/gst/Makefile.am
index 7bf1860..86d226e 100644
--- a/gst/Makefile.am
+++ b/gst/Makefile.am
@@ -282,6 +282,7 @@
 
 gir_headers=$(patsubst %,$(srcdir)/%, $(libgstreamer_@GST_API_VERSION@include_HEADERS))
 gir_headers+=$(patsubst %,$(builddir)/%, $(built_header_make))
+gir_headers+=$(patsubst %,$(builddir)/%, gstversion.h)
 gir_sources=$(patsubst %,$(srcdir)/%, $(libgstreamer_@GST_API_VERSION@_la_SOURCES))
 gir_sources+=$(patsubst %,$(builddir)/%, $(built_source_make))
 
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 83a34bc..eb59429 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -872,7 +872,8 @@
 @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, \
 @HAVE_INTROSPECTION_TRUE@	$(libgstreamer_@GST_API_VERSION@include_HEADERS)) \
 @HAVE_INTROSPECTION_TRUE@	$(patsubst %,$(builddir)/%, \
-@HAVE_INTROSPECTION_TRUE@	$(built_header_make))
+@HAVE_INTROSPECTION_TRUE@	$(built_header_make)) $(patsubst \
+@HAVE_INTROSPECTION_TRUE@	%,$(builddir)/%, gstversion.h)
 @HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, \
 @HAVE_INTROSPECTION_TRUE@	$(libgstreamer_@GST_API_VERSION@_la_SOURCES)) \
 @HAVE_INTROSPECTION_TRUE@	$(patsubst %,$(builddir)/%, \
diff --git a/gst/gst.c b/gst/gst.c
index e6e7ec5..f160772 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -53,7 +53,7 @@
  * </programlisting>
  * </example>
  *
- * It's allowed to pass two NULL pointers to gst_init() in case you don't want
+ * It's allowed to pass two %NULL pointers to gst_init() in case you don't want
  * to pass the command line args to GStreamer.
  *
  * You can also use GOption to initialize your own parameters as shown in
@@ -400,7 +400,7 @@
  * Use this function to check if GStreamer has been initialized with gst_init()
  * or gst_init_check().
  *
- * Returns: TRUE if initialization has been done, FALSE otherwise.
+ * Returns: %TRUE if initialization has been done, %FALSE otherwise.
  */
 gboolean
 gst_is_initialized (void)
@@ -566,6 +566,7 @@
 
   _priv_gst_mini_object_initialize ();
   _priv_gst_quarks_initialize ();
+  _priv_gst_allocator_initialize ();
   _priv_gst_memory_initialize ();
   _priv_gst_format_initialize ();
   _priv_gst_query_initialize ();
@@ -573,6 +574,7 @@
   _priv_gst_caps_initialize ();
   _priv_gst_caps_features_initialize ();
   _priv_gst_meta_initialize ();
+  _priv_gst_message_initialize ();
 
   g_type_class_ref (gst_object_get_type ());
   g_type_class_ref (gst_pad_get_type ());
@@ -670,11 +672,12 @@
 
   _priv_gst_event_initialize ();
   _priv_gst_buffer_initialize ();
-  _priv_gst_message_initialize ();
   _priv_gst_buffer_list_initialize ();
   _priv_gst_sample_initialize ();
-  _priv_gst_value_initialize ();
   _priv_gst_context_initialize ();
+  _priv_gst_date_time_initialize ();
+  _priv_gst_toc_initialize ();
+  _priv_gst_value_initialize ();
 
   g_type_class_ref (gst_param_spec_fraction_get_type ());
   _priv_gst_tag_initialize ();
@@ -693,7 +696,7 @@
    * gstreamer as being initialized, since it is the case from a plugin point of
    * view.
    *
-   * If anything fails, it will be put back to FALSE in gst_init_check().
+   * If anything fails, it will be put back to %FALSE in gst_init_check().
    * This allows some special plugins that would call gst_init() to not cause a
    * looping effect (i.e. initializing GStreamer twice).
    */
diff --git a/gst/gst_private.h b/gst/gst_private.h
index d610560..e85d5c5 100644
--- a/gst/gst_private.h
+++ b/gst/gst_private.h
@@ -104,6 +104,8 @@
 /* init functions called from gst_init(). */
 G_GNUC_INTERNAL  void  _priv_gst_quarks_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_mini_object_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_memory_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_allocator_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_buffer_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_buffer_list_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_structure_initialize (void);
@@ -112,7 +114,6 @@
 G_GNUC_INTERNAL  void  _priv_gst_event_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_format_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_message_initialize (void);
-G_GNUC_INTERNAL  void  _priv_gst_memory_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_meta_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_plugin_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_query_initialize (void);
@@ -121,6 +122,8 @@
 G_GNUC_INTERNAL  void  _priv_gst_value_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_debug_init (void);
 G_GNUC_INTERNAL  void  _priv_gst_context_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_toc_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_date_time_initialize (void);
 
 /* Private registry functions */
 G_GNUC_INTERNAL
diff --git a/gst/gstallocator.c b/gst/gstallocator.c
index a61f2f8..cbcb1e4 100644
--- a/gst/gstallocator.c
+++ b/gst/gstallocator.c
@@ -25,7 +25,7 @@
  * @see_also: #GstMemory
  *
  * Memory is usually created by allocators with a gst_allocator_alloc()
- * method call. When NULL is used as the allocator, the default allocator will
+ * method call. When %NULL is used as the allocator, the default allocator will
  * be used.
  *
  * New allocators can be registered with gst_allocator_register().
@@ -218,10 +218,10 @@
  * gst_allocator_find:
  * @name: (allow-none): the name of the allocator
  *
- * Find a previously registered allocator with @name. When @name is NULL, the
+ * Find a previously registered allocator with @name. When @name is %NULL, the
  * default allocator will be returned.
  *
- * Returns: (transfer full): a #GstAllocator or NULL when the allocator with @name was not
+ * Returns: (transfer full): a #GstAllocator or %NULL when the allocator with @name was not
  * registered. Use gst_object_unref() to release the allocator after usage.
  */
 GstAllocator *
@@ -274,13 +274,13 @@
  * @size big.
  *
  * The optional @params can specify the prefix and padding for the memory. If
- * NULL is passed, no flags, no extra prefix/padding and a default alignment is
+ * %NULL is passed, no flags, no extra prefix/padding and a default alignment is
  * used.
  *
  * The prefix/padding will be filled with 0 if flags contains
  * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
  *
- * When @allocator is NULL, the default allocator will be used.
+ * When @allocator is %NULL, the default allocator will be used.
  *
  * The alignment in @params is given as a bitmask so that @align + 1 equals
  * the amount of bytes to align to. For example, to align to 8 bytes,
@@ -569,7 +569,7 @@
 }
 
 void
-_priv_gst_memory_initialize (void)
+_priv_gst_allocator_initialize (void)
 {
   g_rw_lock_init (&lock);
   allocators = g_hash_table_new (g_str_hash, g_str_equal);
diff --git a/gst/gstatomicqueue.c b/gst/gstatomicqueue.c
index 89bbb33..72ad2e3 100644
--- a/gst/gstatomicqueue.c
+++ b/gst/gstatomicqueue.c
@@ -214,7 +214,7 @@
  *
  * Peek the head element of the queue without removing it from the queue.
  *
- * Returns: (transfer none): the head element of @queue or NULL when
+ * Returns: (transfer none): the head element of @queue or %NULL when
  * the queue is empty.
  */
 gpointer
@@ -264,7 +264,7 @@
  *
  * Get the head element of the queue.
  *
- * Returns: (transfer full): the head element of @queue or NULL when
+ * Returns: (transfer full): the head element of @queue or %NULL when
  * the queue is empty.
  */
 gpointer
diff --git a/gst/gstbin.c b/gst/gstbin.c
index d54d35e..77bbc3e 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -148,8 +148,8 @@
  * </variablelist>
  *
  * A #GstBin will by default forward any event sent to it to all sink elements.
- * If all the sinks return TRUE, the bin will also return TRUE, else FALSE is
- * returned. If no sinks are in the bin, the event handler will return TRUE.
+ * If all the sinks return %TRUE, the bin will also return %TRUE, else %FALSE is
+ * returned. If no sinks are in the bin, the event handler will return %TRUE.
  *
  * </para>
  * </refsect2>
@@ -370,7 +370,7 @@
   /**
    * GstBin:async-handling:
    *
-   * If set to #TRUE, the bin will handle asynchronous state changes.
+   * If set to %TRUE, the bin will handle asynchronous state changes.
    * This should be used only if the bin subclass is modifying the state
    * of its children on its own.
    */
@@ -1279,7 +1279,7 @@
  *
  * MT safe.
  *
- * Returns: TRUE if the element could be added, FALSE if
+ * Returns: %TRUE if the element could be added, %FALSE if
  * the bin does not want to accept the element.
  */
 gboolean
@@ -1592,7 +1592,7 @@
  *
  * MT safe.
  *
- * Returns: TRUE if the element could be removed, FALSE if
+ * Returns: %TRUE if the element could be removed, %FALSE if
  * the bin does not want to remove the element.
  */
 gboolean
@@ -1633,7 +1633,7 @@
  *
  * MT safe.  Caller owns returned value.
  *
- * Returns: (transfer full): a #GstIterator of #GstElement, or NULL
+ * Returns: (transfer full): a #GstIterator of #GstElement, or %NULL
  */
 GstIterator *
 gst_bin_iterate_elements (GstBin * bin)
@@ -1673,7 +1673,7 @@
  *
  * MT safe.  Caller owns returned value.
  *
- * Returns: (transfer full): a #GstIterator of #GstElement, or NULL
+ * Returns: (transfer full): a #GstIterator of #GstElement, or %NULL
  */
 GstIterator *
 gst_bin_iterate_recurse (GstBin * bin)
@@ -1730,7 +1730,7 @@
  *
  * MT safe.  Caller owns returned value.
  *
- * Returns: (transfer full): a #GstIterator of #GstElement, or NULL
+ * Returns: (transfer full): a #GstIterator of #GstElement, or %NULL
  */
 GstIterator *
 gst_bin_iterate_sinks (GstBin * bin)
@@ -1790,7 +1790,7 @@
  *
  * MT safe.  Caller owns returned value.
  *
- * Returns: (transfer full): a #GstIterator of #GstElement, or NULL
+ * Returns: (transfer full): a #GstIterator of #GstElement, or %NULL
  */
 GstIterator *
 gst_bin_iterate_sources (GstBin * bin)
@@ -2166,7 +2166,7 @@
  *
  * MT safe.  Caller owns returned value.
  *
- * Returns: (transfer full): a #GstIterator of #GstElement, or NULL
+ * Returns: (transfer full): a #GstIterator of #GstElement, or %NULL
  */
 GstIterator *
 gst_bin_iterate_sorted (GstBin * bin)
@@ -4122,11 +4122,11 @@
  * Gets the element with the given name from a bin. This
  * function recurses into child bins.
  *
- * Returns NULL if no element with the given name is found in the bin.
+ * Returns %NULL if no element with the given name is found in the bin.
  *
  * MT safe.  Caller owns returned reference.
  *
- * Returns: (transfer full): the #GstElement with the given name, or NULL
+ * Returns: (transfer full): the #GstElement with the given name, or %NULL
  */
 GstElement *
 gst_bin_get_by_name (GstBin * bin, const gchar * name)
@@ -4164,12 +4164,12 @@
  * Gets the element with the given name from this bin. If the
  * element is not found, a recursion is performed on the parent bin.
  *
- * Returns NULL if:
+ * Returns %NULL if:
  * - no element with the given name is found in the bin
  *
  * MT safe.  Caller owns returned reference.
  *
- * Returns: (transfer full): the #GstElement with the given name, or NULL
+ * Returns: (transfer full): the #GstElement with the given name, or %NULL
  */
 GstElement *
 gst_bin_get_by_name_recurse_up (GstBin * bin, const gchar * name)
@@ -4270,7 +4270,7 @@
  * MT safe.  Caller owns returned value.
  *
  * Returns: (transfer full): a #GstIterator of #GstElement for all elements
- *          in the bin implementing the given interface, or NULL
+ *          in the bin implementing the given interface, or %NULL
  */
 GstIterator *
 gst_bin_iterate_all_by_interface (GstBin * bin, GType iface)
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index a70e29f..8aef1c2 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -635,22 +635,22 @@
 
 /**
  * gst_buffer_new_allocate:
- * @allocator: (transfer none) (allow-none): the #GstAllocator to use, or NULL to use the
+ * @allocator: (transfer none) (allow-none): the #GstAllocator to use, or %NULL to use the
  *     default allocator
  * @size: the size in bytes of the new buffer's data.
  * @params: (transfer none) (allow-none): optional parameters
  *
  * Tries to create a newly allocated buffer with data of the given size and
  * extra parameters from @allocator. If the requested amount of memory can't be
- * allocated, NULL will be returned. The allocated buffer memory is not cleared.
+ * allocated, %NULL will be returned. The allocated buffer memory is not cleared.
  *
- * When @allocator is NULL, the default memory allocator will be used.
+ * When @allocator is %NULL, the default memory allocator will be used.
  *
  * Note that when @size == 0, the buffer will not have memory associated with it.
  *
  * MT safe.
  *
- * Returns: (transfer full): a new #GstBuffer, or NULL if the memory couldn't
+ * Returns: (transfer full): a new #GstBuffer, or %NULL if the memory couldn't
  *     be allocated.
  */
 GstBuffer *
@@ -1842,7 +1842,7 @@
  *
  * MT safe.
  *
- * Returns: (transfer full): the new #GstBuffer or NULL if the arguments were
+ * Returns: (transfer full): the new #GstBuffer or %NULL if the arguments were
  *     invalid.
  */
 GstBuffer *
@@ -1932,7 +1932,7 @@
  * @api: the #GType of an API
  *
  * Get the metadata for @api on buffer. When there is no such
- * metadata, NULL is returned.
+ * metadata, %NULL is returned.
  *
  * Returns: (transfer none): the metadata for @api on @buffer.
  */
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index 713c886..0ebf142 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -467,9 +467,9 @@
  * in some cases), and the reference counts are updated appropriately (the old
  * buffer is unreffed, the new is reffed).
  *
- * Either @nbuf or the #GstBuffer pointed to by @obuf may be NULL.
+ * Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL.
  *
- * Returns: TRUE when @obuf was different from @nbuf.
+ * Returns: %TRUE when @obuf was different from @nbuf.
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf);
@@ -507,7 +507,7 @@
  * When this function returns %TRUE, the next meta will be
  * returned. When %FALSE is returned, gst_buffer_foreach_meta() will return.
  *
- * When @meta is set to NULL, the item will be removed from the buffer.
+ * When @meta is set to %NULL, the item will be removed from the buffer.
  *
  * Returns: %FALSE when gst_buffer_foreach_meta() should stop
  */
diff --git a/gst/gstbufferlist.c b/gst/gstbufferlist.c
index 8de87ea..dca866c 100644
--- a/gst/gstbufferlist.c
+++ b/gst/gstbufferlist.c
@@ -227,7 +227,7 @@
  *
  * Get the buffer at @idx.
  *
- * Returns: (transfer none): the buffer at @idx in @group or NULL when there
+ * Returns: (transfer none): the buffer at @idx in @group or %NULL when there
  *     is no buffer. The buffer remains valid as long as @list is valid.
  */
 GstBuffer *
@@ -281,14 +281,21 @@
  * @idx: the index
  * @length: the amount to remove
  *
- * Remove @length buffers starting from @idx in @list. The following buffers are
- * moved to close the gap.
+ * Remove @length buffers starting from @idx in @list. The following buffers
+ * are moved to close the gap.
  */
 void
 gst_buffer_list_remove (GstBufferList * list, guint idx, guint length)
 {
+  GstBuffer *buf;
+  gint i;
+
   g_return_if_fail (GST_IS_BUFFER_LIST (list));
   g_return_if_fail (idx < list->array->len);
 
+  for (i = idx; i < idx + length; ++i) {
+    buf = g_array_index (list->array, GstBuffer *, i);
+    gst_buffer_unref (buf);
+  }
   g_array_remove_range (list->array, idx, length);
 }
diff --git a/gst/gstbufferlist.h b/gst/gstbufferlist.h
index e88d4b8..df8c455 100644
--- a/gst/gstbufferlist.h
+++ b/gst/gstbufferlist.h
@@ -48,7 +48,7 @@
  * When this function returns %TRUE, the next buffer will be
  * returned. When %FALSE is returned, gst_buffer_list_foreach() will return.
  *
- * When @buffer is set to NULL, the item will be removed from the bufferlist.
+ * When @buffer is set to %NULL, the item will be removed from the bufferlist.
  * When @buffer has been made writable, the new buffer reference can be assigned
  * to @buffer. This function is responsible for unreffing the old buffer when
  * removing or modifying.
diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
index 55f8cf7..6c14ce4 100644
--- a/gst/gstbufferpool.c
+++ b/gst/gstbufferpool.c
@@ -357,7 +357,6 @@
   return TRUE;
 }
 
-
 static void
 default_free_buffer (GstBufferPool * pool, GstBuffer * buffer)
 {
@@ -417,6 +416,33 @@
   return TRUE;
 }
 
+/* must be called with the lock */
+static void
+do_set_flushing (GstBufferPool * pool, gboolean flushing)
+{
+  GstBufferPoolPrivate *priv = pool->priv;
+  GstBufferPoolClass *pclass;
+
+  pclass = GST_BUFFER_POOL_GET_CLASS (pool);
+
+  if (GST_BUFFER_POOL_IS_FLUSHING (pool) == flushing)
+    return;
+
+  if (flushing) {
+    g_atomic_int_set (&pool->flushing, 1);
+    gst_poll_write_control (priv->poll);
+
+    if (pclass->flush_start)
+      pclass->flush_start (pool);
+  } else {
+    if (pclass->flush_stop)
+      pclass->flush_stop (pool);
+
+    gst_poll_read_control (priv->poll);
+    g_atomic_int_set (&pool->flushing, 0);
+  }
+}
+
 /**
  * gst_buffer_pool_set_active:
  * @pool: a #GstBufferPool
@@ -460,15 +486,17 @@
     if (!do_start (pool))
       goto start_failed;
 
+    /* flush_stop my release buffers, setting to active to avoid running
+     * do_stop while activating the pool */
+    priv->active = TRUE;
+
     /* unset the flushing state now */
-    gst_poll_read_control (priv->poll);
-    g_atomic_int_set (&pool->flushing, 0);
+    do_set_flushing (pool, FALSE);
   } else {
     gint outstanding;
 
     /* set to flushing first */
-    g_atomic_int_set (&pool->flushing, 1);
-    gst_poll_write_control (priv->poll);
+    do_set_flushing (pool, TRUE);
 
     /* when all buffers are in the pool, free them. Else they will be
      * freed when they are released */
@@ -478,8 +506,9 @@
       if (!do_stop (pool))
         goto stop_failed;
     }
+
+    priv->active = FALSE;
   }
-  priv->active = active;
   GST_BUFFER_POOL_UNLOCK (pool);
 
   return res;
@@ -579,7 +608,7 @@
  * the configuration haven't change, this function will return %TRUE. If the
  * pool is active, this function will try deactivating it. Buffers allocated
  * form this pool must be returned or else this function will do nothing and
- * return FALSE.
+ * return %FALSE.
  *
  * @config is a #GstStructure that contains the configuration parameters for
  * the pool. A default and mandatory set of parameters can be configured with
@@ -746,7 +775,7 @@
  *
  * Check if the bufferpool supports @option.
  *
- * Returns: a %NULL terminated array of strings.
+ * Returns: %TRUE if the buffer pool contains @option.
  */
 gboolean
 gst_buffer_pool_has_option (GstBufferPool * pool, const gchar * option)
@@ -1107,9 +1136,9 @@
     if (GST_BUFFER_POOL_IS_FLUSHING (pool)) {
       /* take the lock so that set_active is not run concurrently */
       GST_BUFFER_POOL_LOCK (pool);
-      /* recheck the flushing state in the lock, the pool could have been
-       * set to active again */
-      if (GST_BUFFER_POOL_IS_FLUSHING (pool))
+      /* now that we have the lock, check if we have been de-activated with
+       * outstanding buffers */
+      if (!pool->priv->active)
         do_stop (pool);
 
       GST_BUFFER_POOL_UNLOCK (pool);
@@ -1259,3 +1288,37 @@
   /* decrease the refcount that the buffer had to us */
   gst_object_unref (pool);
 }
+
+/**
+ * gst_buffer_pool_set_flushing:
+ * @pool: a #GstBufferPool
+ * @flushing: whether to start or stop flushing
+ *
+ * Enabled or disable the flushing state of a @pool without freeing or
+ * allocating buffers.
+ *
+ * Since: 1.4
+ */
+void
+gst_buffer_pool_set_flushing (GstBufferPool * pool, gboolean flushing)
+{
+  GstBufferPoolPrivate *priv;
+
+  g_return_if_fail (GST_IS_BUFFER_POOL (pool));
+
+  GST_LOG_OBJECT (pool, "flushing %d", flushing);
+
+  priv = pool->priv;
+
+  GST_BUFFER_POOL_LOCK (pool);
+
+  if (!priv->active) {
+    GST_WARNING_OBJECT (pool, "can't change flushing state of inactive pool");
+    goto done;
+  }
+
+  do_set_flushing (pool, flushing);
+
+done:
+  GST_BUFFER_POOL_UNLOCK (pool);
+}
diff --git a/gst/gstbufferpool.h b/gst/gstbufferpool.h
index 90f9310..5427cb1 100644
--- a/gst/gstbufferpool.h
+++ b/gst/gstbufferpool.h
@@ -146,6 +146,8 @@
  *        is not set on the buffer. If #GST_BUFFER_FLAG_TAG_MEMORY is set, the 
  *        buffer will be freed with @free_buffer.
  * @free_buffer: free a buffer. The default implementation unrefs the buffer.
+ * @flush_start: enter the flushing state. Since: 1.4
+ * @flush_stop: leave the flushign state. Since: 1.4
  *
  * The GstBufferPool class.
  */
@@ -166,9 +168,11 @@
   void           (*reset_buffer)   (GstBufferPool *pool, GstBuffer *buffer);
   void           (*release_buffer) (GstBufferPool *pool, GstBuffer *buffer);
   void           (*free_buffer)    (GstBufferPool *pool, GstBuffer *buffer);
+  void           (*flush_start)    (GstBufferPool *pool);
+  void           (*flush_stop)     (GstBufferPool *pool);
 
   /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
+  gpointer _gst_reserved[GST_PADDING - 2];
 };
 
 GType       gst_buffer_pool_get_type (void);
@@ -186,6 +190,8 @@
 const gchar **   gst_buffer_pool_get_options     (GstBufferPool *pool);
 gboolean         gst_buffer_pool_has_option      (GstBufferPool *pool, const gchar *option);
 
+void             gst_buffer_pool_set_flushing    (GstBufferPool *pool, gboolean flushing);
+
 /* helpers for configuring the config structure */
 void             gst_buffer_pool_config_set_params    (GstStructure *config, GstCaps *caps,
                                                        guint size, guint min_buffers, guint max_buffers);
diff --git a/gst/gstbus.c b/gst/gstbus.c
index 1047fc2..69cf6b9 100644
--- a/gst/gstbus.c
+++ b/gst/gstbus.c
@@ -291,7 +291,7 @@
  * Post a message on the given bus. Ownership of the message
  * is taken by the bus.
  *
- * Returns: TRUE if the message could be posted, FALSE if the bus is flushing.
+ * Returns: %TRUE if the message could be posted, %FALSE if the bus is flushing.
  *
  * MT safe.
  */
@@ -402,7 +402,7 @@
  * Check if there are pending messages on the bus that
  * should be handled.
  *
- * Returns: TRUE if there are messages on the bus to be handled, FALSE
+ * Returns: %TRUE if there are messages on the bus to be handled, %FALSE
  * otherwise.
  *
  * MT safe.
@@ -427,7 +427,7 @@
  *
  * If @flushing, flush out and unref any messages queued in the bus. Releases
  * references to the message origin objects. Will flush future messages until
- * gst_bus_set_flushing() sets @flushing to #FALSE.
+ * gst_bus_set_flushing() sets @flushing to %FALSE.
  *
  * MT safe.
  */
@@ -468,7 +468,7 @@
  * matching message was posted on the bus.
  *
  * Returns: (transfer full): a #GstMessage matching the filter in @types,
- *     or NULL if no matching message was found on the bus until the timeout
+ *     or %NULL if no matching message was found on the bus until the timeout
  *     expired. The message is taken from the bus and needs to be unreffed
  *     with gst_message_unref() after usage.
  *
@@ -569,7 +569,7 @@
  * posted on the bus.
  *
  * Returns: (transfer full): the #GstMessage that is on the bus after the
- *     specified timeout or NULL if the bus is empty after the timeout expired.
+ *     specified timeout or %NULL if the bus is empty after the timeout expired.
  * The message is taken from the bus and needs to be unreffed with
  * gst_message_unref() after usage.
  *
@@ -595,7 +595,7 @@
  * enums beyond #GST_MESSAGE_EXTENDED in the @events mask.
  *
  * Returns: (transfer full): the next #GstMessage matching @type that is on
- *     the bus, or NULL if the bus is empty or there is no message matching
+ *     the bus, or %NULL if the bus is empty or there is no message matching
  *     @type. The message is taken from the bus and needs to be unreffed with
  *     gst_message_unref() after usage.
  *
@@ -616,7 +616,7 @@
  *
  * Get a message from the bus.
  *
- * Returns: (transfer full): the #GstMessage that is on the bus, or NULL if the
+ * Returns: (transfer full): the #GstMessage that is on the bus, or %NULL if the
  *     bus is empty. The message is taken from the bus and needs to be unreffed
  *     with gst_message_unref() after usage.
  *
@@ -638,7 +638,7 @@
  * on the bus' message queue. A reference is returned, and needs to be unreffed
  * by the caller.
  *
- * Returns: (transfer full): the #GstMessage that is on the bus, or NULL if the
+ * Returns: (transfer full): the #GstMessage that is on the bus, or %NULL if the
  *     bus is empty.
  *
  * MT safe.
@@ -675,7 +675,7 @@
  * should handle messages asynchronously using the gst_bus watch and poll
  * functions.
  *
- * You cannot replace an existing sync_handler. You can pass NULL to this
+ * You cannot replace an existing sync_handler. You can pass %NULL to this
  * function, which will clear the existing handler.
  */
 void
@@ -896,7 +896,7 @@
  * When @func is called, the message belongs to the caller; if you want to
  * keep a copy of it, call gst_message_ref() before leaving @func.
  *
- * The watch can be removed using g_source_remove() or by returning FALSE
+ * The watch can be removed using g_source_remove() or by returning %FALSE
  * from @func.
  *
  * MT safe.
@@ -935,7 +935,7 @@
  * There can only be a single bus watch per bus, you must remove it before you
  * can set a new one.
  *
- * The watch can be removed using g_source_remove() or by returning FALSE
+ * The watch can be removed using g_source_remove() or by returning %FALSE
  * from @func.
  *
  * Returns: The event source id.
@@ -1054,7 +1054,7 @@
  * better handled by setting up an asynchronous bus watch and doing things
  * from there.
  *
- * Returns: (transfer full): the message that was received, or NULL if the
+ * Returns: (transfer full): the message that was received, or %NULL if the
  *     poll timed out. The message is taken from the bus and needs to be
  *     unreffed with gst_message_unref() after usage.
  */
@@ -1113,7 +1113,7 @@
  * A helper #GstBusFunc that can be used to convert all asynchronous messages
  * into signals.
  *
- * Returns: TRUE
+ * Returns: %TRUE
  */
 gboolean
 gst_bus_async_signal_func (GstBus * bus, GstMessage * message, gpointer data)
diff --git a/gst/gstbus.h b/gst/gstbus.h
index 5821770..92d2160 100644
--- a/gst/gstbus.h
+++ b/gst/gstbus.h
@@ -99,7 +99,7 @@
  * function so it should not be freed in the function.
  *
  * Note that this function is used as a GSourceFunc which means that returning
- * FALSE will remove the GSource from the mainloop.
+ * %FALSE will remove the GSource from the mainloop.
  *
  * Returns: %FALSE if the event source should be removed.
  */
diff --git a/gst/gstcaps.c b/gst/gstcaps.c
index b729b79..4525ead 100644
--- a/gst/gstcaps.c
+++ b/gst/gstcaps.c
@@ -92,7 +92,7 @@
 
 /* same as gst_caps_is_any () */
 #define CAPS_IS_ANY(caps)				\
-  (GST_CAPS_FLAGS(caps) & GST_CAPS_FLAG_ANY)
+  (!!(GST_CAPS_FLAGS(caps) & GST_CAPS_FLAG_ANY))
 
 /* same as gst_caps_is_empty () */
 #define CAPS_IS_EMPTY(caps)				\
@@ -327,7 +327,7 @@
  * @...: additional structures to add
  *
  * Creates a new #GstCaps and adds all the structures listed as
- * arguments.  The list must be NULL-terminated.  The structures
+ * arguments.  The list must be %NULL-terminated.  The structures
  * are not copied; the returned #GstCaps owns the structures.
  *
  * Returns: (transfer full): the new #GstCaps
@@ -351,7 +351,7 @@
  * @var_args: additional structures to add
  *
  * Creates a new #GstCaps and adds all the structures listed as
- * arguments.  The list must be NULL-terminated.  The structures
+ * arguments.  The list must be %NULL-terminated.  The structures
  * are not copied; the returned #GstCaps owns the structures.
  *
  * Returns: (transfer full): the new #GstCaps
@@ -999,7 +999,7 @@
  * @varargs: additional parameters
  *
  * Sets fields in a #GstCaps.  The arguments must be passed in the same
- * manner as gst_structure_set(), and be NULL-terminated.
+ * manner as gst_structure_set(), and be %NULL-terminated.
  */
 void
 gst_caps_set_simple_valist (GstCaps * caps, const char *field, va_list varargs)
@@ -1036,7 +1036,7 @@
  * @...: additional parameters
  *
  * Sets fields in a #GstCaps.  The arguments must be passed in the same
- * manner as gst_structure_set(), and be NULL-terminated.
+ * manner as gst_structure_set(), and be %NULL-terminated.
  */
 void
 gst_caps_set_simple (GstCaps * caps, const char *field, ...)
@@ -1059,7 +1059,7 @@
  *
  * Determines if @caps represents any media format.
  *
- * Returns: TRUE if @caps represents any format.
+ * Returns: %TRUE if @caps represents any format.
  */
 gboolean
 gst_caps_is_any (const GstCaps * caps)
@@ -1075,7 +1075,7 @@
  *
  * Determines if @caps represents no media formats.
  *
- * Returns: TRUE if @caps represents no formats.
+ * Returns: %TRUE if @caps represents no formats.
  */
 gboolean
 gst_caps_is_empty (const GstCaps * caps)
@@ -1103,7 +1103,7 @@
  * one structure, and each field in the structure describes a fixed type.
  * Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.
  *
- * Returns: TRUE if @caps is fixed
+ * Returns: %TRUE if @caps is fixed
  */
 gboolean
 gst_caps_is_fixed (const GstCaps * caps)
@@ -1133,7 +1133,7 @@
  * Tests if two #GstCaps are equal.  This function only works on fixed
  * #GstCaps.
  *
- * Returns: TRUE if the arguments represent the same format
+ * Returns: %TRUE if the arguments represent the same format
  */
 gboolean
 gst_caps_is_equal_fixed (const GstCaps * caps1, const GstCaps * caps2)
@@ -1166,7 +1166,7 @@
  * every media format that is in the first is also contained in the
  * second.  That is, @caps1 is a subset of @caps2.
  *
- * Returns: TRUE if @caps1 is a subset of @caps2.
+ * Returns: %TRUE if @caps1 is a subset of @caps2.
  */
 gboolean
 gst_caps_is_always_compatible (const GstCaps * caps1, const GstCaps * caps2)
@@ -1322,7 +1322,7 @@
  *
  * Checks if the given caps represent the same set of caps.
  *
- * Returns: TRUE if both caps are equal.
+ * Returns: %TRUE if both caps are equal.
  */
 gboolean
 gst_caps_is_equal (const GstCaps * caps1, const GstCaps * caps2)
@@ -1346,7 +1346,7 @@
  *
  * Checks if the given caps are exactly the same set of caps.
  *
- * Returns: TRUE if both caps are strictly equal.
+ * Returns: %TRUE if both caps are strictly equal.
  */
 gboolean
 gst_caps_is_strictly_equal (const GstCaps * caps1, const GstCaps * caps2)
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
index 8df2499..e29da34 100644
--- a/gst/gstcaps.h
+++ b/gst/gstcaps.h
@@ -298,9 +298,9 @@
  * in some cases), and the reference counts are updated appropriately (the old
  * caps is unreffed, the new is reffed).
  *
- * Either @ncaps or the #GstCaps pointed to by @ocaps may be NULL.
+ * Either @ncaps or the #GstCaps pointed to by @ocaps may be %NULL.
  *
- * Returns: TRUE if @new_caps was different from @old_caps
+ * Returns: %TRUE if @new_caps was different from @old_caps
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_caps_replace (GstCaps **old_caps, GstCaps *new_caps);
@@ -323,7 +323,7 @@
  * function is similar to gst_caps_replace() except that it takes ownership
  * of @new_caps.
  *
- * Returns: TRUE if @new_caps was different from @old_caps
+ * Returns: %TRUE if @new_caps was different from @old_caps
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_caps_take (GstCaps **old_caps, GstCaps *new_caps);
diff --git a/gst/gstcapsfeatures.c b/gst/gstcapsfeatures.c
index 38fcef7..e1e8f90 100644
--- a/gst/gstcapsfeatures.c
+++ b/gst/gstcapsfeatures.c
@@ -203,7 +203,7 @@
  * @...: additional features
  *
  * Creates a new #GstCapsFeatures with the given features.
- * The last argument must be NULL.
+ * The last argument must be %NULL.
  *
  * Free-function: gst_caps_features_free
  *
@@ -471,7 +471,7 @@
  *
  * Free-function: gst_caps_features_free
  *
- * Returns: (transfer full): a new #GstCapsFeatures or NULL when the string could
+ * Returns: (transfer full): a new #GstCapsFeatures or %NULL when the string could
  *     not be parsed. Free with gst_caps_features_free() after use.
  *
  * Since: 1.2
diff --git a/gst/gstcapsfeatures.h b/gst/gstcapsfeatures.h
index 62d9e3c..441e1a1 100644
--- a/gst/gstcapsfeatures.h
+++ b/gst/gstcapsfeatures.h
@@ -28,7 +28,9 @@
 
 typedef struct _GstCapsFeatures GstCapsFeatures;
 
-#define GST_TYPE_CAPS_FEATURES (gst_caps_features_get_type ())
+GST_EXPORT GType _gst_caps_features_type;
+
+#define GST_TYPE_CAPS_FEATURES (_gst_caps_features_type)
 #define GST_IS_CAPS_FEATURES(object)       (gst_is_caps_features(object))
 #define GST_CAPS_FEATURES_CAST(object)     ((GstCapsFeatures *)(object))
 #define GST_CAPS_FEATURES(object)          (GST_CAPS_FEATURES_CAST(object))
diff --git a/gst/gstchildproxy.c b/gst/gstchildproxy.c
index 1cd4116..a83356a 100644
--- a/gst/gstchildproxy.c
+++ b/gst/gstchildproxy.c
@@ -174,7 +174,7 @@
  *
  * MT safe.
  *
- * Returns: TRUE if @target and @pspec could be found. FALSE otherwise. In that
+ * Returns: %TRUE if @target and @pspec could be found. %FALSE otherwise. In that
  * case the values for @pspec and @target are not modified. Unref @target after
  * usage. For plain GObjects @target is the same as @object.
  */
@@ -274,7 +274,7 @@
  * gst_child_proxy_get_valist:
  * @object: the object to query
  * @first_property_name: name of the first property to get
- * @var_args: return location for the first property, followed optionally by more name/return location pairs, followed by NULL
+ * @var_args: return location for the first property, followed optionally by more name/return location pairs, followed by %NULL
  *
  * Gets properties of the parent object and its children.
  */
@@ -328,7 +328,7 @@
  * gst_child_proxy_get:
  * @object: the parent object
  * @first_property_name: name of the first property to get
- * @...: return location for the first property, followed optionally by more name/return location pairs, followed by NULL
+ * @...: return location for the first property, followed optionally by more name/return location pairs, followed by %NULL
  *
  * Gets properties of the parent object and its children.
  */
@@ -383,7 +383,7 @@
  * gst_child_proxy_set_valist:
  * @object: the parent object
  * @first_property_name: name of the first property to set
- * @var_args: value for the first property, followed optionally by more name/value pairs, followed by NULL
+ * @var_args: value for the first property, followed optionally by more name/value pairs, followed by %NULL
  *
  * Sets properties of the parent object and its children.
  */
@@ -440,7 +440,7 @@
  * gst_child_proxy_set:
  * @object: the parent object
  * @first_property_name: name of the first property to set
- * @...: value for the first property, followed optionally by more name/value pairs, followed by NULL
+ * @...: value for the first property, followed optionally by more name/value pairs, followed by %NULL
  *
  * Sets properties of the parent object and its children.
  */
diff --git a/gst/gstcontext.c b/gst/gstcontext.c
index 1cc3f3f..b535574 100644
--- a/gst/gstcontext.c
+++ b/gst/gstcontext.c
@@ -68,7 +68,7 @@
 
 #define GST_CONTEXT_STRUCTURE(c)  (((GstContext *)(c))->structure)
 
-static GType _gst_context_type = 0;
+GType _gst_context_type = 0;
 GST_DEFINE_MINI_OBJECT_TYPE (GstContext, gst_context);
 
 void
diff --git a/gst/gstcontext.h b/gst/gstcontext.h
index 9dd0914..0883f0d 100644
--- a/gst/gstcontext.h
+++ b/gst/gstcontext.h
@@ -31,7 +31,9 @@
 #include <gst/gstminiobject.h>
 #include <gst/gststructure.h>
 
-#define GST_TYPE_CONTEXT                         (gst_context_get_type())
+GST_EXPORT GType _gst_context_type;
+
+#define GST_TYPE_CONTEXT                         (_gst_context_type)
 #define GST_IS_CONTEXT(obj)                      (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_CONTEXT))
 #define GST_CONTEXT_CAST(obj)                    ((GstContext*)(obj))
 #define GST_CONTEXT(obj)                         (GST_CONTEXT_CAST(obj))
@@ -130,9 +132,9 @@
  * in some cases), and the reference counts are updated appropriately (the old
  * context is unreffed, the new one is reffed).
  *
- * Either @new_context or the #GstContext pointed to by @old_context may be NULL.
+ * Either @new_context or the #GstContext pointed to by @old_context may be %NULL.
  *
- * Returns: TRUE if @new_context was different from @old_context
+ * Returns: %TRUE if @new_context was different from @old_context
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_context_replace (GstContext **old_context, GstContext *new_context);
diff --git a/gst/gstcontrolbinding.c b/gst/gstcontrolbinding.c
index 458151a..4981c89 100644
--- a/gst/gstcontrolbinding.c
+++ b/gst/gstcontrolbinding.c
@@ -283,12 +283,12 @@
 }
 
 /**
- * gst_control_binding_get_value_array:
+ * gst_control_binding_get_value_array: (skip)
  * @binding: the control binding
  * @timestamp: the time that should be processed
  * @interval: the time spacing between subsequent values
  * @n_values: the number of values
- * @values: array to put control-values in
+ * @values: (array length=n_values): array to put control-values in
  *
  * Gets a number of values for the given controlled property starting at the
  * requested time. The array @values need to hold enough space for @n_values of
@@ -347,7 +347,7 @@
  * @timestamp: the time that should be processed
  * @interval: the time spacing between subsequent values
  * @n_values: the number of values
- * @values: array to put control-values in
+ * @values: (array length=n_values): array to put control-values in
  *
  * Gets a number of #GValues for the given controlled property starting at the
  * requested time. The array @values need to hold enough space for @n_values of
diff --git a/gst/gstcontrolsource.c b/gst/gstcontrolsource.c
index 02926f3..be4816d 100644
--- a/gst/gstcontrolsource.c
+++ b/gst/gstcontrolsource.c
@@ -96,7 +96,7 @@
  *
  * Gets the value for this #GstControlSource at a given timestamp.
  *
- * Returns: FALSE if the value couldn't be returned, TRUE otherwise.
+ * Returns: %FALSE if the value couldn't be returned, %TRUE otherwise.
  */
 gboolean
 gst_control_source_get_value (GstControlSource * self, GstClockTime timestamp,
@@ -118,7 +118,7 @@
  * @timestamp: the first timestamp
  * @interval: the time steps
  * @n_values: the number of values to fetch
- * @values: array to put control-values in
+ * @values: (array length=n_values): array to put control-values in
  *
  * Gets an array of values for for this #GstControlSource. Values that are
  * undefined contain NANs.
diff --git a/gst/gstdatetime.c b/gst/gstdatetime.c
index 821af0f..d21cca4 100644
--- a/gst/gstdatetime.c
+++ b/gst/gstdatetime.c
@@ -56,12 +56,18 @@
 
 struct _GstDateTime
 {
+  GstMiniObject mini_object;
+
   GDateTime *datetime;
 
   GstDateTimeFields fields;
-  volatile gint ref_count;
 };
 
+GType _gst_date_time_type = 0;
+GST_DEFINE_MINI_OBJECT_TYPE (GstDateTime, gst_date_time);
+
+static void gst_date_time_free (GstDateTime * datetime);
+
 /**
  * gst_date_time_new_from_g_date_time:
  * @dt: (transfer full): the #GDateTime. The new #GstDateTime takes ownership.
@@ -70,7 +76,7 @@
  *
  * Free-function: gst_date_time_unref
  *
- * Returns: (transfer full): a newly created #GstDateTime, or NULL on error
+ * Returns: (transfer full): a newly created #GstDateTime, or %NULL on error
  */
 GstDateTime *
 gst_date_time_new_from_g_date_time (GDateTime * dt)
@@ -81,9 +87,12 @@
     return NULL;
 
   gst_dt = g_slice_new (GstDateTime);
+
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (gst_dt), 0, GST_TYPE_DATE_TIME,
+      NULL, NULL, (GstMiniObjectFreeFunction) gst_date_time_free);
+
   gst_dt->datetime = dt;
   gst_dt->fields = GST_DATE_TIME_FIELDS_YMD_HMS;
-  gst_dt->ref_count = 1;
   return gst_dt;
 }
 
@@ -95,7 +104,7 @@
  *
  * Free-function: g_date_time_unref
  *
- * Returns: (transfer full): a newly created #GDateTime, or NULL on error
+ * Returns: (transfer full): a newly created #GDateTime, or %NULL on error
  */
 GDateTime *
 gst_date_time_to_g_date_time (GstDateTime * datetime)
@@ -112,8 +121,8 @@
  * gst_date_time_has_year:
  * @datetime: a #GstDateTime
  *
- * Returns: TRUE if @datetime<!-- -->'s year field is set (which should always
- *     be the case), otherwise FALSE
+ * Returns: %TRUE if @datetime<!-- -->'s year field is set (which should always
+ *     be the case), otherwise %FALSE
  */
 gboolean
 gst_date_time_has_year (const GstDateTime * datetime)
@@ -127,7 +136,7 @@
  * gst_date_time_has_month:
  * @datetime: a #GstDateTime
  *
- * Returns: TRUE if @datetime<!-- -->'s month field is set, otherwise FALSE
+ * Returns: %TRUE if @datetime<!-- -->'s month field is set, otherwise %FALSE
  */
 gboolean
 gst_date_time_has_month (const GstDateTime * datetime)
@@ -141,7 +150,7 @@
  * gst_date_time_has_day:
  * @datetime: a #GstDateTime
  *
- * Returns: TRUE if @datetime<!-- -->'s day field is set, otherwise FALSE
+ * Returns: %TRUE if @datetime<!-- -->'s day field is set, otherwise %FALSE
  */
 gboolean
 gst_date_time_has_day (const GstDateTime * datetime)
@@ -155,8 +164,8 @@
  * gst_date_time_has_time:
  * @datetime: a #GstDateTime
  *
- * Returns: TRUE if @datetime<!-- -->'s hour and minute fields are set,
- *     otherwise FALSE
+ * Returns: %TRUE if @datetime<!-- -->'s hour and minute fields are set,
+ *     otherwise %FALSE
  */
 gboolean
 gst_date_time_has_time (const GstDateTime * datetime)
@@ -170,7 +179,7 @@
  * gst_date_time_has_second:
  * @datetime: a #GstDateTime
  *
- * Returns: TRUE if @datetime<!-- -->'s second field is set, otherwise FALSE
+ * Returns: %TRUE if @datetime<!-- -->'s second field is set, otherwise %FALSE
  */
 gboolean
 gst_date_time_has_second (const GstDateTime * datetime)
@@ -717,7 +726,7 @@
  * 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100
  *
  * Returns: a newly allocated string formatted according to ISO 8601 and
- *     only including the datetime fields that are valid, or NULL in case
+ *     only including the datetime fields that are valid, or %NULL in case
  *     there was an error. The string should be freed with g_free().
  */
 gchar *
@@ -740,7 +749,7 @@
  *
  * Free-function: gst_date_time_unref
  *
- * Returns: (transfer full): a newly created #GstDateTime, or NULL on error
+ * Returns: (transfer full): a newly created #GstDateTime, or %NULL on error
  */
 GstDateTime *
 gst_date_time_new_from_iso8601_string (const gchar * string)
@@ -868,7 +877,6 @@
   return gst_date_time_new_ymd (year, month, day);
 }
 
-
 static void
 gst_date_time_free (GstDateTime * datetime)
 {
@@ -887,10 +895,7 @@
 GstDateTime *
 gst_date_time_ref (GstDateTime * datetime)
 {
-  g_return_val_if_fail (datetime != NULL, NULL);
-  g_return_val_if_fail (datetime->ref_count > 0, NULL);
-  g_atomic_int_inc (&datetime->ref_count);
-  return datetime;
+  return (GstDateTime *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (datetime));
 }
 
 /**
@@ -903,9 +908,11 @@
 void
 gst_date_time_unref (GstDateTime * datetime)
 {
-  g_return_if_fail (datetime != NULL);
-  g_return_if_fail (datetime->ref_count > 0);
+  gst_mini_object_unref (GST_MINI_OBJECT_CAST (datetime));
+}
 
-  if (g_atomic_int_dec_and_test (&datetime->ref_count))
-    gst_date_time_free (datetime);
+void
+_priv_gst_date_time_initialize (void)
+{
+  _gst_date_time_type = gst_date_time_get_type ();
 }
diff --git a/gst/gstdatetime.h b/gst/gstdatetime.h
index e0d3c5b..251dce1 100644
--- a/gst/gstdatetime.h
+++ b/gst/gstdatetime.h
@@ -36,6 +36,20 @@
  */
 typedef struct _GstDateTime GstDateTime;
 
+GST_EXPORT GType _gst_date_time_type;
+
+/**
+ * GST_TYPE_DATE_TIME:
+ *
+ * a boxed #GValue type for #GstDateTime that represents a date and time.
+ *
+ * Returns: the #GType of GstDateTime
+ */
+
+#define GST_TYPE_DATE_TIME (_gst_date_time_type)
+
+GType           gst_date_time_get_type (void);
+
 /* query which fields are set */
 
 gboolean        gst_date_time_has_year                (const GstDateTime * datetime);
diff --git a/gst/gstdevice.c b/gst/gstdevice.c
index 269dd53..9119ba9 100644
--- a/gst/gstdevice.c
+++ b/gst/gstdevice.c
@@ -19,6 +19,21 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/**
+ * SECTION:gstdevice
+ * @short_description: Object representing a device
+ * @see_also: #GstDeviceMonitor
+ *
+ * #GstDevice are objects representing a device, they contain
+ * relevant metadata about the device, such as its class and the #GstCaps
+ * representing the media types it can produce or handle.
+ *
+ * #GstDevice are created by #GstDeviceMonitor objects which can be
+ * aggregated by #GstGlobalDeviceMonitor objects.
+ *
+ * Since: 1.4
+ */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -31,7 +46,7 @@
 {
   PROP_DISPLAY_NAME = 1,
   PROP_CAPS,
-  PROP_KLASS
+  PROP_DEVICE_CLASS
 };
 
 enum
@@ -43,7 +58,7 @@
 struct _GstDevicePrivate
 {
   GstCaps *caps;
-  gchar *klass;
+  gchar *device_class;
   gchar *display_name;
 };
 
@@ -78,8 +93,8 @@
       g_param_spec_boxed ("caps", "Device Caps",
           "The possible caps of a device", GST_TYPE_CAPS,
           G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-  g_object_class_install_property (object_class, PROP_KLASS,
-      g_param_spec_string ("klass", "Device Class",
+  g_object_class_install_property (object_class, PROP_DEVICE_CLASS,
+      g_param_spec_string ("device-class", "Device Class",
           "The Class of the device", "",
           G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
@@ -102,7 +117,7 @@
   gst_caps_replace (&device->priv->caps, NULL);
 
   g_free (device->priv->display_name);
-  g_free (device->priv->klass);
+  g_free (device->priv->device_class);
 
   G_OBJECT_CLASS (gst_device_parent_class)->finalize (object);
 }
@@ -123,8 +138,8 @@
       if (gstdevice->priv->caps)
         g_value_take_boxed (value, gst_device_get_caps (gstdevice));
       break;
-    case PROP_KLASS:
-      g_value_take_string (value, gst_device_get_klass (gstdevice));
+    case PROP_DEVICE_CLASS:
+      g_value_take_string (value, gst_device_get_device_class (gstdevice));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -148,8 +163,8 @@
     case PROP_CAPS:
       gst_caps_replace (&gstdevice->priv->caps, g_value_get_boxed (value));
       break;
-    case PROP_KLASS:
-      gstdevice->priv->klass = g_value_dup_string (value);
+    case PROP_DEVICE_CLASS:
+      gstdevice->priv->device_class = g_value_dup_string (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -160,9 +175,12 @@
 /**
  * gst_device_create_element:
  * @device: a #GstDevice
- * @name: (allow-none): name of new element, or NULL to automatically
+ * @name: (allow-none): name of new element, or %NULL to automatically
  * create a unique name.
  *
+ * Creates the element with all of the required paramaters set to use
+ * this device.
+ *
  * Returns: (transfer full): a new #GstElement configured to use this device
  *
  * Since: 1.4
@@ -216,7 +234,7 @@
 }
 
 /**
- * gst_device_get_klass:
+ * gst_device_get_device_class:
  * @device: a #GstDevice
  *
  * Gets the "class" of a device. This is a "/" separated list of
@@ -228,9 +246,12 @@
  * Since: 1.4
  */
 gchar *
-gst_device_get_klass (GstDevice * device)
+gst_device_get_device_class (GstDevice * device)
 {
-  return g_strdup (device->priv->klass ? device->priv->klass : "");
+  if (device->priv->device_class != NULL)
+    return g_strdup (device->priv->device_class);
+  else
+    return g_strdup ("");
 }
 
 /**
@@ -264,8 +285,8 @@
 /**
  * gst_device_has_classesv:
  * @device: a #GstDevice
- * @classes: a %NULL terminated array of klasses to match, only match if all
- *  classes are matched
+ * @classes: (array zero-terminated=1): a %NULL terminated array of klasses to match, only match if all
+ *   classes are matched
  *
  * Check if @factory matches all of the given classes
  *
@@ -286,11 +307,11 @@
     if (classes[0] == '\0')
       continue;
 
-    found = strstr (device->priv->klass, classes[0]);
+    found = strstr (device->priv->device_class, classes[0]);
 
     if (!found)
       return FALSE;
-    if (found != device->priv->klass && *(found - 1) != '/')
+    if (found != device->priv->device_class && *(found - 1) != '/')
       return FALSE;
 
     len = strlen (classes[0]);
@@ -304,8 +325,8 @@
 /**
  * gst_device_has_classes:
  * @device: a #GstDevice
- * @classes: a "/" separate list of klasses to match, only match if all classes
- *  are matched
+ * @classes: a "/" separate list of device classes to match, only match if
+ *  all classes are matched
  *
  * Check if @device matches all of the given classes
  *
diff --git a/gst/gstdevice.h b/gst/gstdevice.h
index 9a5d9b3..b055aa0 100644
--- a/gst/gstdevice.h
+++ b/gst/gstdevice.h
@@ -42,6 +42,14 @@
 #define GST_DEVICE_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DEVICE, GstDeviceClass))
 #define GST_DEVICE_CAST(obj)            ((GstDevice *)(obj))
 
+/**
+ * GstDevice:
+ * @parent: The parent #GstObject strucuture.
+ *
+ * A device object.
+ *
+ * Since: 1.4
+ */
 
 struct _GstDevice {
   GstObject         parent;
@@ -52,6 +60,20 @@
   gpointer _gst_reserved[GST_PADDING];
 };
 
+/**
+ * GstDeviceClass:
+ * @parent_class: The parent #GstObjectClass strucuture.
+ * @create_element: Creates the fully configured element to access this device.
+ *  Subclasses need to override this and return a new element.
+ * @reconfigure_element: This only needs to be implemented by subclasses if the
+ *  element can be reconfigured to use a different device. See the documentation
+ *  for gst_device_reconfigure_element().
+ *
+ * The class structure for a #GstDevice object.
+ *
+ * Since: 1.4
+ */
+
 struct _GstDeviceClass {
   GstObjectClass    parent_class;
 
@@ -68,7 +90,7 @@
 
 GstCaps *    gst_device_get_caps (GstDevice * device);
 gchar *      gst_device_get_display_name (GstDevice * device);
-gchar *      gst_device_get_klass (GstDevice * device);
+gchar *      gst_device_get_device_class (GstDevice * device);
 gboolean     gst_device_reconfigure_element (GstDevice * device,
                                              GstElement * element);
 
diff --git a/gst/gstdevicemonitor.c b/gst/gstdevicemonitor.c
index 82324f2..6fabe11 100644
--- a/gst/gstdevicemonitor.c
+++ b/gst/gstdevicemonitor.c
@@ -19,6 +19,24 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/**
+ * SECTION:gstdevicemonitor
+ * @short_description: A device monitor and prober
+ * @see_also: #GstDevice, #GstGlobalDeviceMonitor
+ *
+ * A #GstDeviceMonitor subclass is provided by a plugin that handles devices
+ * if there is a way to programatically list connected devices. It can also
+ * optionally provide updates to the list of connected devices.
+ *
+ * Each #GstDeviceMonitor subclass is a singleton, a plugin should
+ * normally provide a single subclass for all devices.
+ *
+ * Applications would normally use a #GstGlobalDeviceMonitor to monitor devices
+ * from all revelant monitors.
+ *
+ * Since: 1.4
+ */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
diff --git a/gst/gstdevicemonitor.h b/gst/gstdevicemonitor.h
index 35b94e7..f5c3307 100644
--- a/gst/gstdevicemonitor.h
+++ b/gst/gstdevicemonitor.h
@@ -42,14 +42,23 @@
 #define GST_DEVICE_MONITOR_CAST(obj)            ((GstDeviceMonitor *)(obj))
 
 
+/**
+ * GstDeviceMonitor:
+ * @parent: The parent #GstObject
+ * @devices: a #GList of the #GstDevice objects
+ *
+ * The structure of the base #GstDeviceMonitor
+ *
+ * Since: 1.4
+ */
 struct _GstDeviceMonitor {
   GstObject         parent;
 
-  /*< private >*/
-
   /* Protected by the Object lock */
   GList *devices;
 
+  /*< private >*/
+
   GstDeviceMonitorPrivate *priv;
 
   gpointer _gst_reserved[GST_PADDING];
@@ -57,12 +66,15 @@
 
 /**
  * GstDeviceMonitorClass:
+ * @parent_class: the parent #GstObjectClass structure
  * @factory: a pointer to the #GstDeviceMonitorFactory that creates this
  *  monitor
- * @get_devices: Returns a list of devices that are currently available.
+ * @probe: Returns a list of devices that are currently available.
  *  This should never block.
- * @start: Starts monitoring for new devices.
- * @stop: Stops monitoring for new devices
+ * @start: Starts monitoring for new devices. Only subclasses that can know
+ *  that devices have been added or remove need to implement this method.
+ * @stop: Stops monitoring for new devices. Only subclasses that implement
+ *  the start() method need to implement this method.
  *
  * The structure of the base #GstDeviceMonitorClass
  *
@@ -79,7 +91,7 @@
   gboolean    (*start) (GstDeviceMonitor * monitor);
   void        (*stop)  (GstDeviceMonitor * monitor);
 
-
+  /*< private >*/
   gpointer metadata;
 
   /*< private >*/
diff --git a/gst/gstdevicemonitorfactory.c b/gst/gstdevicemonitorfactory.c
index e562a35..f8c9826 100644
--- a/gst/gstdevicemonitorfactory.c
+++ b/gst/gstdevicemonitorfactory.c
@@ -105,7 +105,7 @@
  * Search for an device monitor factory of the given name. Refs the returned
  * device monitor factory; caller is responsible for unreffing.
  *
- * Returns: (transfer full): #GstDeviceMonitorFactory if found, NULL otherwise
+ * Returns: (transfer full): #GstDeviceMonitorFactory if found, %NULL otherwise
  *
  * Since: 1.4
  */
@@ -151,7 +151,7 @@
 
 /**
  * gst_device_monitor_register:
- * @plugin: (allow-none): #GstPlugin to register the device monitor with, or NULL for
+ * @plugin: (allow-none): #GstPlugin to register the device monitor with, or %NULL for
  *     a static device monitor.
  * @name: name of device monitors of this type
  * @rank: rank of device monitor (higher rank means more importance when autoplugging)
@@ -160,7 +160,7 @@
  * Create a new device monitorfactory capable of instantiating objects of the
  * @type and add the factory to @plugin.
  *
- * Returns: TRUE, if the registering succeeded, FALSE on error
+ * Returns: %TRUE, if the registering succeeded, %FALSE on error
  *
  * Since: 1.4
  */
@@ -244,7 +244,7 @@
  * Returns the device monitor of the type defined by the given device
  * monitorfactory.
  *
- * Returns: (transfer full): the #GstDeviceMonitor or NULL if the
+ * Returns: (transfer full): the #GstDeviceMonitor or %NULL if the
  *     device monitor couldn't be created
  *
  * Since: 1.4
@@ -336,7 +336,7 @@
  * Returns the device monitor of the type defined by the given device
  * monitor factory.
  *
- * Returns: (transfer full): a #GstDeviceMonitor or NULL if unable to
+ * Returns: (transfer full): a #GstDeviceMonitor or %NULL if unable to
  * create device monitor
  *
  * Since: 1.4
@@ -459,8 +459,8 @@
 /**
  * gst_device_monitor_factory_has_classesv:
  * @factory: a #GstDeviceMonitorFactory
- * @classes: a %NULL terminated array of klasses to match, only match if all
- *  classes are matched
+ * @classes: (array zero-terminated=1): a %NULL terminated array of
+ *   klasses to match, only match if all classes are matched
  *
  * Check if @factory matches all of the given classes
  *
diff --git a/gst/gstdevicemonitorfactory.h b/gst/gstdevicemonitorfactory.h
index 0bec646..02bf04a 100644
--- a/gst/gstdevicemonitorfactory.h
+++ b/gst/gstdevicemonitorfactory.h
@@ -33,6 +33,14 @@
  *
  * Since: 1.4
  */
+
+/**
+ * GstDeviceMonitorFactoryClass:
+ *
+ * The opaque #GstDeviceMonitorFactoryClass data structure.
+ *
+ * Since: 1.4
+ */
 typedef struct _GstDeviceMonitorFactory GstDeviceMonitorFactory;
 typedef struct _GstDeviceMonitorFactoryClass GstDeviceMonitorFactoryClass;
 
@@ -74,7 +82,7 @@
 gboolean      gst_device_monitor_factory_has_classes (GstDeviceMonitorFactory *factory,
                                                       const gchar * classes);
 
-GList *       gst_device_monitor_factory_list_get_device_monitors (const gchar *types,
+GList *       gst_device_monitor_factory_list_get_device_monitors (const gchar *classes,
                                                                    GstRank minrank) G_GNUC_MALLOC;
 
 G_END_DECLS
diff --git a/gst/gstelement.c b/gst/gstelement.c
index cc96d25..25870f5 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -795,6 +795,7 @@
       break;
   }
   element->pads = g_list_remove (element->pads, pad);
+  GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_NEED_PARENT);
   element->numpads--;
   element->pads_cookie++;
   GST_OBJECT_UNLOCK (element);
@@ -1640,7 +1641,7 @@
  *
  * Please note that some queries might need a running pipeline to work.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  *
  * MT safe.
  */
@@ -1872,7 +1873,7 @@
  *
  * MT safe.
  *
- * Returns: TRUE, if the element's state is locked.
+ * Returns: %TRUE, if the element's state is locked.
  */
 gboolean
 gst_element_is_locked_state (GstElement * element)
@@ -1891,14 +1892,14 @@
 /**
  * gst_element_set_locked_state:
  * @element: a #GstElement
- * @locked_state: TRUE to lock the element's state
+ * @locked_state: %TRUE to lock the element's state
  *
  * Locks the state of an element, so state changes of the parent don't affect
  * this element anymore.
  *
  * MT safe.
  *
- * Returns: TRUE if the state was changed, FALSE if bad parameters were given
+ * Returns: %TRUE if the state was changed, %FALSE if bad parameters were given
  * or the elements state-locking needed no change.
  */
 gboolean
@@ -1943,9 +1944,9 @@
  * @element: a #GstElement.
  *
  * Tries to change the state of the element to the same as its parent.
- * If this function returns FALSE, the state of element is undefined.
+ * If this function returns %FALSE, the state of element is undefined.
  *
- * Returns: TRUE, if the element's state could be synced to the parent's state.
+ * Returns: %TRUE, if the element's state could be synced to the parent's state.
  *
  * MT safe.
  */
diff --git a/gst/gstelement.h b/gst/gstelement.h
index b0184ea..408d10c 100644
--- a/gst/gstelement.h
+++ b/gst/gstelement.h
@@ -691,7 +691,7 @@
  *
  * Returns a copy of the name of @elem.
  * Caller should g_free() the return value after usage.
- * For a nameless element, this returns NULL, which you can safely g_free()
+ * For a nameless element, this returns %NULL, which you can safely g_free()
  * as well.
  *
  * Returns: (transfer full): the name of @elem. g_free() after usage. MT safe.
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index a690355..aa0c5af 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -123,7 +123,7 @@
  * Search for an element factory of the given name. Refs the returned
  * element factory; caller is responsible for unreffing.
  *
- * Returns: (transfer full): #GstElementFactory if found, NULL otherwise
+ * Returns: (transfer full): #GstElementFactory if found, %NULL otherwise
  */
 GstElementFactory *
 gst_element_factory_find (const gchar * name)
@@ -186,7 +186,7 @@
 
 /**
  * gst_element_register:
- * @plugin: (allow-none): #GstPlugin to register the element with, or NULL for
+ * @plugin: (allow-none): #GstPlugin to register the element with, or %NULL for
  *     a static element.
  * @name: name of elements of this type
  * @rank: rank of element (higher rank means more importance when autoplugging)
@@ -195,7 +195,7 @@
  * Create a new elementfactory capable of instantiating objects of the
  * @type and add the factory to @plugin.
  *
- * Returns: TRUE, if the registering succeeded, FALSE on error
+ * Returns: %TRUE, if the registering succeeded, %FALSE on error
  */
 gboolean
 gst_element_register (GstPlugin * plugin, const gchar * name, guint rank,
@@ -328,14 +328,14 @@
 /**
  * gst_element_factory_create:
  * @factory: factory to instantiate
- * @name: (allow-none): name of new element, or NULL to automatically create
+ * @name: (allow-none): name of new element, or %NULL to automatically create
  *    a unique name
  *
  * Create a new element of the type defined by the given elementfactory.
  * It will be given the name supplied, since all elements require a name as
  * their first argument.
  *
- * Returns: (transfer floating): new #GstElement or NULL if the element couldn't
+ * Returns: (transfer floating): new #GstElement or %NULL if the element couldn't
  *     be created
  */
 GstElement *
@@ -414,15 +414,15 @@
 /**
  * gst_element_factory_make:
  * @factoryname: a named factory to instantiate
- * @name: (allow-none): name of new element, or NULL to automatically create
+ * @name: (allow-none): name of new element, or %NULL to automatically create
  *    a unique name
  *
  * Create a new element of the type defined by the given element factory.
- * If name is NULL, then the element will receive a guaranteed unique name,
+ * If name is %NULL, then the element will receive a guaranteed unique name,
  * consisting of the element factory name and a number.
  * If name is given, it will be given the name supplied.
  *
- * Returns: (transfer floating): new #GstElement or NULL if unable to create element
+ * Returns: (transfer floating): new #GstElement or %NULL if unable to create element
  */
 GstElement *
 gst_element_factory_make (const gchar * factoryname, const gchar * name)
@@ -619,13 +619,13 @@
  * gst_element_factory_get_uri_protocols:
  * @factory: a #GstElementFactory
  *
- * Gets a NULL-terminated array of protocols this element supports or NULL if
+ * Gets a %NULL-terminated array of protocols this element supports or %NULL if
  * no protocols are supported. You may not change the contents of the returned
  * array, as it is still owned by the element factory. Use g_strdupv() to
  * make a copy of the protocol string array if you need to.
  *
  * Returns: (transfer none) (array zero-terminated=1): the supported protocols
- *     or NULL
+ *     or %NULL
  */
 const gchar *const *
 gst_element_factory_get_uri_protocols (GstElementFactory * factory)
@@ -642,7 +642,7 @@
  *
  * Check if @factory implements the interface with name @interfacename.
  *
- * Returns: #TRUE when @factory implement the interface.
+ * Returns: %TRUE when @factory implement the interface.
  */
 gboolean
 gst_element_factory_has_interface (GstElementFactory * factory,
diff --git a/gst/gsterror.c b/gst/gsterror.c
index 0618ef2..0cf5285 100644
--- a/gst/gsterror.c
+++ b/gst/gsterror.c
@@ -80,7 +80,7 @@
  *     currently provided should be enough.  If you find your type of error
  *     does not fit the current codes, you should use FAILED.</para></listitem>
  *   <listitem><para>Don't provide a message if the default one suffices.
- *     this keeps messages more uniform.  Use (NULL) - not forgetting the
+ *     this keeps messages more uniform.  Use (%NULL) - not forgetting the
  *     parentheses.</para></listitem>
  *   <listitem><para>If you do supply a custom message, it should be
  *     marked for translation.  The message should start with a capital
@@ -89,7 +89,7 @@
  *     A user interface will present this message as the first thing a user
  *     sees.  Details, technical info, ... should go in the debug string.
  *   </para></listitem>
- *   <listitem><para>The debug string can be as you like.  Again, use (NULL)
+ *   <listitem><para>The debug string can be as you like.  Again, use (%NULL)
  *     if there's nothing to add - file and line number will still be
  *     passed.  #GST_ERROR_SYSTEM can be used as a shortcut to give
  *     debug information on a system call error.</para></listitem>
diff --git a/gst/gstevent.c b/gst/gstevent.c
index da43f74..2217968 100644
--- a/gst/gstevent.c
+++ b/gst/gstevent.c
@@ -348,10 +348,11 @@
  *
  * Get a writable version of the structure.
  *
- * Returns: The structure of the event. The structure is still
- * owned by the event, which means that you should not free it and
- * that the pointer becomes invalid when you free the event.
- * This function checks if @event is writable and will never return NULL.
+ * Returns: (transfer none): The structure of the event. The structure
+ * is still owned by the event, which means that you should not free
+ * it and that the pointer becomes invalid when you free the event.
+ * This function checks if @event is writable and will never return
+ * %NULL.
  *
  * MT safe.
  */
@@ -1719,8 +1720,8 @@
 /**
  * gst_event_parse_segment_done:
  * @event: A valid #GstEvent of type GST_EVENT_SEGMENT_DONE.
- * @format: (out) (allow-none): Result location for the format, or NULL
- * @position: (out) (allow-none): Result location for the position, or NULL
+ * @format: (out) (allow-none): Result location for the format, or %NULL
+ * @position: (out) (allow-none): Result location for the position, or %NULL
  *
  * Extracts the position and format from the segment done message.
  *
diff --git a/gst/gstevent.h b/gst/gstevent.h
index a61f080..2ee38eb 100644
--- a/gst/gstevent.h
+++ b/gst/gstevent.h
@@ -285,9 +285,9 @@
  * in some cases), and the reference counts are updated appropriately (the old
  * event is unreffed, the new one is reffed).
  *
- * Either @new_event or the #GstEvent pointed to by @old_event may be NULL.
+ * Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.
  *
- * Returns: TRUE if @new_event was different from @old_event
+ * Returns: %TRUE if @new_event was different from @old_event
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_event_replace (GstEvent **old_event, GstEvent *new_event);
@@ -304,7 +304,7 @@
  * @old_event: (inout) (transfer full): pointer to a pointer to a #GstEvent
  *     to be stolen.
  *
- * Atomically replace the #GstEvent pointed to by @old_event with NULL and
+ * Atomically replace the #GstEvent pointed to by @old_event with %NULL and
  * return the original event.
  *
  * Returns: the #GstEvent that was in @old_event
@@ -330,9 +330,9 @@
  * function is similar to gst_event_replace() except that it takes ownership of
  * @new_event.
  *
- * Either @new_event or the #GstEvent pointed to by @old_event may be NULL.
+ * Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.
  *
- * Returns: TRUE if @new_event was different from @old_event
+ * Returns: %TRUE if @new_event was different from @old_event
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_event_take (GstEvent **old_event, GstEvent *new_event);
diff --git a/gst/gstformat.c b/gst/gstformat.c
index 311b4bd..69600cd 100644
--- a/gst/gstformat.c
+++ b/gst/gstformat.c
@@ -85,7 +85,7 @@
  *
  * Get a printable name for the given format. Do not modify or free.
  *
- * Returns: a reference to the static name of the format or NULL if
+ * Returns: a reference to the static name of the format or %NULL if
  * the format is unknown.
  */
 const gchar *
@@ -201,7 +201,7 @@
  *
  * See if the given format is inside the format array.
  *
- * Returns: TRUE if the format is found inside the array
+ * Returns: %TRUE if the format is found inside the array
  */
 gboolean
 gst_formats_contains (const GstFormat * formats, GstFormat format)
@@ -225,7 +225,7 @@
  *
  * Get details about the given format.
  *
- * Returns: The #GstFormatDefinition for @format or NULL on failure.
+ * Returns: The #GstFormatDefinition for @format or %NULL on failure.
  *
  * MT safe.
  */
diff --git a/gst/gstghostpad.c b/gst/gstghostpad.c
index 5aac0eb..cac0d51 100644
--- a/gst/gstghostpad.c
+++ b/gst/gstghostpad.c
@@ -75,11 +75,11 @@
 /**
  * gst_proxy_pad_iterate_internal_links_default:
  * @pad: the #GstPad to get the internal links of.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  *
  * Invoke the default iterate internal links function of the proxy pad.
  *
- * Returns: a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each
+ * Returns: a #GstIterator of #GstPad, or %NULL if @pad has no parent. Unref each
  * returned pad with gst_object_unref().
  */
 GstIterator *
@@ -104,7 +104,7 @@
 /**
  * gst_proxy_pad_chain_default:
  * @pad: a sink #GstPad, returns GST_FLOW_ERROR if not.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  * @buffer: (transfer full): the #GstBuffer to send, return GST_FLOW_ERROR
  *     if not.
  *
@@ -132,7 +132,7 @@
 /**
  * gst_proxy_pad_chain_list_default:
  * @pad: a sink #GstPad, returns GST_FLOW_ERROR if not.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  * @list: (transfer full): the #GstBufferList to send, return GST_FLOW_ERROR
  *     if not.
  *
@@ -208,7 +208,7 @@
  * The internal pad of a #GstGhostPad is the internally used
  * pad of opposite direction, which is used to link to the target.
  *
- * Returns: (transfer full): the target #GstProxyPad, can be NULL.
+ * Returns: (transfer full): the target #GstProxyPad, can be %NULL.
  * Unref target pad after usage.
  */
 GstProxyPad *
@@ -330,7 +330,7 @@
 /**
  * gst_ghost_pad_internal_activate_mode_default:
  * @pad: the #GstPad to activate or deactivate.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  * @mode: the requested activation mode
  * @active: whether the pad should be active or not.
  *
@@ -418,7 +418,7 @@
 /**
  * gst_ghost_pad_activate_mode_default:
  * @pad: the #GstPad to activate or deactivate.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  * @mode: the requested activation mode
  * @active: whether the pad should be active or not.
  *
@@ -644,7 +644,7 @@
 
 /**
  * gst_ghost_pad_new_no_target:
- * @name: (allow-none): the name of the new pad, or NULL to assign a default name.
+ * @name: (allow-none): the name of the new pad, or %NULL to assign a default name.
  * @dir: the direction of the ghostpad
  *
  * Create a new ghostpad without a target with the given direction.
@@ -653,7 +653,7 @@
  *
  * The created ghostpad will not have a padtemplate.
  *
- * Returns: (transfer full): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer full): a new #GstPad, or %NULL in case of an error.
  */
 GstPad *
 gst_ghost_pad_new_no_target (const gchar * name, GstPadDirection dir)
@@ -671,7 +671,7 @@
 
 /**
  * gst_ghost_pad_new:
- * @name: (allow-none): the name of the new pad, or NULL to assign a default name
+ * @name: (allow-none): the name of the new pad, or %NULL to assign a default name
  * @target: (transfer none): the pad to ghost.
  *
  * Create a new ghostpad with @target as the target. The direction will be taken
@@ -679,7 +679,7 @@
  *
  * Will ref the target.
  *
- * Returns: (transfer floating): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer floating): a new #GstPad, or %NULL in case of an error.
  */
 GstPad *
 gst_ghost_pad_new (const gchar * name, GstPad * target)
@@ -710,7 +710,7 @@
 
 /**
  * gst_ghost_pad_new_from_template:
- * @name: (allow-none): the name of the new pad, or NULL to assign a default name.
+ * @name: (allow-none): the name of the new pad, or %NULL to assign a default name.
  * @target: (transfer none): the pad to ghost.
  * @templ: (transfer none): the #GstPadTemplate to use on the ghostpad.
  *
@@ -719,7 +719,7 @@
  *
  * Will ref the target.
  *
- * Returns: (transfer full): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer full): a new #GstPad, or %NULL in case of an error.
  */
 
 GstPad *
@@ -755,13 +755,13 @@
 
 /**
  * gst_ghost_pad_new_no_target_from_template:
- * @name: (allow-none): the name of the new pad, or NULL to assign a default name
+ * @name: (allow-none): the name of the new pad, or %NULL to assign a default name
  * @templ: (transfer none): the #GstPadTemplate to create the ghostpad from.
  *
  * Create a new ghostpad based on @templ, without setting a target. The
  * direction will be taken from the @templ.
  *
- * Returns: (transfer full): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer full): a new #GstPad, or %NULL in case of an error.
  */
 GstPad *
 gst_ghost_pad_new_no_target_from_template (const gchar * name,
@@ -783,7 +783,7 @@
  *
  * Get the target pad of @gpad. Unref target pad after usage.
  *
- * Returns: (transfer full): the target #GstPad, can be NULL if the ghostpad
+ * Returns: (transfer full): the target #GstPad, can be %NULL if the ghostpad
  * has no target set. Unref target pad after usage.
  */
 GstPad *
@@ -807,10 +807,10 @@
  *
  * Set the new target of the ghostpad @gpad. Any existing target
  * is unlinked and links to the new target are established. if @newtarget is
- * NULL the target will be cleared.
+ * %NULL the target will be cleared.
  *
- * Returns: (transfer full): TRUE if the new target could be set. This function
- *     can return FALSE when the internal pads could not be linked.
+ * Returns: (transfer full): %TRUE if the new target could be set. This function
+ *     can return %FALSE when the internal pads could not be linked.
  */
 gboolean
 gst_ghost_pad_set_target (GstGhostPad * gpad, GstPad * newtarget)
diff --git a/gst/gstglobaldevicemonitor.c b/gst/gstglobaldevicemonitor.c
index 5366e86..68900ef 100644
--- a/gst/gstglobaldevicemonitor.c
+++ b/gst/gstglobaldevicemonitor.c
@@ -19,6 +19,22 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/**
+ * SECTION:gstglobaldevicemonitor
+ * @short_description: A global device monitor and prober
+ * @see_also: #GstDevice, #GstDeviceMonitor
+ *
+ * Applications should create a #GstGlobalDeviceMonitor when they want
+ * to probe, list and monitor devices of a specific type. The
+ * #GstGlobalDeviceMonitor will create the appropriate
+ * #GstDeviceMonitor objects and manage them. It will then post
+ * messages on its #GstBus for devices that have been added and
+ * removed.
+ *
+ * Since: 1.4
+ */
+
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -114,7 +130,7 @@
       GstBus *bus = gst_device_monitor_get_bus (monitor);
 
       gst_bus_enable_sync_message_emission (bus);
-      g_signal_connect (monitor, "sync-message",
+      g_signal_connect (bus, "sync-message",
           G_CALLBACK (bus_sync_message), self);
       g_ptr_array_add (self->priv->monitors, monitor);
     }
@@ -169,56 +185,58 @@
  *
  * Returns: (transfer full) (element-type GstDevice): a #GList of
  *   #GstDevice
+ *
+ * Since: 1.4
  */
 
 GList *
-gst_global_device_monitor_get_devices (GstGlobalDeviceMonitor * self)
+gst_global_device_monitor_get_devices (GstGlobalDeviceMonitor * monitor)
 {
   GList *devices = NULL;
   guint i;
   guint cookie;
 
-  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self), NULL);
+  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor), NULL);
 
-  GST_OBJECT_LOCK (self);
+  GST_OBJECT_LOCK (monitor);
 
 again:
 
   g_list_free_full (devices, gst_object_unref);
   devices = NULL;
 
-  cookie = self->priv->cookie;
+  cookie = monitor->priv->cookie;
 
-  for (i = 0; i < self->priv->monitors->len; i++) {
+  for (i = 0; i < monitor->priv->monitors->len; i++) {
     GList *tmpdev;
-    GstDeviceMonitor *monitor =
-        gst_object_ref (g_ptr_array_index (self->priv->monitors, i));
+    GstDeviceMonitor *device_monitor =
+        gst_object_ref (g_ptr_array_index (monitor->priv->monitors, i));
     GList *item;
 
-    GST_OBJECT_UNLOCK (self);
+    GST_OBJECT_UNLOCK (monitor);
 
-    tmpdev = gst_device_monitor_get_devices (monitor);
+    tmpdev = gst_device_monitor_get_devices (device_monitor);
 
     for (item = tmpdev; item; item = item->next) {
       GstDevice *dev = GST_DEVICE (item->data);
       GstCaps *caps = gst_device_get_caps (dev);
 
-      if (gst_caps_can_intersect (self->priv->caps, caps) &&
-          gst_device_has_classes (dev, self->priv->classes))
+      if (gst_caps_can_intersect (monitor->priv->caps, caps) &&
+          gst_device_has_classes (dev, monitor->priv->classes))
         devices = g_list_prepend (devices, gst_object_ref (dev));
       gst_caps_unref (caps);
     }
 
     g_list_free_full (tmpdev, gst_object_unref);
-    gst_object_unref (monitor);
+    gst_object_unref (device_monitor);
 
-    GST_OBJECT_LOCK (self);
+    GST_OBJECT_LOCK (monitor);
 
-    if (self->priv->cookie != cookie)
+    if (monitor->priv->cookie != cookie)
       goto again;
   }
 
-  GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_UNLOCK (monitor);
 
   return devices;
 }
@@ -228,43 +246,46 @@
  * @monitor: A #GstGlobalDeviceMonitor
  *
  * Starts monitoring the devices, one this has succeeded, the
- * #GstGlobalDeviceMonitor:added and #GstGlobalDeviceMonitor:removed
- * signals will be emitted when the list of devices changes.
+ * %GST_MESSAGE_DEVICE_ADDED and %GST_MESSAGE_DEVICE_REMOVED messages
+ * will be emitted on the bus when the list of devices changes.
  *
  * Returns: %TRUE if the device monitoring could be started
+ *
+ * Since: 1.4
  */
 
 gboolean
-gst_global_device_monitor_start (GstGlobalDeviceMonitor * self)
+gst_global_device_monitor_start (GstGlobalDeviceMonitor * monitor)
 {
   guint i;
 
-  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self), FALSE);
+  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor), FALSE);
 
-  GST_OBJECT_LOCK (self);
+  GST_OBJECT_LOCK (monitor);
 
-  if (self->priv->monitors->len == 0) {
-    GST_OBJECT_UNLOCK (self);
+  if (monitor->priv->monitors->len == 0) {
+    GST_OBJECT_UNLOCK (monitor);
     return FALSE;
   }
 
-  gst_bus_set_flushing (self->priv->bus, FALSE);
+  gst_bus_set_flushing (monitor->priv->bus, FALSE);
 
-  for (i = 0; i < self->priv->monitors->len; i++) {
-    if (!gst_device_monitor_start (g_ptr_array_index (self->priv->monitors, i))) {
-      gst_bus_set_flushing (self->priv->bus, TRUE);
+  for (i = 0; i < monitor->priv->monitors->len; i++) {
+    if (!gst_device_monitor_start (g_ptr_array_index (monitor->priv->monitors,
+                i))) {
+      gst_bus_set_flushing (monitor->priv->bus, TRUE);
 
       for (; i != 0; i--)
-        gst_device_monitor_stop (g_ptr_array_index (self->priv->monitors,
+        gst_device_monitor_stop (g_ptr_array_index (monitor->priv->monitors,
                 i - 1));
 
-      GST_OBJECT_UNLOCK (self);
+      GST_OBJECT_UNLOCK (monitor);
       return FALSE;
     }
   }
 
-  self->priv->started = TRUE;
-  GST_OBJECT_UNLOCK (self);
+  monitor->priv->started = TRUE;
+  GST_OBJECT_UNLOCK (monitor);
 
   return TRUE;
 }
@@ -274,53 +295,66 @@
  * @monitor: A #GstDeviceMonitor
  *
  * Stops monitoring the devices.
+ *
+ * Since: 1.4
  */
-
 void
-gst_global_device_monitor_stop (GstGlobalDeviceMonitor * self)
+gst_global_device_monitor_stop (GstGlobalDeviceMonitor * monitor)
 {
   guint i;
 
-  g_return_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self));
+  g_return_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor));
 
-  gst_bus_set_flushing (self->priv->bus, TRUE);
+  gst_bus_set_flushing (monitor->priv->bus, TRUE);
 
-  GST_OBJECT_LOCK (self);
-  for (i = 0; i < self->priv->monitors->len; i++)
-    gst_device_monitor_stop (g_ptr_array_index (self->priv->monitors, i));
-  self->priv->started = FALSE;
-  GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_LOCK (monitor);
+  for (i = 0; i < monitor->priv->monitors->len; i++)
+    gst_device_monitor_stop (g_ptr_array_index (monitor->priv->monitors, i));
+  monitor->priv->started = FALSE;
+  GST_OBJECT_UNLOCK (monitor);
 
 }
 
+/**
+ * gst_global_device_monitor_set_classes_filter:
+ * @monitor: the global device monitor
+ * @classes: device classes to use as filter
+ *
+ * Filter devices monitored by device class, e.g. in case you are only
+ * interested in a certain type of device like audio devices or
+ * video sources.
+ *
+ * Since: 1.4
+ */
 void
-gst_global_device_monitor_set_classes_filter (GstGlobalDeviceMonitor * self,
+gst_global_device_monitor_set_classes_filter (GstGlobalDeviceMonitor * monitor,
     const gchar * classes)
 {
   GList *factories = NULL;
   guint i;
 
-  g_return_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self));
-  g_return_if_fail (!self->priv->started);
+  g_return_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor));
+  g_return_if_fail (!monitor->priv->started);
 
-  GST_OBJECT_LOCK (self);
-  if (!strcmp (self->priv->classes, classes)) {
-    GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_LOCK (monitor);
+  if (!strcmp (monitor->priv->classes, classes)) {
+    GST_OBJECT_UNLOCK (monitor);
     return;
   }
 
-  g_free (self->priv->classes);
-  self->priv->classes = g_strdup (classes);
+  g_free (monitor->priv->classes);
+  monitor->priv->classes = g_strdup (classes);
 
-  factories =
-      gst_device_monitor_factory_list_get_device_monitors (self->priv->classes,
-      1);
+  factories = gst_device_monitor_factory_list_get_device_monitors (classes, 1);
 
-  for (i = 0; i < self->priv->monitors->len; i++) {
-    GstDeviceMonitor *monitor = g_ptr_array_index (self->priv->monitors, i);
-    GstDeviceMonitorFactory *f = gst_device_monitor_get_factory (monitor);
+  for (i = 0; i < monitor->priv->monitors->len; i++) {
+    GstDeviceMonitor *dev_monitor;
+    GstDeviceMonitorFactory *f;
     GList *item;
 
+    dev_monitor = g_ptr_array_index (monitor->priv->monitors, i);
+    f = gst_device_monitor_get_factory (dev_monitor);
+
     item = g_list_find (factories, f);
 
     if (item) {
@@ -333,76 +367,115 @@
       /* If it's not in our list, them remove it from the list of monitors.
        */
 
-      self->priv->cookie++;
-      gst_global_device_monitor_remove (self, i);
+      monitor->priv->cookie++;
+      gst_global_device_monitor_remove (monitor, i);
       i--;
     }
   }
 
   while (factories) {
     GstDeviceMonitorFactory *factory = factories->data;
-    GstDeviceMonitor *monitor;
+    GstDeviceMonitor *device_monitor;
 
     factories = g_list_remove (factories, factory);
 
-    monitor = gst_device_monitor_factory_get (factory);
-    if (monitor) {
-      GstBus *bus = gst_device_monitor_get_bus (monitor);
+    device_monitor = gst_device_monitor_factory_get (factory);
+    if (device_monitor) {
+      GstBus *bus = gst_device_monitor_get_bus (device_monitor);
 
       gst_bus_enable_sync_message_emission (bus);
       g_signal_connect (bus, "sync-message",
-          G_CALLBACK (bus_sync_message), self);
+          G_CALLBACK (bus_sync_message), monitor);
       gst_object_unref (bus);
-      g_ptr_array_add (self->priv->monitors, monitor);
-      self->priv->cookie++;
+      g_ptr_array_add (monitor->priv->monitors, device_monitor);
+      monitor->priv->cookie++;
     }
 
     gst_object_unref (factory);
   }
 
-  GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_UNLOCK (monitor);
 }
 
+/**
+ * gst_global_device_monitor_get_classes_filter:
+ * @monitor: the global device monitor
+ *
+ * Return the type (device classes) filter active for device filtering.
+ *
+ * Returns: string of device classes that are being filtered.
+ *
+ * Since: 1.4
+ */
 gchar *
-gst_global_device_monitor_get_classes_filter (GstGlobalDeviceMonitor * self)
+gst_global_device_monitor_get_classes_filter (GstGlobalDeviceMonitor * monitor)
 {
   gchar *res;
 
-  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self), 0);
+  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor), 0);
 
-  GST_OBJECT_LOCK (self);
-  res = g_strdup (self->priv->classes);
-  GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_LOCK (monitor);
+  res = g_strdup (monitor->priv->classes);
+  GST_OBJECT_UNLOCK (monitor);
 
   return res;
 }
 
+/**
+ * gst_global_device_monitor_set_caps_filter:
+ * @monitor: the global device monitor
+ * @caps: caps to filter
+ *
+ * Set caps to use as filter for devices. By default ANY caps are used,
+ * meaning no caps filter is active.
+ *
+ * Since: 1.4
+ */
 void
-gst_global_device_monitor_set_caps_filter (GstGlobalDeviceMonitor * self,
+gst_global_device_monitor_set_caps_filter (GstGlobalDeviceMonitor * monitor,
     GstCaps * caps)
 {
-  g_return_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self));
+  g_return_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor));
   g_return_if_fail (GST_IS_CAPS (caps));
 
-  GST_OBJECT_LOCK (self);
-  gst_caps_replace (&self->priv->caps, caps);
-  GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_LOCK (monitor);
+  gst_caps_replace (&monitor->priv->caps, caps);
+  GST_OBJECT_UNLOCK (monitor);
 }
 
+/**
+ * gst_global_device_monitor_get_caps_filter:
+ * @monitor: a global device monitor
+ *
+ * Get the #GstCaps filter set by gst_global_device_monitor_set_caps_filter().
+ *
+ * Returns: (transfer full): the filter caps that are active (or ANY caps)
+ *
+ * Since: 1.4
+ */
 GstCaps *
-gst_global_device_monitor_get_caps_filter (GstGlobalDeviceMonitor * self)
+gst_global_device_monitor_get_caps_filter (GstGlobalDeviceMonitor * monitor)
 {
   GstCaps *res;
 
-  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (self), NULL);
+  g_return_val_if_fail (GST_IS_GLOBAL_DEVICE_MONITOR (monitor), NULL);
 
-  GST_OBJECT_LOCK (self);
-  res = gst_caps_ref (self->priv->caps);
-  GST_OBJECT_UNLOCK (self);
+  GST_OBJECT_LOCK (monitor);
+  res = gst_caps_ref (monitor->priv->caps);
+  GST_OBJECT_UNLOCK (monitor);
 
   return res;
 }
 
+/**
+ * gst_global_device_monitor_new:
+ *
+ * Create a new #GstGlobalDeviceMonitor
+ *
+ * Returns: (transfer full): a new global device monitor.
+ *
+ * Since: 1.4
+ */
 GstGlobalDeviceMonitor *
 gst_global_device_monitor_new (void)
 {
@@ -416,6 +489,8 @@
  * Gets the #GstBus of this #GstGlobalDeviceMonitor
  *
  * Returns: (transfer full): a #GstBus
+ *
+ * Since: 1.4
  */
 GstBus *
 gst_global_device_monitor_get_bus (GstGlobalDeviceMonitor * monitor)
diff --git a/gst/gstglobaldevicemonitor.h b/gst/gstglobaldevicemonitor.h
index 2cd3849..b92fd40 100644
--- a/gst/gstglobaldevicemonitor.h
+++ b/gst/gstglobaldevicemonitor.h
@@ -42,7 +42,14 @@
 #define GST_GLOBAL_DEVICE_MONITOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GLOBAL_DEVICE_MONITOR, GstGlobalDeviceMonitorClass))
 #define GST_GLOBAL_DEVICE_MONITOR_CAST(obj)            ((GstGlobalDeviceMonitor *)(obj))
 
-
+/**
+ * GstGlobalDeviceMonitor:
+ * @parent: the parent #GstObject structure
+ *
+ * Opaque global device monitor object structure.
+ *
+ * Since: 1.4
+ */
 struct _GstGlobalDeviceMonitor {
   GstObject                parent;
 
@@ -53,6 +60,14 @@
   gpointer _gst_reserved[GST_PADDING];
 };
 
+/**
+ * GstGlobalDeviceMonitorClass:
+ * @parent_class: the parent #GstObjectClass structure
+ *
+ * Opaque global device monitor class structure.
+ *
+ * Since: 1.4
+ */
 struct _GstGlobalDeviceMonitorClass {
   GstObjectClass           parent_class;
 
@@ -60,32 +75,30 @@
   gpointer _gst_reserved[GST_PADDING];
 };
 
-GType       gst_global_device_monitor_get_type (void);
+GType     gst_global_device_monitor_get_type (void);
 
 GstGlobalDeviceMonitor * gst_global_device_monitor_new  (void);
 
-GList *     gst_global_device_monitor_get_devices (GstGlobalDeviceMonitor * monitor);
+GstBus *  gst_global_device_monitor_get_bus (GstGlobalDeviceMonitor * monitor);
 
-gboolean    gst_global_device_monitor_start (GstGlobalDeviceMonitor * monitor);
-void        gst_global_device_monitor_stop  (GstGlobalDeviceMonitor * monitor);
+GList *   gst_global_device_monitor_get_devices (GstGlobalDeviceMonitor * monitor);
 
 
-void        gst_global_device_monitor_set_classes_filter (
-    GstGlobalDeviceMonitor * monitor, const gchar *classes);
+gboolean  gst_global_device_monitor_start (GstGlobalDeviceMonitor * monitor);
 
-gchar *gst_global_device_monitor_get_classes_filter (
-  GstGlobalDeviceMonitor * monitor);
+void      gst_global_device_monitor_stop  (GstGlobalDeviceMonitor * monitor);
 
 
-void        gst_global_device_monitor_set_caps_filter (
-  GstGlobalDeviceMonitor * monitor,
-  GstCaps *                caps);
+void      gst_global_device_monitor_set_classes_filter (GstGlobalDeviceMonitor * monitor,
+                                                        const gchar            * classes);
 
-GstCaps *   gst_global_device_monitor_get_caps_filter (
-  GstGlobalDeviceMonitor * monitor);
+gchar *   gst_global_device_monitor_get_classes_filter (GstGlobalDeviceMonitor * monitor);
 
-GstBus *    gst_global_device_monitor_get_bus (
-  GstGlobalDeviceMonitor * monitor);
+
+void      gst_global_device_monitor_set_caps_filter (GstGlobalDeviceMonitor * monitor,
+                                                     GstCaps                * caps);
+
+GstCaps * gst_global_device_monitor_get_caps_filter (GstGlobalDeviceMonitor * monitor);
 
 G_END_DECLS
 
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
index 1d05cac..3f56686 100644
--- a/gst/gstinfo.c
+++ b/gst/gstinfo.c
@@ -429,7 +429,7 @@
  * @function: the function that emitted the message
  * @line: the line from that the message was emitted, usually __LINE__
  * @object: (transfer none) (allow-none): the object this message relates to,
- *     or NULL if none
+ *     or %NULL if none
  * @format: a printf style format string
  * @...: optional arguments for the format
  *
@@ -481,7 +481,7 @@
  * @function: the function that emitted the message
  * @line: the line from that the message was emitted, usually __LINE__
  * @object: (transfer none) (allow-none): the object this message relates to,
- *     or NULL if none
+ *     or %NULL if none
  * @format: a printf style format string
  * @args: optional arguments for the format
  *
@@ -671,16 +671,16 @@
   if (object == NULL) {
     return g_strdup ("(NULL)");
   }
-  if (*(GType *) ptr == GST_TYPE_CAPS) {
+  if (GST_IS_CAPS (ptr)) {
     return gst_caps_to_string ((const GstCaps *) ptr);
   }
-  if (*(GType *) ptr == GST_TYPE_STRUCTURE) {
+  if (GST_IS_STRUCTURE (ptr)) {
     return gst_info_structure_to_string ((const GstStructure *) ptr);
   }
   if (*(GType *) ptr == GST_TYPE_CAPS_FEATURES) {
     return gst_caps_features_to_string ((const GstCapsFeatures *) ptr);
   }
-  if (*(GType *) ptr == GST_TYPE_TAG_LIST) {
+  if (GST_IS_TAG_LIST (ptr)) {
     gchar *str = gst_tag_list_to_string ((GstTagList *) ptr);
     if (G_UNLIKELY (pretty_tags))
       return prettify_structure_string (str);
@@ -698,15 +698,6 @@
     return g_strdup_printf ("<poisoned@%p>", ptr);
   }
 #endif
-  if (GST_IS_PAD (object) && GST_OBJECT_NAME (object)) {
-    return g_strdup_printf ("<%s:%s>", GST_DEBUG_PAD_NAME (object));
-  }
-  if (GST_IS_OBJECT (object) && GST_OBJECT_NAME (object)) {
-    return g_strdup_printf ("<%s>", GST_OBJECT_NAME (object));
-  }
-  if (G_IS_OBJECT (object)) {
-    return g_strdup_printf ("<%s@%p>", G_OBJECT_TYPE_NAME (object), object);
-  }
   if (GST_IS_MESSAGE (object)) {
     return gst_info_describe_message (GST_MESSAGE_CAST (object));
   }
@@ -731,6 +722,15 @@
     g_free (s);
     return ret;
   }
+  if (GST_IS_PAD (object) && GST_OBJECT_NAME (object)) {
+    return g_strdup_printf ("<%s:%s>", GST_DEBUG_PAD_NAME (object));
+  }
+  if (GST_IS_OBJECT (object) && GST_OBJECT_NAME (object)) {
+    return g_strdup_printf ("<%s>", GST_OBJECT_NAME (object));
+  }
+  if (G_IS_OBJECT (object)) {
+    return g_strdup_printf ("<%s@%p>", G_OBJECT_TYPE_NAME (object), object);
+  }
 
   return g_strdup_printf ("%p", ptr);
 }
@@ -961,7 +961,7 @@
  * @line: the line from that the message was emitted, usually __LINE__
  * @message: the actual message
  * @object: (transfer none) (allow-none): the object this message relates to,
- *     or NULL if none
+ *     or %NULL if none
  * @unused: an unused variable, reserved for some user_data.
  *
  * The default logging handler used by GStreamer. Logging functions get called
@@ -1318,7 +1318,7 @@
  *
  * Checks if the debugging output should be colored.
  *
- * Returns: TRUE, if the debug output should be colored.
+ * Returns: %TRUE, if the debug output should be colored.
  */
 gboolean
 gst_debug_is_colored (void)
@@ -1367,7 +1367,7 @@
  *
  * Checks if debugging output is activated.
  *
- * Returns: TRUE, if debugging is activated
+ * Returns: %TRUE, if debugging is activated
  */
 gboolean
 gst_debug_is_active (void)
diff --git a/gst/gstinfo.h b/gst/gstinfo.h
index 25c69da..319e841 100644
--- a/gst/gstinfo.h
+++ b/gst/gstinfo.h
@@ -199,9 +199,9 @@
  * GST_STR_NULL:
  * @str: The string to check.
  *
- * Macro to use when a string must not be NULL, but may be NULL. If the string
- * is NULL, "(NULL)" is printed instead.
- * In GStreamer printf string arguments may not be NULL, because on some
+ * Macro to use when a string must not be %NULL, but may be %NULL. If the string
+ * is %NULL, "(NULL)" is printed instead.
+ * In GStreamer printf string arguments may not be %NULL, because on some
  * platforms (ie Solaris) the libc crashes in that case. This includes debugging
  * strings.
  */
@@ -470,7 +470,7 @@
  *
  * Looks up an existing #GstDebugCategory by its @name and sets @cat. If the
  * category is not found, but GST_CAT_DEFAULT is defined, that is assigned to
- * @cat. Otherwise @cat will be NULL.
+ * @cat. Otherwise @cat will be %NULL.
  *
  * |[
  * GST_DEBUG_CATEGORY_STATIC (gst_myplugin_debug);
@@ -511,7 +511,7 @@
  * GST_CAT_LEVEL_LOG:
  * @cat: category to use
  * @level: the severity of the message
- * @object: (allow-none): the #GObject the message belongs to or NULL if none
+ * @object: (allow-none): the #GObject the message belongs to or %NULL if none
  * @...: A printf-style message to output
  *
  * Outputs a debugging message. This is the most general macro for outputting
diff --git a/gst/gstiterator.c b/gst/gstiterator.c
index 92e3dd4..4e5b1f5 100644
--- a/gst/gstiterator.c
+++ b/gst/gstiterator.c
@@ -586,8 +586,8 @@
  * This procedure can be used (and is used internally) to implement the
  * gst_iterator_foreach() and gst_iterator_find_custom() operations.
  *
- * The fold will proceed as long as @func returns TRUE. When the iterator has no
- * more arguments, %GST_ITERATOR_DONE will be returned. If @func returns FALSE,
+ * The fold will proceed as long as @func returns %TRUE. When the iterator has no
+ * more arguments, %GST_ITERATOR_DONE will be returned. If @func returns %FALSE,
  * the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs
  * will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as
  * appropriate.
@@ -703,10 +703,10 @@
  *
  * The iterator will not be freed.
  *
- * This function will return FALSE if an error happened to the iterator
+ * This function will return %FALSE if an error happened to the iterator
  * or if the element wasn't found.
  *
- * Returns: Returns TRUE if the element was found, else FALSE.
+ * Returns: Returns %TRUE if the element was found, else %FALSE.
  *
  * MT safe.
  */
diff --git a/gst/gstiterator.h b/gst/gstiterator.h
index 7ad54ee..264f197 100644
--- a/gst/gstiterator.h
+++ b/gst/gstiterator.h
@@ -146,7 +146,7 @@
  *
  * A function to be passed to gst_iterator_fold().
  *
- * Returns: TRUE if the fold should continue, FALSE if it should stop.
+ * Returns: %TRUE if the fold should continue, %FALSE if it should stop.
  */
 typedef gboolean          (*GstIteratorFoldFunction)    (const GValue * item, GValue * ret, gpointer user_data);
 
diff --git a/gst/gstmemory.c b/gst/gstmemory.c
index 863d2e6..c29fccd 100644
--- a/gst/gstmemory.c
+++ b/gst/gstmemory.c
@@ -33,7 +33,7 @@
  * in the allocated region.
  *
  * Memory is usually created by allocators with a gst_allocator_alloc()
- * method call. When NULL is used as the allocator, the default allocator will
+ * method call. When %NULL is used as the allocator, the default allocator will
  * be used.
  *
  * New allocators can be registered with gst_allocator_register().
@@ -59,7 +59,7 @@
  * memory with an existing memory block at a custom offset and with a custom
  * size.
  *
- * Memory can be efficiently merged when gst_memory_is_span() returns TRUE.
+ * Memory can be efficiently merged when gst_memory_is_span() returns %TRUE.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -69,6 +69,7 @@
 #include "gst_private.h"
 #include "gstmemory.h"
 
+GType _gst_memory_type = 0;
 GST_DEFINE_MINI_OBJECT_TYPE (GstMemory, gst_memory);
 
 static GstMemory *
@@ -224,7 +225,7 @@
  * This function takes ownership of old @mem and returns a reference to a new
  * #GstMemory.
  *
- * Returns: (transfer full): a #GstMemory object mapped with @flags or NULL when
+ * Returns: (transfer full): a #GstMemory object mapped with @flags or %NULL when
  * a mapping is not possible.
  */
 GstMemory *
@@ -425,3 +426,9 @@
 
   return TRUE;
 }
+
+void
+_priv_gst_memory_initialize (void)
+{
+  _gst_memory_type = gst_memory_get_type ();
+}
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index b5180ca..4819e2a 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -29,7 +29,8 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_MEMORY (gst_memory_get_type())
+GST_EXPORT GType _gst_memory_type;
+#define GST_TYPE_MEMORY (_gst_memory_type)
 GType gst_memory_get_type(void);
 
 typedef struct _GstMemory GstMemory;
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index 359a7b2..5014016 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -108,7 +108,7 @@
   {0, NULL, 0}
 };
 
-static GType _gst_message_type = 0;
+GType _gst_message_type = 0;
 GST_DEFINE_MINI_OBJECT_TYPE (GstMessage, gst_message);
 
 void
@@ -261,7 +261,7 @@
  *
  * Create a new custom-typed message. This can be used for anything not
  * handled by other message-specific functions to pass a message to the
- * app. The structure field can be NULL.
+ * app. The structure field can be %NULL.
  *
  * Returns: (transfer full): The new message.
  *
@@ -582,7 +582,7 @@
  * gst_message_new_clock_provide:
  * @src: (transfer none): the object originating the message.
  * @clock: (transfer none): the clock it provides
- * @ready: TRUE if the sender can provide a clock
+ * @ready: %TRUE if the sender can provide a clock
  *
  * Create a clock provide message. This message is posted whenever an
  * element is ready to provide a clock or lost its ability to provide
@@ -791,7 +791,7 @@
  * Create a new element-specific message. This is meant as a generic way of
  * allowing one-way communication from an element to an application, for example
  * "the firewire cable was unplugged". The format of the message should be
- * documented in the element's documentation. The structure field can be NULL.
+ * documented in the element's documentation. The structure field can be %NULL.
  *
  * Returns: (transfer full): The new element message.
  *
@@ -1056,11 +1056,11 @@
 /**
  * gst_message_parse_buffering_stats:
  * @message: A valid #GstMessage of type GST_MESSAGE_BUFFERING.
- * @mode: (out) (allow-none): a buffering mode, or NULL
- * @avg_in: (out) (allow-none): the average input rate, or NULL
- * @avg_out: (out) (allow-none): the average output rate, or NULL
+ * @mode: (out) (allow-none): a buffering mode, or %NULL
+ * @avg_in: (out) (allow-none): the average input rate, or %NULL
+ * @avg_out: (out) (allow-none): the average output rate, or %NULL
  * @buffering_left: (out) (allow-none): amount of buffering time left in
- *     milliseconds, or NULL
+ *     milliseconds, or %NULL
  *
  * Extracts the buffering stats values from @message.
  */
@@ -1093,9 +1093,9 @@
 /**
  * gst_message_parse_state_changed:
  * @message: a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED
- * @oldstate: (out) (allow-none): the previous state, or NULL
- * @newstate: (out) (allow-none): the new (current) state, or NULL
- * @pending: (out) (allow-none): the pending (target) state, or NULL
+ * @oldstate: (out) (allow-none): the previous state, or %NULL
+ * @newstate: (out) (allow-none): the new (current) state, or %NULL
+ * @pending: (out) (allow-none): the pending (target) state, or %NULL
  *
  * Extracts the old and new states from the GstMessage.
  *
@@ -1148,8 +1148,8 @@
  * gst_message_parse_clock_provide:
  * @message: A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE.
  * @clock: (out) (allow-none) (transfer none): a pointer to  hold a clock
- *     object, or NULL
- * @ready: (out) (allow-none): a pointer to hold the ready flag, or NULL
+ *     object, or %NULL
+ * @ready: (out) (allow-none): a pointer to hold the ready flag, or %NULL
  *
  * Extracts the clock and ready flag from the GstMessage.
  * The clock object returned remains valid until the message is freed.
@@ -1281,7 +1281,7 @@
  * @message: A valid #GstMessage of type GST_MESSAGE_ERROR.
  * @gerror: (out) (allow-none) (transfer full): location for the GError
  * @debug: (out) (allow-none) (transfer full): location for the debug message,
- *     or NULL
+ *     or %NULL
  *
  * Extracts the GError and debug string from the GstMessage. The values returned
  * in the output arguments are copies; the caller must free them when done.
@@ -1325,7 +1325,7 @@
  * @message: A valid #GstMessage of type GST_MESSAGE_WARNING.
  * @gerror: (out) (allow-none) (transfer full): location for the GError
  * @debug: (out) (allow-none) (transfer full): location for the debug message,
- *     or NULL
+ *     or %NULL
  *
  * Extracts the GError and debug string from the GstMessage. The values returned
  * in the output arguments are copies; the caller must free them when done.
@@ -1349,7 +1349,7 @@
  * @message: A valid #GstMessage of type GST_MESSAGE_INFO.
  * @gerror: (out) (allow-none) (transfer full): location for the GError
  * @debug: (out) (allow-none) (transfer full): location for the debug message,
- *     or NULL
+ *     or %NULL
  *
  * Extracts the GError and debug string from the GstMessage. The values returned
  * in the output arguments are copies; the caller must free them when done.
@@ -1370,8 +1370,8 @@
 /**
  * gst_message_parse_segment_start:
  * @message: A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.
- * @format: (out) (allow-none): Result location for the format, or NULL
- * @position: (out) (allow-none): Result location for the position, or NULL
+ * @format: (out) (allow-none): Result location for the format, or %NULL
+ * @position: (out) (allow-none): Result location for the position, or %NULL
  *
  * Extracts the position and format from the segment start message.
  *
@@ -1400,8 +1400,8 @@
 /**
  * gst_message_parse_segment_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE.
- * @format: (out) (allow-none): Result location for the format, or NULL
- * @position: (out) (allow-none): Result location for the position, or NULL
+ * @format: (out) (allow-none): Result location for the format, or %NULL
+ * @position: (out) (allow-none): Result location for the position, or %NULL
  *
  * Extracts the position and format from the segment done message.
  *
@@ -1430,7 +1430,7 @@
 /**
  * gst_message_parse_async_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.
- * @running_time: (out) (allow-none): Result location for the running_time or NULL
+ * @running_time: (out) (allow-none): Result location for the running_time or %NULL
  *
  * Extract the running_time from the async_done message.
  *
@@ -1454,7 +1454,7 @@
 /**
  * gst_message_parse_request_state:
  * @message: A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE.
- * @state: (out) (allow-none): Result location for the requested state or NULL
+ * @state: (out) (allow-none): Result location for the requested state or %NULL
  *
  * Extract the requested state from the request_state message.
  *
@@ -1596,7 +1596,7 @@
  * @eos: the step caused EOS
  *
  * This message is posted by elements when they complete a part, when @intermediate set
- * to TRUE, or a complete step operation.
+ * to %TRUE, or a complete step operation.
  *
  * @duration will contain the amount of time (in GST_FORMAT_TIME) of the stepped
  * @amount of media in format @format.
@@ -1675,10 +1675,10 @@
  * This message is posted by elements when they accept or activate a new step
  * event for @amount in @format. 
  *
- * @active is set to FALSE when the element accepted the new step event and has
+ * @active is set to %FALSE when the element accepted the new step event and has
  * queued it for execution in the streaming threads.
  *
- * @active is set to TRUE when the element has activated the step operation and
+ * @active is set to %TRUE when the element has activated the step operation and
  * is now ready to start executing the step in the streaming thread. After this
  * message is emitted, the application can queue a new step operation in the
  * element.
@@ -2107,7 +2107,7 @@
  * gst_message_parse_reset_time:
  * @message: A valid #GstMessage of type GST_MESSAGE_RESET_TIME.
  * @running_time: (out) (allow-none): Result location for the running_time or
- *      NULL
+ *      %NULL
  *
  * Extract the running-time from the RESET_TIME message.
  *
@@ -2188,7 +2188,7 @@
  * gst_message_parse_group_id:
  * @message: A valid #GstMessage of type GST_MESSAGE_STREAM_START.
  * @group_id: (out) (allow-none): Result location for the group id or
- *      NULL
+ *      %NULL
  *
  * Extract the group from the STREAM_START message.
  *
@@ -2252,7 +2252,7 @@
 /**
  * gst_message_parse_context_type:
  * @message: a GST_MESSAGE_NEED_CONTEXT type message
- * @context_type: (out) (allow-none): the context type, or NULL
+ * @context_type: (out) (allow-none): the context type, or %NULL
  *
  * Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.
  *
@@ -2311,7 +2311,7 @@
  * gst_message_parse_have_context:
  * @message: A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT.
  * @context: (out) (transfer full) (allow-none): Result location for the
- *      context or NULL
+ *      context or %NULL
  *
  * Extract the context from the HAVE_CONTEXT message.
  *
@@ -2361,6 +2361,7 @@
 
 /**
  * gst_message_parse_device_added:
+ * @message: a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED
  * @device: (out) (allow-none) (transfer none): A location where to store a
  *  pointer to the new #GstDevice, or %NULL
  * 
@@ -2412,6 +2413,7 @@
 
 /**
  * gst_message_parse_device_removed:
+ * @message: a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED
  * @device: (out) (allow-none) (transfer none): A location where to store a
  *  pointer to the removed #GstDevice, or %NULL
  *
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
index c9da762..7433edc 100644
--- a/gst/gstmessage.h
+++ b/gst/gstmessage.h
@@ -165,7 +165,9 @@
 #include <gst/gsttoc.h>
 #include <gst/gstdevice.h>
 
-#define GST_TYPE_MESSAGE                         (gst_message_get_type())
+GST_EXPORT GType _gst_message_type;
+
+#define GST_TYPE_MESSAGE                         (_gst_message_type)
 #define GST_IS_MESSAGE(obj)                      (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_MESSAGE))
 #define GST_MESSAGE_CAST(obj)                    ((GstMessage*)(obj))
 #define GST_MESSAGE(obj)                         (GST_MESSAGE_CAST(obj))
@@ -412,9 +414,9 @@
  * in some cases), and the reference counts are updated appropriately (the old
  * message is unreffed, the new one is reffed).
  *
- * Either @new_message or the #GstMessage pointed to by @old_message may be NULL.
+ * Either @new_message or the #GstMessage pointed to by @old_message may be %NULL.
  *
- * Returns: TRUE if @new_message was different from @old_message
+ * Returns: %TRUE if @new_message was different from @old_message
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_message_replace (GstMessage **old_message, GstMessage *new_message);
diff --git a/gst/gstmeta.c b/gst/gstmeta.c
index 954ff59..0e0aca1 100644
--- a/gst/gstmeta.c
+++ b/gst/gstmeta.c
@@ -205,7 +205,7 @@
  * Lookup a previously registered meta info structure by its implementation name
  * @impl.
  *
- * Returns: (transfer none): a #GstMetaInfo with @impl, or #NULL when no such
+ * Returns: (transfer none): a #GstMetaInfo with @impl, or %NULL when no such
  * metainfo exists.
  */
 const GstMetaInfo *
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index 5e8b11c..bece06a 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -104,9 +104,9 @@
  * @mini_object: a #GstMiniObject
  * @flags: initial #GstMiniObjectFlags
  * @type: the #GType of the mini-object to create
- * @copy_func: (allow-none): the copy function, or NULL
- * @dispose_func: (allow-none): the dispose function, or NULL
- * @free_func: (allow-none): the free function or NULL
+ * @copy_func: (allow-none): the copy function, or %NULL
+ * @dispose_func: (allow-none): the dispose function, or %NULL
+ * @free_func: (allow-none): the free function or %NULL
  *
  * Initializes a mini-object with the desired type and copy/dispose/free
  * functions.
@@ -279,7 +279,7 @@
  * Modification of a mini-object should only be done after verifying that it
  * is writable.
  *
- * Returns: TRUE if the object is writable.
+ * Returns: %TRUE if the object is writable.
  */
 gboolean
 gst_mini_object_is_writable (const GstMiniObject * mini_object)
@@ -477,9 +477,9 @@
  * The reference count of @olddata is decreased and the reference count of
  * @newdata is increased.
  *
- * Either @newdata and the value pointed to by @olddata may be NULL.
+ * Either @newdata and the value pointed to by @olddata may be %NULL.
  *
- * Returns: TRUE if @newdata was different from @olddata
+ * Returns: %TRUE if @newdata was different from @olddata
  */
 gboolean
 gst_mini_object_replace (GstMiniObject ** olddata, GstMiniObject * newdata)
@@ -518,7 +518,7 @@
  * @olddata: (inout) (transfer full): pointer to a pointer to a mini-object to
  *     be stolen
  *
- * Replace the current #GstMiniObject pointer to by @olddata with NULL and
+ * Replace the current #GstMiniObject pointer to by @olddata with %NULL and
  * return the old value.
  *
  * Returns: the #GstMiniObject at @oldata
@@ -554,9 +554,9 @@
  * except that it does not increase the refcount of @newdata and thus
  * takes ownership of @newdata.
  *
- * Either @newdata and the value pointed to by @olddata may be NULL.
+ * Either @newdata and the value pointed to by @olddata may be %NULL.
  *
- * Returns: TRUE if @newdata was different from @olddata
+ * Returns: %TRUE if @newdata was different from @olddata
  */
 gboolean
 gst_mini_object_take (GstMiniObject ** olddata, GstMiniObject * newdata)
@@ -648,7 +648,7 @@
  * can be gotten back from the @object with gst_mini_object_get_qdata()
  * until the @object is disposed.
  * Setting a previously set user data pointer, overrides (frees)
- * the old pointer set, using #NULL as pointer essentially
+ * the old pointer set, using %NULL as pointer essentially
  * removes the data stored.
  *
  * @destroy may be specified which is called with @data as argument
diff --git a/gst/gstobject.c b/gst/gstobject.c
index c7add61..b997db6 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -60,8 +60,8 @@
  *   <listitem><para>
  *     when processing data (get, chain, loop function) at the beginning call
  *     gst_object_sync_values(element,timestamp).
- *     This will make the controller to update all gobject properties that are under
- *     control with the current values based on timestamp.
+ *     This will make the controller update all GObject properties that are
+ *     under its control with the current values based on the timestamp.
  *   </para></listitem>
  * </orderedlist>
  *
@@ -318,9 +318,9 @@
  * The reference count of @oldobj is decreased and the reference count of
  * @newobj is increased.
  *
- * Either @newobj and the value pointed to by @oldobj may be NULL.
+ * Either @newobj and the value pointed to by @oldobj may be %NULL.
  *
- * Returns: TRUE if @newobj was different from @oldobj
+ * Returns: %TRUE if @newobj was different from @oldobj
  */
 gboolean
 gst_object_replace (GstObject ** oldobj, GstObject * newobj)
@@ -481,7 +481,7 @@
  * @orig: a #GstObject that initiated the notify.
  * @pspec: a #GParamSpec of the property.
  * @excluded_props: (array zero-terminated=1) (element-type gchar*) (allow-none):
- *     a set of user-specified properties to exclude or NULL to show
+ *     a set of user-specified properties to exclude or %NULL to show
  *     all changes.
  *
  * A default deep_notify signal callback for an object. The user data
@@ -591,12 +591,12 @@
  * @name:   new name of object
  *
  * Sets the name of @object, or gives @object a guaranteed unique
- * name (if @name is NULL).
+ * name (if @name is %NULL).
  * This function makes a copy of the provided name, so the caller
  * retains ownership of the name it sent.
  *
- * Returns: TRUE if the name could be set. Since Objects that have
- * a parent cannot be renamed, this function returns FALSE in those
+ * Returns: %TRUE if the name could be set. Since Objects that have
+ * a parent cannot be renamed, this function returns %FALSE in those
  * cases.
  *
  * MT safe.  This function grabs and releases @object's LOCK.
@@ -644,7 +644,7 @@
  *
  * Returns a copy of the name of @object.
  * Caller should g_free() the return value after usage.
- * For a nameless object, this returns NULL, which you can safely g_free()
+ * For a nameless object, this returns %NULL, which you can safely g_free()
  * as well.
  *
  * Free-function: g_free
@@ -675,7 +675,7 @@
  * Sets the parent of @object to @parent. The object's reference count will
  * be incremented, and any floating reference will be removed (see gst_object_ref_sink()).
  *
- * Returns: TRUE if @parent could be set or FALSE when @object
+ * Returns: %TRUE if @parent could be set or %FALSE when @object
  * already had a parent or @object and @parent are the same.
  *
  * MT safe. Grabs and releases @object's LOCK.
@@ -724,7 +724,7 @@
  * Returns the parent of @object. This function increases the refcount
  * of the parent object so you should gst_object_unref() it after usage.
  *
- * Returns: (transfer full): parent of @object, this can be NULL if @object
+ * Returns: (transfer full): parent of @object, this can be %NULL if @object
  *   has no parent. unref after usage.
  *
  * MT safe. Grabs and releases @object's LOCK.
@@ -785,7 +785,7 @@
  * 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.
+ * Returns: %TRUE if @ancestor is an ancestor of @object.
  *
  * MT safe. Grabs and releases @object's locks.
  */
@@ -824,8 +824,8 @@
  * will lock each #GstObject in the list to compare the name, so be
  * careful when passing a list with a locked object.
  *
- * Returns: TRUE if a #GstObject named @name does not appear in @list,
- * FALSE if it does.
+ * Returns: %TRUE if a #GstObject named @name does not appear in @list,
+ * %FALSE if it does.
  *
  * MT safe. Grabs and releases the LOCK of each object in the list.
  */
diff --git a/gst/gstobject.h b/gst/gstobject.h
index adc8e46..86c5715 100644
--- a/gst/gstobject.h
+++ b/gst/gstobject.h
@@ -89,7 +89,7 @@
  * @obj: a #GstObject.
  *
  * This macro will try to obtain a lock on the object, but will return with
- * FALSE if it can't get it immediately.
+ * %FALSE if it can't get it immediately.
  */
 #define GST_OBJECT_TRYLOCK(obj)                g_mutex_trylock(GST_OBJECT_GET_LOCK(obj))
 /**
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 8a91ad8..09ce750 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -38,7 +38,7 @@
  * application requests.
  *
  * Pads without pad templates can be created with gst_pad_new(),
- * which takes a direction and a name as an argument.  If the name is NULL,
+ * which takes a direction and a name as an argument.  If the name is %NULL,
  * then a guaranteed unique name will be assigned to it.
  *
  * A #GstElement creating a pad will typically use the various
@@ -123,7 +123,7 @@
 
 /* we have a pending and an active event on the pad. On source pads only the
  * active event is used. On sinkpads, events are copied to the pending entry and
- * moved to the active event when the eventfunc returned TRUE. */
+ * moved to the active event when the eventfunc returned %TRUE. */
 typedef struct
 {
   gboolean received;
@@ -389,6 +389,7 @@
   pad->priv->events = g_array_sized_new (FALSE, TRUE, sizeof (PadEvent), 16);
   pad->priv->events_cookie = 0;
   pad->priv->last_cookie = -1;
+  pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
 }
 
 /* called when setting the pad inactive. It removes all sticky events from
@@ -503,7 +504,7 @@
 }
 
 /* check all events on srcpad against those on sinkpad. All events that are not
- * on sinkpad are marked as received=FALSE and the PENDING_EVENTS is set on the
+ * on sinkpad are marked as received=%FALSE and the PENDING_EVENTS is set on the
  * srcpad so that the events will be sent next time */
 /* should be called with srcpad and sinkpad LOCKS */
 static void
@@ -769,11 +770,11 @@
  * @direction: the #GstPadDirection of the pad.
  *
  * Creates a new pad with the given name in the given direction.
- * If name is NULL, a guaranteed unique name (across all pads)
+ * If name is %NULL, a guaranteed unique name (across all pads)
  * will be assigned.
  * This function makes a copy of the name so you can safely free the name.
  *
- * Returns: (transfer floating): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer floating): a new #GstPad, or %NULL in case of an error.
  *
  * MT safe.
  */
@@ -790,11 +791,11 @@
  * @name: the name of the element
  *
  * Creates a new pad with the given name from the given template.
- * If name is NULL, a guaranteed unique name (across all pads)
+ * If name is %NULL, a guaranteed unique name (across all pads)
  * will be assigned.
  * This function makes a copy of the name so you can safely free the name.
  *
- * Returns: (transfer floating): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer floating): a new #GstPad, or %NULL in case of an error.
  */
 GstPad *
 gst_pad_new_from_template (GstPadTemplate * templ, const gchar * name)
@@ -811,11 +812,11 @@
  * @name: the name of the element
  *
  * Creates a new pad with the given name from the given static template.
- * If name is NULL, a guaranteed unique name (across all pads)
+ * If name is %NULL, a guaranteed unique name (across all pads)
  * will be assigned.
  * This function makes a copy of the name so you can safely free the name.
  *
- * Returns: (transfer floating): a new #GstPad, or NULL in case of an error.
+ * Returns: (transfer floating): a new #GstPad, or %NULL in case of an error.
  */
 GstPad *
 gst_pad_new_from_static_template (GstStaticPadTemplate * templ,
@@ -908,6 +909,7 @@
       GST_OBJECT_LOCK (pad);
       GST_DEBUG_OBJECT (pad, "setting PAD_MODE NONE, set flushing");
       GST_PAD_SET_FLUSHING (pad);
+      pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
       GST_PAD_MODE (pad) = new_mode;
       /* unlock blocked pads so element can resume and stop */
       GST_PAD_BLOCK_BROADCAST (pad);
@@ -919,6 +921,7 @@
       GST_DEBUG_OBJECT (pad, "setting pad into %s mode, unset flushing",
           gst_pad_mode_get_name (new_mode));
       GST_PAD_UNSET_FLUSHING (pad);
+      pad->ABI.abi.last_flowret = GST_FLOW_OK;
       GST_PAD_MODE (pad) = new_mode;
       if (GST_PAD_IS_SINK (pad)) {
         GstPad *peer;
@@ -978,9 +981,9 @@
  * function to perform the actual activation.
  *
  * If not @active, calls gst_pad_activate_mode() with the pad's current mode
- * and a FALSE argument.
+ * and a %FALSE argument.
  *
- * Returns: #TRUE if the operation was successful.
+ * Returns: %TRUE if the operation was successful.
  *
  * MT safe.
  */
@@ -1002,6 +1005,8 @@
     if (old == GST_PAD_MODE_NONE) {
       GST_DEBUG_OBJECT (pad, "activating pad from none");
       ret = (GST_PAD_ACTIVATEFUNC (pad)) (pad, parent);
+      if (ret)
+        pad->ABI.abi.last_flowret = GST_FLOW_OK;
     } else {
       GST_DEBUG_OBJECT (pad, "pad was active in %s mode",
           gst_pad_mode_get_name (old));
@@ -1015,6 +1020,8 @@
       GST_DEBUG_OBJECT (pad, "deactivating pad from %s mode",
           gst_pad_mode_get_name (old));
       ret = gst_pad_activate_mode (pad, old, FALSE);
+      if (ret)
+        pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     }
   }
 
@@ -1057,7 +1064,7 @@
  *
  * If you don't know what this is, you probably don't want to call it.
  *
- * Returns: TRUE if the operation was successful.
+ * Returns: %TRUE if the operation was successful.
  *
  * MT safe.
  */
@@ -1209,7 +1216,7 @@
  *
  * Query if a pad is active
  *
- * Returns: TRUE if the pad is active.
+ * Returns: %TRUE if the pad is active.
  *
  * MT safe.
  */
@@ -1429,7 +1436,7 @@
  * last requested state of the pad. It is not certain that the pad
  * is actually blocking at this point (see gst_pad_is_blocking()).
  *
- * Returns: TRUE if the pad is blocked.
+ * Returns: %TRUE if the pad is blocked.
  *
  * MT safe.
  */
@@ -1454,7 +1461,7 @@
  * Checks if the pad is blocking or not. This is a guaranteed state
  * of whether the pad is actually blocking on a #GstBuffer or a #GstEvent.
  *
- * Returns: TRUE if the pad is blocking.
+ * Returns: %TRUE if the pad is blocking.
  *
  * MT safe.
  */
@@ -1546,7 +1553,7 @@
  * @p: a #GstPad.
  * @f: the #GstPadActivateFunction to set.
  *
- * Calls gst_pad_set_activate_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_activate_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1583,7 +1590,7 @@
  * @p: a #GstPad.
  * @f: the #GstPadActivateModeFunction to set.
  *
- * Calls gst_pad_set_activatemode_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_activatemode_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1618,7 +1625,7 @@
  * @p: a sink #GstPad.
  * @f: the #GstPadChainFunction to set.
  *
- * Calls gst_pad_set_chain_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_chain_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1653,7 +1660,7 @@
  * @p: a sink #GstPad.
  * @f: the #GstPadChainListFunction to set.
  *
- * Calls gst_pad_set_chain_list_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_chain_list_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1690,7 +1697,7 @@
  * @p: a source #GstPad.
  * @f: the #GstPadGetRangeFunction to set.
  *
- * Calls gst_pad_set_getrange_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_getrange_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1726,7 +1733,7 @@
  * @p: a #GstPad of either direction.
  * @f: the #GstPadEventFunction to set.
  *
- * Calls gst_pad_set_event_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_event_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1759,7 +1766,7 @@
  * @p: a #GstPad of either direction.
  * @f: the #GstPadQueryFunction to set.
  *
- * Calls gst_pad_set_query_function_full() with NULL for the user_data and
+ * Calls gst_pad_set_query_function_full() with %NULL for the user_data and
  * notify.
  */
 /**
@@ -1792,7 +1799,7 @@
  * @p: a #GstPad of either direction.
  * @f: the #GstPadIterIntLinkFunction to set.
  *
- * Calls gst_pad_set_iterate_internal_links_function_full() with NULL
+ * Calls gst_pad_set_iterate_internal_links_function_full() with %NULL
  * for the user_data and notify.
  */
 /**
@@ -1826,7 +1833,7 @@
  * @p: a #GstPad.
  * @f: the #GstPadLinkFunction to set.
  *
- * Calls gst_pad_set_link_function_full() with NULL
+ * Calls gst_pad_set_link_function_full() with %NULL
  * for the user_data and notify.
  */
 /**
@@ -1869,7 +1876,7 @@
  * @p: a #GstPad.
  * @f: the #GstPadUnlinkFunction to set.
  *
- * Calls gst_pad_set_unlink_function_full() with NULL
+ * Calls gst_pad_set_unlink_function_full() with %NULL
  * for the user_data and notify.
  */
 /**
@@ -1906,7 +1913,7 @@
  * Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked
  * signal on both pads.
  *
- * Returns: TRUE if the pads were unlinked. This function returns FALSE if
+ * Returns: %TRUE if the pads were unlinked. This function returns %FALSE if
  * the pads were not linked together.
  *
  * MT safe.
@@ -2008,7 +2015,7 @@
  *
  * Checks if a @pad is linked to another pad or not.
  *
- * Returns: TRUE if the pad is linked, FALSE otherwise.
+ * Returns: %TRUE if the pad is linked, %FALSE otherwise.
  *
  * MT safe.
  */
@@ -2072,7 +2079,7 @@
       sinkcaps);
 
   /* if we have caps on both pads we can check the intersection. If one
-   * of the caps is NULL, we return TRUE. */
+   * of the caps is %NULL, we return %TRUE. */
   if (G_UNLIKELY (srccaps == NULL || sinkcaps == NULL)) {
     if (srccaps)
       gst_caps_unref (srccaps);
@@ -2238,7 +2245,7 @@
  * Checks if the source pad and the sink pad are compatible so they can be
  * linked.
  *
- * Returns: TRUE if the pads can be linked.
+ * Returns: %TRUE if the pads can be linked.
  */
 gboolean
 gst_pad_can_link (GstPad * srcpad, GstPad * sinkpad)
@@ -2473,7 +2480,7 @@
  *
  * Check if @pad has caps set on it with a #GST_EVENT_CAPS event.
  *
- * Returns: TRUE when @pad has caps associated with it.
+ * Returns: %TRUE when @pad has caps associated with it.
  */
 gboolean
 gst_pad_has_current_caps (GstPad * pad)
@@ -2578,7 +2585,7 @@
  * on the resulting caps.
  *
  * Returns: (transfer full): the allowed #GstCaps of the pad link. Unref the
- *     caps when you no longer need it. This function returns NULL when @pad
+ *     caps when you no longer need it. This function returns %NULL when @pad
  *     has no peer.
  *
  * MT safe.
@@ -2625,7 +2632,7 @@
 /**
  * gst_pad_iterate_internal_links_default:
  * @pad: the #GstPad to get the internal links of.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  *
  * Iterate the list of pads to which the given pad is linked to inside of
  * the parent element.
@@ -2634,7 +2641,7 @@
  *
  * The caller must free this iterator after use with gst_iterator_free().
  *
- * Returns: a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each
+ * Returns: a #GstIterator of #GstPad, or %NULL if @pad has no parent. Unref each
  * returned pad with gst_object_unref().
  */
 GstIterator *
@@ -2742,9 +2749,9 @@
  * dynamically changing internal pads and will make sure that the @forward
  * function is only called once for each pad.
  *
- * When @forward returns TRUE, no further pads will be processed.
+ * When @forward returns %TRUE, no further pads will be processed.
  *
- * Returns: TRUE if one of the dispatcher functions returned TRUE.
+ * Returns: %TRUE if one of the dispatcher functions returned %TRUE.
  */
 gboolean
 gst_pad_forward (GstPad * pad, GstPadForwardFunction forward,
@@ -2834,7 +2841,7 @@
 /**
  * gst_pad_event_default:
  * @pad: a #GstPad to call the default event handler on.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  * @event: (transfer full): the #GstEvent to handle.
  *
  * Invokes the default event handler for the given pad.
@@ -2845,7 +2852,7 @@
  * The the event is sent to all pads internally linked to @pad. This function
  * takes ownership of @event.
  *
- * Returns: TRUE if the event was sent successfully.
+ * Returns: %TRUE if the event was sent successfully.
  */
 gboolean
 gst_pad_event_default (GstPad * pad, GstObject * parent, GstEvent * event)
@@ -3032,7 +3039,7 @@
 /**
  * gst_pad_query_default:
  * @pad: a #GstPad to call the default query handler on.
- * @parent: (allow-none): the parent of @pad or NULL
+ * @parent: (allow-none): the parent of @pad or %NULL
  * @query: (transfer none): the #GstQuery to handle.
  *
  * Invokes the default query handler for the given pad.
@@ -3041,7 +3048,7 @@
  * @pad, only one will be sent the query.
  * Multi-sinkpad elements should implement custom query handlers.
  *
- * Returns: TRUE if the query was performed successfully.
+ * Returns: %TRUE if the query was performed successfully.
  */
 gboolean
 gst_pad_query_default (GstPad * pad, GstObject * parent, GstQuery * query)
@@ -3522,7 +3529,7 @@
  *
  * Please also note that some queries might need a running pipeline to work.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_query (GstPad * pad, GstQuery * query)
@@ -3647,7 +3654,7 @@
  * The caller is responsible for both the allocation and deallocation of
  * the query structure.
  *
- * Returns: TRUE if the query could be performed. This function returns %FALSE
+ * Returns: %TRUE if the query could be performed. This function returns %FALSE
  * if @pad has no peer.
  */
 gboolean
@@ -4055,6 +4062,7 @@
   gst_object_unref (peer);
 
   GST_OBJECT_LOCK (pad);
+  pad->ABI.abi.last_flowret = ret;
   pad->priv->using--;
   if (pad->priv->using == 0) {
     /* pad is not active anymore, trigger idle callbacks */
@@ -4071,6 +4079,7 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "pushing, but pad was flushing");
+    pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     GST_OBJECT_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     return GST_FLOW_FLUSHING;
@@ -4078,6 +4087,7 @@
 eos:
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, "pushing, but pad was EOS");
+    pad->ABI.abi.last_flowret = GST_FLOW_EOS;
     GST_OBJECT_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     return GST_FLOW_EOS;
@@ -4086,6 +4096,7 @@
   {
     g_critical ("pushing on pad %s:%s but it was not activated in push mode",
         GST_DEBUG_PAD_NAME (pad));
+    pad->ABI.abi.last_flowret = GST_FLOW_ERROR;
     GST_OBJECT_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     return GST_FLOW_ERROR;
@@ -4094,6 +4105,7 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "error pushing events, return %s", gst_flow_get_name (ret));
+    pad->ABI.abi.last_flowret = ret;
     GST_OBJECT_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     return ret;
@@ -4101,6 +4113,8 @@
 probe_stopped:
   {
     GST_OBJECT_UNLOCK (pad);
+    pad->ABI.abi.last_flowret =
+        ret == GST_FLOW_CUSTOM_SUCCESS ? GST_FLOW_OK : ret;
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
 
     switch (ret) {
@@ -4118,6 +4132,7 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "pushing, but it was not linked");
+    pad->ABI.abi.last_flowret = GST_FLOW_NOT_LINKED;
     GST_OBJECT_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     return GST_FLOW_NOT_LINKED;
@@ -4240,14 +4255,15 @@
 
   RELEASE_PARENT (parent);
 
+  GST_OBJECT_LOCK (pad);
   if (G_UNLIKELY (ret != GST_FLOW_OK))
     goto get_range_failed;
 
   /* can only fire the signal if we have a valid buffer */
-  GST_OBJECT_LOCK (pad);
 probed_data:
   PROBE_PULL (pad, GST_PAD_PROBE_TYPE_PULL | GST_PAD_PROBE_TYPE_BUFFER,
       res_buf, offset, size, probe_stopped_unref);
+  pad->ABI.abi.last_flowret = ret;
   GST_OBJECT_UNLOCK (pad);
 
   GST_PAD_STREAM_UNLOCK (pad);
@@ -4261,6 +4277,7 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "getrange, but pad was flushing");
+    pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     return GST_FLOW_FLUSHING;
@@ -4269,6 +4286,7 @@
   {
     g_critical ("getrange on pad %s:%s but it was not activated in pull mode",
         GST_DEBUG_PAD_NAME (pad));
+    pad->ABI.abi.last_flowret = GST_FLOW_ERROR;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     return GST_FLOW_ERROR;
@@ -4276,6 +4294,7 @@
 events_error:
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, "error pushing events");
+    pad->ABI.abi.last_flowret = ret;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     return ret;
@@ -4283,6 +4302,7 @@
 no_parent:
   {
     GST_DEBUG_OBJECT (pad, "no parent");
+    pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     return GST_FLOW_FLUSHING;
@@ -4312,6 +4332,7 @@
         ret = GST_FLOW_EOS;
       }
     }
+    pad->ABI.abi.last_flowret = ret;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
 
@@ -4324,6 +4345,7 @@
     /* if we drop here, it signals EOS */
     if (ret == GST_FLOW_CUSTOM_SUCCESS)
       ret = GST_FLOW_EOS;
+    pad->ABI.abi.last_flowret = ret;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     if (*buffer == NULL)
@@ -4332,6 +4354,8 @@
   }
 get_range_failed:
   {
+    pad->ABI.abi.last_flowret = ret;
+    GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     GST_CAT_LEVEL_LOG (GST_CAT_SCHEDULING,
         (ret >= GST_FLOW_EOS) ? GST_LEVEL_INFO : GST_LEVEL_WARNING,
@@ -4356,7 +4380,7 @@
  * installed (see gst_pad_set_getrange_function()) this function returns
  * #GST_FLOW_NOT_SUPPORTED.
  *
- * If @buffer points to a variable holding NULL, a valid new #GstBuffer will be
+ * If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be
  * placed in @buffer when this function returns #GST_FLOW_OK. The new buffer
  * must be freed with gst_buffer_unref() after usage.
  *
@@ -4410,10 +4434,10 @@
  * See gst_pad_get_range() for a list of return values and for the
  * semantics of the arguments of this function.
  *
- * If @buffer points to a variable holding NULL, a valid new #GstBuffer will be
+ * If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be
  * placed in @buffer when this function returns #GST_FLOW_OK. The new buffer
  * must be freed with gst_buffer_unref() after usage. When this function
- * returns any other result value, @buffer will still point to NULL.
+ * returns any other result value, @buffer will still point to %NULL.
  *
  * When @buffer points to a variable that points to a valid #GstBuffer, the
  * buffer will be filled with the result data when this function returns
@@ -4472,6 +4496,7 @@
 
   GST_OBJECT_LOCK (pad);
   pad->priv->using--;
+  pad->ABI.abi.last_flowret = ret;
   if (pad->priv->using == 0) {
     /* pad is not active anymore, trigger idle callbacks */
     PROBE_NO_DATA (pad, GST_PAD_PROBE_TYPE_PULL | GST_PAD_PROBE_TYPE_IDLE,
@@ -4496,6 +4521,7 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "pullrange, but pad was flushing");
+    pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     GST_OBJECT_UNLOCK (pad);
     return GST_FLOW_FLUSHING;
   }
@@ -4503,6 +4529,7 @@
   {
     g_critical ("pullrange on pad %s:%s but it was not activated in pull mode",
         GST_DEBUG_PAD_NAME (pad));
+    pad->ABI.abi.last_flowret = GST_FLOW_ERROR;
     GST_OBJECT_UNLOCK (pad);
     return GST_FLOW_ERROR;
   }
@@ -4523,6 +4550,7 @@
         ret = GST_FLOW_EOS;
       }
     }
+    pad->ABI.abi.last_flowret = ret;
     GST_OBJECT_UNLOCK (pad);
     return ret;
   }
@@ -4530,11 +4558,13 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "pulling range, but it was not linked");
+    pad->ABI.abi.last_flowret = GST_FLOW_NOT_LINKED;
     GST_OBJECT_UNLOCK (pad);
     return GST_FLOW_NOT_LINKED;
   }
 pull_range_failed:
   {
+    pad->ABI.abi.last_flowret = ret;
     GST_OBJECT_UNLOCK (pad);
     GST_CAT_LEVEL_LOG (GST_CAT_SCHEDULING,
         (ret >= GST_FLOW_EOS) ? GST_LEVEL_INFO : GST_LEVEL_WARNING,
@@ -4545,10 +4575,14 @@
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "post probe returned %s", gst_flow_get_name (ret));
-    GST_OBJECT_UNLOCK (pad);
+
     /* if we drop here, it signals EOS */
     if (ret == GST_FLOW_CUSTOM_SUCCESS)
       ret = GST_FLOW_EOS;
+
+    pad->ABI.abi.last_flowret = ret;
+    GST_OBJECT_UNLOCK (pad);
+
     if (*buffer == NULL)
       gst_buffer_unref (res_buf);
     return ret;
@@ -4646,8 +4680,10 @@
         break;
     }
   }
-  if (type == GST_EVENT_EOS)
+  if (type == GST_EVENT_EOS) {
     GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_EOS);
+    pad->ABI.abi.last_flowret = GST_FLOW_EOS;
+  }
 
   return GST_PAD_IS_FLUSHING (pad) ? GST_FLOW_FLUSHING : GST_FLOW_OK;
 
@@ -4736,6 +4772,7 @@
       remove_event_by_type (pad, GST_EVENT_EOS);
       remove_event_by_type (pad, GST_EVENT_SEGMENT);
       GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
+      pad->ABI.abi.last_flowret = GST_FLOW_OK;
 
       type |= GST_PAD_PROBE_TYPE_EVENT_FLUSH;
       break;
@@ -4863,7 +4900,7 @@
  * This function takes ownership of the provided event so you should
  * gst_event_ref() it if you want to reuse the event after this call.
  *
- * Returns: TRUE if the event was handled.
+ * Returns: %TRUE if the event was handled.
  *
  * MT safe.
  */
@@ -5034,6 +5071,7 @@
       remove_event_by_type (pad, GST_EVENT_EOS);
       remove_event_by_type (pad, GST_EVENT_SEGMENT);
       GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
+      pad->ABI.abi.last_flowret = GST_FLOW_OK;
 
       GST_OBJECT_UNLOCK (pad);
       /* grab stream lock */
@@ -5226,7 +5264,7 @@
  * This function takes ownership of the provided event so you should
  * gst_event_ref() it if you want to reuse the event after this call.
  *
- * Returns: TRUE if the event was handled.
+ * Returns: %TRUE if the event was handled.
  */
 gboolean
 gst_pad_send_event (GstPad * pad, GstEvent * event)
@@ -5310,7 +5348,7 @@
  * Returns a new reference of the sticky event of type @event_type
  * from the event.
  *
- * Returns: (transfer full): a #GstEvent of type @event_type or NULL when no
+ * Returns: (transfer full): a #GstEvent of type @event_type or %NULL when no
  * event of @event_type was on @pad. Unref after usage.
  */
 GstEvent *
@@ -5506,7 +5544,7 @@
  * function executed by the task is finished if this function is not
  * called from the task function.
  *
- * Returns: a TRUE if the task could be paused or FALSE when the pad
+ * Returns: a %TRUE if the task could be paused or %FALSE when the pad
  * has no task.
  */
 gboolean
@@ -5555,7 +5593,7 @@
  * Regardless of whether the pad has a task, the stream lock is acquired and
  * released so as to ensure that streaming through this pad has finished.
  *
- * Returns: a TRUE if the task could be stopped or FALSE on error.
+ * Returns: a %TRUE if the task could be stopped or %FALSE on error.
  */
 gboolean
 gst_pad_stop_task (GstPad * pad)
@@ -5674,3 +5712,23 @@
 
   return GST_PAD_PROBE_INFO_BUFFER_LIST (info);
 }
+
+/**
+ * gst_pad_get_last_flow_return:
+ * @pad: the #GstPad
+ *
+ * Gets the #GstFlowReturn return from the last data passed by this pad.
+ *
+ * Since: 1.4
+ */
+GstFlowReturn
+gst_pad_get_last_flow_return (GstPad * pad)
+{
+  GstFlowReturn ret;
+
+  GST_OBJECT_LOCK (pad);
+  ret = GST_PAD_LAST_FLOW_RETURN (pad);
+  GST_OBJECT_UNLOCK (pad);
+
+  return ret;
+}
diff --git a/gst/gstpad.h b/gst/gstpad.h
index e024ad4..bfb8b1a 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -229,7 +229,7 @@
  * activate function that puts the pad in push mode but elements can
  * override this function to activate the pad in pull mode if they wish.
  *
- * Returns: TRUE if the pad could be activated.
+ * Returns: %TRUE if the pad could be activated.
  */
 typedef gboolean		(*GstPadActivateFunction)	(GstPad *pad, GstObject *parent);
 /**
@@ -241,7 +241,7 @@
  *
  * The prototype of the push and pull activate functions.
  *
- * Returns: TRUE if the pad could be activated or deactivated.
+ * Returns: %TRUE if the pad could be activated or deactivated.
  */
 typedef gboolean		(*GstPadActivateModeFunction)	(GstPad *pad, GstObject *parent,
                                                                  GstPadMode mode, gboolean active);
@@ -252,7 +252,7 @@
  * GstPadChainFunction:
  * @pad: the sink #GstPad that performed the chain.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  * @buffer: the #GstBuffer that is chained, not %NULL.
  *
@@ -275,7 +275,7 @@
  * GstPadChainListFunction:
  * @pad: the sink #GstPad that performed the chain.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  * @list: the #GstBufferList that is chained, not %NULL.
  *
@@ -298,11 +298,11 @@
  * GstPadGetRangeFunction:
  * @pad: the src #GstPad to perform the getrange on.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  * @offset: the offset of the range
  * @length: the length of the range
- * @buffer: a memory location to hold the result buffer, cannot be NULL.
+ * @buffer: a memory location to hold the result buffer, cannot be %NULL.
  *
  * This function will be called on source pads when a peer element
  * request a buffer at the specified @offset and @length. If this function
@@ -349,13 +349,13 @@
  * GstPadEventFunction:
  * @pad: the #GstPad to handle the event.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  * @event: the #GstEvent to handle.
  *
  * Function signature to handle an event for the pad.
  *
- * Returns: TRUE if the pad could handle the event.
+ * Returns: %TRUE if the pad could handle the event.
  */
 typedef gboolean		(*GstPadEventFunction)		(GstPad *pad, GstObject *parent,
                                                                  GstEvent *event);
@@ -366,7 +366,7 @@
  * GstPadIterIntLinkFunction:
  * @pad: The #GstPad to query.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  *
  * The signature of the internal pad link iterator function.
@@ -383,13 +383,13 @@
  * GstPadQueryFunction:
  * @pad: the #GstPad to query.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  * @query: the #GstQuery object to execute
  *
  * The signature of the query function.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 typedef gboolean		(*GstPadQueryFunction)		(GstPad *pad, GstObject *parent,
                                                                  GstQuery *query);
@@ -400,7 +400,7 @@
  * GstPadLinkFunction:
  * @pad: the #GstPad that is linked.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  * @peer: the peer #GstPad of the link
  *
@@ -413,7 +413,7 @@
  * GstPadUnlinkFunction:
  * @pad: the #GstPad that is linked.
  * @parent: the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set,
- *          @parent is guaranteed to be not-NULL and remain valid during the
+ *          @parent is guaranteed to be not-%NULL and remain valid during the
  *          execution of this function.
  *
  * Function signature to handle a unlinking the pad prom its peer.
@@ -430,7 +430,7 @@
  * A forward function is called for all internally linked pads, see
  * gst_pad_forward().
  *
- * Returns: TRUE if the dispatching procedure has to be stopped.
+ * Returns: %TRUE if the dispatching procedure has to be stopped.
  */
 typedef gboolean		(*GstPadForwardFunction)	(GstPad *pad, gpointer user_data);
 
@@ -525,7 +525,7 @@
  * @type: the current probe type
  * @id: the id of the probe
  * @data: type specific data, check the @type field to know the datatype.
- *    This field can be NULL.
+ *    This field can be %NULL.
  * @offset: offset of pull probe, this field is valid when @type contains
  *    #GST_PAD_PROBE_TYPE_PULL
  * @size: size of pull probe, this field is valid when @type contains
@@ -589,7 +589,7 @@
  * When this function returns %TRUE, the next event will be
  * returned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return.
  *
- * When @event is set to NULL, the item will be removed from the list of sticky events.
+ * When @event is set to %NULL, the item will be removed from the list of sticky events.
  * @event can be replaced by assigning a new reference to it.
  * This function is responsible for unreffing the old event when
  * removing or modifying.
@@ -726,7 +726,12 @@
 
   GstPadPrivate                 *priv;
 
-  gpointer _gst_reserved[GST_PADDING];
+  union {
+    gpointer _gst_reserved[GST_PADDING];
+    struct {
+      GstFlowReturn last_flowret;
+    } abi;
+  } ABI;
 };
 
 struct _GstPadClass {
@@ -893,21 +898,21 @@
  * GST_PAD_IS_SRC:
  * @pad: a #GstPad
  *
- * Returns: TRUE if the pad is a source pad (i.e. produces data).
+ * Returns: %TRUE if the pad is a source pad (i.e. produces data).
  */
 #define GST_PAD_IS_SRC(pad)		(GST_PAD_DIRECTION(pad) == GST_PAD_SRC)
 /**
  * GST_PAD_IS_SINK:
  * @pad: a #GstPad
  *
- * Returns: TRUE if the pad is a sink pad (i.e. consumes data).
+ * Returns: %TRUE if the pad is a sink pad (i.e. consumes data).
  */
 #define GST_PAD_IS_SINK(pad)		(GST_PAD_DIRECTION(pad) == GST_PAD_SINK)
 /**
  * GST_PAD_IS_LINKED:
  * @pad: a #GstPad
  *
- * Returns: TRUE if the pad is linked to another pad. Use gst_pad_is_linked()
+ * Returns: %TRUE if the pad is linked to another pad. Use gst_pad_is_linked()
  * instead.
  */
 #define GST_PAD_IS_LINKED(pad)		(GST_PAD_PEER(pad) != NULL)
@@ -915,7 +920,7 @@
  * GST_PAD_IS_ACTIVE:
  * @pad: a #GstPad
  *
- * Returns: TRUE if the pad has been activated.
+ * Returns: %TRUE if the pad has been activated.
  */
 #define GST_PAD_IS_ACTIVE(pad)          (GST_PAD_MODE(pad) != GST_PAD_MODE_NONE)
 /**
@@ -1129,8 +1134,8 @@
  * GST_PAD_STREAM_TRYLOCK:
  * @pad: a #GstPad
  *
- * Try to take the pad's stream lock, and return TRUE if the lock could be
- * taken, and otherwise FALSE.
+ * Try to take the pad's stream lock, and return %TRUE if the lock could be
+ * taken, and otherwise %FALSE.
  */
 #define GST_PAD_STREAM_TRYLOCK(pad)     g_rec_mutex_trylock(GST_PAD_GET_STREAM_LOCK(pad))
 /**
@@ -1140,6 +1145,15 @@
  * Release the pad's stream lock.
  */
 #define GST_PAD_STREAM_UNLOCK(pad)      g_rec_mutex_unlock(GST_PAD_GET_STREAM_LOCK(pad))
+/**
+ * GST_PAD_LAST_FLOW_RETURN:
+ * @pad: a #GstPad
+ *
+ * Gets the last flow return on this pad
+ *
+ * Since: 1.4
+ */
+#define GST_PAD_LAST_FLOW_RETURN(pad)   (GST_PAD_CAST(pad)->ABI.abi.last_flowret)
 
 #define GST_PAD_BLOCK_GET_COND(pad)     (&GST_PAD_CAST(pad)->block_cond)
 #define GST_PAD_BLOCK_WAIT(pad)         (g_cond_wait(GST_PAD_BLOCK_GET_COND (pad), GST_OBJECT_GET_LOCK (pad)))
@@ -1169,7 +1183,7 @@
  *
  * Get the parent of @pad. This function increases the refcount
  * of the parent object so you should gst_object_unref() it after usage.
- * Can return NULL if the pad did not have a parent.
+ * Can return %NULL if the pad did not have a parent.
  *
  * MT safe.
  */
@@ -1282,6 +1296,7 @@
 gboolean		gst_pad_push_event			(GstPad *pad, GstEvent *event);
 gboolean		gst_pad_event_default			(GstPad *pad, GstObject *parent,
                                                                  GstEvent *event);
+GstFlowReturn           gst_pad_get_last_flow_return            (GstPad *pad);
 
 /* data passing functions on pad */
 GstFlowReturn		gst_pad_chain				(GstPad *pad, GstBuffer *buffer);
diff --git a/gst/gstparse.c b/gst/gstparse.c
index f036bef..dd22113 100644
--- a/gst/gstparse.c
+++ b/gst/gstparse.c
@@ -139,7 +139,7 @@
  * of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned.
  *
  * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*): a
- *     NULL-terminated array of element factory name strings of missing
+ *     %NULL-terminated array of element factory name strings of missing
  *     elements. Free with g_strfreev() when no longer needed.
  */
 gchar **
diff --git a/gst/gstparse.h b/gst/gstparse.h
index 578fead..b1ec83d 100644
--- a/gst/gstparse.h
+++ b/gst/gstparse.h
@@ -61,7 +61,7 @@
 /**
  * GstParseFlags:
  * @GST_PARSE_FLAG_NONE: Do not use any special parsing options.
- * @GST_PARSE_FLAG_FATAL_ERRORS: Always return NULL when an error occurs
+ * @GST_PARSE_FLAG_FATAL_ERRORS: Always return %NULL when an error occurs
  *     (default behaviour is to return partially constructed bins or elements
  *      in some cases)
  * @GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS: If a bin only has a single element,
diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c
index 63120e5..21e0620 100644
--- a/gst/gstpipeline.c
+++ b/gst/gstpipeline.c
@@ -652,7 +652,7 @@
  * always use the given clock even if new clock providers are added
  * to this pipeline.
  *
- * If @clock is NULL all clocking will be disabled which will make
+ * If @clock is %NULL all clocking will be disabled which will make
  * the pipeline run as fast as possible.
  *
  * MT safe.
@@ -683,7 +683,7 @@
  * Set the clock for @pipeline. The clock will be distributed
  * to all the elements managed by the pipeline.
  *
- * Returns: TRUE if the clock could be set on the pipeline. FALSE if
+ * Returns: %TRUE if the clock could be set on the pipeline. %FALSE if
  *   some element did not accept the clock.
  *
  * MT safe.
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index 6251b14..9bfacc1 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -193,7 +193,7 @@
  * You must make sure that GStreamer has been initialised (with gst_init() or
  * via gst_init_get_option_group()) before calling this function.
  *
- * Returns: TRUE if the plugin was registered correctly, otherwise FALSE.
+ * Returns: %TRUE if the plugin was registered correctly, otherwise %FALSE.
  */
 gboolean
 gst_plugin_register_static (gint major_version, gint minor_version,
@@ -258,7 +258,7 @@
  * You must make sure that GStreamer has been initialised (with gst_init() or
  * via gst_init_get_option_group()) before calling this function.
  *
- * Returns: TRUE if the plugin was registered correctly, otherwise FALSE.
+ * Returns: %TRUE if the plugin was registered correctly, otherwise %FALSE.
  */
 gboolean
 gst_plugin_register_static_full (gint major_version, gint minor_version,
@@ -666,12 +666,12 @@
 /**
  * gst_plugin_load_file:
  * @filename: the plugin filename to load
- * @error: pointer to a NULL-valued GError
+ * @error: pointer to a %NULL-valued GError
  *
  * Loads the given plugin and refs it.  Caller needs to unref after use.
  *
  * Returns: (transfer full): a reference to the existing loaded GstPlugin, a 
- * reference to the newly-loaded GstPlugin, or NULL if an error occurred.
+ * reference to the newly-loaded GstPlugin, or %NULL if an error occurred.
  */
 GstPlugin *
 gst_plugin_load_file (const gchar * filename, GError ** error)
@@ -1022,7 +1022,7 @@
  *
  * queries if the plugin is loaded into memory
  *
- * Returns: TRUE is loaded, FALSE otherwise
+ * Returns: %TRUE is loaded, %FALSE otherwise
  */
 gboolean
 gst_plugin_is_loaded (GstPlugin * plugin)
@@ -1165,7 +1165,7 @@
  *
  * Find a feature of the given name and type in the given plugin.
  *
- * Returns: a GstPluginFeature or NULL if the feature was not found.
+ * Returns: a GstPluginFeature or %NULL if the feature was not found.
  */
 GstPluginFeature *
 gst_plugin_find_feature (GstPlugin * plugin, const gchar * name, GType type)
@@ -1209,7 +1209,7 @@
  *
  * Find a feature of the given name in the given plugin.
  *
- * Returns: a GstPluginFeature or NULL if the feature was not found.
+ * Returns: a GstPluginFeature or %NULL if the feature was not found.
  */
 GstPluginFeature *
 gst_plugin_find_feature_by_name (GstPlugin * plugin, const gchar * name)
@@ -1239,7 +1239,7 @@
  *
  * Load the named plugin. Refs the plugin.
  *
- * Returns: (transfer full): a reference to a loaded plugin, or NULL on error.
+ * Returns: (transfer full): a reference to a loaded plugin, or %NULL on error.
  */
 GstPlugin *
 gst_plugin_load_by_name (const gchar * name)
@@ -1282,7 +1282,7 @@
  * plugin = loaded_plugin;
  * </programlisting>
  *
- * Returns: (transfer full): a reference to a loaded plugin, or NULL on error.
+ * Returns: (transfer full): a reference to a loaded plugin, or %NULL on error.
  */
 GstPlugin *
 gst_plugin_load (GstPlugin * plugin)
@@ -1711,18 +1711,18 @@
 /**
  * gst_plugin_add_dependency:
  * @plugin: a #GstPlugin
- * @env_vars: (allow-none): NULL-terminated array of environment variables affecting the
+ * @env_vars: (allow-none): %NULL-terminated array of environment variables affecting the
  *     feature set of the plugin (e.g. an environment variable containing
  *     paths where to look for additional modules/plugins of a library),
- *     or NULL. Environment variable names may be followed by a path component
+ *     or %NULL. Environment variable names may be followed by a path component
  *      which will be added to the content of the environment variable, e.g.
  *      "HOME/.mystuff/plugins".
- * @paths: (allow-none): NULL-terminated array of directories/paths where dependent files
- *     may be, or NULL.
- * @names: (allow-none): NULL-terminated array of file names (or file name suffixes,
+ * @paths: (allow-none): %NULL-terminated array of directories/paths where dependent files
+ *     may be, or %NULL.
+ * @names: (allow-none): %NULL-terminated array of file names (or file name suffixes,
  *     depending on @flags) to be used in combination with the paths from
  *     @paths and/or the paths extracted from the environment variables in
- *     @env_vars, or NULL.
+ *     @env_vars, or %NULL.
  * @flags: optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE
  *
  * Make GStreamer aware of external dependencies which affect the feature
@@ -1783,13 +1783,13 @@
  * gst_plugin_add_dependency_simple:
  * @plugin: the #GstPlugin
  * @env_vars: (allow-none): one or more environment variables (separated by ':', ';' or ','),
- *      or NULL. Environment variable names may be followed by a path component
+ *      or %NULL. Environment variable names may be followed by a path component
  *      which will be added to the content of the environment variable, e.g.
  *      "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"
  * @paths: (allow-none): one ore more directory paths (separated by ':' or ';' or ','),
- *      or NULL. Example: "/usr/lib/mystuff/plugins"
+ *      or %NULL. Example: "/usr/lib/mystuff/plugins"
  * @names: (allow-none): one or more file names or file name suffixes (separated by commas),
- *      or NULL
+ *      or %NULL
  * @flags: optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE
  *
  * Make GStreamer aware of external dependencies which affect the feature
diff --git a/gst/gstplugin.h b/gst/gstplugin.h
index 64f8098..500be30 100644
--- a/gst/gstplugin.h
+++ b/gst/gstplugin.h
@@ -146,7 +146,7 @@
  * @package: shipped package plugin belongs to
  * @origin: URL to provider of plugin
  * @release_datetime: date time string in ISO 8601 format (or rather, a
- *     subset thereof), or NULL. Allowed are the following formats:
+ *     subset thereof), or %NULL. Allowed are the following formats:
  *     "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z'
  *     indicating UTC/Zulu time). This field should be set via the
  *     GST_PACKAGE_RELEASE_DATETIME preprocessor macro.
@@ -291,7 +291,7 @@
  * A function that can be used with e.g. gst_registry_plugin_filter()
  * to get a list of plugins that match certain criteria.
  *
- * Returns: TRUE for a positive match, FALSE otherwise
+ * Returns: %TRUE for a positive match, %FALSE otherwise
  */
 typedef gboolean        (*GstPluginFilter)              (GstPlugin *plugin,
                                                          gpointer user_data);
diff --git a/gst/gstpluginfeature.c b/gst/gstpluginfeature.c
index 27debb4..6672f7b 100644
--- a/gst/gstpluginfeature.c
+++ b/gst/gstpluginfeature.c
@@ -90,7 +90,7 @@
  * feature = loaded_feature;
  * ]|
  *
- * Returns: (transfer full): a reference to the loaded feature, or NULL on error
+ * Returns: (transfer full): a reference to the loaded feature, or %NULL on error
  */
 GstPluginFeature *
 gst_plugin_feature_load (GstPluginFeature * feature)
@@ -307,8 +307,8 @@
  * Checks whether the given plugin feature is at least
  *  the required version
  *
- * Returns: #TRUE if the plugin feature has at least
- *  the required version, otherwise #FALSE.
+ * Returns: %TRUE if the plugin feature has at least
+ *  the required version, otherwise %FALSE.
  */
 gboolean
 gst_plugin_feature_check_version (GstPluginFeature * feature,
diff --git a/gst/gstpluginfeature.h b/gst/gstpluginfeature.h
index ca9f0d3..bc01969 100644
--- a/gst/gstpluginfeature.h
+++ b/gst/gstpluginfeature.h
@@ -73,7 +73,7 @@
  * @feature: a #GstPluginFeature to get the name of @feature.
  *
  * Returns the name of @feature.
- * For a nameless plugin feature, this returns NULL.
+ * For a nameless plugin feature, this returns %NULL.
  *
  * Returns: (transfer none): the name of @feature. MT safe.
  *
diff --git a/gst/gstpreset.c b/gst/gstpreset.c
index b1b6720..19f0fbb 100644
--- a/gst/gstpreset.c
+++ b/gst/gstpreset.c
@@ -956,7 +956,7 @@
  * gst_preset_get_preset_names:
  * @preset: a #GObject that implements #GstPreset
  *
- * Get a copy of preset names as a NULL terminated string array.
+ * Get a copy of preset names as a %NULL terminated string array.
  *
  * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*):
  *     list with names, use g_strfreev() after usage.
diff --git a/gst/gstquery.c b/gst/gstquery.c
index adce934..78a04fa 100644
--- a/gst/gstquery.c
+++ b/gst/gstquery.c
@@ -65,7 +65,7 @@
 GST_DEBUG_CATEGORY_STATIC (gst_query_debug);
 #define GST_CAT_DEFAULT gst_query_debug
 
-static GType _gst_query_type = 0;
+GType _gst_query_type = 0;
 
 typedef struct
 {
@@ -268,11 +268,11 @@
  * gst_query_parse_position:
  * @query: a #GstQuery
  * @format: (out) (allow-none): the storage for the #GstFormat of the
- *     position values (may be NULL)
- * @cur: (out) (allow-none): the storage for the current position (may be NULL)
+ *     position values (may be %NULL)
+ * @cur: (out) (allow-none): the storage for the current position (may be %NULL)
  *
  * Parse a position query, writing the format into @format, and the position
- * into @cur, if the respective parameters are non-NULL.
+ * into @cur, if the respective parameters are non-%NULL.
  */
 void
 gst_query_parse_position (GstQuery * query, GstFormat * format, gint64 * cur)
@@ -345,11 +345,11 @@
  * gst_query_parse_duration:
  * @query: a #GstQuery
  * @format: (out) (allow-none): the storage for the #GstFormat of the duration
- *     value, or NULL.
- * @duration: (out) (allow-none): the storage for the total duration, or NULL.
+ *     value, or %NULL.
+ * @duration: (out) (allow-none): the storage for the total duration, or %NULL.
  *
  * Parse a duration query answer. Write the format of the duration into @format,
- * and the value into @duration, if the respective variables are non-NULL.
+ * and the value into @duration, if the respective variables are non-%NULL.
  */
 void
 gst_query_parse_duration (GstQuery * query, GstFormat * format,
@@ -424,9 +424,9 @@
 /**
  * gst_query_parse_latency:
  * @query: a #GstQuery
- * @live: (out) (allow-none): storage for live or NULL
- * @min_latency: (out) (allow-none): the storage for the min latency or NULL
- * @max_latency: (out) (allow-none): the storage for the max latency or NULL
+ * @live: (out) (allow-none): storage for live or %NULL
+ * @min_latency: (out) (allow-none): the storage for the min latency or %NULL
+ * @max_latency: (out) (allow-none): the storage for the max latency or %NULL
  *
  * Parse a latency query answer.
  */
@@ -513,15 +513,15 @@
  * gst_query_parse_convert:
  * @query: a #GstQuery
  * @src_format: (out) (allow-none): the storage for the #GstFormat of the
- *     source value, or NULL
- * @src_value: (out) (allow-none): the storage for the source value, or NULL
+ *     source value, or %NULL
+ * @src_value: (out) (allow-none): the storage for the source value, or %NULL
  * @dest_format: (out) (allow-none): the storage for the #GstFormat of the
- *     destination value, or NULL
+ *     destination value, or %NULL
  * @dest_value: (out) (allow-none): the storage for the destination value,
- *     or NULL
+ *     or %NULL
  *
  * Parse a convert query answer. Any of @src_format, @src_value, @dest_format,
- * and @dest_value may be NULL, in which case that value is omitted.
+ * and @dest_value may be %NULL, in which case that value is omitted.
  */
 void
 gst_query_parse_convert (GstQuery * query, GstFormat * src_format,
@@ -616,14 +616,14 @@
 /**
  * gst_query_parse_segment:
  * @query: a #GstQuery
- * @rate: (out) (allow-none): the storage for the rate of the segment, or NULL
+ * @rate: (out) (allow-none): the storage for the rate of the segment, or %NULL
  * @format: (out) (allow-none): the storage for the #GstFormat of the values,
- *     or NULL
- * @start_value: (out) (allow-none): the storage for the start value, or NULL
- * @stop_value: (out) (allow-none): the storage for the stop value, or NULL
+ *     or %NULL
+ * @start_value: (out) (allow-none): the storage for the start value, or %NULL
+ * @stop_value: (out) (allow-none): the storage for the stop value, or %NULL
  *
  * Parse a segment query answer. Any of @rate, @format, @start_value, and
- * @stop_value may be NULL, which will cause this value to be omitted.
+ * @stop_value may be %NULL, which will cause this value to be omitted.
  *
  * See gst_query_set_segment() for an explanation of the function arguments.
  */
@@ -794,14 +794,14 @@
  * gst_query_parse_seeking:
  * @query: a GST_QUERY_SEEKING type query #GstQuery
  * @format: (out) (allow-none): the format to set for the @segment_start
- *     and @segment_end values, or NULL
- * @seekable: (out) (allow-none): the seekable flag to set, or NULL
- * @segment_start: (out) (allow-none): the segment_start to set, or NULL
- * @segment_end: (out) (allow-none): the segment_end to set, or NULL
+ *     and @segment_end values, or %NULL
+ * @seekable: (out) (allow-none): the seekable flag to set, or %NULL
+ * @segment_start: (out) (allow-none): the segment_start to set, or %NULL
+ * @segment_end: (out) (allow-none): the segment_end to set, or %NULL
  *
  * Parse a seeking query, writing the format into @format, and
  * other results into the passed parameters, if the respective parameters
- * are non-NULL
+ * are non-%NULL
  */
 void
 gst_query_parse_seeking (GstQuery * query, GstFormat * format,
@@ -1074,8 +1074,8 @@
 /**
  * gst_query_parse_buffering_percent:
  * @query: A valid #GstQuery of type GST_QUERY_BUFFERING.
- * @busy: (out) (allow-none): if buffering is busy, or NULL
- * @percent: (out) (allow-none): a buffering percent, or NULL
+ * @busy: (out) (allow-none): if buffering is busy, or %NULL
+ * @percent: (out) (allow-none): a buffering percent, or %NULL
  *
  * Get the percentage of buffered data. This is a value between 0 and 100.
  * The @busy indicator is %TRUE when the buffering is in progress.
@@ -1127,11 +1127,11 @@
 /**
  * gst_query_parse_buffering_stats:
  * @query: A valid #GstQuery of type GST_QUERY_BUFFERING.
- * @mode: (out) (allow-none): a buffering mode, or NULL
- * @avg_in: (out) (allow-none): the average input rate, or NULL
- * @avg_out: (out) (allow-none): the average output rat, or NULL
+ * @mode: (out) (allow-none): a buffering mode, or %NULL
+ * @avg_in: (out) (allow-none): the average input rate, or %NULL
+ * @avg_out: (out) (allow-none): the average output rat, or %NULL
  * @buffering_left: (out) (allow-none): amount of buffering time left in
- *     milliseconds, or NULL
+ *     milliseconds, or %NULL
  *
  * Extracts the buffering stats values from @query.
  */
@@ -1193,15 +1193,15 @@
  * gst_query_parse_buffering_range:
  * @query: a GST_QUERY_BUFFERING type query #GstQuery
  * @format: (out) (allow-none): the format to set for the @segment_start
- *     and @segment_end values, or NULL
- * @start: (out) (allow-none): the start to set, or NULL
- * @stop: (out) (allow-none): the stop to set, or NULL
+ *     and @segment_end values, or %NULL
+ * @start: (out) (allow-none): the start to set, or %NULL
+ * @stop: (out) (allow-none): the stop to set, or %NULL
  * @estimated_total: (out) (allow-none): estimated total amount of download
- *     time remaining in milliseconds, or NULL
+ *     time remaining in milliseconds, or %NULL
  *
  * Parse an available query, writing the format into @format, and
  * other results into the passed parameters, if the respective parameters
- * are non-NULL
+ * are non-%NULL
  */
 void
 gst_query_parse_buffering_range (GstQuery * query, GstFormat * format,
@@ -1308,8 +1308,8 @@
  * gst_query_parse_nth_buffering_range:
  * @query: a GST_QUERY_BUFFERING type query #GstQuery
  * @index: position in the buffered-ranges array to read
- * @start: (out) (allow-none): the start position to set, or NULL
- * @stop: (out) (allow-none): the stop position to set, or NULL
+ * @start: (out) (allow-none): the start position to set, or %NULL
+ * @stop: (out) (allow-none): the stop position to set, or %NULL
  *
  * Parse an available query and get the start and stop values stored
  * at the @index of the buffered ranges array.
@@ -1392,10 +1392,10 @@
  * gst_query_parse_uri:
  * @query: a #GstQuery
  * @uri: (out) (transfer full) (allow-none): the storage for the current URI
- *     (may be NULL)
+ *     (may be %NULL)
  *
  * Parse an URI query, writing the URI into @uri as a newly
- * allocated string, if the respective parameters are non-NULL.
+ * allocated string, if the respective parameters are non-%NULL.
  * Free the string with g_free() after usage.
  */
 void
@@ -1438,10 +1438,10 @@
  * gst_query_parse_uri_redirection:
  * @query: a #GstQuery
  * @uri: (out) (transfer full) (allow-none): the storage for the redirect URI
- *     (may be NULL)
+ *     (may be %NULL)
  *
  * Parse an URI query, writing the URI into @uri as a newly
- * allocated string, if the respective parameters are non-NULL.
+ * allocated string, if the respective parameters are non-%NULL.
  * Free the string with g_free() after usage.
  *
  * Since: 1.2
@@ -1488,7 +1488,7 @@
  * gst_query_parse_uri_redirection_permanent:
  * @query: a #GstQuery
  * @permanent: (out) (allow-none): if the URI redirection is permanent
- *     (may be NULL)
+ *     (may be %NULL)
  *
  * Parse an URI query, and set @permanent to %TRUE if there is a redirection
  * and it should be considered permanent. If a redirection is permanent,
@@ -1547,7 +1547,7 @@
  *
  * Parse an allocation query, writing the requested caps in @caps and
  * whether a pool is needed in @need_pool, if the respective parameters
- * are non-NULL.
+ * are non-%NULL.
  */
 void
 gst_query_parse_allocation (GstQuery * query, GstCaps ** caps,
@@ -1883,11 +1883,11 @@
  * @api: the metadata API
  * @index: (out) (transfer none) (allow-none): the index
  *
- * Check if @query has metadata @api set. When this function returns TRUE,
+ * Check if @query has metadata @api set. When this function returns %TRUE,
  * @index will contain the index where the requested API and the flags can be
  * found.
  *
- * Returns: TRUE when @api is in the list of metadata.
+ * Returns: %TRUE when @api is in the list of metadata.
  */
 gboolean
 gst_query_find_allocation_meta (GstQuery * query, GType api, guint * index)
@@ -2260,7 +2260,7 @@
  *   </para>
  * </note>
  *
- * Returns: TRUE when @mode is in the list of scheduling modes.
+ * Returns: %TRUE when @mode is in the list of scheduling modes.
  */
 gboolean
 gst_query_has_scheduling_mode (GstQuery * query, GstPadMode mode)
@@ -2292,7 +2292,7 @@
  * Check if @query has scheduling mode set and @flags is set in
  * query scheduling flags.
  *
- * Returns: TRUE when @mode is in the list of scheduling modes
+ * Returns: %TRUE when @mode is in the list of scheduling modes
  *    and @flags are compatible with query flags.
  */
 gboolean
@@ -2616,7 +2616,7 @@
 /**
  * gst_query_parse_context_type:
  * @query: a GST_QUERY_CONTEXT type query
- * @context_type: (out) (transfer none) (allow-none): the context type, or NULL
+ * @context_type: (out) (transfer none) (allow-none): the context type, or %NULL
  *
  * Parse a context type from an existing GST_QUERY_CONTEXT query.
  *
diff --git a/gst/gstquery.h b/gst/gstquery.h
index 58e53f4..3750a19 100644
--- a/gst/gstquery.h
+++ b/gst/gstquery.h
@@ -132,7 +132,9 @@
 } GstQueryType;
 #undef FLAG
 
-#define GST_TYPE_QUERY                         (gst_query_get_type())
+GST_EXPORT GType _gst_query_type;
+
+#define GST_TYPE_QUERY                         (_gst_query_type)
 #define GST_IS_QUERY(obj)                      (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_QUERY))
 #define GST_QUERY_CAST(obj)                    ((GstQuery*)(obj))
 #define GST_QUERY(obj)                         (GST_QUERY_CAST(obj))
@@ -284,9 +286,9 @@
  * in some cases), and the reference counts are updated appropriately (the old
  * query is unreffed, the new one is reffed).
  *
- * Either @new_query or the #GstQuery pointed to by @old_query may be NULL.
+ * Either @new_query or the #GstQuery pointed to by @old_query may be %NULL.
  *
- * Returns: TRUE if @new_query was different from @old_query
+ * Returns: %TRUE if @new_query was different from @old_query
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gboolean gst_query_replace (GstQuery **old_query, GstQuery *new_query);
diff --git a/gst/gstregistry.c b/gst/gstregistry.c
index cb5af83..2838737 100644
--- a/gst/gstregistry.c
+++ b/gst/gstregistry.c
@@ -430,7 +430,7 @@
  * Add the plugin to the registry. The plugin-added signal will be emitted.
  * This function will sink @plugin.
  *
- * Returns: TRUE on success.
+ * Returns: %TRUE on success.
  *
  * MT safe.
  */
@@ -556,7 +556,7 @@
  * Add the feature to the registry. The feature-added signal will be emitted.
  * This function sinks @feature.
  *
- * Returns: TRUE on success.
+ * Returns: %TRUE on success.
  *
  * MT safe.
  */
@@ -801,8 +801,8 @@
 
   /* Return reffed copy */
   list =
-      gst_plugin_feature_list_copy (registry->priv->
-      device_monitor_factory_list);
+      gst_plugin_feature_list_copy (registry->
+      priv->device_monitor_factory_list);
 
   GST_OBJECT_UNLOCK (registry);
 
@@ -868,7 +868,7 @@
  * Find the plugin with the given name in the registry.
  * The plugin will be reffed; caller is responsible for unreffing.
  *
- * Returns: (transfer full): the plugin with the given name or NULL if the
+ * Returns: (transfer full): the plugin with the given name or %NULL if the
  *     plugin was not found. gst_object_unref() after usage.
  *
  * MT safe.
@@ -903,7 +903,7 @@
  * Find the pluginfeature with the given name and type in the registry.
  *
  * Returns: (transfer full): the pluginfeature with the given name and type
- *     or NULL if the plugin was not found. gst_object_unref() after usage.
+ *     or %NULL if the plugin was not found. gst_object_unref() after usage.
  *
  * MT safe.
  */
@@ -1055,7 +1055,7 @@
  * Look up a plugin in the given registry with the given filename.
  * If found, plugin is reffed.
  *
- * Returns: (transfer full): the #GstPlugin if found, or NULL if not.
+ * Returns: (transfer full): the #GstPlugin if found, or %NULL if not.
  *     gst_object_unref() after usage.
  */
 GstPlugin *
@@ -1452,8 +1452,8 @@
  * @registry and whether its version is at least the
  * version required.
  *
- * Returns: #TRUE if the feature could be found and the version is
- * the same as the required version or newer, and #FALSE otherwise.
+ * Returns: %TRUE if the feature could be found and the version is
+ * the same as the required version or newer, and %FALSE otherwise.
  */
 gboolean
 gst_registry_check_feature_version (GstRegistry * registry,
@@ -1508,7 +1508,7 @@
 
 #ifndef GST_DISABLE_REGISTRY
 /* Unref all plugins marked 'cached', to clear old plugins that no
- * longer exist. Returns TRUE if any plugins were removed */
+ * longer exist. Returns %TRUE if any plugins were removed */
 static gboolean
 gst_registry_remove_cache_plugins (GstRegistry * registry)
 {
@@ -1640,14 +1640,11 @@
           g_win32_get_package_installation_directory_of_module
           (_priv_gst_dll_handle);
 
-      dir =
-          g_build_filename (base_dir,
+      dir = g_build_filename (base_dir,
 #ifdef _DEBUG
-                            "debug"
+          "debug"
 #endif
-                            "lib",
-                            "gstreamer-" GST_API_VERSION,
-                            NULL);
+          "lib", "gstreamer-" GST_API_VERSION, NULL);
       GST_DEBUG ("scanning DLL dir %s", dir);
 
       changed |= gst_registry_scan_path_internal (&context, dir);
diff --git a/gst/gstsample.c b/gst/gstsample.c
index 8bdde7d..76b76bd 100644
--- a/gst/gstsample.c
+++ b/gst/gstsample.c
@@ -85,10 +85,10 @@
 
 /**
  * gst_sample_new:
- * @buffer: (transfer none) (allow-none): a #GstBuffer, or NULL
- * @caps: (transfer none) (allow-none): a #GstCaps, or NULL
- * @segment: (transfer none) (allow-none): a #GstSegment, or NULL
- * @info: (transfer full) (allow-none): a #GstStructure, or NULL
+ * @buffer: (transfer none) (allow-none): a #GstBuffer, or %NULL
+ * @caps: (transfer none) (allow-none): a #GstCaps, or %NULL
+ * @segment: (transfer none) (allow-none): a #GstSegment, or %NULL
+ * @info: (transfer full) (allow-none): a #GstStructure, or %NULL
  *
  * Create a new #GstSample with the provided details.
  *
@@ -143,7 +143,7 @@
  *
  * Get the buffer associated with @sample
  *
- * Returns: (transfer none): the buffer of @sample or NULL when there
+ * Returns: (transfer none): the buffer of @sample or %NULL when there
  *  is no buffer. The buffer remains valid as long as @sample is valid.
  *  If you need to hold on to it for longer than that, take a ref to
  *  the buffer with gst_buffer_ref().
@@ -162,7 +162,7 @@
  *
  * Get the caps associated with @sample
  *
- * Returns: (transfer none): the caps of @sample or NULL when there
+ * Returns: (transfer none): the caps of @sample or %NULL when there
  *  is no caps. The caps remain valid as long as @sample is valid.
  *  If you need to hold on to the caps for longer than that, take a ref to
  *  the caps with gst_caps_ref().
diff --git a/gst/gstsegment.c b/gst/gstsegment.c
index 241b3a7..3c4081b 100644
--- a/gst/gstsegment.c
+++ b/gst/gstsegment.c
@@ -216,8 +216,8 @@
  * If the caller can apply a rate change, it should update @segment
  * rate and applied_rate after calling this function.
  *
- * @update will be set to TRUE if a seek should be performed to the segment
- * position field. This field can be FALSE if, for example, only the @rate
+ * @update will be set to %TRUE if a seek should be performed to the segment
+ * position field. This field can be %FALSE if, for example, only the @rate
  * has been changed but not the playback position.
  *
  * Returns: %TRUE if the seek could be performed.
@@ -551,18 +551,18 @@
  * in @segment. @start and @stop are compared and clipped to @segment
  * start and stop values.
  *
- * If the function returns FALSE, @start and @stop are known to fall
+ * If the function returns %FALSE, @start and @stop are known to fall
  * outside of @segment and @clip_start and @clip_stop are not updated.
  *
- * When the function returns TRUE, @clip_start and @clip_stop will be
+ * When the function returns %TRUE, @clip_start and @clip_stop will be
  * updated. If @clip_start or @clip_stop are different from @start or @stop
  * respectively, the region fell partially in the segment.
  *
  * Note that when @stop is -1, @clip_stop will be set to the end of the
  * segment. Depending on the use case, this may or may not be what you want.
  *
- * Returns: TRUE if the given @start and @stop times fall partially or
- *     completely in @segment, FALSE if the values are completely outside
+ * Returns: %TRUE if the given @start and @stop times fall partially or
+ *     completely in @segment, %FALSE if the values are completely outside
  *     of the segment.
  */
 gboolean
diff --git a/gst/gststructure.c b/gst/gststructure.c
index 36fb011..5013860 100644
--- a/gst/gststructure.c
+++ b/gst/gststructure.c
@@ -51,7 +51,7 @@
  * gst_structure_remove_fields().
  *
  * Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
- * not allowed. Strings may be NULL however.
+ * not allowed. Strings may be %NULL however.
  *
  * Be aware that the current #GstCaps / #GstStructure serialization into string
  * has limited support for nested #GstCaps / #GstStructure fields. It can only
@@ -237,7 +237,7 @@
  * Creates a new #GstStructure with the given name.  Parses the
  * list of variable arguments and sets fields to the values listed.
  * Variable arguments should be passed as field name, field type,
- * and value.  Last variable argument should be NULL.
+ * and value.  Last variable argument should be %NULL.
  *
  * Free-function: gst_structure_free
  *
@@ -415,7 +415,7 @@
  *
  * Checks if the structure has the given name
  *
- * Returns: TRUE if @name matches the name of the structure.
+ * Returns: %TRUE if @name matches the name of the structure.
  */
 gboolean
 gst_structure_has_name (const GstStructure * structure, const gchar * name)
@@ -621,7 +621,7 @@
  *
  * Parses the variable arguments and sets fields accordingly.
  * Variable arguments should be in the form field name, field type
- * (as a GType), value(s).  The last variable argument should be NULL.
+ * (as a GType), value(s).  The last variable argument should be %NULL.
  */
 void
 gst_structure_set (GstStructure * structure, const gchar * field, ...)
@@ -694,7 +694,7 @@
  * passed using the GQuark for the field name. This allows more efficient
  * setting of the structure if the caller already knows the associated
  * quark values.
- * The last variable argument must be NULL.
+ * The last variable argument must be %NULL.
  */
 void
 gst_structure_id_set (GstStructure * structure, GQuark field, ...)
@@ -737,7 +737,7 @@
  * gst_structure_id_set(). Basically a convenience wrapper around
  * gst_structure_new_id_empty() and gst_structure_id_set().
  *
- * The last variable argument must be NULL (or 0).
+ * The last variable argument must be %NULL (or 0).
  *
  * Free-function: gst_structure_free
  *
@@ -775,9 +775,13 @@
 gst_structure_set_field (GstStructure * structure, GstStructureField * field)
 {
   GstStructureField *f;
-  guint i, len = GST_STRUCTURE_FIELDS (structure)->len;
+  GType field_value_type;
+  guint i, len;
 
-  if (G_UNLIKELY (G_VALUE_HOLDS_STRING (&field->value))) {
+  len = GST_STRUCTURE_FIELDS (structure)->len;
+
+  field_value_type = G_VALUE_TYPE (&field->value);
+  if (field_value_type == G_TYPE_STRING) {
     const gchar *s;
 
     s = g_value_get_string (&field->value);
@@ -804,7 +808,7 @@
       g_value_unset (&field->value);
       return;
     }
-  } else if (G_UNLIKELY (G_VALUE_HOLDS (&field->value, G_TYPE_DATE))) {
+  } else if (G_UNLIKELY (field_value_type == G_TYPE_DATE)) {
     const GDate *d;
 
     d = g_value_get_boxed (&field->value);
@@ -960,7 +964,7 @@
  * gst_structure_remove_fields:
  * @structure: a #GstStructure
  * @fieldname: the name of the field to remove
- * @...: NULL-terminated list of more fieldnames to remove
+ * @...: %NULL-terminated list of more fieldnames to remove
  *
  * Removes the fields with the given names. If a field does not exist, the
  * argument is ignored.
@@ -984,7 +988,7 @@
  * gst_structure_remove_fields_valist:
  * @structure: a #GstStructure
  * @fieldname: the name of the field to remove
- * @varargs: NULL-terminated list of more fieldnames to remove
+ * @varargs: %NULL-terminated list of more fieldnames to remove
  *
  * va_list form of gst_structure_remove_fields().
  */
@@ -1104,8 +1108,8 @@
  * Calls the provided function once for each field in the #GstStructure. The
  * function must not modify the fields. Also see gst_structure_map_in_place().
  *
- * Returns: TRUE if the supplied function returns TRUE For each of the fields,
- * FALSE otherwise.
+ * Returns: %TRUE if the supplied function returns %TRUE For each of the fields,
+ * %FALSE otherwise.
  */
 gboolean
 gst_structure_foreach (const GstStructure * structure,
@@ -1141,8 +1145,8 @@
  * contrast to gst_structure_foreach(), the function may modify but not delete the
  * fields. The structure must be mutable.
  *
- * Returns: TRUE if the supplied function returns TRUE For each of the fields,
- * FALSE otherwise.
+ * Returns: %TRUE if the supplied function returns %TRUE For each of the fields,
+ * %FALSE otherwise.
  */
 gboolean
 gst_structure_map_in_place (GstStructure * structure,
@@ -1175,7 +1179,7 @@
  *
  * Check if @structure contains a field named @field.
  *
- * Returns: TRUE if the structure contains a field with the given name
+ * Returns: %TRUE if the structure contains a field with the given name
  */
 gboolean
 gst_structure_id_has_field (const GstStructure * structure, GQuark field)
@@ -1197,7 +1201,7 @@
  *
  * Check if @structure contains a field named @fieldname.
  *
- * Returns: TRUE if the structure contains a field with the given name
+ * Returns: %TRUE if the structure contains a field with the given name
  */
 gboolean
 gst_structure_has_field (const GstStructure * structure,
@@ -1218,7 +1222,7 @@
  *
  * Check if @structure contains a field named @field and with GType @type.
  *
- * Returns: TRUE if the structure contains a field with the given name and type
+ * Returns: %TRUE if the structure contains a field with the given name and type
  */
 gboolean
 gst_structure_id_has_field_typed (const GstStructure * structure,
@@ -1244,7 +1248,7 @@
  *
  * Check if @structure contains a field named @fieldname and with GType @type.
  *
- * Returns: TRUE if the structure contains a field with the given name and type
+ * Returns: %TRUE if the structure contains a field with the given name and type
  */
 gboolean
 gst_structure_has_field_typed (const GstStructure * structure,
@@ -1269,9 +1273,9 @@
  * given field.  Caller is responsible for making sure the field exists
  * and has the correct type.
  *
- * Returns: TRUE if the value could be set correctly. If there was no field
+ * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a boolean, this
- * function returns FALSE.
+ * function returns %FALSE.
  */
 gboolean
 gst_structure_get_boolean (const GstStructure * structure,
@@ -1284,9 +1288,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS_BOOLEAN (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_BOOLEAN)
     return FALSE;
 
   *value = gst_g_value_get_boolean_unchecked (&field->value);
@@ -1320,9 +1322,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS_INT (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_INT)
     return FALSE;
 
   *value = gst_g_value_get_int_unchecked (&field->value);
@@ -1356,9 +1356,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS_UINT (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_UINT)
     return FALSE;
 
   *value = gst_g_value_get_uint_unchecked (&field->value);
@@ -1394,9 +1392,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS_INT64 (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_INT64)
     return FALSE;
 
   *value = gst_g_value_get_int64_unchecked (&field->value);
@@ -1432,9 +1428,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS_UINT64 (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_UINT64)
     return FALSE;
 
   *value = gst_g_value_get_uint64_unchecked (&field->value);
@@ -1457,9 +1451,9 @@
  * inconsistent with e.g. gst_structure_get_string() which doesn't return a
  * copy of the string).
  *
- * Returns: TRUE if the value could be set correctly. If there was no field
+ * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a data, this function
- * returns FALSE.
+ * returns %FALSE.
  */
 gboolean
 gst_structure_get_date (const GstStructure * structure, const gchar * fieldname,
@@ -1473,12 +1467,10 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS (&field->value, G_TYPE_DATE))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_DATE)
     return FALSE;
 
-  /* FIXME: 0.11 g_value_dup_boxed() -> g_value_get_boxed() */
+  /* FIXME: 2.0 g_value_dup_boxed() -> g_value_get_boxed() */
   *value = g_value_dup_boxed (&field->value);
 
   return TRUE;
@@ -1499,9 +1491,9 @@
  * (note: this is inconsistent with e.g. gst_structure_get_string()
  * which doesn't return a copy of the string).
  *
- * Returns: TRUE if the value could be set correctly. If there was no field
+ * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a data, this function
- * returns FALSE.
+ * returns %FALSE.
  */
 gboolean
 gst_structure_get_date_time (const GstStructure * structure,
@@ -1536,9 +1528,9 @@
  * of the given field.  Caller is responsible for making sure the field exists
  * and has the correct type.
  *
- * Returns: TRUE if the value could be set correctly. If there was no field
+ * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a #GstClockTime, this
- * function returns FALSE.
+ * function returns %FALSE.
  */
 gboolean
 gst_structure_get_clock_time (const GstStructure * structure,
@@ -1557,9 +1549,9 @@
  * given field.  Caller is responsible for making sure the field exists
  * and has the correct type.
  *
- * Returns: TRUE if the value could be set correctly. If there was no field
+ * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a double, this
- * function returns FALSE.
+ * function returns %FALSE.
  */
 gboolean
 gst_structure_get_double (const GstStructure * structure,
@@ -1573,9 +1565,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!G_VALUE_HOLDS_DOUBLE (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_DOUBLE)
     return FALSE;
 
   *value = gst_g_value_get_double_unchecked (&field->value);
@@ -1595,7 +1585,7 @@
  * The string should not be modified, and remains valid until the next
  * call to a gst_structure_*() function with the given structure.
  *
- * Returns: a pointer to the string or NULL when the field did not exist
+ * Returns: a pointer to the string or %NULL when the field did not exist
  * or did not contain a string.
  */
 const gchar *
@@ -1609,9 +1599,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return NULL;
-  if (!G_VALUE_HOLDS_STRING (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != G_TYPE_STRING)
     return NULL;
 
   return gst_g_value_get_string_unchecked (&field->value);
@@ -1628,9 +1616,9 @@
  * given field.  Caller is responsible for making sure the field exists,
  * has the correct type and that the enumtype is correct.
  *
- * Returns: TRUE if the value could be set correctly. If there was no field
+ * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain an enum of the given
- * type, this function returns FALSE.
+ * type, this function returns %FALSE.
  */
 gboolean
 gst_structure_get_enum (const GstStructure * structure,
@@ -1666,9 +1654,9 @@
  * corresponding to the value of the given field.  Caller is responsible
  * for making sure the field exists and has the correct type.
  *
- * Returns: TRUE if the values could be set correctly. If there was no field
+ * Returns: %TRUE if the values could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a GstFraction, this
- * function returns FALSE.
+ * function returns %FALSE.
  */
 gboolean
 gst_structure_get_fraction (const GstStructure * structure,
@@ -1683,9 +1671,7 @@
 
   field = gst_structure_get_field (structure, fieldname);
 
-  if (field == NULL)
-    return FALSE;
-  if (!GST_VALUE_HOLDS_FRACTION (&field->value))
+  if (field == NULL || G_VALUE_TYPE (&field->value) != GST_TYPE_FRACTION)
     return FALSE;
 
   *value_numerator = gst_value_get_fraction_numerator (&field->value);
@@ -2380,7 +2366,7 @@
  * @string: a string representation of a #GstStructure
  *
  * Creates a #GstStructure from a string representation.
- * If end is not NULL, a pointer to the place inside the given string
+ * If end is not %NULL, a pointer to the place inside the given string
  * where parsing ended will be returned.
  *
  * The current implementation of serialization will lead to unexpected results
@@ -2388,7 +2374,7 @@
  *
  * Free-function: gst_structure_free
  *
- * Returns: (transfer full): a new #GstStructure or NULL when the string could
+ * Returns: (transfer full): a new #GstStructure or %NULL when the string could
  *     not be parsed. Free with gst_structure_free() after use.
  *
  * Since: 1.2
@@ -2405,12 +2391,12 @@
  * @end: (out) (allow-none) (transfer none) (skip): pointer to store the end of the string in.
  *
  * Creates a #GstStructure from a string representation.
- * If end is not NULL, a pointer to the place inside the given string
+ * If end is not %NULL, a pointer to the place inside the given string
  * where parsing ended will be returned.
  *
  * Free-function: gst_structure_free
  *
- * Returns: (transfer full): a new #GstStructure or NULL when the string could
+ * Returns: (transfer full): a new #GstStructure or %NULL when the string could
  *     not be parsed. Free with gst_structure_free() after use.
  */
 GstStructure *
@@ -2488,7 +2474,7 @@
  * Fixates a #GstStructure by changing the given field to the nearest
  * integer to @target that is a subset of the existing field.
  *
- * Returns: TRUE if the structure could be fixated
+ * Returns: %TRUE if the structure could be fixated
  */
 gboolean
 gst_structure_fixate_field_nearest_int (GstStructure * structure,
@@ -2552,7 +2538,7 @@
  * Fixates a #GstStructure by changing the given field to the nearest
  * double to @target that is a subset of the existing field.
  *
- * Returns: TRUE if the structure could be fixated
+ * Returns: %TRUE if the structure could be fixated
  */
 gboolean
 gst_structure_fixate_field_nearest_double (GstStructure * structure,
@@ -2617,7 +2603,7 @@
  * Fixates a #GstStructure by changing the given @field_name field to the given
  * @target boolean if that field is not fixed yet.
  *
- * Returns: TRUE if the structure could be fixated
+ * Returns: %TRUE if the structure could be fixated
  */
 gboolean
 gst_structure_fixate_field_boolean (GstStructure * structure,
@@ -2670,7 +2656,7 @@
  * Fixates a #GstStructure by changing the given @field_name field to the given
  * @target string if that field is not fixed yet.
  *
- * Returns: TRUE if the structure could be fixated
+ * Returns: %TRUE if the structure could be fixated
  */
 gboolean
 gst_structure_fixate_field_string (GstStructure * structure,
@@ -2725,7 +2711,7 @@
  * fraction to @target_numerator/@target_denominator that is a subset
  * of the existing field.
  *
- * Returns: TRUE if the structure could be fixated
+ * Returns: %TRUE if the structure could be fixated
  */
 gboolean
 gst_structure_fixate_field_nearest_fraction (GstStructure * structure,
@@ -2827,7 +2813,7 @@
  *
  * Fixates a #GstStructure by changing the given field with its fixated value.
  *
- * Returns: TRUE if the structure field could be fixated
+ * Returns: %TRUE if the structure field could be fixated
  */
 gboolean
 gst_structure_fixate_field (GstStructure * structure, const char *field_name)
@@ -2845,7 +2831,7 @@
 
 /* our very own version of G_VALUE_LCOPY that allows NULL return locations
  * (useful for message parsing functions where the return location is user
- * supplied and the user may pass NULL if the value isn't of interest) */
+ * supplied and the user may pass %NULL if the value isn't of interest) */
 #define GST_VALUE_LCOPY(value, var_args, flags, __error, fieldname)           \
 G_STMT_START {                                                                \
   const GValue *_value = (value);                                             \
@@ -2879,7 +2865,7 @@
  * valist-variant of gst_structure_get(). Look at the documentation of
  * gst_structure_get() for more details.
  *
- * Returns: TRUE, or FALSE if there was a problem reading any of the fields
+ * Returns: %TRUE, or %FALSE if there was a problem reading any of the fields
  */
 gboolean
 gst_structure_get_valist (const GstStructure * structure,
@@ -2946,7 +2932,7 @@
  * valist-variant of gst_structure_id_get(). Look at the documentation of
  * gst_structure_id_get() for more details.
  *
- * Returns: TRUE, or FALSE if there was a problem reading any of the fields
+ * Returns: %TRUE, or %FALSE if there was a problem reading any of the fields
  */
 gboolean
 gst_structure_id_get_valist (const GstStructure * structure,
@@ -3013,16 +2999,16 @@
  * Parses the variable arguments and reads fields from @structure accordingly.
  * Variable arguments should be in the form field name, field type
  * (as a GType), pointer(s) to a variable(s) to hold the return value(s).
- * The last variable argument should be NULL.
+ * The last variable argument should be %NULL.
  *
  * For refcounted (mini)objects you will receive a new reference which
  * you must release with a suitable _unref() when no longer needed. For
  * strings and boxed types you will receive a copy which you will need to
  * release with either g_free() or the suitable function for the boxed type.
  *
- * Returns: FALSE if there was a problem reading any of the fields (e.g.
+ * Returns: %FALSE 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 TRUE.
+ *     than the type specified), otherwise %TRUE.
  */
 gboolean
 gst_structure_get (const GstStructure * structure, const char *first_fieldname,
@@ -3050,9 +3036,9 @@
  * Parses the variable arguments and reads fields from @structure accordingly.
  * Variable arguments should be in the form field id quark, field type
  * (as a GType), pointer(s) to a variable(s) to hold the return value(s).
- * The last variable argument should be NULL (technically it should be a
- * 0 quark, but we require NULL so compilers that support it can check for
- * the NULL terminator and warn if it's not there).
+ * The last variable argument should be %NULL (technically it should be a
+ * 0 quark, but we require %NULL so compilers that support it can check for
+ * the %NULL terminator and warn if it's not there).
  *
  * This function is just like gst_structure_get() only that it is slightly
  * more efficient since it saves the string-to-quark lookup in the global
@@ -3063,9 +3049,9 @@
  * strings and boxed types you will receive a copy which you will need to
  * release with either g_free() or the suitable function for the boxed type.
  *
- * Returns: FALSE if there was a problem reading any of the fields (e.g.
+ * Returns: %FALSE 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 TRUE.
+ *     than the type specified), otherwise %TRUE.
  */
 gboolean
 gst_structure_id_get (const GstStructure * structure, GQuark first_field_id,
@@ -3107,7 +3093,7 @@
  *
  * Tests if the two #GstStructure are equal.
  *
- * Returns: TRUE if the two structures have the same name and field.
+ * Returns: %TRUE if the two structures have the same name and field.
  **/
 gboolean
 gst_structure_is_equal (const GstStructure * structure1,
diff --git a/gst/gststructure.h b/gst/gststructure.h
index 684f558..6687970 100644
--- a/gst/gststructure.h
+++ b/gst/gststructure.h
@@ -47,8 +47,8 @@
  * A function that will be called in gst_structure_foreach(). The function may
  * not modify @value.
  *
- * Returns: TRUE if the foreach operation should continue, FALSE if
- * the foreach operation should stop with FALSE.
+ * Returns: %TRUE if the foreach operation should continue, %FALSE if
+ * the foreach operation should stop with %FALSE.
  */
 typedef gboolean (*GstStructureForeachFunc) (GQuark   field_id,
                                              const GValue * value,
@@ -63,8 +63,8 @@
  * A function that will be called in gst_structure_map_in_place(). The function
  * may modify @value.
  *
- * Returns: TRUE if the map operation should continue, FALSE if
- * the map operation should stop with FALSE.
+ * Returns: %TRUE if the map operation should continue, %FALSE if
+ * the map operation should stop with %FALSE.
  */
 typedef gboolean (*GstStructureMapFunc)     (GQuark   field_id,
                                              GValue * value,
diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c
index f8f8f04..c96cb56 100644
--- a/gst/gsttaglist.c
+++ b/gst/gsttaglist.c
@@ -26,7 +26,7 @@
  * List of tags and values used to describe media metadata.
  *
  * Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
- * not allowed. Strings must not be empty or NULL.
+ * not allowed. Strings must not be empty or %NULL.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -84,6 +84,7 @@
 /* tags hash table: maps tag name string => GstTagInfo */
 static GHashTable *__tags;
 
+GType _gst_tag_list_type = 0;
 GST_DEFINE_MINI_OBJECT_TYPE (GstTagList, gst_tag_list);
 
 static void __gst_tag_list_free (GstTagList * list);
@@ -98,6 +99,8 @@
 {
   g_mutex_init (&__tag_mutex);
 
+  _gst_tag_list_type = gst_tag_list_get_type ();
+
   __tags = g_hash_table_new (g_str_hash, g_str_equal);
   gst_tag_register_static (GST_TAG_TITLE, GST_TAG_FLAG_META,
       G_TYPE_STRING,
@@ -465,7 +468,7 @@
  * @type: the type this data is in
  * @nick: human-readable name
  * @blurb: a human-readable description about this tag
- * @func: (allow-none): function for merging multiple values of this tag, or NULL
+ * @func: (allow-none): function for merging multiple values of this tag, or %NULL
  *
  * Registers a new tag type for the use with GStreamer's type system. If a type
  * with that name is already registered, that one is used.
@@ -509,7 +512,7 @@
  * @type: the type this data is in
  * @nick: human-readable name or short description (string constant)
  * @blurb: a human-readable description for this tag (string constant)
- * @func: (allow-none): function for merging multiple values of this tag, or NULL
+ * @func: (allow-none): function for merging multiple values of this tag, or %NULL
  *
  * Registers a new tag type for the use with GStreamer's type system.
  *
@@ -555,7 +558,7 @@
  *
  * Checks if the given type is already registered.
  *
- * Returns: TRUE if the type is already registered
+ * Returns: %TRUE if the type is already registered
  */
 gboolean
 gst_tag_exists (const gchar * tag)
@@ -654,7 +657,7 @@
  * Checks if the given tag is fixed. A fixed tag can only contain one value.
  * Unfixed tags can contain lists of values.
  *
- * Returns: TRUE, if the given tag is fixed.
+ * Returns: %TRUE, if the given tag is fixed.
  */
 gboolean
 gst_tag_is_fixed (const gchar * tag)
@@ -740,10 +743,10 @@
 /**
  * gst_tag_list_new:
  * @tag: tag
- * @...: NULL-terminated list of values to set
+ * @...: %NULL-terminated list of values to set
  *
  * Creates a new taglist and appends the values for the given tags. It expects
- * tag-value pairs like gst_tag_list_add(), and a NULL terminator after the
+ * tag-value pairs like gst_tag_list_add(), and a %NULL terminator after the
  * last pair. The type of the values is implicit and is documented in the API
  * reference, but can also be queried at runtime with gst_tag_get_type(). It
  * is an error to pass a value of a type not matching the tag type into this
@@ -841,7 +844,7 @@
  *
  * Serializes a tag list to a string.
  *
- * Returns: a newly-allocated string, or NULL in case of an error. The
+ * Returns: a newly-allocated string, or %NULL in case of an error. The
  *    string must be freed with g_free() when no longer needed.
  */
 gchar *
@@ -858,7 +861,7 @@
  *
  * Deserializes a tag list.
  *
- * Returns: a new #GstTagList, or NULL in case of an error.
+ * Returns: a new #GstTagList, or %NULL in case of an error.
  */
 GstTagList *
 gst_tag_list_new_from_string (const gchar * str)
@@ -919,7 +922,7 @@
  *
  * Checks if the given taglist is empty.
  *
- * Returns: TRUE if the taglist is empty, otherwise FALSE.
+ * Returns: %TRUE if the taglist is empty, otherwise %FALSE.
  */
 gboolean
 gst_tag_list_is_empty (const GstTagList * list)
@@ -958,7 +961,7 @@
  *
  * Checks if the two given taglists are equal.
  *
- * Returns: TRUE if the taglists are equal, otherwise FALSE
+ * Returns: %TRUE if the taglists are equal, otherwise %FALSE
  */
 gboolean
 gst_tag_list_is_equal (const GstTagList * list1, const GstTagList * list2)
@@ -1132,8 +1135,8 @@
  * @list2: second list to merge
  * @mode: the mode to use
  *
- * Merges the two given lists into a new list. If one of the lists is NULL, a
- * copy of the other is returned. If both lists are NULL, NULL is returned.
+ * Merges the two given lists into a new list. If one of the lists is %NULL, a
+ * copy of the other is returned. If both lists are %NULL, %NULL is returned.
  *
  * Free-function: gst_tag_list_unref
  *
@@ -1197,7 +1200,7 @@
  * @list: list to set tags in
  * @mode: the mode to use
  * @tag: tag
- * @...: NULL-terminated list of values to set
+ * @...: %NULL-terminated list of values to set
  *
  * Sets the values for the given tags using the specified mode.
  */
@@ -1421,7 +1424,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: (transfer none): The GValue for the specified entry or NULL if the
+ * Returns: (transfer none): The GValue for the specified entry or %NULL if the
  *          tag wasn't available or the tag doesn't have as many entries
  */
 const GValue *
@@ -1459,7 +1462,7 @@
  * with the tag.
  * You must g_value_unset() the value after use.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *          given list.
  */
 gboolean
@@ -1549,7 +1552,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1562,7 +1565,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (boolean, gboolean, TRUE);
@@ -1575,7 +1578,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1588,7 +1591,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (int, gint, TRUE);
@@ -1601,7 +1604,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1614,7 +1617,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (uint, guint, TRUE);
@@ -1628,7 +1631,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (int64, gint64, TRUE);
@@ -1641,7 +1644,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1654,7 +1657,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (uint64, guint64, TRUE);
@@ -1667,7 +1670,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1680,7 +1683,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (float, gfloat, TRUE);
@@ -1693,7 +1696,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1706,7 +1709,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (double, gdouble, TRUE);
@@ -1719,7 +1722,7 @@
  * Copies the contents for the given tag into the value, merging multiple values
  * into one if multiple values are associated with the tag.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1732,7 +1735,7 @@
  * Gets the value that is at the given index for the given tag in the given
  * list.
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (pointer, gpointer, (*value != NULL));
@@ -1763,11 +1766,11 @@
  *
  * The resulting string in @value will be in UTF-8 encoding and should be
  * freed by the caller using g_free when no longer needed. The
- * returned string is also guaranteed to be non-NULL and non-empty.
+ * returned string is also guaranteed to be non-%NULL and non-empty.
  *
  * Free-function: g_free
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 /**
@@ -1782,11 +1785,11 @@
  *
  * The resulting string in @value will be in UTF-8 encoding and should be
  * freed by the caller using g_free when no longer needed. The
- * returned string is also guaranteed to be non-NULL and non-empty.
+ * returned string is also guaranteed to be non-%NULL and non-empty.
  *
  * Free-function: g_free
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
  *              given list.
  */
 TAG_MERGE_FUNCS (string, gchar *, (*value != NULL));
@@ -1808,9 +1811,9 @@
  *
  * The resulting string in @value will be in UTF-8 encoding and doesn't need
  * to be freed by the caller. The returned string is also guaranteed to
- * be non-NULL and non-empty.
+ * be non-%NULL and non-empty.
  *
- * Returns: TRUE, if a value was set, FALSE if the tag didn't exist in the
+ * Returns: %TRUE, if a value was set, %FALSE if the tag didn't exist in the
  *              given list.
  */
 gboolean
@@ -1842,8 +1845,8 @@
  *
  * Free-function: g_date_free
  *
- * Returns: TRUE, if a date was copied, FALSE if the tag didn't exist in the
- *              given list or if it was #NULL.
+ * Returns: %TRUE, if a date was copied, %FALSE if the tag didn't exist in the
+ *              given list or if it was %NULL.
  */
 gboolean
 gst_tag_list_get_date (const GstTagList * list, const gchar * tag,
@@ -1875,8 +1878,8 @@
  *
  * Free-function: g_date_free
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
- *              given list or if it was #NULL.
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ *              given list or if it was %NULL.
  */
 gboolean
 gst_tag_list_get_date_index (const GstTagList * list,
@@ -1907,8 +1910,8 @@
  *
  * Free-function: gst_date_time_unref
  *
- * Returns: TRUE, if a datetime was copied, FALSE if the tag didn't exist in
- *              the given list or if it was #NULL.
+ * Returns: %TRUE, if a datetime was copied, %FALSE if the tag didn't exist in
+ *              the given list or if it was %NULL.
  */
 gboolean
 gst_tag_list_get_date_time (const GstTagList * list, const gchar * tag,
@@ -1923,8 +1926,6 @@
   if (!gst_tag_list_copy_value (&v, list, tag))
     return FALSE;
 
-  g_return_val_if_fail (GST_VALUE_HOLDS_DATE_TIME (&v), FALSE);
-
   *value = (GstDateTime *) g_value_dup_boxed (&v);
   g_value_unset (&v);
   return (*value != NULL);
@@ -1943,8 +1944,8 @@
  *
  * Free-function: gst_date_time_unref
  *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
- *              given list or if it was #NULL.
+ * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ *              given list or if it was %NULL.
  */
 gboolean
 gst_tag_list_get_date_time_index (const GstTagList * list,
@@ -1977,8 +1978,8 @@
  *
  * Free-function: gst_sample_unref
  *
- * Returns: TRUE, if a sample was returned, FALSE if the tag didn't exist in
- *              the given list or if it was #NULL.
+ * Returns: %TRUE, if a sample was returned, %FALSE if the tag didn't exist in
+ *              the given list or if it was %NULL.
  */
 gboolean
 gst_tag_list_get_sample (const GstTagList * list, const gchar * tag,
@@ -2013,8 +2014,8 @@
  *
  * Free-function: gst_sample_unref
  *
- * Returns: TRUE, if a sample was copied, FALSE if the tag didn't exist in the
- *              given list or if it was #NULL.
+ * Returns: %TRUE, if a sample was copied, %FALSE if the tag didn't exist in the
+ *              given list or if it was %NULL.
  */
 gboolean
 gst_tag_list_get_sample_index (const GstTagList * list,
diff --git a/gst/gsttaglist.h b/gst/gsttaglist.h
index 80edea1..42f944b 100644
--- a/gst/gsttaglist.h
+++ b/gst/gsttaglist.h
@@ -154,8 +154,10 @@
   GstMiniObject mini_object;
 };
 
+GST_EXPORT GType _gst_tag_list_type;
+
 #define GST_TAG_LIST(x)       ((GstTagList *) (x))
-#define GST_TYPE_TAG_LIST     (gst_tag_list_get_type ())
+#define GST_TYPE_TAG_LIST     (_gst_tag_list_type)
 #define GST_IS_TAG_LIST(obj)  (GST_IS_MINI_OBJECT_TYPE((obj), GST_TYPE_TAG_LIST))
 
 /**
diff --git a/gst/gsttagsetter.c b/gst/gsttagsetter.c
index 78f0c6a..b2955d6 100644
--- a/gst/gsttagsetter.c
+++ b/gst/gsttagsetter.c
@@ -200,7 +200,7 @@
  * @...: more tag / value pairs to set
  *
  * Adds the given tag / value pairs on the setter using the given merge mode.
- * The list must be terminated with NULL.
+ * The list must be terminated with %NULL.
  */
 void
 gst_tag_setter_add_tags (GstTagSetter * setter, GstTagMergeMode mode,
@@ -224,7 +224,7 @@
  * @...: more tag / GValue pairs to set
  *
  * Adds the given tag / GValue pairs on the setter using the given merge mode.
- * The list must be terminated with NULL.
+ * The list must be terminated with %NULL.
  */
 void
 gst_tag_setter_add_tag_values (GstTagSetter * setter, GstTagMergeMode mode,
@@ -248,7 +248,7 @@
  * @var_args: tag / value pairs to set
  *
  * Adds the given tag / value pairs on the setter using the given merge mode.
- * The list must be terminated with NULL.
+ * The list must be terminated with %NULL.
  */
 void
 gst_tag_setter_add_tag_valist (GstTagSetter * setter, GstTagMergeMode mode,
@@ -278,7 +278,7 @@
  * @var_args: tag / GValue pairs to set
  *
  * Adds the given tag / GValue pairs on the setter using the given merge mode.
- * The list must be terminated with NULL.
+ * The list must be terminated with %NULL.
  */
 void
 gst_tag_setter_add_tag_valist_values (GstTagSetter * setter,
@@ -341,7 +341,7 @@
  * This function is not thread-safe.
  *
  * Returns: (transfer none): a current snapshot of the taglist used in the
- *          setter or NULL if none is used.
+ *          setter or %NULL if none is used.
  */
 const GstTagList *
 gst_tag_setter_get_tag_list (GstTagSetter * setter)
diff --git a/gst/gsttask.c b/gst/gsttask.c
index 4414f49..b562f6c 100644
--- a/gst/gsttask.c
+++ b/gst/gsttask.c
@@ -331,7 +331,7 @@
     GST_OBJECT_LOCK (task);
   }
   /* now we allow messing with the lock again by setting the running flag to
-   * FALSE. Together with the SIGNAL this is the sign for the _join() to
+   * %FALSE. Together with the SIGNAL this is the sign for the _join() to
    * complete.
    * Note that we still have not dropped the final ref on the task. We could
    * check here if there is a pending join() going on and drop the last ref
diff --git a/gst/gsttaskpool.c b/gst/gsttaskpool.c
index 31a06e1..d7ff344 100644
--- a/gst/gsttaskpool.c
+++ b/gst/gsttaskpool.c
@@ -224,7 +224,7 @@
  * Start the execution of a new thread from @pool.
  *
  * Returns: (transfer none): a pointer that should be used for the
- * gst_task_pool_join function. This pointer can be NULL, you must
+ * gst_task_pool_join function. This pointer can be %NULL, you must
  * check @error to detect errors.
  */
 gpointer
diff --git a/gst/gsttoc.c b/gst/gsttoc.c
index 0d3d025..bee13cb 100644
--- a/gst/gsttoc.c
+++ b/gst/gsttoc.c
@@ -116,6 +116,9 @@
 static GstTocEntry *gst_toc_entry_copy (const GstTocEntry * toc);
 static void gst_toc_entry_free (GstTocEntry * toc);
 
+GType _gst_toc_type = 0;
+GType _gst_toc_entry_type = 0;
+
 GST_DEFINE_MINI_OBJECT_TYPE (GstToc, gst_toc);
 GST_DEFINE_MINI_OBJECT_TYPE (GstTocEntry, gst_toc_entry);
 
@@ -357,7 +360,7 @@
  *
  * Find #GstTocEntry with given @uid in the @toc.
  *
- * Returns: (transfer none): #GstTocEntry with specified @uid from the @toc, or NULL if not found.
+ * Returns: (transfer none): #GstTocEntry with specified @uid from the @toc, or %NULL if not found.
  */
 GstTocEntry *
 gst_toc_find_entry (const GstToc * toc, const gchar * uid)
@@ -390,7 +393,7 @@
  *
  * Copy #GstTocEntry with all subentries (deep copy).
  *
- * Returns: newly allocated #GstTocEntry in case of success, NULL otherwise;
+ * Returns: newly allocated #GstTocEntry in case of success, %NULL otherwise;
  * free it when done with gst_toc_entry_unref().
  */
 static GstTocEntry *
@@ -434,7 +437,7 @@
  *
  * Copy #GstToc with all subentries (deep copy).
  *
- * Returns: newly allocated #GstToc in case of success, NULL otherwise;
+ * Returns: newly allocated #GstToc in case of success, %NULL otherwise;
  * free it when done with gst_toc_unref().
  */
 static GstToc *
@@ -820,3 +823,10 @@
   gst_toc_dump_entries (toc->entries, 2);
 #endif
 }
+
+void
+_priv_gst_toc_initialize (void)
+{
+  _gst_toc_type = gst_toc_get_type ();
+  _gst_toc_entry_type = gst_toc_entry_get_type ();
+}
diff --git a/gst/gsttoc.h b/gst/gsttoc.h
index a9815d8..39469c1 100644
--- a/gst/gsttoc.h
+++ b/gst/gsttoc.h
@@ -30,8 +30,11 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_TOC (gst_toc_get_type ())
-#define GST_TYPE_TOC_ENTRY (gst_toc_entry_get_type ())
+GST_EXPORT GType _gst_toc_type;
+GST_EXPORT GType _gst_toc_entry_type;
+
+#define GST_TYPE_TOC (_gst_toc_type)
+#define GST_TYPE_TOC_ENTRY (_gst_toc_entry_type)
 
 typedef struct _GstTocEntry GstTocEntry;
 typedef struct _GstToc GstToc;
diff --git a/gst/gsttocsetter.c b/gst/gsttocsetter.c
index 222a4ed..42839d2 100644
--- a/gst/gsttocsetter.c
+++ b/gst/gsttocsetter.c
@@ -128,7 +128,7 @@
  * modified without making it writable first.
  *
  *
- * Returns: (transfer full): TOC set, or NULL. Unref with gst_toc_unref()
+ * Returns: (transfer full): TOC set, or %NULL. Unref with gst_toc_unref()
  *     when no longer needed
  */
 GstToc *
diff --git a/gst/gsttypefind.c b/gst/gsttypefind.c
index 7e647ca..1fcbea1 100644
--- a/gst/gsttypefind.c
+++ b/gst/gsttypefind.c
@@ -40,7 +40,7 @@
 
 /**
  * gst_type_find_register:
- * @plugin: (allow-none): A #GstPlugin, or NULL for a static typefind function
+ * @plugin: (allow-none): A #GstPlugin, or %NULL for a static typefind function
  * @name: The name for registering
  * @rank: The rank (or importance) of this typefind function
  * @func: The #GstTypeFindFunction to use
@@ -57,7 +57,7 @@
  * registering this function will be available for typefinding.
  * This function is typically called during an element's plugin initialization.
  *
- * Returns: TRUE on success, FALSE otherwise
+ * Returns: %TRUE on success, %FALSE otherwise
  */
 gboolean
 gst_type_find_register (GstPlugin * plugin, const gchar * name, guint rank,
@@ -119,7 +119,7 @@
  * the stream. The returned memory is valid until the typefinding function
  * returns and must not be freed.
  *
- * Returns: (transfer none) (array length=size): the requested data, or NULL
+ * Returns: (transfer none) (array length=size): the requested data, or %NULL
  *     if that data is not available.
  */
 const guint8 *
@@ -157,7 +157,7 @@
  * @find: The #GstTypeFind object the function was called with
  * @probability: The probability in percent that the suggestion is right
  * @media_type: the media type of the suggested caps
- * @fieldname: (allow-none): first field of the suggested caps, or NULL
+ * @fieldname: (allow-none): first field of the suggested caps, or %NULL
  * @...: additional arguments to the suggested caps in the same format as the
  *     arguments passed to gst_structure_new() (ie. triplets of field name,
  *     field GType and field value)
@@ -171,7 +171,7 @@
  * passing a #GstCaps argument you can create the caps on the fly in the same
  * way as you can with gst_caps_new_simple().
  *
- * Make sure you terminate the list of arguments with a NULL argument and that
+ * Make sure you terminate the list of arguments with a %NULL argument and that
  * the values passed have the correct type (in terms of width in bytes when
  * passed to the vararg function - this applies particularly to gdouble and
  * guint64 arguments).
diff --git a/gst/gsttypefindfactory.c b/gst/gsttypefindfactory.c
index b09d906..c216eb3 100644
--- a/gst/gsttypefindfactory.c
+++ b/gst/gsttypefindfactory.c
@@ -174,11 +174,11 @@
  *
  * Gets the extensions associated with a #GstTypeFindFactory. The returned
  * array should not be changed. If you need to change stuff in it, you should
- * copy it using g_strdupv().  This function may return NULL to indicate
+ * copy it using g_strdupv().  This function may return %NULL to indicate
  * a 0-length list.
  *
  * Returns: (transfer none) (array zero-terminated=1) (element-type utf8): a
- *     NULL-terminated array of extensions associated with this factory
+ *     %NULL-terminated array of extensions associated with this factory
  */
 const gchar *const *
 gst_type_find_factory_get_extensions (GstTypeFindFactory * factory)
@@ -225,7 +225,7 @@
  * without typefind functions are a last-effort fallback mechanism to
  * e.g. assume a certain media type based on the file extension.
  *
- * Returns: TRUE if the factory has a typefind functions set, otherwise FALSE
+ * Returns: %TRUE if the factory has a typefind functions set, otherwise %FALSE
  */
 gboolean
 gst_type_find_factory_has_function (GstTypeFindFactory * factory)
diff --git a/gst/gsturi.c b/gst/gsturi.c
index ace3756..00a496f 100644
--- a/gst/gsturi.c
+++ b/gst/gsturi.c
@@ -301,7 +301,7 @@
  * must consist of alphanumeric characters, '+', '-' and '.' and must
  * start with a alphabetic character. See RFC 3986 Section 3.1.
  *
- * Returns: TRUE if the string is a valid protocol identifier, FALSE otherwise.
+ * Returns: %TRUE if the string is a valid protocol identifier, %FALSE otherwise.
  */
 gboolean
 gst_uri_protocol_is_valid (const gchar * protocol)
@@ -322,7 +322,7 @@
  * Tests if the given string is a valid URI identifier. URIs start with a valid
  * scheme followed by ":" and maybe a string identifying the location.
  *
- * Returns: TRUE if the string is a valid URI
+ * Returns: %TRUE if the string is a valid URI
  */
 gboolean
 gst_uri_is_valid (const gchar * uri)
@@ -395,7 +395,7 @@
  *
  * Free-function: g_free
  *
- * Returns: (transfer full): the location for this URI. Returns NULL if the
+ * Returns: (transfer full): the location for this URI. Returns %NULL if the
  *     URI isn't valid. If the URI does not contain a location, an empty
  *     string is returned.
  */
@@ -442,8 +442,8 @@
  *
  * Free-function: g_free
  *
- * Returns: (transfer full): a new string for this URI. Returns NULL if the
- *     given URI protocol is not valid, or the given location is NULL.
+ * Returns: (transfer full): a new string for this URI. Returns %NULL if the
+ *     given URI protocol is not valid, or the given location is %NULL.
  */
 gchar *
 gst_uri_construct (const gchar * protocol, const gchar * location)
@@ -533,7 +533,7 @@
  * that a positive return value does not imply that a subsequent call to
  * gst_element_make_from_uri() is guaranteed to work.
  *
- * Returns: TRUE
+ * Returns: %TRUE
 */
 gboolean
 gst_uri_protocol_is_supported (const GstURIType type, const gchar * protocol)
@@ -555,12 +555,12 @@
  * gst_element_make_from_uri:
  * @type: Whether to create a source or a sink
  * @uri: URI to create an element for
- * @elementname: (allow-none): Name of created element, can be NULL.
- * @error: (allow-none): address where to store error information, or NULL.
+ * @elementname: (allow-none): Name of created element, can be %NULL.
+ * @error: (allow-none): address where to store error information, or %NULL.
  *
  * Creates an element for handling the given URI.
  *
- * Returns: (transfer floating): a new element or NULL if none could be created
+ * Returns: (transfer floating): a new element or %NULL if none could be created
  */
 GstElement *
 gst_element_make_from_uri (const GstURIType type, const gchar * uri,
@@ -665,7 +665,7 @@
  * modified.
  *
  * Returns: (transfer none) (element-type utf8): the supported protocols.
- *     Returns NULL if the @handler isn't implemented properly, or the @handler
+ *     Returns %NULL if the @handler isn't implemented properly, or the @handler
  *     doesn't support any protocols.
  */
 const gchar *const *
@@ -693,7 +693,7 @@
  * Gets the currently handled URI.
  *
  * Returns: (transfer full): the URI currently handled by the @handler.
- *   Returns NULL if there are no URI currently handled. The
+ *   Returns %NULL if there are no URI currently handled. The
  *   returned string must be freed with g_free() when no longer needed.
  */
 gchar *
@@ -719,11 +719,11 @@
  * @handler: A #GstURIHandler
  * @uri: URI to set
  * @error: (allow-none): address where to store a #GError in case of
- *    an error, or NULL
+ *    an error, or %NULL
  *
  * Tries to set the URI of the given handler.
  *
- * Returns: TRUE if the URI was set successfully, else FALSE.
+ * Returns: %TRUE if the URI was set successfully, else %FALSE.
  */
 gboolean
 gst_uri_handler_set_uri (GstURIHandler * handler, const gchar * uri,
@@ -839,7 +839,7 @@
 /**
  * gst_filename_to_uri:
  * @filename: absolute or relative file name path
- * @error: pointer to error, or NULL
+ * @error: pointer to error, or %NULL
  *
  * Similar to g_filename_to_uri(), but attempts to handle relative file paths
  * as well. Before converting @filename into an URI, it will be prefixed by
diff --git a/gst/gstutils.c b/gst/gstutils.c
index 867fd56..c411631 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -150,7 +150,7 @@
   g_value_init (&v, value_type);
 
   /* special case for element <-> xml (de)serialisation */
-  if (GST_VALUE_HOLDS_STRUCTURE (&v) && strcmp (value, "NULL") == 0) {
+  if (value_type == GST_TYPE_STRUCTURE && strcmp (value, "NULL") == 0) {
     g_value_set_boxed (&v, NULL);
     goto done;
   }
@@ -773,7 +773,7 @@
  * Retrieves a pad template from @element that is compatible with @compattempl.
  * Pads from compatible templates can be linked together.
  *
- * Returns: (transfer none): a compatible #GstPadTemplate, or NULL if none
+ * Returns: (transfer none): a compatible #GstPadTemplate, or %NULL if none
  *     was found. No unreferencing is necessary.
  */
 GstPadTemplate *
@@ -1505,10 +1505,10 @@
  * gst_element_link_pads_full:
  * @src: a #GstElement containing the source pad.
  * @srcpadname: (allow-none): the name of the #GstPad in source element
- *     or NULL for any pad.
+ *     or %NULL for any pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
  * @destpadname: (allow-none): the name of the #GstPad in destination element,
- * or NULL for any pad.
+ * or %NULL for any pad.
  * @flags: the #GstPadLinkCheck to be performed when linking pads.
  *
  * Links the two named pads of the source and destination elements.
@@ -1522,7 +1522,7 @@
  *
  * This is a convenience function for gst_pad_link_full().
  *
- * Returns: TRUE if the pads could be linked, FALSE otherwise.
+ * Returns: %TRUE if the pads could be linked, %FALSE otherwise.
  */
 gboolean
 gst_element_link_pads_full (GstElement * src, const gchar * srcpadname,
@@ -1784,17 +1784,17 @@
  * gst_element_link_pads:
  * @src: a #GstElement containing the source pad.
  * @srcpadname: (allow-none): the name of the #GstPad in source element
- *     or NULL for any pad.
+ *     or %NULL for any pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
  * @destpadname: (allow-none): the name of the #GstPad in destination element,
- * or NULL for any pad.
+ * or %NULL for any pad.
  *
  * Links the two named pads of the source and destination elements.
  * Side effect is that if one of the pads has no parent, it becomes a
  * child of the parent of the other element.  If they have different
  * parents, the link fails.
  *
- * Returns: TRUE if the pads could be linked, FALSE otherwise.
+ * Returns: %TRUE if the pads could be linked, %FALSE otherwise.
  */
 gboolean
 gst_element_link_pads (GstElement * src, const gchar * srcpadname,
@@ -1808,19 +1808,19 @@
  * gst_element_link_pads_filtered:
  * @src: a #GstElement containing the source pad.
  * @srcpadname: (allow-none): the name of the #GstPad in source element
- *     or NULL for any pad.
+ *     or %NULL for any pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
  * @destpadname: (allow-none): the name of the #GstPad in destination element
- *     or NULL for any pad.
+ *     or %NULL for any pad.
  * @filter: (transfer none) (allow-none): the #GstCaps to filter the link,
- *     or #NULL for no filter.
+ *     or %NULL for no filter.
  *
  * Links the two named pads of the source and destination elements. Side effect
  * is that if one of the pads has no parent, it becomes a child of the parent of
  * the other element. If they have different parents, the link fails. If @caps
- * is not #NULL, makes sure that the caps of the link is a subset of @caps.
+ * is not %NULL, makes sure that the caps of the link is a subset of @caps.
  *
- * Returns: TRUE if the pads could be linked, FALSE otherwise.
+ * Returns: %TRUE if the pads could be linked, %FALSE otherwise.
  */
 gboolean
 gst_element_link_pads_filtered (GstElement * src, const gchar * srcpadname,
@@ -1906,7 +1906,7 @@
  * Make sure you have added your elements to a bin or pipeline with
  * gst_bin_add() before trying to link them.
  *
- * Returns: TRUE if the elements could be linked, FALSE otherwise.
+ * Returns: %TRUE if the elements could be linked, %FALSE otherwise.
  */
 gboolean
 gst_element_link (GstElement * src, GstElement * dest)
@@ -1918,13 +1918,13 @@
  * gst_element_link_many:
  * @element_1: (transfer none): the first #GstElement in the link chain.
  * @element_2: (transfer none): the second #GstElement in the link chain.
- * @...: the NULL-terminated list of elements to link in order.
+ * @...: the %NULL-terminated list of elements to link in order.
  *
  * Chain together a series of elements. Uses gst_element_link().
  * Make sure you have added your elements to a bin or pipeline with
  * gst_bin_add() before trying to link them.
  *
- * Returns: TRUE on success, FALSE otherwise.
+ * Returns: %TRUE on success, %FALSE otherwise.
  */
 gboolean
 gst_element_link_many (GstElement * element_1, GstElement * element_2, ...)
@@ -1957,7 +1957,7 @@
  * @src: a #GstElement containing the source pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
  * @filter: (transfer none) (allow-none): the #GstCaps to filter the link,
- *     or #NULL for no filter.
+ *     or %NULL for no filter.
  *
  * Links @src to @dest using the given caps as filtercaps.
  * The link must be from source to
@@ -1968,7 +1968,7 @@
  * Make sure you have added your elements to a bin or pipeline with
  * gst_bin_add() before trying to link them.
  *
- * Returns: TRUE if the pads could be linked, FALSE otherwise.
+ * Returns: %TRUE if the pads could be linked, %FALSE otherwise.
  */
 gboolean
 gst_element_link_filtered (GstElement * src, GstElement * dest,
@@ -2038,7 +2038,7 @@
  * gst_element_unlink_many:
  * @element_1: (transfer none): the first #GstElement in the link chain.
  * @element_2: (transfer none): the second #GstElement in the link chain.
- * @...: the NULL-terminated list of elements to unlink in order.
+ * @...: the %NULL-terminated list of elements to unlink in order.
  *
  * Unlinks a series of elements. Uses gst_element_unlink().
  */
@@ -2134,7 +2134,7 @@
  * @element: a #GstElement to invoke the position query on.
  * @format: the #GstFormat requested
  * @cur: (out) (allow-none): a location in which to store the current
- *     position, or NULL.
+ *     position, or %NULL.
  *
  * Queries an element (usually top-level pipeline or playbin element) for the
  * stream position in nanoseconds. This will be a value between 0 and the
@@ -2146,7 +2146,7 @@
  * If one repeatedly calls this function one can also create a query and reuse
  * it in gst_element_query().
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_element_query_position (GstElement * element, GstFormat format,
@@ -2173,7 +2173,7 @@
  * gst_element_query_duration:
  * @element: a #GstElement to invoke the duration query on.
  * @format: the #GstFormat requested
- * @duration: (out) (allow-none): A location in which to store the total duration, or NULL.
+ * @duration: (out) (allow-none): A location in which to store the total duration, or %NULL.
  *
  * Queries an element (usually top-level pipeline or playbin element) for the
  * total stream duration in nanoseconds. This query will only work once the
@@ -2184,7 +2184,7 @@
  * message on the pipeline bus, in which case you should re-query the duration
  * using this function.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_element_query_duration (GstElement * element, GstFormat format,
@@ -2217,7 +2217,7 @@
  *
  * Queries an element to convert @src_val in @src_format to @dest_format.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_element_query_convert (GstElement * element, GstFormat src_format,
@@ -2309,7 +2309,7 @@
  * @pad: a pad
  *
  * Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or
- * its parent is not an element, return NULL.
+ * its parent is not an element, return %NULL.
  *
  * Returns: (transfer full): the parent of the pad. The caller has a
  * reference on the parent, so unref when you're finished with it.
@@ -2336,7 +2336,7 @@
  * gst_object_default_error:
  * @source: the #GstObject that initiated the error.
  * @error: (in): the GError.
- * @debug: (in) (allow-none): an additional debug information string, or NULL
+ * @debug: (in) (allow-none): an additional debug information string, or %NULL
  *
  * A default error function that uses g_printerr() to display the error message
  * and the optional debug sting..
@@ -2362,7 +2362,7 @@
  * @element_1: (transfer full): the #GstElement element to add to the bin
  * @...: (transfer full): additional elements to add to the bin
  *
- * Adds a NULL-terminated list of elements to a bin.  This function is
+ * Adds a %NULL-terminated list of elements to a bin.  This function is
  * equivalent to calling gst_bin_add() for each member of the list. The return
  * value of each gst_bin_add() is ignored.
  */
@@ -2389,7 +2389,7 @@
  * gst_bin_remove_many:
  * @bin: a #GstBin
  * @element_1: (transfer none): the first #GstElement to remove from the bin
- * @...: (transfer none): NULL-terminated list of elements to remove from the bin
+ * @...: (transfer none): %NULL-terminated list of elements to remove from the bin
  *
  * Remove a list of elements from a bin. This function is equivalent
  * to calling gst_bin_remove() with each member of the list.
@@ -2443,7 +2443,7 @@
  * that can handle any stream format, but requires caps that are acceptable for
  * all opposite pads.
  *
- * Returns: TRUE if @query could be executed
+ * Returns: %TRUE if @query could be executed
  */
 gboolean
 gst_pad_proxy_query_accept_caps (GstPad * pad, GstQuery * query)
@@ -2511,7 +2511,7 @@
  * that can handle any stream format, but requires all its pads to have
  * the same caps.  Two such elements are tee and adder.
  *
- * Returns: TRUE if @query could be executed
+ * Returns: %TRUE if @query could be executed
  */
 gboolean
 gst_pad_proxy_query_caps (GstPad * pad, GstQuery * query)
@@ -2550,11 +2550,11 @@
  * gst_pad_query_position:
  * @pad: a #GstPad to invoke the position query on.
  * @format: the #GstFormat requested
- * @cur: (out) (allow-none): A location in which to store the current position, or NULL.
+ * @cur: (out) (allow-none): A location in which to store the current position, or %NULL.
  *
  * Queries a pad for the stream position.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_query_position (GstPad * pad, GstFormat format, gint64 * cur)
@@ -2579,11 +2579,11 @@
  *       Must be a sink pad.
  * @format: the #GstFormat requested
  * @cur: (out) (allow-none): a location in which to store the current
- *     position, or NULL.
+ *     position, or %NULL.
  *
  * Queries the peer of a given sink pad for the stream position.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_peer_query_position (GstPad * pad, GstFormat format, gint64 * cur)
@@ -2607,11 +2607,11 @@
  * @pad: a #GstPad to invoke the duration query on.
  * @format: the #GstFormat requested
  * @duration: (out) (allow-none): a location in which to store the total
- *     duration, or NULL.
+ *     duration, or %NULL.
  *
  * Queries a pad for the total stream duration.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_query_duration (GstPad * pad, GstFormat format, gint64 * duration)
@@ -2636,11 +2636,11 @@
  *       Must be a sink pad.
  * @format: the #GstFormat requested
  * @duration: (out) (allow-none): a location in which to store the total
- *     duration, or NULL.
+ *     duration, or %NULL.
  *
  * Queries the peer pad of a given sink pad for the total stream duration.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_peer_query_duration (GstPad * pad, GstFormat format, gint64 * duration)
@@ -2670,7 +2670,7 @@
  *
  * Queries a pad to convert @src_val in @src_format to @dest_format.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_query_convert (GstPad * pad, GstFormat src_format, gint64 src_val,
@@ -2708,7 +2708,7 @@
  * Queries the peer pad of a given sink pad to convert @src_val in @src_format
  * to @dest_format.
  *
- * Returns: TRUE if the query could be performed.
+ * Returns: %TRUE if the query could be performed.
  */
 gboolean
 gst_pad_peer_query_convert (GstPad * pad, GstFormat src_format, gint64 src_val,
@@ -2733,14 +2733,14 @@
 /**
  * gst_pad_query_caps:
  * @pad: a  #GstPad to get the capabilities of.
- * @filter: (allow-none): suggested #GstCaps, or NULL
+ * @filter: (allow-none): suggested #GstCaps, or %NULL
  *
  * Gets the capabilities this pad can produce or consume.
  * Note that this method doesn't necessarily return the caps set by sending a
  * gst_event_new_caps() - use gst_pad_get_current_caps() for that instead.
  * gst_pad_query_caps returns all possible caps a pad can operate with, using
  * the pad's CAPS query function, If the query fails, this function will return
- * @filter, if not #NULL, otherwise ANY.
+ * @filter, if not %NULL, otherwise ANY.
  *
  * When called on sinkpads @filter contains the caps that
  * upstream could produce in the order preferred by upstream. When
@@ -2784,7 +2784,7 @@
 /**
  * gst_pad_peer_query_caps:
  * @pad: a  #GstPad to get the capabilities of.
- * @filter: (allow-none): a #GstCaps filter, or NULL.
+ * @filter: (allow-none): a #GstCaps filter, or %NULL.
  *
  * Gets the capabilities of the peer connected to this pad. Similar to
  * gst_pad_query_caps().
@@ -2834,7 +2834,7 @@
  *
  * Check if the given pad accepts the caps.
  *
- * Returns: TRUE if the pad can accept the caps.
+ * Returns: %TRUE if the pad can accept the caps.
  */
 gboolean
 gst_pad_query_accept_caps (GstPad * pad, GstCaps * caps)
@@ -2864,9 +2864,9 @@
  * @caps: a #GstCaps to check on the pad
  *
  * Check if the peer of @pad accepts @caps. If @pad has no peer, this function
- * returns TRUE.
+ * returns %TRUE.
  *
- * Returns: TRUE if the peer of @pad can accept the caps or @pad has no peer.
+ * Returns: %TRUE if the peer of @pad can accept the caps or @pad has no peer.
  */
 gboolean
 gst_pad_peer_query_accept_caps (GstPad * pad, GstCaps * caps)
@@ -2953,11 +2953,11 @@
  *
  * Recursively looks for elements with an unlinked pad of the given
  * direction within the specified bin and returns an unlinked pad
- * if one is found, or NULL otherwise. If a pad is found, the caller
+ * if one is found, or %NULL otherwise. If a pad is found, the caller
  * owns a reference to it and should use gst_object_unref() on the
  * pad when it is not needed any longer.
  *
- * Returns: (transfer full): unlinked pad of the given direction, or NULL.
+ * Returns: (transfer full): unlinked pad of the given direction, %NULL.
  */
 GstPad *
 gst_bin_find_unlinked_pad (GstBin * bin, GstPadDirection direction)
@@ -3005,7 +3005,7 @@
  * @bin_description: command line describing the bin
  * @ghost_unlinked_pads: whether to automatically create ghost pads
  *     for unlinked source or sink pads within the bin
- * @err: where to store the error message in case of an error, or NULL
+ * @err: where to store the error message in case of an error, or %NULL
  *
  * This is a convenience wrapper around gst_parse_launch() to create a
  * #GstBin from a gst-launch-style pipeline description. See
@@ -3036,7 +3036,7 @@
  * @context: (transfer none) (allow-none): a parse context allocated with
  *     gst_parse_context_new(), or %NULL
  * @flags: parsing options, or #GST_PARSE_FLAG_NONE
- * @err: where to store the error message in case of an error, or NULL
+ * @err: where to store the error message in case of an error, or %NULL
  *
  * This is a convenience wrapper around gst_parse_launch() to create a
  * #GstBin from a gst-launch-style pipeline description. See
@@ -3048,9 +3048,10 @@
  * and want them all ghosted, you will have to create the ghost pads
  * yourself).
  *
- * Returns: (transfer full) (type Gst.Element): a newly-created element, which
- *   is guaranteed to be a bin unless GST_FLAG_NO_SINGLE_ELEMENT_BINS was
- *   passed, or %NULL if an error occurred.
+ * Returns: (transfer floating) (type Gst.Element): a newly-created
+ *   element, which is guaranteed to be a bin unless
+ *   GST_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or %NULL if an error
+ *   occurred.
  */
 GstElement *
 gst_parse_bin_from_description_full (const gchar * bin_description,
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index 86f6154..f088cca 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -63,8 +63,8 @@
  *
  * Used by gst_value_intersect() to perform intersection for a specific #GValue
  * type. If the intersection is non-empty, the result is
- * placed in @dest and TRUE is returned.  If the intersection is
- * empty, @dest is unmodified and FALSE is returned.
+ * placed in @dest and %TRUE is returned.  If the intersection is
+ * empty, @dest is unmodified and %FALSE is returned.
  * Register a new implementation with gst_value_register_intersect_func().
  *
  * Returns: %TRUE if the values can intersect
@@ -121,8 +121,9 @@
 #define FUNDAMENTAL_TYPE_ID(type) \
     ((type) >> G_TYPE_FUNDAMENTAL_SHIFT)
 
-#define VALUE_LIST_SIZE(v) (((GArray *) (v)->data[0].v_pointer)->len)
-#define VALUE_LIST_GET_VALUE(v, index) ((const GValue *) &g_array_index ((GArray *) (v)->data[0].v_pointer, GValue, (index)))
+#define VALUE_LIST_ARRAY(v) ((GArray *) (v)->data[0].v_pointer)
+#define VALUE_LIST_SIZE(v) (VALUE_LIST_ARRAY(v)->len)
+#define VALUE_LIST_GET_VALUE(v, index) ((const GValue *) &g_array_index (VALUE_LIST_ARRAY(v), GValue, (index)))
 
 static GArray *gst_value_table;
 static GHashTable *gst_value_hash;
@@ -531,6 +532,56 @@
   }
 }
 
+/* same as gst_value_list_concat() but takes ownership of GValues */
+static void
+gst_value_list_concat_and_take_values (GValue * dest, GValue * val1,
+    GValue * val2)
+{
+  guint i, val1_length, val2_length;
+  gboolean val1_is_list;
+  gboolean val2_is_list;
+  GArray *array;
+
+  g_assert (dest != NULL);
+  g_assert (G_VALUE_TYPE (dest) == 0);
+  g_assert (G_IS_VALUE (val1));
+  g_assert (G_IS_VALUE (val2));
+  g_assert (gst_value_list_or_array_are_compatible (val1, val2));
+
+  val1_is_list = GST_VALUE_HOLDS_LIST (val1);
+  val1_length = (val1_is_list ? VALUE_LIST_SIZE (val1) : 1);
+
+  val2_is_list = GST_VALUE_HOLDS_LIST (val2);
+  val2_length = (val2_is_list ? VALUE_LIST_SIZE (val2) : 1);
+
+  g_value_init (dest, GST_TYPE_LIST);
+  array = (GArray *) dest->data[0].v_pointer;
+  g_array_set_size (array, val1_length + val2_length);
+
+  if (val1_is_list) {
+    for (i = 0; i < val1_length; i++) {
+      g_array_index (array, GValue, i) = *VALUE_LIST_GET_VALUE (val1, i);
+    }
+    g_array_set_size (VALUE_LIST_ARRAY (val1), 0);
+    g_value_unset (val1);
+  } else {
+    g_array_index (array, GValue, 0) = *val1;
+    G_VALUE_TYPE (val1) = G_TYPE_INVALID;
+  }
+
+  if (val2_is_list) {
+    for (i = 0; i < val2_length; i++) {
+      const GValue *v2 = VALUE_LIST_GET_VALUE (val2, i);
+      g_array_index (array, GValue, i + val1_length) = *v2;
+    }
+    g_array_set_size (VALUE_LIST_ARRAY (val2), 0);
+    g_value_unset (val2);
+  } else {
+    g_array_index (array, GValue, val1_length) = *val2;
+    G_VALUE_TYPE (val2) = G_TYPE_INVALID;
+  }
+}
+
 /**
  * gst_value_list_merge:
  * @dest: (out caller-allocates): an uninitialized #GValue to take the result
@@ -897,52 +948,36 @@
  * Values in the range are defined as any value greater or equal
  * to min*step, AND lesser or equal to max*step.
  * For step == 1, this falls back to the traditional range semantics.
+ *
+ * data[0] = (min << 32) | (max)
+ * data[1] = step
+ *
  *************/
 
-#define INT_RANGE_MIN(v) (((gint *)((v)->data[0].v_pointer))[0])
-#define INT_RANGE_MAX(v) (((gint *)((v)->data[0].v_pointer))[1])
-#define INT_RANGE_STEP(v) (((gint *)((v)->data[0].v_pointer))[2])
+#define INT_RANGE_MIN(v) ((gint) (((v)->data[0].v_uint64) >> 32))
+#define INT_RANGE_MAX(v) ((gint) (((v)->data[0].v_uint64) & 0xffffffff))
+#define INT_RANGE_STEP(v) ((v)->data[1].v_int)
 
 static void
 gst_value_init_int_range (GValue * value)
 {
-  gint *vals = g_slice_alloc0 (3 * sizeof (gint));
-  value->data[0].v_pointer = vals;
-  INT_RANGE_MIN (value) = 0;
-  INT_RANGE_MAX (value) = 0;
-  INT_RANGE_STEP (value) = 1;
-}
+  G_STATIC_ASSERT (sizeof (gint) <= 2 * sizeof (guint64));
 
-static void
-gst_value_free_int_range (GValue * value)
-{
-  g_return_if_fail (GST_VALUE_HOLDS_INT_RANGE (value));
-  g_slice_free1 (3 * sizeof (gint), value->data[0].v_pointer);
-  value->data[0].v_pointer = NULL;
+  value->data[0].v_uint64 = 0;
+  value->data[1].v_int = 1;
 }
 
 static void
 gst_value_copy_int_range (const GValue * src_value, GValue * dest_value)
 {
-  gint *vals = (gint *) dest_value->data[0].v_pointer;
-  gint *src_vals = (gint *) src_value->data[0].v_pointer;
-
-  if (vals == NULL) {
-    gst_value_init_int_range (dest_value);
-  }
-  if (src_vals != NULL) {
-    INT_RANGE_MIN (dest_value) = INT_RANGE_MIN (src_value);
-    INT_RANGE_MAX (dest_value) = INT_RANGE_MAX (src_value);
-    INT_RANGE_STEP (dest_value) = INT_RANGE_STEP (src_value);
-  }
+  dest_value->data[0].v_uint64 = src_value->data[0].v_uint64;
+  dest_value->data[1].v_int = src_value->data[1].v_int;
 }
 
 static gchar *
 gst_value_collect_int_range (GValue * value, guint n_collect_values,
     GTypeCValue * collect_values, guint collect_flags)
 {
-  gint *vals = value->data[0].v_pointer;
-
   if (n_collect_values != 2)
     return g_strdup_printf ("not enough value locations for `%s' passed",
         G_VALUE_TYPE_NAME (value));
@@ -950,10 +985,6 @@
     return g_strdup_printf ("range start is not smaller than end for `%s'",
         G_VALUE_TYPE_NAME (value));
 
-  if (vals == NULL) {
-    gst_value_init_int_range (value);
-  }
-
   gst_value_set_int_range_step (value, collect_values[0].v_int,
       collect_values[1].v_int, 1);
 
@@ -966,8 +997,6 @@
 {
   guint32 *int_range_start = collect_values[0].v_pointer;
   guint32 *int_range_end = collect_values[1].v_pointer;
-  guint32 *int_range_step = collect_values[2].v_pointer;
-  gint *vals = (gint *) value->data[0].v_pointer;
 
   if (!int_range_start)
     return g_strdup_printf ("start value location for `%s' passed as NULL",
@@ -975,18 +1004,9 @@
   if (!int_range_end)
     return g_strdup_printf ("end value location for `%s' passed as NULL",
         G_VALUE_TYPE_NAME (value));
-  if (!int_range_step)
-    return g_strdup_printf ("step value location for `%s' passed as NULL",
-        G_VALUE_TYPE_NAME (value));
-
-  if (G_UNLIKELY (vals == NULL)) {
-    return g_strdup_printf ("Uninitialised `%s' passed",
-        G_VALUE_TYPE_NAME (value));
-  }
 
   *int_range_start = INT_RANGE_MIN (value);
   *int_range_end = INT_RANGE_MAX (value);
-  *int_range_step = INT_RANGE_STEP (value);
 
   return NULL;
 }
@@ -1003,15 +1023,18 @@
 void
 gst_value_set_int_range_step (GValue * value, gint start, gint end, gint step)
 {
+  guint64 sstart, sstop;
+
   g_return_if_fail (GST_VALUE_HOLDS_INT_RANGE (value));
   g_return_if_fail (start < end);
   g_return_if_fail (step > 0);
   g_return_if_fail (start % step == 0);
   g_return_if_fail (end % step == 0);
 
-  INT_RANGE_MIN (value) = start / step;
-  INT_RANGE_MAX (value) = end / step;
-  INT_RANGE_STEP (value) = step;
+  sstart = (guint) (start / step);
+  sstop = (guint) (end / step);
+  value->data[0].v_uint64 = (sstart << 32) | sstop;
+  value->data[1].v_int = step;
 }
 
 /**
@@ -1722,6 +1745,15 @@
   /* g_value_unset (&end);   */
 }
 
+/* FIXME 2.0: Don't leak the internal representation of fraction
+ * ranges but instead return the numerator and denominator
+ * separately.
+ * This would allow to store fraction ranges as
+ *  data[0] = (min_n << 32) | (min_d)
+ *  data[1] = (max_n << 32) | (max_d)
+ * without requiring an additional allocation for each value.
+ */
+
 /**
  * gst_value_get_fraction_range_min:
  * @value: a GValue initialized to GST_TYPE_FRACTION_RANGE
@@ -2893,7 +2925,7 @@
  * 0->3, y is copied unescaped.
  *
  * If \xyy is found where x is an octal number but y is not, an
- * error is encountered and NULL is returned.
+ * error is encountered and %NULL is returned.
  *
  * the input string must be \0 terminated.
  */
@@ -3359,15 +3391,23 @@
   /* check if it extends the range */
   if (v == (INT_RANGE_MIN (src2) - 1) * INT_RANGE_STEP (src2)) {
     if (dest) {
+      guint64 new_min =
+          (guint) ((INT_RANGE_MIN (src2) - 1) * INT_RANGE_STEP (src2));
+      guint64 new_max = (guint) (INT_RANGE_MAX (src2) * INT_RANGE_STEP (src2));
+
       gst_value_init_and_copy (dest, src2);
-      --INT_RANGE_MIN (src2);
+      dest->data[0].v_uint64 = (new_min << 32) | (new_max);
     }
     return TRUE;
   }
   if (v == (INT_RANGE_MAX (src2) + 1) * INT_RANGE_STEP (src2)) {
     if (dest) {
+      guint64 new_min = (guint) (INT_RANGE_MIN (src2) * INT_RANGE_STEP (src2));
+      guint64 new_max =
+          (guint) ((INT_RANGE_MAX (src2) + 1) * INT_RANGE_STEP (src2));
+
       gst_value_init_and_copy (dest, src2);
-      ++INT_RANGE_MAX (src2);
+      dest->data[0].v_uint64 = (new_min << 32) | (new_max);
     }
     return TRUE;
   }
@@ -3433,15 +3473,26 @@
       if (scalar ==
           (INT_RANGE_MIN (range_value) - 1) * INT_RANGE_STEP (range_value)) {
         if (dest) {
+          guint64 new_min = (guint)
+              ((INT_RANGE_MIN (range_value) -
+                  1) * INT_RANGE_STEP (range_value));
+          guint64 new_max = (guint)
+              (INT_RANGE_MAX (range_value) * INT_RANGE_STEP (range_value));
+
           gst_value_init_and_copy (dest, range_value);
-          --INT_RANGE_MIN (range_value);
+          dest->data[0].v_uint64 = (new_min << 32) | (new_max);
         }
         return TRUE;
       } else if (scalar ==
           (INT_RANGE_MAX (range_value) + 1) * INT_RANGE_STEP (range_value)) {
         if (dest) {
+          guint64 new_min = (guint)
+              (INT_RANGE_MIN (range_value) * INT_RANGE_STEP (range_value));
+          guint64 new_max = (guint)
+              ((INT_RANGE_MAX (range_value) +
+                  1) * INT_RANGE_STEP (range_value));
           gst_value_init_and_copy (dest, range_value);
-          ++INT_RANGE_MIN (range_value);
+          dest->data[0].v_uint64 = (new_min << 32) | (new_max);
         }
         return TRUE;
       }
@@ -3853,9 +3904,7 @@
   }
 
   if (min1 <= max1 && min2 <= max2) {
-    gst_value_list_concat (dest, pv1, pv2);
-    g_value_unset (pv1);
-    g_value_unset (pv2);
+    gst_value_list_concat_and_take_values (dest, pv1, pv2);
   }
   return TRUE;
 }
@@ -4002,9 +4051,7 @@
   }
 
   if (min1 <= max1 && min2 <= max2) {
-    gst_value_list_concat (dest, pv1, pv2);
-    g_value_unset (pv1);
-    g_value_unset (pv2);
+    gst_value_list_concat_and_take_values (dest, pv1, pv2);
   }
   return TRUE;
 }
@@ -4150,9 +4197,7 @@
   }
 
   if (min1 < max1 && min2 < max2) {
-    gst_value_list_concat (dest, pv1, pv2);
-    g_value_unset (pv1);
-    g_value_unset (pv2);
+    gst_value_list_concat_and_take_values (dest, pv1, pv2);
   }
   return TRUE;
 }
@@ -4164,9 +4209,6 @@
   guint i, size;
   GValue subtraction = { 0, };
   gboolean ret = FALSE;
-  GType ltype;
-
-  ltype = gst_value_list_get_type ();
 
   size = VALUE_LIST_SIZE (minuend);
   for (i = 0; i < size; i++) {
@@ -4185,16 +4227,14 @@
       if (!ret) {
         gst_value_move (dest, &subtraction);
         ret = TRUE;
-      } else if (G_VALUE_HOLDS (dest, ltype)
-          && !G_VALUE_HOLDS (&subtraction, ltype)) {
+      } else if (G_VALUE_TYPE (dest) == GST_TYPE_LIST
+          && G_VALUE_TYPE (&subtraction) != GST_TYPE_LIST) {
         _gst_value_list_append_and_take_value (dest, &subtraction);
       } else {
         GValue temp;
 
         gst_value_move (&temp, dest);
-        gst_value_list_concat (dest, &temp, &subtraction);
-        g_value_unset (&temp);
-        g_value_unset (&subtraction);
+        gst_value_list_concat_and_take_values (dest, &temp, &subtraction);
       }
     }
   }
@@ -4328,9 +4368,7 @@
   }
 
   if (cmp1 == GST_VALUE_LESS_THAN && cmp2 == GST_VALUE_LESS_THAN) {
-    gst_value_list_concat (dest, pv1, pv2);
-    g_value_unset (pv1);
-    g_value_unset (pv2);
+    gst_value_list_concat_and_take_values (dest, pv1, pv2);
   }
   return TRUE;
 }
@@ -4380,6 +4418,15 @@
   return NULL;
 }
 
+static inline gboolean
+gst_value_can_compare_unchecked (const GValue * value1, const GValue * value2)
+{
+  if (G_VALUE_TYPE (value1) != G_VALUE_TYPE (value2))
+    return FALSE;
+
+  return gst_value_get_compare_func (value1) != NULL;
+}
+
 /**
  * gst_value_can_compare:
  * @value1: a value to compare
@@ -4387,7 +4434,7 @@
  *
  * Determines if @value1 and @value2 can be compared.
  *
- * Returns: TRUE if the values can be compared
+ * Returns: %TRUE if the values can be compared
  */
 gboolean
 gst_value_can_compare (const GValue * value1, const GValue * value2)
@@ -4395,10 +4442,7 @@
   g_return_val_if_fail (G_IS_VALUE (value1), FALSE);
   g_return_val_if_fail (G_IS_VALUE (value2), FALSE);
 
-  if (G_VALUE_TYPE (value1) != G_VALUE_TYPE (value2))
-    return FALSE;
-
-  return gst_value_get_compare_func (value1) != NULL;
+  return gst_value_can_compare_unchecked (value1, value2);
 }
 
 static gboolean
@@ -4407,9 +4451,9 @@
   const GValue *first;
   guint list_size, n;
 
-  g_return_val_if_fail (G_IS_VALUE (list), FALSE);
-  g_return_val_if_fail (G_IS_VALUE (value), FALSE);
-  g_return_val_if_fail (GST_VALUE_HOLDS_LIST (list), FALSE);
+  g_assert (G_IS_VALUE (list));
+  g_assert (G_IS_VALUE (value));
+  g_assert (GST_VALUE_HOLDS_LIST (list));
 
   /* TODO: compare against an empty list ? No type though... */
   list_size = VALUE_LIST_SIZE (list);
@@ -4460,6 +4504,27 @@
   return FALSE;
 }
 
+/* "Pure" variant of gst_value_compare which is guaranteed to
+ * not have list arguments and therefore does basic comparisions
+ */
+static inline gint
+_gst_value_compare_nolist (const GValue * value1, const GValue * value2)
+{
+  GstValueCompareFunc compare;
+
+  if (G_VALUE_TYPE (value1) != G_VALUE_TYPE (value2))
+    return GST_VALUE_UNORDERED;
+
+  compare = gst_value_get_compare_func (value1);
+  if (compare) {
+    return compare (value1, value2);
+  }
+
+  g_critical ("unable to compare values of type %s\n",
+      g_type_name (G_VALUE_TYPE (value1)));
+  return GST_VALUE_UNORDERED;
+}
+
 /**
  * gst_value_compare:
  * @value1: a value to compare
@@ -4476,16 +4541,18 @@
 gint
 gst_value_compare (const GValue * value1, const GValue * value2)
 {
-  GstValueCompareFunc compare;
-  GType ltype;
+  gboolean value1_is_list;
+  gboolean value2_is_list;
 
   g_return_val_if_fail (G_IS_VALUE (value1), GST_VALUE_LESS_THAN);
   g_return_val_if_fail (G_IS_VALUE (value2), GST_VALUE_GREATER_THAN);
 
+  value1_is_list = G_VALUE_TYPE (value1) == GST_TYPE_LIST;
+  value2_is_list = G_VALUE_TYPE (value2) == GST_TYPE_LIST;
+
   /* Special cases: lists and scalar values ("{ 1 }" and "1" are equal),
      as well as lists and ranges ("{ 1, 2 }" and "[ 1, 2 ]" are equal) */
-  ltype = gst_value_list_get_type ();
-  if (G_VALUE_HOLDS (value1, ltype) && !G_VALUE_HOLDS (value2, ltype)) {
+  if (value1_is_list && !value2_is_list) {
     gint i, n, ret;
 
     if (gst_value_list_equals_range (value1, value2)) {
@@ -4508,7 +4575,7 @@
     }
 
     return GST_VALUE_EQUAL;
-  } else if (G_VALUE_HOLDS (value2, ltype) && !G_VALUE_HOLDS (value1, ltype)) {
+  } else if (value2_is_list && !value1_is_list) {
     gint i, n, ret;
 
     if (gst_value_list_equals_range (value2, value1)) {
@@ -4533,17 +4600,8 @@
     return GST_VALUE_EQUAL;
   }
 
-  if (G_VALUE_TYPE (value1) != G_VALUE_TYPE (value2))
-    return GST_VALUE_UNORDERED;
-
-  compare = gst_value_get_compare_func (value1);
-  if (compare) {
-    return compare (value1, value2);
-  }
-
-  g_critical ("unable to compare values of type %s\n",
-      g_type_name (G_VALUE_TYPE (value1)));
-  return GST_VALUE_UNORDERED;
+  /* And now handle the generic case */
+  return _gst_value_compare_nolist (value1, value2);
 }
 
 /*
@@ -4579,13 +4637,13 @@
  *
  * Determines if @value1 and @value2 can be non-trivially unioned.
  * Any two values can be trivially unioned by adding both of them
- * to a GstValueList.  However, certain types have the possibility
+ * to a #GstValueList.  However, certain types have the possibility
  * to be unioned in a simpler way.  For example, an integer range
  * and an integer can be unioned if the integer is a subset of the
  * integer range.  If there is the possibility that two values can
- * be unioned, this function returns TRUE.
+ * be unioned, this function returns %TRUE.
  *
- * Returns: TRUE if there is a function allowing the two values to
+ * Returns: %TRUE if there is a function allowing the two values to
  * be unioned.
  */
 gboolean
@@ -4620,7 +4678,7 @@
  *
  * Creates a GValue corresponding to the union of @value1 and @value2.
  *
- * Returns: TRUE if the union succeeded.
+ * Returns: %TRUE if the union succeeded.
  */
 gboolean
 gst_value_union (GValue * dest, const GValue * value1, const GValue * value2)
@@ -4688,32 +4746,30 @@
  * Two values will produce a valid intersection if they have the same
  * type.
  *
- * Returns: TRUE if the values can intersect
+ * Returns: %TRUE if the values can intersect
  */
 gboolean
 gst_value_can_intersect (const GValue * value1, const GValue * value2)
 {
   GstValueIntersectInfo *intersect_info;
   guint i, len;
-  GType ltype, type1, type2;
+  GType type1, type2;
 
   g_return_val_if_fail (G_IS_VALUE (value1), FALSE);
   g_return_val_if_fail (G_IS_VALUE (value2), FALSE);
 
-  ltype = gst_value_list_get_type ();
-
-  /* special cases */
-  if (G_VALUE_HOLDS (value1, ltype) || G_VALUE_HOLDS (value2, ltype))
-    return TRUE;
-
   type1 = G_VALUE_TYPE (value1);
   type2 = G_VALUE_TYPE (value2);
 
   /* practically all GstValue types have a compare function (_can_compare=TRUE)
-   * GstStructure and GstCaps have npot, but are intersectable */
+   * GstStructure and GstCaps have not, but are intersectable */
   if (type1 == type2)
     return TRUE;
 
+  /* special cases */
+  if (type1 == GST_TYPE_LIST || type2 == GST_TYPE_LIST)
+    return TRUE;
+
   /* check registered intersect functions */
   len = gst_value_intersect_funcs->len;
   for (i = 0; i < len; i++) {
@@ -4724,22 +4780,22 @@
       return TRUE;
   }
 
-  return gst_value_can_compare (value1, value2);
+  return gst_value_can_compare_unchecked (value1, value2);
 }
 
 /**
  * gst_value_intersect:
  * @dest: (out caller-allocates) (transfer full): a uninitialized #GValue that will hold the calculated
- * intersection value. May be NULL if the resulting set if not needed.
+ * intersection value. May be %NULL if the resulting set if not needed.
  * @value1: a value to intersect
  * @value2: another value to intersect
  *
  * Calculates the intersection of two values.  If the values have
  * a non-empty intersection, the value representing the intersection
- * is placed in @dest, unless NULL.  If the intersection is non-empty,
+ * is placed in @dest, unless %NULL.  If the intersection is non-empty,
  * @dest is not modified.
  *
- * Returns: TRUE if the intersection is non-empty
+ * Returns: %TRUE if the intersection is non-empty
  */
 gboolean
 gst_value_intersect (GValue * dest, const GValue * value1,
@@ -4747,28 +4803,26 @@
 {
   GstValueIntersectInfo *intersect_info;
   guint i, len;
-  GType ltype, type1, type2;
+  GType type1, type2;
 
   g_return_val_if_fail (G_IS_VALUE (value1), FALSE);
   g_return_val_if_fail (G_IS_VALUE (value2), FALSE);
 
-  ltype = gst_value_list_get_type ();
+  type1 = G_VALUE_TYPE (value1);
+  type2 = G_VALUE_TYPE (value2);
 
   /* special cases first */
-  if (G_VALUE_HOLDS (value1, ltype))
+  if (type1 == GST_TYPE_LIST)
     return gst_value_intersect_list (dest, value1, value2);
-  if (G_VALUE_HOLDS (value2, ltype))
+  if (type2 == GST_TYPE_LIST)
     return gst_value_intersect_list (dest, value2, value1);
 
-  if (gst_value_compare (value1, value2) == GST_VALUE_EQUAL) {
+  if (_gst_value_compare_nolist (value1, value2) == GST_VALUE_EQUAL) {
     if (dest)
       gst_value_init_and_copy (dest, value1);
     return TRUE;
   }
 
-  type1 = G_VALUE_TYPE (value1);
-  type2 = G_VALUE_TYPE (value2);
-
   len = gst_value_intersect_funcs->len;
   for (i = 0; i < len; i++) {
     intersect_info = &g_array_index (gst_value_intersect_funcs,
@@ -4817,7 +4871,7 @@
 /**
  * gst_value_subtract:
  * @dest: (out caller-allocates): the destination value for the result if the
- *     subtraction is not empty. May be NULL, in which case the resulting set
+ *     subtraction is not empty. May be %NULL, in which case the resulting set
  *     will not be computed, which can give a fair speedup.
  * @minuend: the value to subtract from
  * @subtrahend: the value to subtract
@@ -4833,22 +4887,20 @@
 {
   GstValueSubtractInfo *info;
   guint i, len;
-  GType ltype, mtype, stype;
+  GType mtype, stype;
 
   g_return_val_if_fail (G_IS_VALUE (minuend), FALSE);
   g_return_val_if_fail (G_IS_VALUE (subtrahend), FALSE);
 
-  ltype = gst_value_list_get_type ();
-
-  /* special cases first */
-  if (G_VALUE_HOLDS (minuend, ltype))
-    return gst_value_subtract_from_list (dest, minuend, subtrahend);
-  if (G_VALUE_HOLDS (subtrahend, ltype))
-    return gst_value_subtract_list (dest, minuend, subtrahend);
-
   mtype = G_VALUE_TYPE (minuend);
   stype = G_VALUE_TYPE (subtrahend);
 
+  /* special cases first */
+  if (mtype == GST_TYPE_LIST)
+    return gst_value_subtract_from_list (dest, minuend, subtrahend);
+  if (stype == GST_TYPE_LIST)
+    return gst_value_subtract_list (dest, minuend, subtrahend);
+
   len = gst_value_subtract_funcs->len;
   for (i = 0; i < len; i++) {
     info = &g_array_index (gst_value_subtract_funcs, GstValueSubtractInfo, i);
@@ -4857,7 +4909,7 @@
     }
   }
 
-  if (gst_value_compare (minuend, subtrahend) != GST_VALUE_EQUAL) {
+  if (_gst_value_compare_nolist (minuend, subtrahend) != GST_VALUE_EQUAL) {
     if (dest)
       gst_value_init_and_copy (dest, minuend);
     return TRUE;
@@ -4887,27 +4939,25 @@
  *
  * Checks if it's possible to subtract @subtrahend from @minuend.
  *
- * Returns: TRUE if a subtraction is possible
+ * Returns: %TRUE if a subtraction is possible
  */
 gboolean
 gst_value_can_subtract (const GValue * minuend, const GValue * subtrahend)
 {
   GstValueSubtractInfo *info;
   guint i, len;
-  GType ltype, mtype, stype;
+  GType mtype, stype;
 
   g_return_val_if_fail (G_IS_VALUE (minuend), FALSE);
   g_return_val_if_fail (G_IS_VALUE (subtrahend), FALSE);
 
-  ltype = gst_value_list_get_type ();
-
-  /* special cases */
-  if (G_VALUE_HOLDS (minuend, ltype) || G_VALUE_HOLDS (subtrahend, ltype))
-    return TRUE;
-
   mtype = G_VALUE_TYPE (minuend);
   stype = G_VALUE_TYPE (subtrahend);
 
+  /* special cases */
+  if (mtype == GST_TYPE_LIST || stype == GST_TYPE_LIST)
+    return TRUE;
+
   len = gst_value_subtract_funcs->len;
   for (i = 0; i < len; i++) {
     info = &g_array_index (gst_value_subtract_funcs, GstValueSubtractInfo, i);
@@ -4915,7 +4965,7 @@
       return TRUE;
   }
 
-  return gst_value_can_compare (minuend, subtrahend);
+  return gst_value_can_compare_unchecked (minuend, subtrahend);
 }
 
 /* gst_value_register_subtract_func: (skip)
@@ -5009,7 +5059,7 @@
  *
  * Free-function: g_free
  *
- * Returns: (transfer full): the serialization for @value or NULL if none exists
+ * Returns: (transfer full): the serialization for @value or %NULL if none exists
  */
 gchar *
 gst_value_serialize (const GValue * value)
@@ -5058,9 +5108,9 @@
  * @src: string to deserialize
  *
  * Tries to deserialize a string into the type specified by the given GValue.
- * If the operation succeeds, TRUE is returned, FALSE otherwise.
+ * If the operation succeeds, %TRUE is returned, %FALSE otherwise.
  *
- * Returns: TRUE on success
+ * Returns: %TRUE on success
  */
 gboolean
 gst_value_deserialize (GValue * dest, const gchar * src)
@@ -5142,9 +5192,9 @@
  * Fixate @src into a new value @dest.
  * For ranges, the first element is taken. For lists and arrays, the
  * first item is fixated and returned.
- * If @src is already fixed, this function returns FALSE.
+ * If @src is already fixed, this function returns %FALSE.
  *
- * Returns: true if @dest contains a fixated version of @src.
+ * Returns: %TRUE if @dest contains a fixated version of @src.
  */
 gboolean
 gst_value_fixate (GValue * dest, const GValue * src)
@@ -5348,7 +5398,7 @@
  * Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets
  * @product to the product of the two fractions.
  *
- * Returns: FALSE in case of an error (like integer overflow), TRUE otherwise.
+ * Returns: %FALSE in case of an error (like integer overflow), %TRUE otherwise.
  */
 gboolean
 gst_value_fraction_multiply (GValue * product, const GValue * factor1,
@@ -5382,7 +5432,7 @@
  *
  * Subtracts the @subtrahend from the @minuend and sets @dest to the result.
  *
- * Returns: FALSE in case of an error (like integer overflow), TRUE otherwise.
+ * Returns: %FALSE in case of an error (like integer overflow), %TRUE otherwise.
  */
 gboolean
 gst_value_fraction_subtract (GValue * dest,
@@ -5922,17 +5972,20 @@
 };
 
 #define FUNC_VALUE_GET_TYPE(type, name)                         \
+GType _gst_ ## type ## _type = 0;                               \
+                                                                \
 GType gst_ ## type ## _get_type (void)                          \
 {                                                               \
-  static volatile GType gst_ ## type ## _type = 0;                       \
+  static volatile GType gst_ ## type ## _type = 0;              \
                                                                 \
-  if (g_once_init_enter (&gst_ ## type ## _type)) {		\
-    GType _type;					\
+  if (g_once_init_enter (&gst_ ## type ## _type)) {             \
+    GType _type;                                                \
     _info.value_table = & _gst_ ## type ## _value_table;        \
-    _type = g_type_register_fundamental (       \
+    _type = g_type_register_fundamental (                       \
         g_type_fundamental_next (),                             \
         name, &_info, &_finfo, 0);                              \
-    g_once_init_leave(&gst_ ## type ## _type, _type);	\
+    _gst_ ## type ## _type = _type;                              \
+    g_once_init_leave(&gst_ ## type ## _type, _type);           \
   }                                                             \
                                                                 \
   return gst_ ## type ## _type;                                 \
@@ -5940,7 +5993,7 @@
 
 static const GTypeValueTable _gst_int_range_value_table = {
   gst_value_init_int_range,
-  gst_value_free_int_range,
+  NULL,
   gst_value_copy_int_range,
   NULL,
   (char *) "ii",
@@ -6029,9 +6082,6 @@
 
 FUNC_VALUE_GET_TYPE (fraction, "GstFraction");
 
-G_DEFINE_BOXED_TYPE (GstDateTime, gst_date_time,
-    (GBoxedCopyFunc) gst_date_time_ref, (GBoxedFreeFunc) gst_date_time_unref);
-
 static const GTypeValueTable _gst_bitmask_value_table = {
   gst_value_init_bitmask,
   NULL,
diff --git a/gst/gstvalue.h b/gst/gstvalue.h
index bdd0bce..de01abc 100644
--- a/gst/gstvalue.h
+++ b/gst/gstvalue.h
@@ -92,7 +92,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_INT_RANGE value.
  */
-#define GST_VALUE_HOLDS_INT_RANGE(x)    (G_VALUE_HOLDS((x), gst_int_range_get_type ()))
+#define GST_VALUE_HOLDS_INT_RANGE(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_int_range_type)
 
 /**
  * GST_VALUE_HOLDS_INT64_RANGE:
@@ -100,7 +100,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_INT64_RANGE value.
  */
-#define GST_VALUE_HOLDS_INT64_RANGE(x)    (G_VALUE_HOLDS((x), gst_int64_range_get_type ()))
+#define GST_VALUE_HOLDS_INT64_RANGE(x)    ((x) != NULL && G_VALUE_TYPE(x) == _gst_int64_range_type)
 
 /**
  * GST_VALUE_HOLDS_DOUBLE_RANGE:
@@ -108,7 +108,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_DOUBLE_RANGE value.
  */
-#define GST_VALUE_HOLDS_DOUBLE_RANGE(x) (G_VALUE_HOLDS((x), gst_double_range_get_type ()))
+#define GST_VALUE_HOLDS_DOUBLE_RANGE(x)   ((x) != NULL && G_VALUE_TYPE(x) == _gst_double_range_type)
 
 /**
  * GST_VALUE_HOLDS_FRACTION_RANGE:
@@ -116,7 +116,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_FRACTION_RANGE value.
  */
-#define GST_VALUE_HOLDS_FRACTION_RANGE(x)    (G_VALUE_HOLDS((x), gst_fraction_range_get_type ()))
+#define GST_VALUE_HOLDS_FRACTION_RANGE(x) ((x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_range_type)
 
 /**
  * GST_VALUE_HOLDS_LIST:
@@ -124,7 +124,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_LIST value.
  */
-#define GST_VALUE_HOLDS_LIST(x)         (G_VALUE_HOLDS((x), gst_value_list_get_type ()))
+#define GST_VALUE_HOLDS_LIST(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_value_list_type)
 
 /**
  * GST_VALUE_HOLDS_ARRAY:
@@ -132,7 +132,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_ARRAY value.
  */
-#define GST_VALUE_HOLDS_ARRAY(x)        (G_VALUE_HOLDS((x), gst_value_array_get_type ()))
+#define GST_VALUE_HOLDS_ARRAY(x)        ((x) != NULL && G_VALUE_TYPE(x) == _gst_value_array_type)
 
 /**
  * GST_VALUE_HOLDS_CAPS:
@@ -140,7 +140,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_CAPS value.
  */
-#define GST_VALUE_HOLDS_CAPS(x)         (G_VALUE_HOLDS((x), GST_TYPE_CAPS))
+#define GST_VALUE_HOLDS_CAPS(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_caps_type)
 
 /**
  * GST_VALUE_HOLDS_STRUCTURE:
@@ -148,7 +148,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_STRUCTURE value.
  */
-#define GST_VALUE_HOLDS_STRUCTURE(x)            (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
+#define GST_VALUE_HOLDS_STRUCTURE(x)            (G_VALUE_HOLDS((x), _gst_structure_type))
 
 /**
  * GST_VALUE_HOLDS_CAPS_FEATURES:
@@ -156,7 +156,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_CAPS_FEATURES value.
  */
-#define GST_VALUE_HOLDS_CAPS_FEATURES(x)        (G_VALUE_HOLDS((x), GST_TYPE_CAPS_FEATURES))
+#define GST_VALUE_HOLDS_CAPS_FEATURES(x)        (G_VALUE_HOLDS((x), _gst_caps_features_type))
 
 /**
  * GST_VALUE_HOLDS_BUFFER:
@@ -164,7 +164,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_BUFFER value.
  */
-#define GST_VALUE_HOLDS_BUFFER(x)       (G_VALUE_HOLDS((x), GST_TYPE_BUFFER))
+#define GST_VALUE_HOLDS_BUFFER(x)       ((x) != NULL && G_VALUE_TYPE(x) == _gst_buffer_type)
 
 /**
  * GST_VALUE_HOLDS_SAMPLE:
@@ -172,7 +172,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_SAMPLE value.
  */
-#define GST_VALUE_HOLDS_SAMPLE(x)       (G_VALUE_HOLDS((x), GST_TYPE_SAMPLE))
+#define GST_VALUE_HOLDS_SAMPLE(x)       ((x) != NULL && G_VALUE_TYPE(x) == _gst_sample_type)
 
 /**
  * GST_VALUE_HOLDS_FRACTION:
@@ -180,7 +180,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_FRACTION value.
  */
-#define GST_VALUE_HOLDS_FRACTION(x)     (G_VALUE_HOLDS((x), gst_fraction_get_type ()))
+#define GST_VALUE_HOLDS_FRACTION(x)     ((x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_type)
 
 /**
  * GST_VALUE_HOLDS_DATE_TIME:
@@ -188,7 +188,7 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_DATE_TIME value.
  */
-#define GST_VALUE_HOLDS_DATE_TIME(x)    (G_VALUE_HOLDS((x), gst_date_time_get_type ()))
+#define GST_VALUE_HOLDS_DATE_TIME(x)    ((x) != NULL && G_VALUE_TYPE(x) == _gst_date_time_type)
 
 /**
  * GST_VALUE_HOLDS_BITMASK:
@@ -196,7 +196,9 @@
  *
  * Checks if the given #GValue contains a #GST_TYPE_BITMASK value.
  */
-#define GST_VALUE_HOLDS_BITMASK(x)      (G_VALUE_HOLDS((x), gst_bitmask_get_type ()))
+#define GST_VALUE_HOLDS_BITMASK(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_bitmask_type)
+
+GST_EXPORT GType _gst_int_range_type;
 
 /**
  * GST_TYPE_INT_RANGE:
@@ -205,7 +207,9 @@
  *
  * Returns: the #GType of GstIntRange
  */
-#define GST_TYPE_INT_RANGE               gst_int_range_get_type ()
+#define GST_TYPE_INT_RANGE               (_gst_int_range_type)
+
+GST_EXPORT GType _gst_int64_range_type;
 
 /**
  * GST_TYPE_INT64_RANGE:
@@ -214,7 +218,9 @@
  *
  * Returns: the #GType of GstInt64Range
  */
-#define GST_TYPE_INT64_RANGE             gst_int64_range_get_type ()
+#define GST_TYPE_INT64_RANGE             (_gst_int64_range_type)
+
+GST_EXPORT GType _gst_double_range_type;
 
 /**
  * GST_TYPE_DOUBLE_RANGE:
@@ -223,7 +229,9 @@
  *
  * Returns: the #GType of GstIntRange
  */
-#define GST_TYPE_DOUBLE_RANGE            gst_double_range_get_type ()
+#define GST_TYPE_DOUBLE_RANGE            (_gst_double_range_type)
+
+GST_EXPORT GType _gst_fraction_range_type;
 
 /**
  * GST_TYPE_FRACTION_RANGE:
@@ -232,7 +240,9 @@
  *
  * Returns: the #GType of GstFractionRange
  */
-#define GST_TYPE_FRACTION_RANGE            gst_fraction_range_get_type ()
+#define GST_TYPE_FRACTION_RANGE           (_gst_fraction_range_type)
+
+GST_EXPORT GType _gst_value_list_type;
 
 /**
  * GST_TYPE_LIST:
@@ -245,7 +255,9 @@
  *
  * Returns: the #GType of GstValueList (which is not explicitly typed)
  */
-#define GST_TYPE_LIST                    gst_value_list_get_type ()
+#define GST_TYPE_LIST                    (_gst_value_list_type)
+
+GST_EXPORT GType _gst_value_array_type;
 
 /**
  * GST_TYPE_ARRAY:
@@ -259,7 +271,9 @@
  *
  * Returns: the #GType of GstArrayList (which is not explicitly typed)
  */
-#define GST_TYPE_ARRAY                   gst_value_array_get_type ()
+#define GST_TYPE_ARRAY                   (_gst_value_array_type)
+
+GST_EXPORT GType _gst_fraction_type;
 
 /**
  * GST_TYPE_FRACTION:
@@ -270,17 +284,9 @@
  * Returns: the #GType of GstFraction (which is not explicitly typed)
  */
 
-#define GST_TYPE_FRACTION                gst_fraction_get_type ()
+#define GST_TYPE_FRACTION                (_gst_fraction_type)
 
-/**
- * GST_TYPE_DATE_TIME:
- *
- * a boxed #GValue type for #GstDateTime that represents a date and time.
- *
- * Returns: the #GType of GstDateTime
- */
-
-#define GST_TYPE_DATE_TIME               gst_date_time_get_type ()
+GST_EXPORT GType _gst_bitmask_type;
 
 /**
  * GST_TYPE_BITMASK:
@@ -290,7 +296,7 @@
  * Returns: the #GType of GstBitmask (which is not explicitly typed)
  */
 
-#define GST_TYPE_BITMASK                 gst_bitmask_get_type ()
+#define GST_TYPE_BITMASK                 (_gst_bitmask_type)
 
 /**
  * GST_TYPE_G_THREAD:
@@ -405,8 +411,6 @@
 GType gst_g_thread_get_type (void);
 #endif
 
-GType gst_date_time_get_type (void);
-
 void            gst_value_register              (const GstValueTable   *table);
 void            gst_value_init_and_copy         (GValue                *dest,
                                                  const GValue          *src);
diff --git a/gstreamer.doap b/gstreamer.doap
index f106767..55f6dc2 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,17 @@
 
  <release>
   <Version>
+   <revision>1.3.3</revision>
+   <branch>1.3</branch>
+   <name></name>
+   <created>2014-06-22</created>
+   <file-release
+   rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.3.3.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.3.2</revision>
    <branch>1.3</branch>
    <name></name>
diff --git a/gstreamer.spec b/gstreamer.spec
index 3dd45f8..34a57d0 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,7 +4,7 @@
 %define 	_glib2		2.32.0
 
 Name: 		%{gstreamer}
-Version: 	1.3.2
+Version: 	1.3.3
 Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
diff --git a/libs/gst/base/Makefile.am b/libs/gst/base/Makefile.am
index 650b97f..738e718 100644
--- a/libs/gst/base/Makefile.am
+++ b/libs/gst/base/Makefile.am
@@ -13,6 +13,7 @@
 	gstbytewriter.c         \
 	gstcollectpads.c	\
 	gstdataqueue.c		\
+	gstflowcombiner.c	\
 	gstpushsrc.c		\
 	gstqueuearray.c		\
 	gsttypefindhelper.c
@@ -36,6 +37,7 @@
 	gstbytewriter.h         \
 	gstcollectpads.h	\
 	gstdataqueue.h		\
+	gstflowcombiner.h	\
 	gstpushsrc.h		\
 	gstqueuearray.h		\
 	gsttypefindhelper.h
diff --git a/libs/gst/base/Makefile.in b/libs/gst/base/Makefile.in
index c86a747..601edaf 100644
--- a/libs/gst/base/Makefile.in
+++ b/libs/gst/base/Makefile.in
@@ -172,6 +172,7 @@
 	libgstbase_@GST_API_VERSION@_la-gstbytewriter.lo \
 	libgstbase_@GST_API_VERSION@_la-gstcollectpads.lo \
 	libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo \
+	libgstbase_@GST_API_VERSION@_la-gstflowcombiner.lo \
 	libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo \
 	libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo \
 	libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.lo
@@ -540,6 +541,7 @@
 	gstbytewriter.c         \
 	gstcollectpads.c	\
 	gstdataqueue.c		\
+	gstflowcombiner.c	\
 	gstpushsrc.c		\
 	gstqueuearray.c		\
 	gsttypefindhelper.c
@@ -562,6 +564,7 @@
 	gstbytewriter.h         \
 	gstcollectpads.h	\
 	gstdataqueue.h		\
+	gstflowcombiner.h	\
 	gstpushsrc.h		\
 	gstqueuearray.h		\
 	gsttypefindhelper.h
@@ -673,6 +676,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstbytewriter.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstcollectpads.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstdataqueue.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstflowcombiner.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstqueuearray.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.Plo@am__quote@
@@ -771,6 +775,13 @@
 @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) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
 
+libgstbase_@GST_API_VERSION@_la-gstflowcombiner.lo: gstflowcombiner.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) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbase_@GST_API_VERSION@_la-gstflowcombiner.lo -MD -MP -MF $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstflowcombiner.Tpo -c -o libgstbase_@GST_API_VERSION@_la-gstflowcombiner.lo `test -f 'gstflowcombiner.c' || echo '$(srcdir)/'`gstflowcombiner.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstflowcombiner.Tpo $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstflowcombiner.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstflowcombiner.c' object='libgstbase_@GST_API_VERSION@_la-gstflowcombiner.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) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbase_@GST_API_VERSION@_la-gstflowcombiner.lo `test -f 'gstflowcombiner.c' || echo '$(srcdir)/'`gstflowcombiner.c
+
 libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo: gstpushsrc.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) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo -MD -MP -MF $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Tpo -c -o libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo `test -f 'gstpushsrc.c' || echo '$(srcdir)/'`gstpushsrc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Tpo $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Plo
diff --git a/libs/gst/base/base.h b/libs/gst/base/base.h
index e741145..6646ce3 100644
--- a/libs/gst/base/base.h
+++ b/libs/gst/base/base.h
@@ -32,6 +32,7 @@
 #include <gst/base/gstbytewriter.h>
 #include <gst/base/gstcollectpads.h>
 #include <gst/base/gstdataqueue.h>
+#include <gst/base/gstflowcombiner.h>
 #include <gst/base/gstpushsrc.h>
 #include <gst/base/gstqueuearray.h>
 #include <gst/base/gsttypefindhelper.h>
diff --git a/libs/gst/base/gstadapter.c b/libs/gst/base/gstadapter.c
index 59efc11..3d23fdb 100644
--- a/libs/gst/base/gstadapter.c
+++ b/libs/gst/base/gstadapter.c
@@ -70,13 +70,13 @@
  * }
  * ]|
  *
- * For another example, a simple element inside GStreamer that uses GstAdapter
+ * For another example, a simple element inside GStreamer that uses #GstAdapter
  * is the libvisual element.
  *
- * An element using GstAdapter in its sink pad chain function should ensure that
+ * An element using #GstAdapter in its sink pad chain function should ensure that
  * when the FLUSH_STOP event is received, that any queued data is cleared using
  * gst_adapter_clear(). Data should also be cleared or processed on EOS and
- * when changing state from #GST_STATE_PAUSED to #GST_STATE_READY.
+ * when changing state from %GST_STATE_PAUSED to %GST_STATE_READY.
  *
  * Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might
  * need to clear the adapter after a discontinuity.
@@ -92,7 +92,7 @@
  * gst_adapter_prev_pts_at_offset() can be used to determine the last
  * seen timestamp at a particular offset in the adapter.
  *
- * A last thing to note is that while GstAdapter is pretty optimized,
+ * A last thing to note is that while #GstAdapter is pretty optimized,
  * merging buffers still might be an operation that requires a malloc() and
  * memcpy() operation, and these operations are not the fastest. Because of
  * this, some functions like gst_adapter_available_fast() are provided to help
@@ -100,9 +100,9 @@
  * gst_adapter_copy() can be used to copy data into a (statically allocated)
  * user provided buffer.
  *
- * GstAdapter is not MT safe. All operations on an adapter must be serialized by
+ * #GstAdapter is not MT safe. All operations on an adapter must be serialized by
  * the caller. This is not normally a problem, however, as the normal use case
- * of GstAdapter is inside one pad's chain function, in which case access is
+ * of #GstAdapter is inside one pad's chain function, in which case access is
  * serialized via the pad's STREAM_LOCK.
  *
  * Note that gst_adapter_push() takes ownership of the buffer passed. Use
@@ -352,7 +352,7 @@
 /* Internal method only. Tries to merge buffers at the head of the queue
  * to form a single larger buffer of size 'size'.
  *
- * Returns TRUE if it managed to merge anything.
+ * Returns %TRUE if it managed to merge anything.
  */
 static gboolean
 gst_adapter_try_to_merge_up (GstAdapter * adapter, gsize size)
@@ -423,10 +423,10 @@
  * as #GstBuffer memory or the potentially more performant
  * gst_adapter_take_buffer().
  *
- * Returns #NULL if @size bytes are not available.
+ * Returns %NULL if @size bytes are not available.
  *
  * Returns: (transfer none) (array length=size) (element-type guint8):
- *     a pointer to the first @size bytes of data, or NULL
+ *     a pointer to the first @size bytes of data, or %NULL
  */
 gconstpointer
 gst_adapter_map (GstAdapter * adapter, gsize size)
@@ -532,7 +532,7 @@
  * @size: the number of bytes to copy
  *
  * Copies @size bytes of data starting at @offset out of the buffers
- * contained in @GstAdapter into an array @dest provided by the caller.
+ * contained in #GstAdapter into an array @dest provided by the caller.
  *
  * The array @dest should be large enough to contain @size bytes.
  * The user should check that the adapter has (@offset + @size) bytes
@@ -709,7 +709,7 @@
  * Free-function: g_free
  *
  * Returns: (transfer full) (array length=nbytes) (element-type guint8):
- *     oven-fresh hot data, or #NULL if @nbytes bytes are not available
+ *     oven-fresh hot data, or %NULL if @nbytes bytes are not available
  */
 gpointer
 gst_adapter_take (GstAdapter * adapter, gsize nbytes)
@@ -759,7 +759,7 @@
  * Free-function: gst_buffer_unref
  *
  * Returns: (transfer full): a #GstBuffer containing the first @nbytes of
- *     the adapter, or #NULL if @nbytes bytes are not available.
+ *     the adapter, or %NULL if @nbytes bytes are not available.
  *     gst_buffer_unref() when no longer needed.
  *
  * Since: 1.2
@@ -841,7 +841,7 @@
  * Free-function: gst_buffer_unref
  *
  * Returns: (transfer full): a #GstBuffer containing the first @nbytes of
- *     the adapter, or #NULL if @nbytes bytes are not available.
+ *     the adapter, or %NULL if @nbytes bytes are not available.
  *     gst_buffer_unref() when no longer needed.
  */
 GstBuffer *
@@ -918,7 +918,7 @@
  * buffer in the list before freeing the list after usage.
  *
  * Returns: (element-type Gst.Buffer) (transfer full): a #GList of buffers
- *     containing the first @nbytes of the adapter, or #NULL if @nbytes bytes
+ *     containing the first @nbytes of the adapter, or %NULL if @nbytes bytes
  *     are not available
  */
 GList *
@@ -953,7 +953,7 @@
  *
  * Gets the maximum amount of bytes available, that is it returns the maximum
  * value that can be supplied to gst_adapter_map() without that function
- * returning NULL.
+ * returning %NULL.
  *
  * Returns: number of bytes available in @adapter
  */
@@ -1010,7 +1010,7 @@
 /**
  * gst_adapter_prev_pts:
  * @adapter: a #GstAdapter
- * @distance: (out) (allow-none): pointer to location for distance, or NULL
+ * @distance: (out) (allow-none): pointer to location for distance, or %NULL
  *
  * Get the pts that was before the current byte in the adapter. When
  * @distance is given, the amount of bytes between the pts and the current
@@ -1037,7 +1037,7 @@
 /**
  * gst_adapter_prev_dts:
  * @adapter: a #GstAdapter
- * @distance: (out) (allow-none): pointer to location for distance, or NULL
+ * @distance: (out) (allow-none): pointer to location for distance, or %NULL
  *
  * Get the dts that was before the current byte in the adapter. When
  * @distance is given, the amount of bytes between the dts and the current
@@ -1065,7 +1065,7 @@
  * gst_adapter_prev_pts_at_offset:
  * @adapter: a #GstAdapter
  * @offset: the offset in the adapter at which to get timestamp
- * @distance: (out) (allow-none): pointer to location for distance, or NULL
+ * @distance: (out) (allow-none): pointer to location for distance, or %NULL
  *
  * Get the pts that was before the byte at offset @offset in the adapter. When
  * @distance is given, the amount of bytes between the pts and the current
@@ -1113,7 +1113,7 @@
  * gst_adapter_prev_dts_at_offset:
  * @adapter: a #GstAdapter
  * @offset: the offset in the adapter at which to get timestamp
- * @distance: (out) (allow-none): pointer to location for distance, or NULL
+ * @distance: (out) (allow-none): pointer to location for distance, or %NULL
  *
  * Get the dts that was before the byte at offset @offset in the adapter. When
  * @distance is given, the amount of bytes between the dts and the current
@@ -1292,7 +1292,7 @@
  * It is an error to call this function without making sure that there is
  * enough data (offset+size bytes) in the adapter.
  *
- * This function calls gst_adapter_masked_scan_uint32_peek() passing NULL
+ * This function calls gst_adapter_masked_scan_uint32_peek() passing %NULL
  * for value.
  *
  * Returns: offset of the first match, or -1 if no match was found.
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 4378cad..c3e63e1 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -50,22 +50,22 @@
  * <listitem>
  *   <itemizedlist><title>Set-up phase</title>
  *   <listitem><para>
- *     GstBaseParse calls @start to inform subclass that data processing is
+ *     #GstBaseParse calls @start to inform subclass that data processing is
  *     about to start now.
  *   </para></listitem>
  *   <listitem><para>
- *     GstBaseParse class calls @set_sink_caps to inform the subclass about
+ *     #GstBaseParse class calls @set_sink_caps to inform the subclass about
  *     incoming sinkpad caps. Subclass could already set the srcpad caps
  *     accordingly, but this might be delayed until calling
  *     gst_base_parse_finish_frame() with a non-queued frame.
  *   </para></listitem>
  *   <listitem><para>
- *      At least at this point subclass needs to tell the GstBaseParse class
+ *      At least at this point subclass needs to tell the #GstBaseParse class
  *      how big data chunks it wants to receive (min_frame_size). It can do
  *      this with gst_base_parse_set_min_frame_size().
  *   </para></listitem>
  *   <listitem><para>
- *      GstBaseParse class sets up appropriate data passing mode (pull/push)
+ *      #GstBaseParse class sets up appropriate data passing mode (pull/push)
  *      and starts to process the data.
  *   </para></listitem>
  *   </itemizedlist>
@@ -74,7 +74,7 @@
  *   <itemizedlist>
  *   <title>Parsing phase</title>
  *     <listitem><para>
- *       GstBaseParse gathers at least min_frame_size bytes of data either
+ *       #GstBaseParse gathers at least min_frame_size bytes of data either
  *       by pulling it from upstream or collecting buffers in an internal
  *       #GstAdapter.
  *     </para></listitem>
@@ -101,7 +101,7 @@
  *       </para><para>
  *       Subclass is also responsible for setting the buffer metadata
  *       (e.g. buffer timestamp and duration, or keyframe if applicable).
- *       (although the latter can also be done by GstBaseParse if it is
+ *       (although the latter can also be done by #GstBaseParse if it is
  *       appropriately configured, see below).  Frame is provided with
  *       timestamp derived from upstream (as much as generally possible),
  *       duration obtained from configuration (see below), and offset
@@ -118,7 +118,7 @@
  *       events, or to perform custom (segment) filtering.
  *     </para></listitem>
  *     <listitem><para>
- *       During the parsing process GstBaseParseClass will handle both srcpad
+ *       During the parsing process #GstBaseParseClass will handle both srcpad
  *       and sinkpad events. They will be passed to subclass if @event or
  *       @src_event callbacks have been provided.
  *     </para></listitem>
@@ -127,7 +127,7 @@
  * <listitem>
  *   <itemizedlist><title>Shutdown phase</title>
  *   <listitem><para>
- *     GstBaseParse class calls @stop to inform the subclass that data
+ *     #GstBaseParse class calls @stop to inform the subclass that data
  *     parsing will be stopped.
  *   </para></listitem>
  *   </itemizedlist>
@@ -139,12 +139,12 @@
  * needs to set the fixed caps on srcpad, when the format is ensured (e.g.
  * when base class calls subclass' @set_sink_caps function).
  *
- * This base class uses #GST_FORMAT_DEFAULT as a meaning of frames. So,
+ * This base class uses %GST_FORMAT_DEFAULT as a meaning of frames. So,
  * subclass conversion routine needs to know that conversion from
- * #GST_FORMAT_TIME to #GST_FORMAT_DEFAULT must return the
+ * %GST_FORMAT_TIME to %GST_FORMAT_DEFAULT must return the
  * frame number that can be found from the given byte position.
  *
- * GstBaseParse uses subclasses conversion methods also for seeking (or
+ * #GstBaseParse uses subclasses conversion methods also for seeking (or
  * otherwise uses its own default one, see also below).
  *
  * Subclass @start and @stop functions will be called to inform the beginning
@@ -180,10 +180,10 @@
  *   <listitem><para>
  *      In particular, if subclass is unable to determine a duration, but
  *      parsing (or specs) yields a frames per seconds rate, then this can be
- *      provided to GstBaseParse to enable it to cater for
+ *      provided to #GstBaseParse to enable it to cater for
  *      buffer time metadata (which will be taken from upstream as much as
  *      possible). Internally keeping track of frame durations and respective
- *      sizes that have been pushed provides GstBaseParse with an estimated
+ *      sizes that have been pushed provides #GstBaseParse with an estimated
  *      bitrate. A default @convert (used if not overridden) will then use these
  *      rates to perform obvious conversions.  These rates are also used to
  *      update (estimated) duration at regular frame intervals.
@@ -561,11 +561,11 @@
   /**
    * GstBaseParse:disable-passthrough:
    *
-   * If set to #TRUE, baseparse will unconditionally force parsing of the
+   * If set to %TRUE, baseparse will unconditionally force parsing of the
    * incoming data. This can be required in the rare cases where the incoming
    * side-data (caps, pts, dts, ...) is not trusted by the user and wants to
    * force validation and parsing of the incoming data.
-   * If set to #FALSE, decision of whether to parse the data or not is up to
+   * If set to %FALSE, decision of whether to parse the data or not is up to
    * the implementation (standard behaviour).
    */
   g_object_class_install_property (gobject_class, PROP_DISABLE_PASSTHROUGH,
@@ -898,7 +898,7 @@
  *
  * Converts using configured "convert" vmethod in #GstBaseParse class.
  *
- * Returns: TRUE if conversion was successful.
+ * Returns: %TRUE if conversion was successful.
  */
 static gboolean
 gst_base_parse_convert (GstBaseParse * parse,
@@ -949,7 +949,7 @@
  *
  * Handler for sink pad events.
  *
- * Returns: TRUE if the event was handled.
+ * Returns: %TRUE if the event was handled.
  */
 static gboolean
 gst_base_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
@@ -1012,6 +1012,8 @@
 
       gst_event_parse_segment (event, &in_segment);
       gst_segment_init (&out_segment, GST_FORMAT_TIME);
+      out_segment.rate = in_segment->rate;
+      out_segment.applied_rate = in_segment->applied_rate;
 
       GST_DEBUG_OBJECT (parse, "segment %" GST_SEGMENT_FORMAT, in_segment);
 
@@ -1349,7 +1351,7 @@
  *
  * Handler for source pad events.
  *
- * Returns: TRUE if the event was handled.
+ * Returns: %TRUE if the event was handled.
  */
 static gboolean
 gst_base_parse_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
@@ -1386,7 +1388,7 @@
  *
  * Default srcpad event handler.
  *
- * Returns: TRUE if the event was handled and can be dropped.
+ * Returns: %TRUE if the event was handled and can be dropped.
  */
 static gboolean
 gst_base_parse_src_event_default (GstBaseParse * parse, GstEvent * event)
@@ -1417,7 +1419,7 @@
  *
  * Default implementation of "convert" vmethod in #GstBaseParse class.
  *
- * Returns: TRUE if conversion was successful.
+ * Returns: %TRUE if conversion was successful.
  */
 gboolean
 gst_base_parse_convert_default (GstBaseParse * parse,
@@ -4502,7 +4504,7 @@
  *
  * This function should only be called from a @handle_frame implementation.
  *
- * GstBaseParse creates initial timestamps for frames by using the last
+ * #GstBaseParse creates initial timestamps for frames by using the last
  * timestamp seen in the stream before the frame starts.  In certain
  * cases, the correct timestamps will occur in the stream after the
  * start of the frame, but before the start of the actual picture data.
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index 2f8ceac..b6fc1fc 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -44,7 +44,7 @@
  *   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
  *
  *   // sinktemplate should be a #GstStaticPadTemplate with direction
- *   // #GST_PAD_SINK and name "sink"
+ *   // %GST_PAD_SINK and name "sink"
  *   gst_element_class_add_pad_template (gstelement_class,
  *       gst_static_pad_template_get (&amp;sinktemplate));
  *
@@ -57,14 +57,14 @@
  * ]|
  *
  * #GstBaseSink will handle the prerolling correctly. This means that it will
- * return #GST_STATE_CHANGE_ASYNC from a state change to PAUSED until the first
+ * return %GST_STATE_CHANGE_ASYNC from a state change to PAUSED until the first
  * buffer arrives in this element. The base class will call the
  * #GstBaseSinkClass.preroll() vmethod with this preroll buffer and will then
  * commit the state change to the next asynchronously pending state.
  *
  * When the element is set to PLAYING, #GstBaseSink will synchronise on the
  * clock using the times returned from #GstBaseSinkClass.get_times(). If this
- * function returns #GST_CLOCK_TIME_NONE for the start time, no synchronisation
+ * function returns %GST_CLOCK_TIME_NONE for the start time, no synchronisation
  * will be done. Synchronisation can be disabled entirely by setting the object
  * #GstBaseSink:sync property to %FALSE.
  *
@@ -84,14 +84,14 @@
  * element receives EOS in PAUSED, preroll completes, the event is queued and an
  * EOS message is posted when going to PLAYING.
  *
- * #GstBaseSink will internally use the #GST_EVENT_SEGMENT events to schedule
+ * #GstBaseSink will internally use the %GST_EVENT_SEGMENT 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.
  *
  * #GstBaseSink will by default report the current playback position in
- * #GST_FORMAT_TIME based on the current clock time and segment information.
+ * %GST_FORMAT_TIME based on the current clock time and segment information.
  * If no clock has been set on the element, the query will be forwarded
  * upstream.
  *
@@ -442,8 +442,8 @@
   /**
    * GstBaseSink:async:
    *
-   * If set to #TRUE, the basesink will perform asynchronous state changes.
-   * When set to #FALSE, the sink will not signal the parent when it prerolls.
+   * If set to %TRUE, the basesink will perform asynchronous state changes.
+   * When set to %FALSE, the sink will not signal the parent when it prerolls.
    * Use this option when dealing with sparse streams or when synchronisation is
    * not required.
    */
@@ -466,9 +466,9 @@
   /**
    * GstBaseSink:enable-last-sample:
    *
-   * Enable the last-sample property. If FALSE, basesink doesn't keep a
+   * Enable the last-sample property. If %FALSE, basesink doesn't keep a
    * reference to the last buffer arrived and the last-sample property is always
-   * set to NULL. This can be useful if you need buffers to be released as soon
+   * set to %NULL. This can be useful if you need buffers to be released as soon
    * as possible, eg. if you're using a buffer pool.
    */
   g_object_class_install_property (gobject_class, PROP_ENABLE_LAST_SAMPLE,
@@ -481,7 +481,7 @@
    *
    * The last buffer that arrived in the sink and was used for preroll or for
    * rendering. This property can be used to generate thumbnails. This property
-   * can be NULL when the sink has not yet received a buffer.
+   * can be %NULL when the sink has not yet received a buffer.
    */
   g_object_class_install_property (gobject_class, PROP_LAST_SAMPLE,
       g_param_spec_boxed ("last-sample", "Last Sample",
@@ -688,8 +688,8 @@
  * @sync: the new sync value.
  *
  * Configures @sink to synchronize on the clock or not. When
- * @sync is FALSE, incoming samples will be played as fast as
- * possible. If @sync is TRUE, the timestamps of the incoming
+ * @sync is %FALSE, incoming samples will be played as fast as
+ * possible. If @sync is %TRUE, the timestamps of the incoming
  * buffers will be used to schedule the exact render time of its
  * contents.
  */
@@ -710,7 +710,7 @@
  * Checks if @sink is currently configured to synchronize against the
  * clock.
  *
- * Returns: TRUE if the sink is configured to synchronize against the clock.
+ * Returns: %TRUE if the sink is configured to synchronize against the clock.
  */
 gboolean
 gst_base_sink_get_sync (GstBaseSink * sink)
@@ -793,7 +793,7 @@
  * Checks if @sink is currently configured to send Quality-of-Service events
  * upstream.
  *
- * Returns: TRUE if the sink is configured to perform Quality-of-Service.
+ * Returns: %TRUE if the sink is configured to perform Quality-of-Service.
  */
 gboolean
 gst_base_sink_is_qos_enabled (GstBaseSink * sink)
@@ -835,7 +835,7 @@
  * Checks if @sink is currently configured to perform asynchronous state
  * changes to PAUSED.
  *
- * Returns: TRUE if the sink is configured to perform asynchronous state
+ * Returns: %TRUE if the sink is configured to perform asynchronous state
  * changes.
  */
 gboolean
@@ -905,7 +905,7 @@
  * Free-function: gst_sample_unref
  *
  * Returns: (transfer full): a #GstSample. gst_sample_unref() after usage.
- *     This function returns NULL when no buffer has arrived in the sink yet
+ *     This function returns %NULL when no buffer has arrived in the sink yet
  *     or when the sink is not in PAUSED or PLAYING.
  */
 GstSample *
@@ -994,7 +994,7 @@
  * Checks if @sink is currently configured to store the last received sample in
  * the last-sample property.
  *
- * Returns: TRUE if the sink is configured to store the last received sample.
+ * Returns: %TRUE if the sink is configured to store the last received sample.
  */
 gboolean
 gst_base_sink_is_last_sample_enabled (GstBaseSink * sink)
@@ -1033,17 +1033,17 @@
  * @max_latency: (out) (allow-none): the max latency of the upstream elements
  *
  * Query the sink for the latency parameters. The latency will be queried from
- * the upstream elements. @live will be TRUE if @sink is configured to
- * synchronize against the clock. @upstream_live will be TRUE if an upstream
+ * the upstream elements. @live will be %TRUE if @sink is configured to
+ * synchronize against the clock. @upstream_live will be %TRUE if an upstream
  * element is live.
  *
- * If both @live and @upstream_live are TRUE, the sink will want to compensate
+ * If both @live and @upstream_live are %TRUE, the sink will want to compensate
  * for the latency introduced by the upstream elements by setting the
  * @min_latency to a strictly positive value.
  *
  * This function is mostly used by subclasses.
  *
- * Returns: TRUE if the query succeeded.
+ * Returns: %TRUE if the query succeeded.
  */
 gboolean
 gst_base_sink_query_latency (GstBaseSink * sink, gboolean * live,
@@ -1526,8 +1526,8 @@
     /* Depending on the state, set our vars. We get in this situation when the
      * state change function got a change to update the state vars before the
      * streaming thread did. This is fine but we need to make sure that we
-     * update the need_preroll var since it was TRUE when we got here and might
-     * become FALSE if we got to PLAYING. */
+     * update the need_preroll var since it was %TRUE when we got here and might
+     * become %FALSE if we got to PLAYING. */
     GST_DEBUG_OBJECT (basesink, "nothing to commit, now in %s",
         gst_element_state_get_name (current));
     switch (current) {
@@ -1787,7 +1787,7 @@
 
 /* with STREAM_LOCK, PREROLL_LOCK
  *
- * Returns TRUE if the object needs synchronisation and takes therefore
+ * Returns %TRUE if the object needs synchronisation and takes therefore
  * part in prerolling.
  *
  * rsstart/rsstop contain the start/stop in stream time.
@@ -1979,7 +1979,7 @@
 out_of_segment:
   {
     /* we usually clip in the chain function already but stepping could cause
-     * the segment to be updated later. we return FALSE so that we don't try
+     * the segment to be updated later. we return %FALSE so that we don't try
      * to sync on it. */
     GST_LOG_OBJECT (basesink, "buffer skipped, not in segment");
     return FALSE;
@@ -2024,14 +2024,14 @@
  * gst_base_sink_wait_clock:
  * @sink: the sink
  * @time: the running_time to be reached
- * @jitter: (out) (allow-none): the jitter to be filled with time diff, or NULL
+ * @jitter: (out) (allow-none): the jitter to be filled with time diff, or %NULL
  *
  * This function will block until @time is reached. It is usually called by
  * subclasses that use their own internal synchronisation.
  *
- * If @time is not valid, no synchronisation is done and #GST_CLOCK_BADTIME is
+ * If @time is not valid, no synchronisation is done and %GST_CLOCK_BADTIME is
  * returned. Likewise, if synchronisation is disabled in the element or there
- * is no clock, no synchronisation is done and #GST_CLOCK_BADTIME is returned.
+ * is no clock, no synchronisation is done and %GST_CLOCK_BADTIME is returned.
  *
  * This function should only be called with the PREROLL_LOCK held, like when
  * receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when
@@ -2132,14 +2132,14 @@
  * and call this method before continuing to render the remaining data.
  *
  * This function will block until a state change to PLAYING happens (in which
- * case this function returns #GST_FLOW_OK) or the processing must be stopped due
+ * case this function returns %GST_FLOW_OK) or the processing must be stopped due
  * to a state change to READY or a FLUSH event (in which case this function
- * returns #GST_FLOW_FLUSHING).
+ * returns %GST_FLOW_FLUSHING).
  *
  * This function should only be called with the PREROLL_LOCK held, like in the
  * render function.
  *
- * Returns: #GST_FLOW_OK if the preroll completed and processing can
+ * Returns: %GST_FLOW_OK if the preroll completed and processing can
  * continue. Any other return value should be returned from the render vmethod.
  */
 GstFlowReturn
@@ -2184,7 +2184,7 @@
  *
  * This function should be called with the PREROLL_LOCK held.
  *
- * Returns: #GST_FLOW_OK if the preroll completed and processing can
+ * Returns: %GST_FLOW_OK if the preroll completed and processing can
  * continue. Any other return value should be returned from the render vmethod.
  */
 GstFlowReturn
@@ -2274,7 +2274,7 @@
  * gst_base_sink_wait:
  * @sink: the sink
  * @time: the running_time to be reached
- * @jitter: (out) (allow-none): the jitter to be filled with time diff, or NULL
+ * @jitter: (out) (allow-none): the jitter to be filled with time diff, or %NULL
  *
  * This function will wait for preroll to complete and will then block until @time
  * is reached. It is usually called by subclasses that use their own internal
@@ -2360,7 +2360,7 @@
  * immediately returns GST_FLOW_OK.
  *
  * for objects that arrive later than max-lateness to be synchronized to the
- * clock have the @late boolean set to TRUE.
+ * clock have the @late boolean set to %TRUE.
  *
  * This function keeps a running average of the jitter (the diff between the
  * clock time and the requested sync time). The jitter is negative for
@@ -2730,7 +2730,7 @@
  *
  * status and jitter contain the return values from the clock wait.
  *
- * returns TRUE if the buffer was too late.
+ * returns %TRUE if the buffer was too late.
  */
 static gboolean
 gst_base_sink_is_too_late (GstBaseSink * basesink, GstMiniObject * obj,
@@ -4175,7 +4175,7 @@
   result = FALSE;
 
   /* this returns the intersection between our caps and the peer caps. If there
-   * is no peer, it returns NULL and we can't operate in pull mode so we can
+   * is no peer, it returns %NULL and we can't operate in pull mode so we can
    * fail the negotiation. */
   caps = gst_pad_get_allowed_caps (GST_BASE_SINK_PAD (basesink));
   if (caps == NULL || gst_caps_is_empty (caps))
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index 132e942..eb861a3 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -35,13 +35,13 @@
  *
  * The source can be configured to operate in any #GstFormat with the
  * gst_base_src_set_format() method. The currently set format determines
- * the format of the internal #GstSegment and any #GST_EVENT_SEGMENT
- * events. The default format for #GstBaseSrc is #GST_FORMAT_BYTES.
+ * the format of the internal #GstSegment and any %GST_EVENT_SEGMENT
+ * events. The default format for #GstBaseSrc is %GST_FORMAT_BYTES.
  *
  * #GstBaseSrc always supports push mode scheduling. If the following
  * conditions are met, it also supports pull mode scheduling:
  * <itemizedlist>
- *   <listitem><para>The format is set to #GST_FORMAT_BYTES (default).</para>
+ *   <listitem><para>The format is set to %GST_FORMAT_BYTES (default).</para>
  *   </listitem>
  *   <listitem><para>#GstBaseSrcClass.is_seekable() returns %TRUE.</para>
  *   </listitem>
@@ -50,7 +50,7 @@
  * If all the conditions are met for operating in pull mode, #GstBaseSrc 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
- * #GST_FORMAT_BYTES:
+ * %GST_FORMAT_BYTES:
  * <itemizedlist>
  *   <listitem><para>
  *     #GstBaseSrcClass.is_seekable() returns %TRUE.
@@ -82,7 +82,7 @@
  * #GstBaseSrcClass.create() 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
- * #GST_STATE_CHANGE_NO_PREROLL.
+ * %GST_STATE_CHANGE_NO_PREROLL.
  *
  * 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
@@ -118,7 +118,7 @@
  * {
  *   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
  *   // srctemplate should be a #GstStaticPadTemplate with direction
- *   // #GST_PAD_SRC and name "src"
+ *   // %GST_PAD_SRC and name "src"
  *   gst_element_class_add_pad_template (gstelement_class,
  *       gst_static_pad_template_get (&amp;srctemplate));
  *
@@ -144,7 +144,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
- * #GST_MESSAGE_SEGMENT_DONE on the bus). This can typically be done
+ * %GST_MESSAGE_SEGMENT_DONE on the bus). This can typically be done
  * with the gst_element_send_event() function on the element or its parent bin.
  *
  * After the EOS has been sent to the element, the application should wait for
@@ -506,11 +506,11 @@
  * and call this method before continuing to produce the remaining data.
  *
  * This function will block until a state change to PLAYING happens (in which
- * case this function returns #GST_FLOW_OK) or the processing must be stopped due
+ * case this function returns %GST_FLOW_OK) or the processing must be stopped due
  * to a state change to READY or a FLUSH event (in which case this function
- * returns #GST_FLOW_FLUSHING).
+ * returns %GST_FLOW_FLUSHING).
  *
- * Returns: #GST_FLOW_OK if @src is PLAYING and processing can
+ * Returns: %GST_FLOW_OK if @src is PLAYING and processing can
  * continue. Any other return value should be returned from the create vmethod.
  */
 GstFlowReturn
@@ -592,7 +592,7 @@
  * for sending SEGMENT events and for performing seeks.
  *
  * If a format of GST_FORMAT_BYTES is set, the element will be able to
- * operate in pull mode if the #GstBaseSrcClass.is_seekable() returns TRUE.
+ * operate in pull mode if the #GstBaseSrcClass.is_seekable() returns %TRUE.
  *
  * This function must only be called in states < %GST_STATE_PAUSED.
  */
@@ -694,14 +694,14 @@
  * @min_latency: (out) (allow-none): the min latency of the source
  * @max_latency: (out) (allow-none): the max latency of the source
  *
- * Query the source for the latency parameters. @live will be TRUE when @src is
+ * Query the source for the latency parameters. @live will be %TRUE when @src is
  * configured as a live source. @min_latency will be set to the difference
  * between the running time and the timestamp of the first buffer.
  * @max_latency is always the undefined value of -1.
  *
  * This function is mostly used by subclasses.
  *
- * Returns: TRUE if the query succeeded.
+ * Returns: %TRUE if the query succeeded.
  */
 gboolean
 gst_base_src_query_latency (GstBaseSrc * src, gboolean * live,
diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h
index 8b9eb4d..75de438 100644
--- a/libs/gst/base/gstbasesrc.h
+++ b/libs/gst/base/gstbasesrc.h
@@ -129,28 +129,31 @@
  *    these times.
  * @get_size: Return the total size of the resource, in the configured format.
  * @is_seekable: Check if the source can seek
- * @prepare_seek_segment: Prepare the GstSegment that will be passed to the
- *   do_seek vmethod for executing a seek request. Sub-classes should override
- *   this if they support seeking in formats other than the configured native
- *   format. By default, it tries to convert the seek arguments to the
- *   configured native format and prepare a segment in that format.
+ * @prepare_seek_segment: Prepare the #GstSegment that will be passed to the
+ *   #GstBaseSrcClass.do_seek() vmethod for executing a seek
+ *   request. Sub-classes should override this if they support seeking in
+ *   formats other than the configured native format. By default, it tries to
+ *   convert the seek arguments to the configured native format and prepare a
+ *   segment in that format.
  * @do_seek: Perform seeking on the resource to the indicated segment.
- * @unlock: Unlock any pending access to the resource. Subclasses should
- *    unblock any blocked function ASAP. In particular, any create() function in
+ * @unlock: Unlock any pending access to the resource. Subclasses should unblock
+ *    any blocked function ASAP. In particular, any create() function in
  *    progress should be unblocked and should return GST_FLOW_FLUSHING. Any
- *    future @create<!-- -->() function call should also return GST_FLOW_FLUSHING
- *    until the @unlock_stop<!-- -->() function has been called.
- * @unlock_stop: Clear the previous unlock request. Subclasses should clear
- *    any state they set during unlock(), such as clearing command queues.
+ *    future #GstBaseSrcClass.create() function call should also return
+ *    GST_FLOW_FLUSHING until the #GstBaseSrcClass.unlock_stop() function has
+ *    been called.
+ * @unlock_stop: Clear the previous unlock request. Subclasses should clear any
+ *    state they set during #GstBaseSrcClass.unlock(), such as clearing command
+ *    queues.
  * @query: Handle a requested query.
  * @event: Override this to implement custom event handling.
- * @create: Ask the subclass to create a buffer with offset and size.
- *   When the subclass returns GST_FLOW_OK, it MUST return a buffer of the
- *   requested size unless fewer bytes are available because an EOS condition
- *   is near. No buffer should be returned when the return value is different
- *   from GST_FLOW_OK. A return value of GST_FLOW_EOS signifies that the
- *   end of stream is reached. The default implementation will call @alloc and
- *   then call @fill.
+ * @create: Ask the subclass to create a buffer with offset and size.  When the
+ *   subclass returns GST_FLOW_OK, it MUST return a buffer of the requested size
+ *   unless fewer bytes are available because an EOS condition is near. No
+ *   buffer should be returned when the return value is different from
+ *   GST_FLOW_OK. A return value of GST_FLOW_EOS signifies that the end of
+ *   stream is reached. The default implementation will call
+ *   #GstBaseSrcClass.alloc() and then call #GstBaseSrcClass.fill().
  * @alloc: Ask the subclass to allocate a buffer with for offset and size. The
  *   default implementation will create a new buffer from the negotiated allocator.
  * @fill: Ask the subclass to fill the buffer with data for offset and size. The
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index f82a9b8..c20a613 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -57,14 +57,14 @@
  *     intact.
  *   </para></listitem>
  *   <listitem><para>
- *     On the GstBaseTransformClass is the passthrough_on_same_caps variable
- *     which will automatically set/unset passthrough based on whether the
+ *     The #GstBaseTransformClass.passthrough_on_same_caps variable
+ *     will automatically set/unset passthrough based on whether the
  *     element negotiates the same caps on both pads.
  *   </para></listitem>
  *   <listitem><para>
- *     passthrough_on_same_caps on an element that doesn't implement a
- *     transform_caps function is useful for elements that only inspect data
- *     (such as level)
+ *     #GstBaseTransformClass.passthrough_on_same_caps on an element that
+ *     doesn't implement a transform_caps function is useful for elements that
+ *     only inspect data (such as level)
  *   </para></listitem>
  *   </itemizedlist>
  *   <itemizedlist>
@@ -94,7 +94,7 @@
  *     immediately.  </para></listitem>
  *   <listitem><para>
  *     only implementing transform_ip and not transform implies always_in_place
- *     = TRUE
+ *     = %TRUE
  *   </para></listitem>
  *   </itemizedlist>
  *   <itemizedlist>
@@ -116,7 +116,7 @@
  *   <listitem><para>
  *     Elements wishing to operate in this mode should replace the
  *     prepare_output_buffer method to create subbuffers of the input buffer
- *     and set always_in_place to TRUE
+ *     and set always_in_place to %TRUE
  *   </para></listitem>
  *   </itemizedlist>
  *   <itemizedlist>
@@ -185,10 +185,10 @@
  *       to the transform_ip function.
  *     </para></listitem>
  *     <listitem><para>
- *       Implied TRUE if no transform function is implemented.
+ *       Implied %TRUE if no transform function is implemented.
  *     </para></listitem>
  *     <listitem><para>
- *       Implied FALSE if ONLY transform function is implemented.
+ *       Implied %FALSE if ONLY transform function is implemented.
  *     </para></listitem>
  *   </itemizedlist>
  * </para></listitem>
@@ -1457,16 +1457,15 @@
     case GST_QUERY_ALLOCATION:
     {
       GstQuery *decide_query = NULL;
-      gboolean negotiated;
 
       /* can only be done on the sinkpad */
       if (direction != GST_PAD_SINK)
         goto done;
 
       GST_OBJECT_LOCK (trans);
-      if (G_UNLIKELY (!(negotiated = priv->negotiated))) {
+      if (!priv->negotiated && !priv->passthrough && (klass->set_caps != NULL)) {
         GST_DEBUG_OBJECT (trans,
-            "not negotiated yet, can't answer ALLOCATION query");
+            "not negotiated yet but need negotiation, can't answer ALLOCATION query");
         GST_OBJECT_UNLOCK (trans);
         goto done;
       }
@@ -1718,7 +1717,7 @@
   }
 
   /* we only copy metadata when the subclass implemented a transform_meta
-   * function and when it returns TRUE */
+   * function and when it returns %TRUE */
   if (do_copy) {
     GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
     GST_DEBUG_OBJECT (trans, "copy metadata %s", g_type_name (info->api));
@@ -1779,7 +1778,7 @@
  * We have two cache locations to store the size, one for the source caps
  * and one for the sink caps.
  *
- * this function returns FALSE if no size could be calculated.
+ * this function returns %FALSE if no size could be calculated.
  */
 static gboolean
 gst_base_transform_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
@@ -2440,7 +2439,7 @@
  * Set passthrough mode for this filter by default. This is mostly
  * useful for filters that do not care about negotiation.
  *
- * Always TRUE for filters which don't implement either a transform
+ * Always %TRUE for filters which don't implement either a transform
  * or transform_ip method.
  *
  * MT safe.
@@ -2473,7 +2472,7 @@
  *
  * See if @trans is configured as a passthrough transform.
  *
- * Returns: TRUE is the transform is configured in passthrough mode.
+ * Returns: %TRUE is the transform is configured in passthrough mode.
  *
  * MT safe.
  */
@@ -2500,8 +2499,8 @@
  * Determines whether a non-writable buffer will be copied before passing
  * to the transform_ip function.
  * <itemizedlist>
- *   <listitem>Always TRUE if no transform function is implemented.</listitem>
- *   <listitem>Always FALSE if ONLY transform function is implemented.</listitem>
+ *   <listitem>Always %TRUE if no transform function is implemented.</listitem>
+ *   <listitem>Always %FALSE if ONLY transform function is implemented.</listitem>
  * </itemizedlist>
  *
  * MT safe.
@@ -2538,7 +2537,7 @@
  *
  * See if @trans is configured as a in_place transform.
  *
- * Returns: TRUE is the transform is configured in in_place mode.
+ * Returns: %TRUE is the transform is configured in in_place mode.
  *
  * MT safe.
  */
@@ -2613,7 +2612,7 @@
  *
  * Queries if the transform will handle QoS.
  *
- * Returns: TRUE if QoS is enabled.
+ * Returns: %TRUE if QoS is enabled.
  *
  * MT safe.
  */
diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h
index 18cce12..3043a62 100644
--- a/libs/gst/base/gstbasetransform.h
+++ b/libs/gst/base/gstbasetransform.h
@@ -132,13 +132,13 @@
  *                    If there is a @filter_meta method implementation, it will
  *                    be called for all metadata API in the downstream query,
  *                    otherwise the metadata API is removed.
- * @filter_meta: Return TRUE if the metadata API should be proposed in the
- *               upstream allocation query. The default implementation is NULL
+ * @filter_meta: Return %TRUE if the metadata API should be proposed in the
+ *               upstream allocation query. The default implementation is %NULL
  *               and will cause all metadata to be removed.
  * @propose_allocation: Propose buffer allocation parameters for upstream elements.
  *                      This function must be implemented if the element reads or
  *                      writes the buffer content. The query that was passed to
- *                      the decide_allocation is passed in this method (or NULL
+ *                      the decide_allocation is passed in this method (or %NULL
  *                      when the element is in passthrough mode). The default
  *                      implementation will pass the query downstream when in
  *                      passthrough mode and will copy all the filtered metadata
@@ -176,9 +176,9 @@
  *                 The default implementation will copy the flags, timestamps and
  *                 offsets of the buffer.
  * @transform_meta: Optional. Transform the metadata on the input buffer to the
- *                  output buffer. By default this method is NULL and no
+ *                  output buffer. By default this method is %NULL and no
  *                  metadata is copied. subclasses can implement this method and
- *                  return TRUE if the metadata is to be copied.
+ *                  return %TRUE if the metadata is to be copied.
  * @before_transform: Optional.
  *                    This method is called right before the base class will
  *                    start processing. Dynamic properties or other delayed
diff --git a/libs/gst/base/gstbytereader.c b/libs/gst/base/gstbytereader.c
index a037eb6..b73a679 100644
--- a/libs/gst/base/gstbytereader.c
+++ b/libs/gst/base/gstbytereader.c
@@ -775,23 +775,21 @@
 static inline gint
 _scan_for_start_code (const guint8 * data, guint offset, guint size)
 {
-  guint i = 0;
+  guint8 *pdata = (guint8 *) data;
+  guint8 *pend = (guint8 *) (data + size - 4);
 
-  while (i <= (size - 4)) {
-    if (data[i + 2] > 1) {
-      i += 3;
-    } else if (data[i + 1]) {
-      i += 2;
-    } else if (data[i] || data[i + 2] != 1) {
-      i++;
+  while (pdata <= pend) {
+    if (pdata[2] > 1) {
+      pdata += 3;
+    } else if (pdata[1]) {
+      pdata += 2;
+    } else if (pdata[0] || pdata[2] != 1) {
+      pdata++;
     } else {
-      break;
+      return (pdata - data + offset);
     }
   }
 
-  if (i <= (size - 4))
-    return i + offset;
-
   /* nothing found */
   return -1;
 }
diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c
index c6860ad..8f97b71 100644
--- a/libs/gst/base/gstcollectpads.c
+++ b/libs/gst/base/gstcollectpads.c
@@ -49,8 +49,8 @@
  *   <listitem><para>
  *     Data can be dequeued from the pad with the gst_collect_pads_pop() method.
  *     One can peek at the data with the gst_collect_pads_peek() function.
- *     These functions will return NULL if the pad received an EOS event. When all
- *     pads return NULL from a gst_collect_pads_peek(), the element can emit an EOS
+ *     These functions will return %NULL if the pad received an EOS event. When all
+ *     pads return %NULL from a gst_collect_pads_peek(), the element can emit an EOS
  *     event itself.
  *   </para></listitem>
  *   <listitem><para>
@@ -296,7 +296,7 @@
  *
  * MT safe.
  *
- * Returns: (transfer full): a new #GstCollectPads, or NULL in case of an error.
+ * Returns: (transfer full): a new #GstCollectPads, or %NULL in case of an error.
  */
 GstCollectPads *
 gst_collect_pads_new (void)
@@ -324,7 +324,7 @@
  * @user_data: (closure): user data passed to the function
  *
  * Set the callback function and user data that will be called with
- * the oldest buffer when all pads have been collected, or NULL on EOS.
+ * the oldest buffer when all pads have been collected, or %NULL on EOS.
  * If a buffer is passed, the callback owns a reference and must unref
  * it.
  *
@@ -606,7 +606,7 @@
  *
  * MT safe.
  *
- * Returns: a new #GstCollectData to identify the new pad. Or NULL
+ * Returns: a new #GstCollectData to identify the new pad. Or %NULL
  *   if wrong parameters are supplied.
  */
 GstCollectData *
@@ -924,7 +924,7 @@
  *
  * MT safe.
  *
- * Returns: The buffer in @data or NULL if no buffer is queued.
+ * Returns: The buffer in @data or %NULL if no buffer is queued.
  *  should unref the buffer after usage.
  */
 GstBuffer *
@@ -956,7 +956,7 @@
  *
  * MT safe.
  *
- * Returns: (transfer full): The buffer in @data or NULL if no buffer was
+ * Returns: (transfer full): The buffer in @data or %NULL if no buffer was
  *   queued. You should unref the buffer after usage.
  */
 GstBuffer *
@@ -1124,7 +1124,7 @@
  * MT safe.
  *
  * Returns: (transfer full): A sub buffer. The size of the buffer can be less that requested.
- * A return of NULL signals that the pad is end-of-stream.
+ * A return of %NULL signals that the pad is end-of-stream.
  * Unref the buffer after use.
  */
 GstBuffer *
@@ -1163,7 +1163,7 @@
  * MT safe.
  *
  * Returns: A sub buffer. The size of the buffer can be less that requested.
- * A return of NULL signals that the pad is end-of-stream.
+ * A return of %NULL signals that the pad is end-of-stream.
  * Unref the buffer after use.
  */
 GstBuffer *
@@ -1366,7 +1366,7 @@
  *
  * Must be called with STREAM_LOCK.
  *
- * Returns TRUE if a pad was set to waiting
+ * Returns %TRUE if a pad was set to waiting
  * (from non-waiting state).
  */
 static gboolean
@@ -1639,7 +1639,7 @@
  * @event: event being processed
  * @discard: process but do not send event downstream
  *
- * Default GstCollectPads event handling that elements should always
+ * Default #GstCollectPads event handling that elements should always
  * chain up to to ensure proper operation.  Element might however indicate
  * event should not be forwarded downstream.
  */
@@ -1893,7 +1893,7 @@
  * @pad: src #GstPad that received the event
  * @event: event being processed
  *
- * Default GstCollectPads event handling for the src pad of elements.
+ * Default #GstCollectPads event handling for the src pad of elements.
  * Elements can chain up to this to let flushing seek event handling
  * be done by GstCollectPads.
  *
@@ -2010,7 +2010,7 @@
  * @query: query being processed
  * @discard: process but do not send event downstream
  *
- * Default GstCollectPads query handling that elements should always
+ * Default #GstCollectPads query handling that elements should always
  * chain up to to ensure proper operation.  Element might however indicate
  * query should not be forwarded downstream.
  */
diff --git a/libs/gst/base/gstcollectpads.h b/libs/gst/base/gstcollectpads.h
index 3bcce87..0ba2dee 100644
--- a/libs/gst/base/gstcollectpads.h
+++ b/libs/gst/base/gstcollectpads.h
@@ -139,7 +139,7 @@
  *
  * A function that will be called when all pads have received data.
  *
- * Returns: #GST_FLOW_OK for success
+ * Returns: %GST_FLOW_OK for success
  */
 typedef GstFlowReturn (*GstCollectPadsFunction) (GstCollectPads *pads, gpointer user_data);
 
@@ -151,10 +151,10 @@
  * @user_data: user data passed to gst_collect_pads_set_buffer_function()
  *
  * A function that will be called when a (considered oldest) buffer can be muxed.
- * If all pads have reached EOS, this function is called with NULL @buffer
- * and NULL @data.
+ * If all pads have reached EOS, this function is called with %NULL @buffer
+ * and %NULL @data.
  *
- * Returns: #GST_FLOW_OK for success
+ * Returns: %GST_FLOW_OK for success
  */
 typedef GstFlowReturn (*GstCollectPadsBufferFunction) (GstCollectPads *pads, GstCollectData *data,
                                                        GstBuffer *buffer, gpointer user_data);
diff --git a/libs/gst/base/gstdataqueue.c b/libs/gst/base/gstdataqueue.c
index 39c4efe..e34b265 100644
--- a/libs/gst/base/gstdataqueue.c
+++ b/libs/gst/base/gstdataqueue.c
@@ -209,12 +209,13 @@
 }
 
 /**
- * gst_data_queue_new:
+ * gst_data_queue_new: (skip)
  * @checkfull: the callback used to tell if the element considers the queue full
  * or not.
  * @fullcallback: the callback which will be called when the queue is considered full.
  * @emptycallback: the callback which will be called when the queue is considered empty.
- * @checkdata: a #gpointer that will be given in the @checkfull callback.
+ * @checkdata: a #gpointer that will be passed to the @checkfull, @fullcallback,
+ *   and @emptycallback callbacks.
  *
  * Creates a new #GstDataQueue. The difference with @gst_data_queue_new is that it will
  * not emit the 'full' and 'empty' signals, but instead calling directly @fullcallback
@@ -336,7 +337,7 @@
  * Queries if there are any items in the @queue.
  * MT safe.
  *
- * Returns: #TRUE if @queue is empty.
+ * Returns: %TRUE if @queue is empty.
  *
  * Since: 1.2
  */
@@ -360,7 +361,7 @@
  * #GstDataQueueCheckFullFunction registered with @queue.
  * MT safe.
  *
- * Returns: #TRUE if @queue is full.
+ * Returns: %TRUE if @queue is full.
  *
  * Since: 1.2
  */
@@ -381,11 +382,11 @@
  * @queue: a #GstDataQueue.
  * @flushing: a #gboolean stating if the queue will be flushing or not.
  *
- * Sets the queue to flushing state if @flushing is #TRUE. If set to flushing
+ * Sets the queue to flushing state if @flushing is %TRUE. If set to flushing
  * state, any incoming data on the @queue will be discarded. Any call currently
  * blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight
- * away with a return value of #FALSE. While the @queue is in flushing state, 
- * all calls to those two functions will return #FALSE.
+ * away with a return value of %FALSE. While the @queue is in flushing state, 
+ * all calls to those two functions will return %FALSE.
  *
  * MT Safe.
  *
@@ -436,10 +437,10 @@
  *
  * Note that this function has slightly different semantics than gst_pad_push()
  * and gst_pad_push_event(): this function only takes ownership of @item and
- * the #GstMiniObject contained in @item if the push was successful. If FALSE
+ * the #GstMiniObject contained in @item if the push was successful. If %FALSE
  * is returned, the caller is responsible for freeing @item and its contents.
  *
- * Returns: #TRUE if the @item was successfully pushed on the @queue.
+ * Returns: %TRUE if the @item was successfully pushed on the @queue.
  *
  * Since: 1.2
  */
@@ -484,10 +485,10 @@
  *
  * Note that this function has slightly different semantics than gst_pad_push()
  * and gst_pad_push_event(): this function only takes ownership of @item and
- * the #GstMiniObject contained in @item if the push was successful. If FALSE
+ * the #GstMiniObject contained in @item if the push was successful. If %FALSE
  * is returned, the caller is responsible for freeing @item and its contents.
  *
- * Returns: #TRUE if the @item was successfully pushed on the @queue.
+ * Returns: %TRUE if the @item was successfully pushed on the @queue.
  *
  * Since: 1.2
  */
@@ -566,7 +567,7 @@
  * @queue is set to the flushing state.
  * MT safe.
  *
- * Returns: #TRUE if an @item was successfully retrieved from the @queue.
+ * Returns: %TRUE if an @item was successfully retrieved from the @queue.
  *
  * Since: 1.2
  */
@@ -636,7 +637,7 @@
  * one item is available, OR the @queue is set to the flushing state.
  * MT safe.
  *
- * Returns: #TRUE if an @item was successfully retrieved from the @queue.
+ * Returns: %TRUE if an @item was successfully retrieved from the @queue.
  *
  * Since: 1.2
  */
@@ -688,7 +689,7 @@
  *
  * Pop and unref the head-most #GstMiniObject with the given #GType.
  *
- * Returns: TRUE if an element was removed.
+ * Returns: %TRUE if an element was removed.
  *
  * Since: 1.2
  */
diff --git a/libs/gst/base/gstdataqueue.h b/libs/gst/base/gstdataqueue.h
index c707c8b..7350c42 100644
--- a/libs/gst/base/gstdataqueue.h
+++ b/libs/gst/base/gstdataqueue.h
@@ -47,8 +47,8 @@
  * @object: the #GstMiniObject to queue.
  * @size: the size in bytes of the miniobject.
  * @duration: the duration in #GstClockTime of the miniobject. Can not be
- * #GST_CLOCK_TIME_NONE.
- * @visible: #TRUE if @object should be considered as a visible object.
+ * %GST_CLOCK_TIME_NONE.
+ * @visible: %TRUE if @object should be considered as a visible object.
  * @destroy: The #GDestroyNotify function to use to free the #GstDataQueueItem.
  * This function should also drop the reference to @object the owner of the
  * #GstDataQueueItem is assumed to hold.
@@ -97,7 +97,7 @@
  * The prototype of the function used to inform the queue that it should be
  * considered as full.
  *
- * Returns: #TRUE if the queue should be considered full.
+ * Returns: %TRUE if the queue should be considered full.
  */
 typedef gboolean (*GstDataQueueCheckFullFunction) (GstDataQueue * queue,
     guint visible, guint bytes, guint64 time, gpointer checkdata);
diff --git a/libs/gst/base/gstflowcombiner.c b/libs/gst/base/gstflowcombiner.c
new file mode 100644
index 0000000..e21f6c2
--- /dev/null
+++ b/libs/gst/base/gstflowcombiner.c
@@ -0,0 +1,248 @@
+/* GStreamer
+ *
+ * Copyright (C) 2014 Samsung Electronics. All rights reserved.
+ *   Author: Thiago Santos <ts.santos@sisa.samsung.com>
+ *
+ * gstflowcombiner.c: utility to combine multiple flow returns into a single one
+ *
+ * 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:gstflowcombiner
+ * @short_description: Utility to combine multiple flow returns into one
+ *
+ * Utility struct to help handling #GstFlowReturn combination. Useful for
+ * #GstElement<!-- -->s that have multiple source pads and need to combine
+ * the different #GstFlowReturn for those pads.
+ *
+ * #GstFlowCombiner works by using the last #GstFlowReturn for all #GstPad
+ * it has in its list and computes the combined return value and provides
+ * it to the caller.
+ *
+ * To add a new pad to the #GstFlowCombiner use gst_flow_combiner_add_pad().
+ * The new #GstPad is stored with a default value of %GST_FLOW_OK.
+ *
+ * In case you want a #GstPad to be removed, use gst_flow_combiner_remove_pad().
+ *
+ * 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.
+ *
+ * None of these functions will take refs on the passed #GstPad<!-- -->s, it
+ * is the caller's responsibility to make sure that the #GstPad exists as long
+ * as this struct exists.
+ *
+ * Aside from reducing the user's code size, the main advantage of using this
+ * helper struct is to follow the standard rules for #GstFlowReturn combination.
+ * These rules are:
+ *
+ * * %GST_FLOW_EOS: only if all returns are EOS too
+ * * %GST_FLOW_NOT_LINKED: only if all returns are NOT_LINKED too
+ * * %GST_FLOW_ERROR or below: if at least one returns an error return
+ * * %GST_FLOW_NOT_NEGOTIATED: if at least one returns a not-negotiated return
+ * * %GST_FLOW_FLUSHING: if at least one returns flushing
+ * * %GST_FLOW_OK: otherwise
+ *
+ * %GST_FLOW_ERROR or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are
+ * returned immediatelly from the gst_flow_combiner_update_flow() function.
+ *
+ * Since: 1.4
+ */
+
+#include <gst/gst.h>
+#include "gstflowcombiner.h"
+
+struct _GstFlowCombiner
+{
+  GQueue pads;
+
+  GstFlowReturn last_ret;
+  volatile gint ref_count;
+};
+
+static GstFlowCombiner *gst_flow_combiner_ref (GstFlowCombiner * combiner);
+static void gst_flow_combiner_unref (GstFlowCombiner * combiner);
+
+G_DEFINE_BOXED_TYPE (GstFlowCombiner, gst_flow_combiner,
+    (GBoxedCopyFunc) gst_flow_combiner_ref,
+    (GBoxedFreeFunc) gst_flow_combiner_unref);
+
+/**
+ * gst_flow_combiner_new:
+ *
+ * Creates a new #GstFlowCombiner, use gst_flow_combiner_free() to free it.
+ *
+ * Returns: A new #GstFlowCombiner
+ * Since: 1.4
+ */
+GstFlowCombiner *
+gst_flow_combiner_new (void)
+{
+  GstFlowCombiner *combiner = g_slice_new (GstFlowCombiner);
+
+  g_queue_init (&combiner->pads);
+  combiner->last_ret = GST_FLOW_OK;
+  combiner->ref_count = 1;
+
+  return combiner;
+}
+
+/**
+ * gst_flow_combiner_free:
+ * @combiner: the #GstFlowCombiner to free
+ *
+ * Frees a #GstFlowCombiner struct and all its internal data.
+ *
+ * Since: 1.4
+ */
+void
+gst_flow_combiner_free (GstFlowCombiner * combiner)
+{
+  gst_flow_combiner_unref (combiner);
+}
+
+static GstFlowCombiner *
+gst_flow_combiner_ref (GstFlowCombiner * combiner)
+{
+  g_return_val_if_fail (combiner != NULL, NULL);
+
+  g_atomic_int_inc (&combiner->ref_count);
+
+  return combiner;
+}
+
+static void
+gst_flow_combiner_unref (GstFlowCombiner * combiner)
+{
+  g_return_if_fail (combiner != NULL);
+  g_return_if_fail (combiner->ref_count > 0);
+
+  if (g_atomic_int_dec_and_test (&combiner->ref_count)) {
+    GstPad *pad;
+
+    while ((pad = g_queue_pop_head (&combiner->pads)))
+      gst_object_unref (pad);
+
+    g_slice_free (GstFlowCombiner, combiner);
+  }
+}
+
+static GstFlowReturn
+gst_flow_combiner_get_flow (GstFlowCombiner * combiner)
+{
+  GstFlowReturn cret = GST_FLOW_OK;
+  gboolean all_eos = TRUE;
+  gboolean all_notlinked = TRUE;
+  GList *iter;
+
+  GST_DEBUG ("Combining flow returns");
+
+  for (iter = combiner->pads.head; iter; iter = iter->next) {
+    GstFlowReturn fret = GST_PAD_LAST_FLOW_RETURN (iter->data);
+
+    if (fret <= GST_FLOW_NOT_NEGOTIATED || fret == GST_FLOW_FLUSHING) {
+      GST_DEBUG ("Error flow return found, returning");
+      cret = fret;
+      goto done;
+    }
+
+    if (fret != GST_FLOW_NOT_LINKED) {
+      all_notlinked = FALSE;
+      if (fret != GST_FLOW_EOS)
+        all_eos = FALSE;
+    }
+  }
+  if (all_notlinked)
+    cret = GST_FLOW_NOT_LINKED;
+  else if (all_eos)
+    cret = GST_FLOW_EOS;
+
+done:
+  GST_DEBUG ("Combined flow return: %s (%d)", gst_flow_get_name (cret), cret);
+  return cret;
+}
+
+/**
+ * gst_flow_combiner_update_flow:
+ * @combiner: the #GstFlowCombiner
+ * @fret: the latest #GstFlowReturn received for a pad in this #GstFlowCombiner
+ *
+ * Computes the combined flow return for the pads in it.
+ *
+ * The #GstFlowReturn paramter should be the last flow return update for a pad
+ * in this #GstFlowCombiner. It will use this value to be able to shortcut some
+ * combinations and avoid looking over all pads again. e.g. The last combined
+ * return is the same as the latest obtained #GstFlowReturn.
+ *
+ * Returns: The combined #GstFlowReturn
+ * Since: 1.4
+ */
+GstFlowReturn
+gst_flow_combiner_update_flow (GstFlowCombiner * combiner, GstFlowReturn fret)
+{
+  GstFlowReturn ret;
+
+  g_return_val_if_fail (combiner != NULL, GST_FLOW_ERROR);
+
+  if (combiner->last_ret == fret) {
+    return fret;
+  }
+
+  if (fret <= GST_FLOW_NOT_NEGOTIATED || fret == GST_FLOW_FLUSHING) {
+    ret = fret;
+  } else {
+    ret = gst_flow_combiner_get_flow (combiner);
+  }
+  combiner->last_ret = ret;
+  return ret;
+}
+
+/**
+ * gst_flow_combiner_add_pad:
+ * @combiner: the #GstFlowCombiner
+ * @pad: (transfer none): the #GstPad that is being added
+ *
+ * Adds a new #GstPad to the #GstFlowCombiner.
+ *
+ * Since: 1.4
+ */
+void
+gst_flow_combiner_add_pad (GstFlowCombiner * combiner, GstPad * pad)
+{
+  g_return_if_fail (combiner != NULL);
+  g_return_if_fail (pad != NULL);
+
+  g_queue_push_head (&combiner->pads, gst_object_ref (pad));
+}
+
+/**
+ * gst_flow_combiner_remove_pad:
+ * @combiner: the #GstFlowCombiner
+ * @pad: (transfer none): the #GstPad to remove
+ *
+ * Removes a #GstPad from the #GstFlowCombiner.
+ *
+ * Since: 1.4
+ */
+void
+gst_flow_combiner_remove_pad (GstFlowCombiner * combiner, GstPad * pad)
+{
+  g_return_if_fail (combiner != NULL);
+  g_return_if_fail (pad != NULL);
+
+  if (g_queue_remove (&combiner->pads, pad))
+    gst_object_unref (pad);
+}
diff --git a/libs/gst/base/gstflowcombiner.h b/libs/gst/base/gstflowcombiner.h
new file mode 100644
index 0000000..43c37e3
--- /dev/null
+++ b/libs/gst/base/gstflowcombiner.h
@@ -0,0 +1,58 @@
+/* GStreamer
+ *
+ * Copyright (C) 2014 Samsung Electronics. All rights reserved.
+ *   Author: Thiago Santos <ts.santos@sisa.samsung.com>
+ *
+ * gstflowcombiner.h: utility to combine multiple flow returns into a single one
+ *
+ * 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_FLOW_COMBINER_H__
+#define __GST_FLOW_COMBINER_H__
+
+#include <glib.h>
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_FLOW_COMBINER gst_flow_combiner_get_type()
+
+/**
+ * GstFlowCombiner:
+ *
+ * Opaque helper structure to aggregate flow returns.
+ *
+ * Since: 1.4
+ */
+typedef struct _GstFlowCombiner GstFlowCombiner;
+
+GstFlowCombiner * gst_flow_combiner_new (void);
+
+void              gst_flow_combiner_free (GstFlowCombiner * combiner);
+
+GstFlowReturn     gst_flow_combiner_update_flow (GstFlowCombiner * combiner, GstFlowReturn fret);
+
+void              gst_flow_combiner_add_pad    (GstFlowCombiner * combiner, GstPad * pad);
+
+void              gst_flow_combiner_remove_pad (GstFlowCombiner * combiner, GstPad * pad);
+
+GType             gst_flow_combiner_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_FLOW_COMBINER_H__ */
diff --git a/libs/gst/base/gstindex.c b/libs/gst/base/gstindex.c
index 3786e95..b614d2c 100644
--- a/libs/gst/base/gstindex.c
+++ b/libs/gst/base/gstindex.c
@@ -25,7 +25,7 @@
  * @short_description: Generate indexes on objects
  * @see_also: #GstIndexFactory
  *
- * GstIndex is used to generate a stream index of one or more elements
+ * #GstIndex is used to generate a stream index of one or more elements
  * in a pipeline.
  *
  * Elements will overload the set_index and get_index virtual methods in
@@ -368,7 +368,7 @@
  *
  * Set the current groupnumber to the given argument.
  *
- * Returns: TRUE if the operation succeeded, FALSE if the group
+ * Returns: %TRUE if the operation succeeded, %FALSE if the group
  * did not exist.
  */
 gboolean
@@ -571,7 +571,7 @@
  * @format: the format to add to the index
  *
  * Adds a format entry into the index. This function is
- * used to map dynamic GstFormat ids to their original
+ * used to map dynamic #GstFormat ids to their original
  * format key.
  *
  * Free-function: gst_index_entry_free
@@ -676,7 +676,7 @@
 /**
  * gst_index_get_writer_id:
  * @index: the index to get a unique write id for
- * @writer: the GstObject to allocate an id for
+ * @writer: the #GstObject to allocate an id for
  * @id: a pointer to a gint to hold the id
  *
  * Before entries can be added to the index, a writer
@@ -688,12 +688,12 @@
  * in the index.
  *
  * <note>
- * The caller must not hold @writer's #GST_OBJECT_LOCK, as the default
+ * The caller must not hold @writer's GST_OBJECT_LOCK(), as the default
  * resolver may call functions that take the object lock as well, and
  * the lock is not recursive.
  * </note>
  *
- * Returns: TRUE if the writer would be mapped to an id.
+ * Returns: %TRUE if the writer would be mapped to an id.
  */
 gboolean
 gst_index_get_writer_id (GstIndex * index, GstObject * writer, gint * id)
@@ -775,7 +775,7 @@
  * @id: the id of the index writer
  * @flags: optinal flags for this entry
  * @n: number of associations
- * @list: list of associations
+ * @list: (array length=n): list of associations
  *
  * Associate given format/value pairs with each other.
  *
@@ -918,7 +918,7 @@
  *
  * Finds the given format/value in the index
  *
- * Returns: the entry associated with the value or NULL if the
+ * Returns: the entry associated with the value or %NULL if the
  *   value was not found.
  */
 GstIndexEntry *
@@ -949,7 +949,7 @@
  * Finds the given format/value in the index with the given
  * compare function and user_data.
  *
- * Returns: the entry associated with the value or NULL if the
+ * Returns: the entry associated with the value or %NULL if the
  *   value was not found.
  */
 GstIndexEntry *
@@ -981,7 +981,7 @@
  *
  * Gets alternative formats associated with the indexentry.
  *
- * Returns: TRUE if there was a value associated with the given
+ * Returns: %TRUE if there was a value associated with the given
  * format.
  */
 gboolean
diff --git a/libs/gst/base/gstqueuearray.c b/libs/gst/base/gstqueuearray.c
index 8061ff1..d37535d 100644
--- a/libs/gst/base/gstqueuearray.c
+++ b/libs/gst/base/gstqueuearray.c
@@ -145,7 +145,7 @@
   /* Check if we need to make room */
   if (G_UNLIKELY (array->length == array->size)) {
     /* newsize is 50% bigger */
-    guint newsize = (3 * array->size) / 2;
+    guint newsize = MAX ((3 * array->size) / 2, array->size + 1);
 
     /* copy over data */
     if (array->tail != 0) {
diff --git a/libs/gst/base/gsttypefindhelper.c b/libs/gst/base/gsttypefindhelper.c
index 5f30c8c..1a0d327 100644
--- a/libs/gst/base/gsttypefindhelper.c
+++ b/libs/gst/base/gsttypefindhelper.c
@@ -163,7 +163,7 @@
 #endif
 
   /* getrange might silently return shortened buffers at the end of a file,
-   * we must, however, always return either the full requested data or NULL */
+   * we must, however, always return either the full requested data or %NULL */
   buf_offset = GST_BUFFER_OFFSET (buffer);
   buf_size = gst_buffer_get_size (buffer);
 
@@ -246,13 +246,13 @@
 /**
  * gst_type_find_helper_get_range:
  * @obj: A #GstObject that will be passed as first argument to @func
- * @parent: (allow-none): the parent of @obj or NULL
+ * @parent: (allow-none): the parent of @obj or %NULL
  * @func: (scope call): A generic #GstTypeFindHelperGetRangeFunction that will
  *        be used to access data at random offsets when doing the typefinding
  * @size: The length in bytes
  * @extension: extension of the media
  * @prob: (out) (allow-none): location to store the probability of the found
- *     caps, or #NULL
+ *     caps, or %NULL
  *
  * Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
  * however, this function will use the specified function @func to obtain the
@@ -263,14 +263,14 @@
  * callback can then call the upstream peer pad with offsets adjusted for the
  * tag size, for example).
  *
- * When @extension is not NULL, this function will first try the typefind
+ * When @extension is not %NULL, this function will first try the typefind
  * functions for the given extension, which might speed up the typefinding
  * in many cases.
  *
  * Free-function: gst_caps_unref
  *
  * Returns: (transfer full): the #GstCaps corresponding to the data stream.
- *     Returns #NULL if no #GstCaps matches the data stream.
+ *     Returns %NULL if no #GstCaps matches the data stream.
  */
 GstCaps *
 gst_type_find_helper_get_range (GstObject * obj, GstObject * parent,
@@ -389,7 +389,7 @@
  * Free-function: gst_caps_unref
  *
  * Returns: (transfer full): the #GstCaps corresponding to the data stream.
- *     Returns #NULL if no #GstCaps matches the data stream.
+ *     Returns %NULL if no #GstCaps matches the data stream.
  */
 
 GstCaps *
@@ -480,26 +480,26 @@
 
 /**
  * gst_type_find_helper_for_data:
- * @obj: (allow-none): object doing the typefinding, or NULL (used for logging)
+ * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
  * @data: (in) (transfer none): a pointer with data to typefind
  * @size: (in) (transfer none): the size of @data
  * @prob: (out) (allow-none): location to store the probability of the found
- *     caps, or #NULL
+ *     caps, or %NULL
  *
  * Tries to find what type of data is contained in the given @data, the
  * assumption being that the data represents the beginning of the stream or
  * file.
  *
  * All available typefinders will be called on the data in order of rank. If
- * a typefinding function returns a probability of #GST_TYPE_FIND_MAXIMUM,
+ * a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM,
  * 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 #NULL if
+ * and the caps with the highest probability will be returned, or %NULL if
  * the content of @data could not be identified.
  *
  * Free-function: gst_caps_unref
  *
- * Returns: (transfer full): the #GstCaps corresponding to the data, or #NULL
+ * Returns: (transfer full): the #GstCaps corresponding to the data, or %NULL
  *     if no type could be found. The caller should free the caps returned
  *     with gst_caps_unref().
  */
@@ -552,25 +552,25 @@
 
 /**
  * gst_type_find_helper_for_buffer:
- * @obj: (allow-none): object doing the typefinding, or NULL (used for logging)
+ * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
  * @buf: (in) (transfer none): a #GstBuffer with data to typefind
  * @prob: (out) (allow-none): location to store the probability of the found
- *     caps, or #NULL
+ *     caps, or %NULL
  *
  * Tries to find what type of data is contained in the given #GstBuffer, the
  * assumption being that the buffer represents the beginning of the stream or
  * file.
  *
  * All available typefinders will be called on the data in order of rank. If
- * a typefinding function returns a probability of #GST_TYPE_FIND_MAXIMUM,
+ * a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM,
  * 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 #NULL if
+ * and the caps with the highest probability will be returned, or %NULL if
  * the content of the buffer could not be identified.
  *
  * Free-function: gst_caps_unref
  *
- * Returns: (transfer full): the #GstCaps corresponding to the data, or #NULL
+ * Returns: (transfer full): the #GstCaps corresponding to the data, or %NULL
  *     if no type could be found. The caller should free the caps returned
  *     with gst_caps_unref().
  */
@@ -596,7 +596,7 @@
 
 /**
  * gst_type_find_helper_for_extension:
- * @obj: (allow-none): object doing the typefinding, or NULL (used for logging)
+ * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
  * @extension: an extension
  *
  * Tries to find the best #GstCaps associated with @extension.
@@ -608,7 +608,7 @@
  * Free-function: gst_caps_unref
  *
  * Returns: (transfer full): the #GstCaps corresponding to @extension, or
- *     #NULL if no type could be found. The caller should free the caps
+ *     %NULL if no type could be found. The caller should free the caps
  *     returned with gst_caps_unref().
  */
 GstCaps *
diff --git a/libs/gst/base/gsttypefindhelper.h b/libs/gst/base/gsttypefindhelper.h
index 9447f9b..6770e4f 100644
--- a/libs/gst/base/gsttypefindhelper.h
+++ b/libs/gst/base/gsttypefindhelper.h
@@ -44,7 +44,7 @@
 /**
  * GstTypeFindHelperGetRangeFunction:
  * @obj: a #GstObject that will handle the getrange request
- * @parent: (allow-none): the parent of @obj or NULL
+ * @parent: (allow-none): the parent of @obj or %NULL
  * @offset: the offset of the range
  * @length: the length of the range
  * @buffer: a memory location to hold the result buffer
diff --git a/plugins/elements/Makefile.am b/plugins/elements/Makefile.am
index 164c4a9..3821b3c 100644
--- a/plugins/elements/Makefile.am
+++ b/plugins/elements/Makefile.am
@@ -6,6 +6,7 @@
 	gstcapsfilter.c		\
 	gstdownloadbuffer.c     \
 	gstelements.c		\
+	gstelements_private.c	\
 	gstfakesrc.c		\
 	gstfakesink.c		\
 	gstfdsrc.c		\
@@ -34,6 +35,7 @@
 noinst_HEADERS =		\
 	gstcapsfilter.h		\
 	gstdownloadbuffer.h	\
+	gstelements_private.h	\
 	gstfakesink.h		\
 	gstfakesrc.h		\
 	gstfdsrc.h		\
diff --git a/plugins/elements/Makefile.in b/plugins/elements/Makefile.in
index 0bf9347..a7df076 100644
--- a/plugins/elements/Makefile.in
+++ b/plugins/elements/Makefile.in
@@ -159,6 +159,7 @@
 	libgstcoreelements_la-gstcapsfilter.lo \
 	libgstcoreelements_la-gstdownloadbuffer.lo \
 	libgstcoreelements_la-gstelements.lo \
+	libgstcoreelements_la-gstelements_private.lo \
 	libgstcoreelements_la-gstfakesrc.lo \
 	libgstcoreelements_la-gstfakesink.lo \
 	libgstcoreelements_la-gstfdsrc.lo \
@@ -529,6 +530,7 @@
 	gstcapsfilter.c		\
 	gstdownloadbuffer.c     \
 	gstelements.c		\
+	gstelements_private.c	\
 	gstfakesrc.c		\
 	gstfakesink.c		\
 	gstfdsrc.c		\
@@ -557,6 +559,7 @@
 noinst_HEADERS = \
 	gstcapsfilter.h		\
 	gstdownloadbuffer.h	\
+	gstelements_private.h	\
 	gstfakesink.h		\
 	gstfakesrc.h		\
 	gstfdsrc.h		\
@@ -661,6 +664,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstcapsfilter.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstdownloadbuffer.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstelements.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstelements_private.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstfakesink.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstfakesrc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstfdsink.Plo@am__quote@
@@ -724,6 +728,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstelements.lo `test -f 'gstelements.c' || echo '$(srcdir)/'`gstelements.c
 
+libgstcoreelements_la-gstelements_private.lo: gstelements_private.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstelements_private.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstelements_private.Tpo -c -o libgstcoreelements_la-gstelements_private.lo `test -f 'gstelements_private.c' || echo '$(srcdir)/'`gstelements_private.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstelements_private.Tpo $(DEPDIR)/libgstcoreelements_la-gstelements_private.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstelements_private.c' object='libgstcoreelements_la-gstelements_private.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 $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstelements_private.lo `test -f 'gstelements_private.c' || echo '$(srcdir)/'`gstelements_private.c
+
 libgstcoreelements_la-gstfakesrc.lo: gstfakesrc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstfakesrc.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstfakesrc.Tpo -c -o libgstcoreelements_la-gstfakesrc.lo `test -f 'gstfakesrc.c' || echo '$(srcdir)/'`gstfakesrc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstfakesrc.Tpo $(DEPDIR)/libgstcoreelements_la-gstfakesrc.Plo
diff --git a/plugins/elements/gstdownloadbuffer.c b/plugins/elements/gstdownloadbuffer.c
index 9b155fc..db3be22 100644
--- a/plugins/elements/gstdownloadbuffer.c
+++ b/plugins/elements/gstdownloadbuffer.c
@@ -327,8 +327,6 @@
   dlbuf->waiting_add = FALSE;
   g_cond_init (&dlbuf->item_add);
 
-  dlbuf->buffering_percent = 100;
-
   /* tempfile related */
   dlbuf->temp_template = NULL;
   dlbuf->temp_location = NULL;
@@ -354,6 +352,18 @@
 }
 
 static void
+reset_positions (GstDownloadBuffer * dlbuf)
+{
+  dlbuf->write_pos = 0;
+  dlbuf->read_pos = 0;
+  dlbuf->filling = TRUE;
+  dlbuf->buffering_percent = 0;
+  dlbuf->is_buffering = TRUE;
+  dlbuf->seeking = FALSE;
+  GST_DOWNLOAD_BUFFER_CLEAR_LEVEL (dlbuf->cur_level);
+}
+
+static void
 reset_rate_timer (GstDownloadBuffer * dlbuf)
 {
   dlbuf->bytes_in = 0;
@@ -644,6 +654,7 @@
   return threshold;
 }
 
+/* called with DOWNLOAD_BUFFER_MUTEX */
 static void
 gst_download_buffer_update_upstream_size (GstDownloadBuffer * dlbuf)
 {
@@ -726,6 +737,7 @@
   }
 }
 
+/* called with DOWNLOAD_BUFFER_MUTEX */
 static gboolean
 check_upstream_size (GstDownloadBuffer * dlbuf, gsize offset, guint * length)
 {
@@ -882,6 +894,7 @@
   g_free (dlbuf->temp_location);
   dlbuf->temp_location = name;
   dlbuf->temp_fd = fd;
+  reset_positions (dlbuf);
 
   GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
 
@@ -962,7 +975,7 @@
 {
   if (clear_temp)
     gst_download_buffer_flush_temp_file (dlbuf);
-  GST_DOWNLOAD_BUFFER_CLEAR_LEVEL (dlbuf->cur_level);
+  reset_positions (dlbuf);
   gst_event_replace (&dlbuf->stream_start_event, NULL);
   gst_event_replace (&dlbuf->segment_event, NULL);
 }
@@ -1447,6 +1460,7 @@
         gint64 duration;
         gsize offset, range_start, range_stop;
 
+        GST_DOWNLOAD_BUFFER_MUTEX_LOCK (dlbuf);
         write_pos = dlbuf->write_pos;
 
         /* get duration of upstream in bytes */
@@ -1456,49 +1470,35 @@
         GST_DEBUG_OBJECT (dlbuf, "percent %d, duration %" G_GINT64_FORMAT
             ", writing %" G_GINT64_FORMAT, percent, duration, write_pos);
 
-        /* calculate remaining and total download time */
-        if (duration > write_pos && avg_in > 0.0)
-          estimated_total = ((duration - write_pos) * 1000) / avg_in;
-        else
-          estimated_total = -1;
-
-        GST_DEBUG_OBJECT (dlbuf, "estimated-total %" G_GINT64_FORMAT,
-            estimated_total);
-
         gst_query_parse_buffering_range (query, &format, NULL, NULL, NULL);
 
-        switch (format) {
-          case GST_FORMAT_PERCENT:
-            start = 0;
-            /* get our available data relative to the duration */
-            if (duration != -1)
-              stop =
-                  gst_util_uint64_scale (GST_FORMAT_PERCENT_MAX, write_pos,
-                  duration);
-            else
-              stop = -1;
-            break;
-          case GST_FORMAT_BYTES:
-            start = 0;
-            stop = write_pos;
-            break;
-          default:
-            start = -1;
-            stop = -1;
-            break;
-        }
-
-        gst_query_set_buffering_range (query, format, start, stop,
-            estimated_total);
-
         /* fill out the buffered ranges */
-        offset = 0;
+        start = offset = 0;
+        stop = -1;
+        estimated_total = -1;
         while (gst_sparse_file_get_range_after (dlbuf->file, offset,
                 &range_start, &range_stop)) {
+          gboolean current_range;
+
+          GST_DEBUG_OBJECT (dlbuf,
+              "range starting at %" G_GSIZE_FORMAT " and finishing at %"
+              G_GSIZE_FORMAT, range_start, range_stop);
+
           offset = range_stop;
 
+          /* find the range we are currently downloading, we'll remember it
+           * after we convert to the target format */
+          if (range_start <= write_pos && range_stop >= write_pos) {
+            current_range = TRUE;
+            /* calculate remaining and total download time */
+            if (duration >= range_stop && avg_in > 0.0)
+              estimated_total = ((duration - range_stop) * 1000) / avg_in;
+          } else
+            current_range = FALSE;
+
           switch (format) {
             case GST_FORMAT_PERCENT:
+              /* get our available data relative to the duration */
               if (duration == -1) {
                 range_start = 0;
                 range_stop = 0;
@@ -1516,13 +1516,27 @@
               range_stop = -1;
               break;
           }
+
+          if (current_range) {
+            /* we are currently downloading this range */
+            start = range_start;
+            stop = range_stop;
+          }
+          GST_DEBUG_OBJECT (dlbuf,
+              "range to format: %" G_GSIZE_FORMAT " - %" G_GSIZE_FORMAT,
+              range_start, range_stop);
           if (range_start == range_stop)
             continue;
-          GST_DEBUG_OBJECT (dlbuf,
-              "range starting at %" G_GSIZE_FORMAT " and finishing at %"
-              G_GSIZE_FORMAT, range_start, range_stop);
           gst_query_add_buffering_range (query, range_start, range_stop);
         }
+
+        GST_DEBUG_OBJECT (dlbuf, "estimated-total %" G_GINT64_FORMAT,
+            estimated_total);
+
+        gst_query_set_buffering_range (query, format, start, stop,
+            estimated_total);
+
+        GST_DOWNLOAD_BUFFER_MUTEX_UNLOCK (dlbuf);
       }
       break;
     }
diff --git a/plugins/elements/gstelements_private.c b/plugins/elements/gstelements_private.c
new file mode 100644
index 0000000..6c304b4
--- /dev/null
+++ b/plugins/elements/gstelements_private.c
@@ -0,0 +1,70 @@
+/* GStreamer
+ * Copyright (C) 2014 Vincent Penquerc'h <vincent@collabora.co.uk>
+ *
+ * gstelements_private.c: Shared code for core elements
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+#include <string.h>
+#include "gst/gst.h"
+#include "gstelements_private.h"
+
+/**
+ * gst_buffer_get_flags_string:
+ * @buffer: a #GstBuffer
+ * Returns: A newly allocated string
+ *
+ * Returns a newly allocated string describing the flags on this buffer.
+ * The string must be freed using g_free() when done.
+ *
+ * Since: 1.4
+ */
+
+char *
+gst_buffer_get_flags_string (GstBuffer * buffer)
+{
+  static const char *const flag_list[] = {
+    "", "", "", "", "live", "decode-only", "discont", "resync", "corrupted",
+    "marker", "header", "gap", "droppable", "delta-unit", "tag-memory",
+    "FIXME"
+  };
+  int i, max_bytes;
+  char *flag_str, *end;
+
+  max_bytes = 1;                /* NUL */
+  for (i = 0; i < G_N_ELEMENTS (flag_list); i++) {
+    max_bytes += strlen (flag_list[i]) + 1;     /* string and space */
+  }
+  flag_str = g_malloc (max_bytes);
+
+  end = flag_str;
+  end[0] = '\0';
+  for (i = 0; i < G_N_ELEMENTS (flag_list); i++) {
+    if (GST_MINI_OBJECT_CAST (buffer)->flags & (1 << i)) {
+      strcpy (end, flag_list[i]);
+      end += strlen (end);
+      end[0] = ' ';
+      end[1] = '\0';
+      end++;
+    }
+  }
+
+  return flag_str;
+}
diff --git a/plugins/elements/gstelements_private.h b/plugins/elements/gstelements_private.h
new file mode 100644
index 0000000..9ccae1b
--- /dev/null
+++ b/plugins/elements/gstelements_private.h
@@ -0,0 +1,35 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2000 Wim Taymans <wtay@chello.be>
+ *
+ * gst_private.h: Private header for within libgst
+ *
+ * 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_ELEMENTS_PRIVATE_H__
+#define __GST_ELEMENTS_PRIVATE_H__
+
+#include "gst/gst.h"
+
+G_BEGIN_DECLS
+
+G_GNUC_INTERNAL
+char *    gst_buffer_get_flags_string                   (GstBuffer *buffer);
+
+G_END_DECLS
+
+#endif /* __GST_ELEMENTS_PRIVATE_H__ */
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index b2f5276..dde0fce 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -37,6 +37,7 @@
 #  include "config.h"
 #endif
 
+#include "gstelements_private.h"
 #include "gstfakesink.h"
 #include <string.h>
 
@@ -428,7 +429,7 @@
 
   if (!sink->silent) {
     gchar dts_str[64], pts_str[64], dur_str[64];
-    gchar flag_str[100];
+    gchar *flag_str;
 
     GST_OBJECT_LOCK (sink);
     g_free (sink->last_message);
@@ -454,25 +455,7 @@
       g_strlcpy (dur_str, "none", sizeof (dur_str));
     }
 
-    {
-      const char *flag_list[] = {
-        "", "", "", "", "live", "decode-only", "discont", "resync", "corrupted",
-        "marker", "header", "gap", "droppable", "delta-unit", "tag-memory",
-        "FIXME"
-      };
-      int i;
-      char *end = flag_str;
-      end[0] = '\0';
-      for (i = 0; i < G_N_ELEMENTS (flag_list); i++) {
-        if (GST_MINI_OBJECT_CAST (buf)->flags & (1 << i)) {
-          strcpy (end, flag_list[i]);
-          end += strlen (end);
-          end[0] = ' ';
-          end[1] = '\0';
-          end++;
-        }
-      }
-    }
+    flag_str = gst_buffer_get_flags_string (buf);
 
     sink->last_message =
         g_strdup_printf ("chain   ******* (%s:%s) (%u bytes, dts: %s, pts: %s"
@@ -482,6 +465,7 @@
         (guint) gst_buffer_get_size (buf), dts_str, pts_str,
         dur_str, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET_END (buf),
         GST_MINI_OBJECT_CAST (buf)->flags, flag_str, buf);
+    g_free (flag_str);
     GST_OBJECT_UNLOCK (sink);
 
     gst_fake_sink_notify_last_message (sink);
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index 0c7e32c..7b03cf5 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -49,6 +49,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "gstelements_private.h"
 #include "gstfakesrc.h"
 
 static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
@@ -804,7 +805,7 @@
 
   if (!src->silent) {
     gchar dts_str[64], pts_str[64], dur_str[64];
-    gchar flag_str[100];
+    gchar *flag_str;
 
     GST_OBJECT_LOCK (src);
     g_free (src->last_message);
@@ -828,26 +829,7 @@
       g_strlcpy (dur_str, "none", sizeof (dur_str));
     }
 
-    {
-      const char *flag_list[] = {
-        "", "", "", "", "live", "decode-only", "discont", "resync", "corrupted",
-        "marker", "header", "gap", "droppable", "delta-unit", "tag-memory",
-        "FIXME"
-      };
-      int i;
-      char *end = flag_str;
-      end[0] = '\0';
-      for (i = 0; i < G_N_ELEMENTS (flag_list); i++) {
-        if (GST_MINI_OBJECT_CAST (buf)->flags & (1 << i)) {
-          strcpy (end, flag_list[i]);
-          end += strlen (end);
-          end[0] = ' ';
-          end[1] = '\0';
-          end++;
-        }
-      }
-    }
-
+    flag_str = gst_buffer_get_flags_string (buf);
     src->last_message =
         g_strdup_printf ("create   ******* (%s:%s) (%u bytes, dts: %s, pts:%s"
         ", duration: %s, offset: %" G_GINT64_FORMAT ", offset_end: %"
@@ -856,6 +838,7 @@
         dts_str, pts_str, dur_str, GST_BUFFER_OFFSET (buf),
         GST_BUFFER_OFFSET_END (buf), GST_MINI_OBJECT_CAST (buf)->flags,
         flag_str, buf);
+    g_free (flag_str);
     GST_OBJECT_UNLOCK (src);
 
     g_object_notify_by_pspec ((GObject *) src, pspec_last_message);
diff --git a/plugins/elements/gstfunnel.c b/plugins/elements/gstfunnel.c
index 272a908..a58ae72 100644
--- a/plugins/elements/gstfunnel.c
+++ b/plugins/elements/gstfunnel.c
@@ -260,10 +260,13 @@
     unlock = TRUE;
     GST_PAD_STREAM_LOCK (funnel->srcpad);
 
-    if ((GST_EVENT_TYPE (event) == GST_EVENT_EOS) &&
-        (!gst_funnel_all_sinkpads_eos_unlocked (funnel, pad))) {
-      forward = FALSE;
-    } else if (funnel->last_sinkpad && (pad != funnel->last_sinkpad)) {
+    if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
+      if (!gst_funnel_all_sinkpads_eos_unlocked (funnel, pad)) {
+        forward = FALSE;
+      } else {
+        forward = TRUE;
+      }
+    } else if (pad != funnel->last_sinkpad) {
       forward = FALSE;
     }
   }
diff --git a/plugins/elements/gstidentity.c b/plugins/elements/gstidentity.c
index 3af7296..4151dad 100644
--- a/plugins/elements/gstidentity.c
+++ b/plugins/elements/gstidentity.c
@@ -34,6 +34,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "gstelements_private.h"
 #include "../../gst/gst-i18n-lib.h"
 #include "gstidentity.h"
 
@@ -466,29 +467,11 @@
     const gchar * action, GstBuffer * buf, gsize size)
 {
   gchar dts_str[64], pts_str[64], dur_str[64];
-  gchar flag_str[100];
+  gchar *flag_str;
 
   GST_OBJECT_LOCK (identity);
 
-  {
-    const char *flag_list[] = {
-      "", "", "", "", "live", "decode-only", "discont", "resync", "corrupted",
-      "marker", "header", "gap", "droppable", "delta-unit", "tag-memory",
-      "FIXME"
-    };
-    int i;
-    char *end = flag_str;
-    end[0] = '\0';
-    for (i = 0; i < G_N_ELEMENTS (flag_list); i++) {
-      if (GST_MINI_OBJECT_CAST (buf)->flags & (1 << i)) {
-        strcpy (end, flag_list[i]);
-        end += strlen (end);
-        end[0] = ' ';
-        end[1] = '\0';
-        end++;
-      }
-    }
-  }
+  flag_str = gst_buffer_get_flags_string (buf);
 
   g_free (identity->last_message);
   identity->last_message = g_strdup_printf ("%s   ******* (%s:%s) "
@@ -501,6 +484,7 @@
       print_pretty_time (dur_str, sizeof (dur_str), GST_BUFFER_DURATION (buf)),
       GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET_END (buf),
       GST_BUFFER_FLAGS (buf), flag_str, buf);
+  g_free (flag_str);
 
   GST_OBJECT_UNLOCK (identity);
 
diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c
index 8f81f8f..7fc1b87 100644
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -2131,6 +2131,8 @@
   gst_data_queue_flush (sq->queue);
   if (was_flushing)
     gst_data_queue_set_flushing (sq->queue, TRUE);
+
+  update_buffering (sq->mqueue, sq);
 }
 
 static void
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index 1531fc1..400c370 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -642,15 +642,27 @@
           res = gst_pad_push_event (typefind->src, event);
           break;
         }
-        case GST_EVENT_FLUSH_STOP:
+        case GST_EVENT_FLUSH_STOP:{
+          GList *l;
+
           GST_OBJECT_LOCK (typefind);
-          g_list_foreach (typefind->cached_events,
-              (GFunc) gst_mini_object_unref, NULL);
+
+          for (l = typefind->cached_events; l; l = l->next) {
+            if (!GST_EVENT_IS_STICKY (l->data) ||
+                GST_EVENT_TYPE (l->data) == GST_EVENT_SEGMENT ||
+                GST_EVENT_TYPE (l->data) == GST_EVENT_EOS) {
+              gst_event_unref (l->data);
+            } else {
+              gst_pad_store_sticky_event (typefind->src, l->data);
+            }
+          }
+
           g_list_free (typefind->cached_events);
           typefind->cached_events = NULL;
           gst_adapter_clear (typefind->adapter);
           GST_OBJECT_UNLOCK (typefind);
           /* fall through */
+        }
         case GST_EVENT_FLUSH_START:
           res = gst_pad_push_event (typefind->src, event);
           break;
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 98c9671..ef532c7 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -14,6 +14,7 @@
 libs/gst/base/gstbasesink.c
 libs/gst/base/gstbasesrc.c
 plugins/elements/gstcapsfilter.c
+plugins/elements/gstdownloadbuffer.c
 plugins/elements/gstfakesink.c
 plugins/elements/gstfdsink.c
 plugins/elements/gstfilesink.c
diff --git a/po/af.gmo b/po/af.gmo
index a003f87..3d9b5f4 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 05e6c42..2b96e93 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -939,6 +939,21 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "kon nie inligting oor \"%s\" kry nie."
+
+#, fuzzy, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Kon nie lêer \"%s\" oopmaak om te lees nie. %s."
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "Fout tydens skryf na lêer \"%s\"."
+
 msgid "No file name specified for writing."
 msgstr "Geen lêernaam om heen te skryf nie."
 
@@ -962,10 +977,6 @@
 msgstr "Geen lêernaam om uit te lees nie."
 
 #, fuzzy, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Kon nie lêer \"%s\" oopmaak om te lees nie. %s."
-
-#, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "kon nie inligting oor \"%s\" kry nie."
 
@@ -980,17 +991,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Mislukking na die vasgestelde aantal probeerslae."
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "kon nie inligting oor \"%s\" kry nie."
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "Fout tydens skryf na lêer \"%s\"."
-
 msgid "caps"
 msgstr "caps"
 
diff --git a/po/az.gmo b/po/az.gmo
index 817b8ba..5f064da 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 35304db..6cadef6 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -888,6 +888,20 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr ""
+
+msgid "Error while writing to download file."
+msgstr ""
+
 msgid "No file name specified for writing."
 msgstr ""
 
@@ -911,10 +925,6 @@
 msgstr ""
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr ""
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr ""
 
@@ -929,16 +939,6 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr ""
-
-msgid "Error while writing to download file."
-msgstr ""
-
 msgid "caps"
 msgstr ""
 
diff --git a/po/be.gmo b/po/be.gmo
index fb20e1e..8dadaf2 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 17df9f6..8ee9cd3 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -896,6 +896,20 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Немагчыма закадаваць плыню."
+
+#, fuzzy, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Немагчыма адчыніць расурс для чытаньня."
+
+msgid "Error while writing to download file."
+msgstr ""
+
 msgid "No file name specified for writing."
 msgstr ""
 
@@ -919,10 +933,6 @@
 msgstr ""
 
 #, fuzzy, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Немагчыма адчыніць расурс для чытаньня."
-
-#, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Немагчыма закадаваць плыню."
 
@@ -937,16 +947,6 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Немагчыма закадаваць плыню."
-
-msgid "Error while writing to download file."
-msgstr ""
-
 msgid "caps"
 msgstr ""
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 9a69912..f458001 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index b0d418b..0875d43 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -931,6 +931,20 @@
 "Ограничаване на позволените възможности („NULL“ означава всякакви). "
 "Задаването на това свойство поема указател към подадения обект GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Не е указана временна папка"
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Не може да се създаде временният файл „%s“."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Файлът „%s“ не може да се отвори за четене."
+
+msgid "Error while writing to download file."
+msgstr "Грешка при запис в сваления файл."
+
 msgid "No file name specified for writing."
 msgstr "Не е указано име на файл за запис."
 
@@ -954,10 +968,6 @@
 msgstr "Не е указано име на файл за четене."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Файлът „%s“ не може да се отвори за четене."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Не може да се получи информация за „%s“."
 
@@ -972,16 +982,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Грешка след заявения брой повторения."
 
-msgid "No Temp directory specified."
-msgstr "Не е указана временна папка"
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Не може да се създаде временният файл „%s“."
-
-msgid "Error while writing to download file."
-msgstr "Грешка при запис в сваления файл."
-
 msgid "caps"
 msgstr "възможности"
 
diff --git a/po/ca.gmo b/po/ca.gmo
index 523af03..3357b1f 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index d76609d..82cb9cd 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -941,6 +941,20 @@
 "Restringeix les capacitats que es poden permetre (NUL vol dir QUALSEVOL). "
 "Establir aquesta propietat pren una referència a l'objecte GstCaps proveït."
 
+msgid "No Temp directory specified."
+msgstr "No s'ha especificat un directori temporal."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "No s'ha pogut crear el fitxer temporal «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "No s'ha pogut obrir el fitxer «%s» per a la lectura."
+
+msgid "Error while writing to download file."
+msgstr "S'ha produït un error en escriure al fitxer de baixada."
+
 msgid "No file name specified for writing."
 msgstr "No s'ha especificat cap nom de fitxer per a l'escriptura."
 
@@ -964,10 +978,6 @@
 msgstr "No s'ha especificat cap fitxer per a llegir."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "No s'ha pogut obrir el fitxer «%s» per a la lectura."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "No s'ha pogut obtenir informació sobre «%s»."
 
@@ -982,16 +992,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Ha fallat després de les iteracions com s'ha demanat."
 
-msgid "No Temp directory specified."
-msgstr "No s'ha especificat un directori temporal."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "No s'ha pogut crear el fitxer temporal «%s»."
-
-msgid "Error while writing to download file."
-msgstr "S'ha produït un error en escriure al fitxer de baixada."
-
 msgid "caps"
 msgstr "capacitats"
 
diff --git a/po/cs.gmo b/po/cs.gmo
index 5b06522..93f9073 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 9bd86c9..8ce734e 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
 "PO-Revision-Date: 2014-03-09 11:07+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -930,6 +930,20 @@
 "Omezit povolené schopnosti (NULL znamená VŠECHNY). Nastavení této vlastnosti "
 "přebírá odkaz na zadaný objekt GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Není určena složka pro dočasné soubory."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Nelze vytvořit dočasný soubor „%s“."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Nelze otevřít soubor „%s“ pro čtení."
+
+msgid "Error while writing to download file."
+msgstr "Chyba při zápisu do stahovaného souboru."
+
 msgid "No file name specified for writing."
 msgstr "Není zadán název souboru pro zápis."
 
@@ -953,10 +967,6 @@
 msgstr "Není zadán název souboru pro čtení."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Nelze otevřít soubor „%s“ pro čtení."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Nelze získat informace o „%s“."
 
@@ -971,16 +981,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Selhání po iteracích podle požadavku."
 
-msgid "No Temp directory specified."
-msgstr "Není určena složka pro dočasné soubory."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Nelze vytvořit dočasný soubor „%s“."
-
-msgid "Error while writing to download file."
-msgstr "Chyba při zápisu do stahovaného souboru."
-
 msgid "caps"
 msgstr "schopnosti"
 
diff --git a/po/da.gmo b/po/da.gmo
index 7e12415..b5e2b77 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index f20739f..7b9044e 100644
--- a/po/da.po
+++ b/po/da.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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
 "PO-Revision-Date: 2013-12-08 12:41+0100\n"
 "Last-Translator: Mogens Jaeger <mogensjaeger@gmail.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -929,6 +929,20 @@
 "Begræns den mulige tilladte kapabilitet (NUL betyder ALT). Sættes denne "
 "egenskab gives en reference til det leverede GstCaps objekt."
 
+msgid "No Temp directory specified."
+msgstr "Der er ikke angivet en mappe til midlertidige filer."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Kunne ikke oprette den midlertidige fil \"%s\"."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Kunne ikke åbne filen \"%s\" for læsning."
+
+msgid "Error while writing to download file."
+msgstr "Fejl under skrivning til downloadfilen."
+
 msgid "No file name specified for writing."
 msgstr "Intet filnavn specificeret for skrivning."
 
@@ -952,10 +966,6 @@
 msgstr "Intet filnavn specificeret for læsning."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Kunne ikke åbne filen \"%s\" for læsning."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Kunne ikke hente info til \"%s\"."
 
@@ -970,16 +980,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Fejlede efter iterationer som forespurgt."
 
-msgid "No Temp directory specified."
-msgstr "Der er ikke angivet en mappe til midlertidige filer."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Kunne ikke oprette den midlertidige fil \"%s\"."
-
-msgid "Error while writing to download file."
-msgstr "Fejl under skrivning til downloadfilen."
-
 msgid "caps"
 msgstr "kapabiliteter"
 
diff --git a/po/de.gmo b/po/de.gmo
index ec5f21e..49b888f 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index de774fa..d9ecdd2 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,4 @@
-# German translation for gstreamer 1.2.1
+# German translation for gstreamer 1.3.2
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 #
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2013-12-16 00:01+0100\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
+"PO-Revision-Date: 2014-05-22 20:48+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -213,9 +213,8 @@
 msgid "No space left on the resource."
 msgstr "Kein Platz in der Ressource übrig."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Kein Platz in der Ressource übrig."
+msgstr "Keine Berechtigung zum Zugriff auf die Ressource."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer hat einen allgemeinen Datenstromfehler festgestellt."
@@ -839,10 +838,10 @@
 "Interpretationen"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-base-note"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Midi-Notenzahl der Tonspur."
 
 msgid ", "
 msgstr ", "
@@ -869,11 +868,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "Verknüpfung hat keine Quelle [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "Verknüpfung hat kein Ziel [sink=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -894,11 +893,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "unerwartete Referenz »%s« - wird ignoriert"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "unerwartete pad-Referenz »%s« - wird ignoriert"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -913,18 +912,18 @@
 msgstr "Kein Quellelement für URI »%s«"
 
 msgid "syntax error"
-msgstr ""
+msgstr "Syntaxfehler"
 
 msgid "bin"
-msgstr ""
+msgstr "Behälter"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "Leeren Behälter »%s« angegeben -- nicht erlaubt"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "Kein Behälter »%s« -- überspringen"
+msgstr "Kein Behälter »%s« - Elemente werden entpackt"
 
 msgid "empty pipeline not allowed"
 msgstr "Leere Leitung ist nicht erlaubt"
@@ -957,6 +956,20 @@
 "Beschränkt die möglichen Filterfähigkeiten (NULL bedeutet ALLE). Setzen "
 "dieser Eigenschaft referenziert ein hinzugefügtes GstCaps-Objekt."
 
+msgid "No Temp directory specified."
+msgstr "Kein temporärer Ordner angegeben."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Die temporäre Datei »%s« konnte nicht angelegt werden."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Die Datei »%s« konnte nicht zum Lesen geöffnet werden."
+
+msgid "Error while writing to download file."
+msgstr "Fehler beim Schreiben in die Download-Datei."
+
 msgid "No file name specified for writing."
 msgstr "Kein Dateiname zum Schreiben angegeben."
 
@@ -980,10 +993,6 @@
 msgstr "Kein Dateiname zum Lesen angegeben."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Die Datei »%s« konnte nicht zum Lesen geöffnet werden."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Informationen zu »%s« konnten nicht gelesen werden."
 
@@ -998,16 +1007,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Nach dem Durchlaufen fehlgeschlagen. Wie gewünscht."
 
-msgid "No Temp directory specified."
-msgstr "Kein temporärer Ordner angegeben."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Die temporäre Datei »%s« konnte nicht angelegt werden."
-
-msgid "Error while writing to download file."
-msgstr "Fehler beim Schreiben in die Download-Datei."
-
 msgid "caps"
 msgstr "Fähigkeiten"
 
diff --git a/po/el.gmo b/po/el.gmo
index dbf443c..3665af0 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 8192856..72aaa7d 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -953,6 +953,20 @@
 "ρύθμιση αυτής της ιδιότητας απαιτεί μια αναφορά στο παρεχόμενο αντικείμενο "
 "GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Δεν ορίσθηκε προσωρινός κατάλογος (Temp)."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Αδυναμία δημιουργίας προσωρινού αρχείου (temp) «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Αδυναμία ανοίγματος αρχείου «%s» για ανάγνωση."
+
+msgid "Error while writing to download file."
+msgstr "Σφάλμα κατά την εγγραφή στο αρχείο μεταφόρτωσης."
+
 msgid "No file name specified for writing."
 msgstr "Δεν έχει καθορισθεί όνομα αρχείου για εγγραφή."
 
@@ -976,10 +990,6 @@
 msgstr "Δεν καθορίσθηκε όνομα αρχείου για ανάγνωση."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Αδυναμία ανοίγματος αρχείου «%s» για ανάγνωση."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Αδυναμία λήψης πληροφοριών για «%s»."
 
@@ -994,16 +1004,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Αποτυχία κατόπιν επαναλήψεων ως ζητήθηκε."
 
-msgid "No Temp directory specified."
-msgstr "Δεν ορίσθηκε προσωρινός κατάλογος (Temp)."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Αδυναμία δημιουργίας προσωρινού αρχείου (temp) «%s»."
-
-msgid "Error while writing to download file."
-msgstr "Σφάλμα κατά την εγγραφή στο αρχείο μεταφόρτωσης."
-
 msgid "caps"
 msgstr "δυνατότητες"
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index cb3cc8e..5e85ea5 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 286f3a1..f97597f 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -941,6 +941,21 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Could not get/set settings from/on resource."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Could not open file \"%s\" for reading."
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "Error while writing to file \"%s\"."
+
 msgid "No file name specified for writing."
 msgstr "No file name specified for writing."
 
@@ -963,10 +978,6 @@
 msgid "No file name specified for reading."
 msgstr "No file name specified for reading."
 
-#, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Could not open file \"%s\" for reading."
-
 #, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Could not get/set settings from/on resource."
@@ -982,17 +993,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Failed after iterations as requested."
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Could not get/set settings from/on resource."
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "Error while writing to file \"%s\"."
-
 msgid "caps"
 msgstr "caps"
 
diff --git a/po/eo.gmo b/po/eo.gmo
index 0f4ac9d..7d42007 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index bf2cd42..637a2d7 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -878,6 +878,20 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr ""
+
+msgid "Error while writing to download file."
+msgstr ""
+
 msgid "No file name specified for writing."
 msgstr ""
 
@@ -901,10 +915,6 @@
 msgstr ""
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr ""
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr ""
 
@@ -919,16 +929,6 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr ""
-
-msgid "Error while writing to download file."
-msgstr ""
-
 msgid "caps"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 28737b5..23327a9 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index b8dba1c..051ac39 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -944,6 +944,20 @@
 "Al establecer esta propiedad se obtiene una referencia del objeto GstCaps "
 "proporcionado."
 
+msgid "No Temp directory specified."
+msgstr "No se especificó un directorio temporal."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "No se pudo crear el archivo temporal «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "No se pudo abrir el archivo «%s» para leer."
+
+msgid "Error while writing to download file."
+msgstr "Error al escribir para descargar el archivo."
+
 msgid "No file name specified for writing."
 msgstr "No se especificó un nombre de archivo para escritura."
 
@@ -967,10 +981,6 @@
 msgstr "No se especificó un nombre de archivo para la lectura."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "No se pudo abrir el archivo «%s» para leer."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "No se pudo obtener la información de «%s»."
 
@@ -985,16 +995,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Falló después de las iteraciones, como se pidió."
 
-msgid "No Temp directory specified."
-msgstr "No se especificó un directorio temporal."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "No se pudo crear el archivo temporal «%s»."
-
-msgid "Error while writing to download file."
-msgstr "Error al escribir para descargar el archivo."
-
 msgid "caps"
 msgstr "capacidades"
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 20e9896..955e903 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index eba24dd..07e5fcc 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -942,6 +942,21 @@
 "Mugatu onar daitezkeen ahalmenak (NULLek EDOZER adierazten du). Propietate "
 "hori ezartzen bada, emandako GstCaps objektuaren erreferentzia hartzen du."
 
+msgid "No Temp directory specified."
+msgstr "Ez da aldi baterako direktoriorik zehaztu."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Ezin izan da \"%s\" aldi baterako fitxategia sortu."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Ezin izan da \"%s\" fitxategia ireki irakurtzeko."
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "Errorea gertatu da \"%s\" fitxategian idaztean."
+
 msgid "No file name specified for writing."
 msgstr "Ez da fitxategi-izenik zehaztu idazteko."
 
@@ -965,10 +980,6 @@
 msgstr "Ez da fitxategi-izenik zehaztu irakurtzeko."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Ezin izan da \"%s\" fitxategia ireki irakurtzeko."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Ezin izan da \"%s\"(e)ko informazioa eskuratu."
 
@@ -983,17 +994,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Huts egin du eskatutako iterazioak egin ondoren."
 
-msgid "No Temp directory specified."
-msgstr "Ez da aldi baterako direktoriorik zehaztu."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Ezin izan da \"%s\" aldi baterako fitxategia sortu."
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "Errorea gertatu da \"%s\" fitxategian idaztean."
-
 msgid "caps"
 msgstr "ahalmenak"
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 967e4e3..6e7e85f 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 546784c..87223ce 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -939,6 +939,20 @@
 "Rajoita mahdollisia sallittuja kykyjä (NULL tarkoittaa mitä tahansa). Tämän "
 "ominaisuuden asettaminen ottaa kahvan annettuun GstCaps-olioon."
 
+msgid "No Temp directory specified."
+msgstr "Tilapäishakemistoa ei ole määritetty."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Ei voitu luoda tilapäistiedostoa ”%s”."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Tiedostoa ”%s” ei voitu avata lukemista varten."
+
+msgid "Error while writing to download file."
+msgstr "Virhe kirjoitettaessa lataustiedostoon."
+
 msgid "No file name specified for writing."
 msgstr "Kirjoitusta varten ei määritetty tiedostonimeä."
 
@@ -962,10 +976,6 @@
 msgstr "Lukemista varten ei ole määritetty tiedostonimeä."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Tiedostoa ”%s” ei voitu avata lukemista varten."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Ei saatu tietoja kohteesta ”%s”."
 
@@ -980,16 +990,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Epäonnistui, kuten pyydettiin, yritysten jälkeen."
 
-msgid "No Temp directory specified."
-msgstr "Tilapäishakemistoa ei ole määritetty."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Ei voitu luoda tilapäistiedostoa ”%s”."
-
-msgid "Error while writing to download file."
-msgstr "Virhe kirjoitettaessa lataustiedostoon."
-
 msgid "caps"
 msgstr "kyvyt"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index aa5a08f..9cbb429 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index c5008de..c24997b 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
 "PO-Revision-Date: 2012-12-05 19:31+0100\n"
 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -935,6 +935,20 @@
 "définition de cette propriété nécessite une référence à l'objet GSTCaps "
 "fourni."
 
+msgid "No Temp directory specified."
+msgstr "Aucun répertoire temporaire indiqué."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Impossible de créer le fichier temporaire « %s »."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Impossible d'ouvrir le fichier « %s » en lecture."
+
+msgid "Error while writing to download file."
+msgstr "Erreur d'écriture dans le fichier de téléchargement."
+
 msgid "No file name specified for writing."
 msgstr "Aucun nom de fichier indiqué pour l'écriture."
 
@@ -958,10 +972,6 @@
 msgstr "Aucun nom de fichier indiqué pour la lecture."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Impossible d'ouvrir le fichier « %s » en lecture."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Impossible d'obtenir des infos sur « %s »."
 
@@ -976,16 +986,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Échec suite aux itérations demandées."
 
-msgid "No Temp directory specified."
-msgstr "Aucun répertoire temporaire indiqué."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Impossible de créer le fichier temporaire « %s »."
-
-msgid "Error while writing to download file."
-msgstr "Erreur d'écriture dans le fichier de téléchargement."
-
 msgid "caps"
 msgstr "capacités"
 
diff --git a/po/gl.gmo b/po/gl.gmo
index bfefd3a..148ca3e 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index f5c69ae..0b2900a 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -932,6 +932,20 @@
 "estabelecer esta propiedade obtense unha referencia do obxecto GstCaps "
 "fornecido."
 
+msgid "No Temp directory specified."
+msgstr "Non se especificou un directorio temporal."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Non foi posíbel crear o ficheiro temporal «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Non foi posíbel abrir o ficheiro «%s» para ler."
+
+msgid "Error while writing to download file."
+msgstr "Produciuse un erro de escritura ao descargar o ficheiro."
+
 msgid "No file name specified for writing."
 msgstr "Non se especificou un nome de ficheiro para escritura."
 
@@ -955,10 +969,6 @@
 msgstr "Non se especificou un nome de ficheiro para a lectura."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Non foi posíbel abrir o ficheiro «%s» para ler."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Non foi posíbel obter a información de «%s»."
 
@@ -973,16 +983,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Produciuse un fallo despois das iteracións que se solicitaron."
 
-msgid "No Temp directory specified."
-msgstr "Non se especificou un directorio temporal."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Non foi posíbel crear o ficheiro temporal «%s»."
-
-msgid "Error while writing to download file."
-msgstr "Produciuse un erro de escritura ao descargar o ficheiro."
-
 msgid "caps"
 msgstr "capacidades"
 
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index 4f2d989..df059d6 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.3.2\n"
+"Project-Id-Version: gstreamer 1.3.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -105,7 +105,7 @@
 msgid "Show GStreamer Options"
 msgstr ""
 
-#: gst/gst.c:869
+#: gst/gst.c:872
 msgid "Unknown option"
 msgstr ""
 
@@ -310,559 +310,559 @@
 msgid "Selected clock cannot be used in pipeline."
 msgstr ""
 
-#: gst/gstregistry.c:1694
+#: gst/gstregistry.c:1691
 #, c-format
 msgid "Error writing registry cache to %s: %s"
 msgstr ""
 
-#: gst/gsttaglist.c:104
+#: gst/gsttaglist.c:107
 msgid "title"
 msgstr ""
 
-#: gst/gsttaglist.c:104
+#: gst/gsttaglist.c:107
 msgid "commonly used title"
 msgstr ""
 
-#: gst/gsttaglist.c:107
+#: gst/gsttaglist.c:110
 msgid "title sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:107
+#: gst/gsttaglist.c:110
 msgid "commonly used title for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:110
+#: gst/gsttaglist.c:113
 msgid "artist"
 msgstr ""
 
-#: gst/gsttaglist.c:111
+#: gst/gsttaglist.c:114
 msgid "person(s) responsible for the recording"
 msgstr ""
 
-#: gst/gsttaglist.c:115
+#: gst/gsttaglist.c:118
 msgid "artist sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:116
+#: gst/gsttaglist.c:119
 msgid "person(s) responsible for the recording for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:119
+#: gst/gsttaglist.c:122
 msgid "album"
 msgstr ""
 
-#: gst/gsttaglist.c:120
+#: gst/gsttaglist.c:123
 msgid "album containing this data"
 msgstr ""
 
-#: gst/gsttaglist.c:123
+#: gst/gsttaglist.c:126
 msgid "album sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:124
+#: gst/gsttaglist.c:127
 msgid "album containing this data for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:127
+#: gst/gsttaglist.c:130
 msgid "album artist"
 msgstr ""
 
-#: gst/gsttaglist.c:128
+#: gst/gsttaglist.c:131
 msgid "The artist of the entire album, as it should be displayed"
 msgstr ""
 
-#: gst/gsttaglist.c:132
+#: gst/gsttaglist.c:135
 msgid "album artist sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:133
+#: gst/gsttaglist.c:136
 msgid "The artist of the entire album, as it should be sorted"
 msgstr ""
 
-#: gst/gsttaglist.c:135
+#: gst/gsttaglist.c:138
 msgid "date"
 msgstr ""
 
-#: gst/gsttaglist.c:135
+#: gst/gsttaglist.c:138
 msgid "date the data was created (as a GDate structure)"
 msgstr ""
 
-#: gst/gsttaglist.c:137
+#: gst/gsttaglist.c:140
 msgid "datetime"
 msgstr ""
 
-#: gst/gsttaglist.c:138
+#: gst/gsttaglist.c:141
 msgid "date and time the data was created (as a GstDateTime structure)"
 msgstr ""
 
-#: gst/gsttaglist.c:142
+#: gst/gsttaglist.c:145
 msgid "genre"
 msgstr ""
 
-#: gst/gsttaglist.c:143
+#: gst/gsttaglist.c:146
 msgid "genre this data belongs to"
 msgstr ""
 
-#: gst/gsttaglist.c:146
+#: gst/gsttaglist.c:149
 msgid "comment"
 msgstr ""
 
-#: gst/gsttaglist.c:147
+#: gst/gsttaglist.c:150
 msgid "free text commenting the data"
 msgstr ""
 
-#: gst/gsttaglist.c:150
+#: gst/gsttaglist.c:153
 msgid "extended comment"
 msgstr ""
 
-#: gst/gsttaglist.c:151
+#: gst/gsttaglist.c:154
 msgid "free text commenting the data in key=value or key[en]=comment form"
 msgstr ""
 
-#: gst/gsttaglist.c:155
+#: gst/gsttaglist.c:158
 msgid "track number"
 msgstr ""
 
-#: gst/gsttaglist.c:156
+#: gst/gsttaglist.c:159
 msgid "track number inside a collection"
 msgstr ""
 
-#: gst/gsttaglist.c:159
+#: gst/gsttaglist.c:162
 msgid "track count"
 msgstr ""
 
-#: gst/gsttaglist.c:160
+#: gst/gsttaglist.c:163
 msgid "count of tracks inside collection this track belongs to"
 msgstr ""
 
-#: gst/gsttaglist.c:164
+#: gst/gsttaglist.c:167
 msgid "disc number"
 msgstr ""
 
-#: gst/gsttaglist.c:165
+#: gst/gsttaglist.c:168
 msgid "disc number inside a collection"
 msgstr ""
 
-#: gst/gsttaglist.c:168
+#: gst/gsttaglist.c:171
 msgid "disc count"
 msgstr ""
 
-#: gst/gsttaglist.c:169
+#: gst/gsttaglist.c:172
 msgid "count of discs inside collection this disc belongs to"
 msgstr ""
 
-#: gst/gsttaglist.c:173
+#: gst/gsttaglist.c:176
 msgid "location"
 msgstr ""
 
-#: gst/gsttaglist.c:173
+#: gst/gsttaglist.c:176
 msgid ""
 "Origin of media as a URI (location, where the original of the file or stream "
 "is hosted)"
 msgstr ""
 
-#: gst/gsttaglist.c:178
+#: gst/gsttaglist.c:181
 msgid "homepage"
 msgstr ""
 
-#: gst/gsttaglist.c:179
+#: gst/gsttaglist.c:182
 msgid "Homepage for this media (i.e. artist or movie homepage)"
 msgstr ""
 
-#: gst/gsttaglist.c:182
+#: gst/gsttaglist.c:185
 msgid "description"
 msgstr ""
 
-#: gst/gsttaglist.c:183
+#: gst/gsttaglist.c:186
 msgid "short text describing the content of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:186
+#: gst/gsttaglist.c:189
 msgid "version"
 msgstr ""
 
-#: gst/gsttaglist.c:186
+#: gst/gsttaglist.c:189
 msgid "version of this data"
 msgstr ""
 
-#: gst/gsttaglist.c:188
+#: gst/gsttaglist.c:191
 msgid "ISRC"
 msgstr ""
 
-#: gst/gsttaglist.c:190
+#: gst/gsttaglist.c:193
 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
 msgstr ""
 
-#: gst/gsttaglist.c:194
+#: gst/gsttaglist.c:197
 msgid "organization"
 msgstr ""
 
-#: gst/gsttaglist.c:197
+#: gst/gsttaglist.c:200
 msgid "copyright"
 msgstr ""
 
-#: gst/gsttaglist.c:197
+#: gst/gsttaglist.c:200
 msgid "copyright notice of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:199
+#: gst/gsttaglist.c:202
 msgid "copyright uri"
 msgstr ""
 
-#: gst/gsttaglist.c:200
+#: gst/gsttaglist.c:203
 msgid "URI to the copyright notice of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:202
+#: gst/gsttaglist.c:205
 msgid "encoded by"
 msgstr ""
 
-#: gst/gsttaglist.c:202
+#: gst/gsttaglist.c:205
 msgid "name of the encoding person or organization"
 msgstr ""
 
-#: gst/gsttaglist.c:206
+#: gst/gsttaglist.c:209
 msgid "contact"
 msgstr ""
 
-#: gst/gsttaglist.c:206
+#: gst/gsttaglist.c:209
 msgid "contact information"
 msgstr ""
 
-#: gst/gsttaglist.c:208
+#: gst/gsttaglist.c:211
 msgid "license"
 msgstr ""
 
-#: gst/gsttaglist.c:208
+#: gst/gsttaglist.c:211
 msgid "license of data"
 msgstr ""
 
-#: gst/gsttaglist.c:210
+#: gst/gsttaglist.c:213
 msgid "license uri"
 msgstr ""
 
-#: gst/gsttaglist.c:211
+#: gst/gsttaglist.c:214
 msgid "URI to the license of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:214
+#: gst/gsttaglist.c:217
 msgid "performer"
 msgstr ""
 
-#: gst/gsttaglist.c:215
+#: gst/gsttaglist.c:218
 msgid "person(s) performing"
 msgstr ""
 
-#: gst/gsttaglist.c:218
+#: gst/gsttaglist.c:221
 msgid "composer"
 msgstr ""
 
-#: gst/gsttaglist.c:219
+#: gst/gsttaglist.c:222
 msgid "person(s) who composed the recording"
 msgstr ""
 
-#: gst/gsttaglist.c:223
+#: gst/gsttaglist.c:226
 msgid "duration"
 msgstr ""
 
-#: gst/gsttaglist.c:223
+#: gst/gsttaglist.c:226
 msgid "length in GStreamer time units (nanoseconds)"
 msgstr ""
 
-#: gst/gsttaglist.c:226
+#: gst/gsttaglist.c:229
 msgid "codec"
 msgstr ""
 
-#: gst/gsttaglist.c:227
+#: gst/gsttaglist.c:230
 msgid "codec the data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:230
+#: gst/gsttaglist.c:233
 msgid "video codec"
 msgstr ""
 
-#: gst/gsttaglist.c:230
+#: gst/gsttaglist.c:233
 msgid "codec the video data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:233
+#: gst/gsttaglist.c:236
 msgid "audio codec"
 msgstr ""
 
-#: gst/gsttaglist.c:233
+#: gst/gsttaglist.c:236
 msgid "codec the audio data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:236
+#: gst/gsttaglist.c:239
 msgid "subtitle codec"
 msgstr ""
 
-#: gst/gsttaglist.c:236
+#: gst/gsttaglist.c:239
 msgid "codec the subtitle data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:238
+#: gst/gsttaglist.c:241
 msgid "container format"
 msgstr ""
 
-#: gst/gsttaglist.c:239
+#: gst/gsttaglist.c:242
 msgid "container format the data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:241
+#: gst/gsttaglist.c:244
 msgid "bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:241
+#: gst/gsttaglist.c:244
 msgid "exact or average bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:243
+#: gst/gsttaglist.c:246
 msgid "nominal bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:243
+#: gst/gsttaglist.c:246
 msgid "nominal bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:245
+#: gst/gsttaglist.c:248
 msgid "minimum bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:245
+#: gst/gsttaglist.c:248
 msgid "minimum bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:247
+#: gst/gsttaglist.c:250
 msgid "maximum bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:247
+#: gst/gsttaglist.c:250
 msgid "maximum bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:250
+#: gst/gsttaglist.c:253
 msgid "encoder"
 msgstr ""
 
-#: gst/gsttaglist.c:250
+#: gst/gsttaglist.c:253
 msgid "encoder used to encode this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:253
+#: gst/gsttaglist.c:256
 msgid "encoder version"
 msgstr ""
 
-#: gst/gsttaglist.c:254
+#: gst/gsttaglist.c:257
 msgid "version of the encoder used to encode this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:256
+#: gst/gsttaglist.c:259
 msgid "serial"
 msgstr ""
 
-#: gst/gsttaglist.c:256
+#: gst/gsttaglist.c:259
 msgid "serial number of track"
 msgstr ""
 
-#: gst/gsttaglist.c:258
+#: gst/gsttaglist.c:261
 msgid "replaygain track gain"
 msgstr ""
 
-#: gst/gsttaglist.c:258
+#: gst/gsttaglist.c:261
 msgid "track gain in db"
 msgstr ""
 
-#: gst/gsttaglist.c:260
+#: gst/gsttaglist.c:263
 msgid "replaygain track peak"
 msgstr ""
 
-#: gst/gsttaglist.c:260
+#: gst/gsttaglist.c:263
 msgid "peak of the track"
 msgstr ""
 
-#: gst/gsttaglist.c:262
+#: gst/gsttaglist.c:265
 msgid "replaygain album gain"
 msgstr ""
 
-#: gst/gsttaglist.c:262
+#: gst/gsttaglist.c:265
 msgid "album gain in db"
 msgstr ""
 
-#: gst/gsttaglist.c:264
+#: gst/gsttaglist.c:267
 msgid "replaygain album peak"
 msgstr ""
 
-#: gst/gsttaglist.c:264
+#: gst/gsttaglist.c:267
 msgid "peak of the album"
 msgstr ""
 
-#: gst/gsttaglist.c:266
+#: gst/gsttaglist.c:269
 msgid "replaygain reference level"
 msgstr ""
 
-#: gst/gsttaglist.c:267
+#: gst/gsttaglist.c:270
 msgid "reference level of track and album gain values"
 msgstr ""
 
-#: gst/gsttaglist.c:269
+#: gst/gsttaglist.c:272
 msgid "language code"
 msgstr ""
 
-#: gst/gsttaglist.c:270
+#: gst/gsttaglist.c:273
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
 msgstr ""
 
-#: gst/gsttaglist.c:273
+#: gst/gsttaglist.c:276
 msgid "language name"
 msgstr ""
 
-#: gst/gsttaglist.c:274
+#: gst/gsttaglist.c:277
 msgid "freeform name of the language this stream is in"
 msgstr ""
 
-#: gst/gsttaglist.c:276
+#: gst/gsttaglist.c:279
 msgid "image"
 msgstr ""
 
-#: gst/gsttaglist.c:276
+#: gst/gsttaglist.c:279
 msgid "image related to this stream"
 msgstr ""
 
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
-#: gst/gsttaglist.c:280
+#: gst/gsttaglist.c:283
 msgid "preview image"
 msgstr ""
 
-#: gst/gsttaglist.c:280
+#: gst/gsttaglist.c:283
 msgid "preview image related to this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:282
+#: gst/gsttaglist.c:285
 msgid "attachment"
 msgstr ""
 
-#: gst/gsttaglist.c:282
+#: gst/gsttaglist.c:285
 msgid "file attached to this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:285
+#: gst/gsttaglist.c:288
 msgid "beats per minute"
 msgstr ""
 
-#: gst/gsttaglist.c:286
+#: gst/gsttaglist.c:289
 msgid "number of beats per minute in audio"
 msgstr ""
 
-#: gst/gsttaglist.c:288
+#: gst/gsttaglist.c:291
 msgid "keywords"
 msgstr ""
 
-#: gst/gsttaglist.c:288
+#: gst/gsttaglist.c:291
 msgid "comma separated keywords describing the content"
 msgstr ""
 
-#: gst/gsttaglist.c:291
+#: gst/gsttaglist.c:294
 msgid "geo location name"
 msgstr ""
 
-#: gst/gsttaglist.c:292
+#: gst/gsttaglist.c:295
 msgid ""
 "human readable descriptive location of where the media has been recorded or "
 "produced"
 msgstr ""
 
-#: gst/gsttaglist.c:295
+#: gst/gsttaglist.c:298
 msgid "geo location latitude"
 msgstr ""
 
-#: gst/gsttaglist.c:296
+#: gst/gsttaglist.c:299
 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 ""
 
-#: gst/gsttaglist.c:300
+#: gst/gsttaglist.c:303
 msgid "geo location longitude"
 msgstr ""
 
-#: gst/gsttaglist.c:301
+#: gst/gsttaglist.c:304
 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 ""
 
-#: gst/gsttaglist.c:305
+#: gst/gsttaglist.c:308
 msgid "geo location elevation"
 msgstr ""
 
-#: gst/gsttaglist.c:306
+#: gst/gsttaglist.c:309
 msgid ""
 "geo elevation of where the media has been recorded or produced in meters "
 "according to WGS84 (zero is average sea level)"
 msgstr ""
 
-#: gst/gsttaglist.c:309
+#: gst/gsttaglist.c:312
 msgid "geo location country"
 msgstr ""
 
-#: gst/gsttaglist.c:310
+#: gst/gsttaglist.c:313
 msgid "country (english name) where the media has been recorded or produced"
 msgstr ""
 
-#: gst/gsttaglist.c:313
+#: gst/gsttaglist.c:316
 msgid "geo location city"
 msgstr ""
 
-#: gst/gsttaglist.c:314
+#: gst/gsttaglist.c:317
 msgid "city (english name) where the media has been recorded or produced"
 msgstr ""
 
-#: gst/gsttaglist.c:317
+#: gst/gsttaglist.c:320
 msgid "geo location sublocation"
 msgstr ""
 
-#: gst/gsttaglist.c:318
+#: gst/gsttaglist.c:321
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
-#: gst/gsttaglist.c:321
+#: gst/gsttaglist.c:324
 msgid "geo location horizontal error"
 msgstr ""
 
-#: gst/gsttaglist.c:322
+#: gst/gsttaglist.c:325
 msgid "expected error of the horizontal positioning measures (in meters)"
 msgstr ""
 
-#: gst/gsttaglist.c:325
+#: gst/gsttaglist.c:328
 msgid "geo location movement speed"
 msgstr ""
 
-#: gst/gsttaglist.c:326
+#: gst/gsttaglist.c:329
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
 msgstr ""
 
-#: gst/gsttaglist.c:329
+#: gst/gsttaglist.c:332
 msgid "geo location movement direction"
 msgstr ""
 
-#: gst/gsttaglist.c:330
+#: gst/gsttaglist.c:333
 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 ""
 
-#: gst/gsttaglist.c:335
+#: gst/gsttaglist.c:338
 msgid "geo location capture direction"
 msgstr ""
 
-#: gst/gsttaglist.c:336
+#: gst/gsttaglist.c:339
 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 "
@@ -870,141 +870,141 @@
 msgstr ""
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
-#: gst/gsttaglist.c:342
+#: gst/gsttaglist.c:345
 msgid "show name"
 msgstr ""
 
-#: gst/gsttaglist.c:343
+#: gst/gsttaglist.c:346
 msgid "Name of the tv/podcast/series show the media is from"
 msgstr ""
 
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
-#: gst/gsttaglist.c:348
+#: gst/gsttaglist.c:351
 msgid "show sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:349
+#: gst/gsttaglist.c:352
 msgid ""
 "Name of the tv/podcast/series show the media is from, for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:352
+#: gst/gsttaglist.c:355
 msgid "episode number"
 msgstr ""
 
-#: gst/gsttaglist.c:353
+#: gst/gsttaglist.c:356
 msgid "The episode number in the season the media is part of"
 msgstr ""
 
-#: gst/gsttaglist.c:356
+#: gst/gsttaglist.c:359
 msgid "season number"
 msgstr ""
 
-#: gst/gsttaglist.c:357
+#: gst/gsttaglist.c:360
 msgid "The season number of the show the media is part of"
 msgstr ""
 
-#: gst/gsttaglist.c:360
+#: gst/gsttaglist.c:363
 msgid "lyrics"
 msgstr ""
 
-#: gst/gsttaglist.c:360
+#: gst/gsttaglist.c:363
 msgid "The lyrics of the media, commonly used for songs"
 msgstr ""
 
-#: gst/gsttaglist.c:363
+#: gst/gsttaglist.c:366
 msgid "composer sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:364
+#: gst/gsttaglist.c:367
 msgid "person(s) who composed the recording, for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:366
+#: gst/gsttaglist.c:369
 msgid "grouping"
 msgstr ""
 
-#: gst/gsttaglist.c:367
+#: gst/gsttaglist.c:370
 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 ""
 
-#: gst/gsttaglist.c:371
+#: gst/gsttaglist.c:374
 msgid "user rating"
 msgstr ""
 
-#: gst/gsttaglist.c:372
+#: gst/gsttaglist.c:375
 msgid ""
 "Rating attributed by a user. The higher the rank, the more the user likes "
 "this media"
 msgstr ""
 
-#: gst/gsttaglist.c:375
+#: gst/gsttaglist.c:378
 msgid "device manufacturer"
 msgstr ""
 
-#: gst/gsttaglist.c:376
+#: gst/gsttaglist.c:379
 msgid "Manufacturer of the device used to create this media"
 msgstr ""
 
-#: gst/gsttaglist.c:378
+#: gst/gsttaglist.c:381
 msgid "device model"
 msgstr ""
 
-#: gst/gsttaglist.c:379
+#: gst/gsttaglist.c:382
 msgid "Model of the device used to create this media"
 msgstr ""
 
-#: gst/gsttaglist.c:381
+#: gst/gsttaglist.c:384
 msgid "application name"
 msgstr ""
 
-#: gst/gsttaglist.c:382
+#: gst/gsttaglist.c:385
 msgid "Application used to create the media"
 msgstr ""
 
-#: gst/gsttaglist.c:384
+#: gst/gsttaglist.c:387
 msgid "application data"
 msgstr ""
 
-#: gst/gsttaglist.c:385
+#: gst/gsttaglist.c:388
 msgid "Arbitrary application data to be serialized into the media"
 msgstr ""
 
-#: gst/gsttaglist.c:387
+#: gst/gsttaglist.c:390
 msgid "image orientation"
 msgstr ""
 
-#: gst/gsttaglist.c:388
+#: gst/gsttaglist.c:391
 msgid "How the image should be rotated or flipped before display"
 msgstr ""
 
-#: gst/gsttaglist.c:391
+#: gst/gsttaglist.c:394
 msgid "publisher"
 msgstr ""
 
-#: gst/gsttaglist.c:392
+#: gst/gsttaglist.c:395
 msgid "Name of the label or publisher"
 msgstr ""
 
-#: gst/gsttaglist.c:395
+#: gst/gsttaglist.c:398
 msgid "interpreted-by"
 msgstr ""
 
-#: gst/gsttaglist.c:396
+#: gst/gsttaglist.c:399
 msgid "Information about the people behind a remix and similar interpretations"
 msgstr ""
 
-#: gst/gsttaglist.c:400
+#: gst/gsttaglist.c:403
 msgid "midi-base-note"
 msgstr ""
 
-#: gst/gsttaglist.c:400
+#: gst/gsttaglist.c:403
 msgid "Midi note number of the audio track."
 msgstr ""
 
-#: gst/gsttaglist.c:439
+#: gst/gsttaglist.c:442
 msgid ", "
 msgstr ""
 
@@ -1120,8 +1120,8 @@
 msgstr ""
 
 #: libs/gst/base/gstbasesink.c:3980 libs/gst/base/gstbasesrc.c:2932
-#: libs/gst/base/gstbasesrc.c:2941 plugins/elements/gstqueue.c:1274
-#: plugins/elements/gstqueue2.c:2737
+#: libs/gst/base/gstbasesrc.c:2941 plugins/elements/gstdownloadbuffer.c:1322
+#: plugins/elements/gstqueue.c:1274 plugins/elements/gstqueue2.c:2737
 msgid "Internal data flow error."
 msgstr ""
 
@@ -1143,6 +1143,25 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+#: plugins/elements/gstdownloadbuffer.c:919 plugins/elements/gstqueue2.c:1490
+msgid "No Temp directory specified."
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:925 plugins/elements/gstqueue2.c:1496
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:933 plugins/elements/gstfilesrc.c:517
+#: plugins/elements/gstqueue2.c:1504
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:1244 plugins/elements/gstqueue2.c:1910
+msgid "Error while writing to download file."
+msgstr ""
+
 #: plugins/elements/gstfilesink.c:416
 msgid "No file name specified for writing."
 msgstr ""
@@ -1171,11 +1190,6 @@
 msgid "No file name specified for reading."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:517 plugins/elements/gstqueue2.c:1504
-#, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr ""
-
 #: plugins/elements/gstfilesrc.c:526
 #, c-format
 msgid "Could not get info on \"%s\"."
@@ -1191,23 +1205,10 @@
 msgid "File \"%s\" is a socket."
 msgstr ""
 
-#: plugins/elements/gstidentity.c:614
+#: plugins/elements/gstidentity.c:598
 msgid "Failed after iterations as requested."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1490
-msgid "No Temp directory specified."
-msgstr ""
-
-#: plugins/elements/gstqueue2.c:1496
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr ""
-
-#: plugins/elements/gstqueue2.c:1910
-msgid "Error while writing to download file."
-msgstr ""
-
 #: plugins/elements/gsttypefindelement.c:204
 msgid "caps"
 msgstr ""
@@ -1228,7 +1229,7 @@
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:1039
+#: plugins/elements/gsttypefindelement.c:1051
 msgid "Stream contains no data."
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index b362d0c..7046cf0 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 884b64b..04e5a8f 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -925,6 +925,20 @@
 "Ograniči dozvoljene mogućnosti (NULL znači ANY). Postavljanje ovog svojstva "
 "prosljeđuje referencu navedenom GstCaps objektu."
 
+msgid "No Temp directory specified."
+msgstr "Nije naveden privremeni direktorij."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Ne mogu napraviti privremenu datoteku „%s”."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Ne mogu otvoriti datoteku „%s” za čitanje."
+
+msgid "Error while writing to download file."
+msgstr "Greška pri pisanju u preuzetu datoteku."
+
 msgid "No file name specified for writing."
 msgstr "Nije navedena datoteka za pisanje."
 
@@ -948,10 +962,6 @@
 msgstr "Nije navedena datoteka za čitanje."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Ne mogu otvoriti datoteku „%s” za čitanje."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Ne mogu dobiti podatke o „%s”."
 
@@ -966,16 +976,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Neuspjeh nakon iteracija kao što je traženo."
 
-msgid "No Temp directory specified."
-msgstr "Nije naveden privremeni direktorij."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Ne mogu napraviti privremenu datoteku „%s”."
-
-msgid "Error while writing to download file."
-msgstr "Greška pri pisanju u preuzetu datoteku."
-
 msgid "caps"
 msgstr "mogućnosti"
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 9f52846..61abc40 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 894f409..a250118 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -6,17 +6,17 @@
 # Balázs Úr <urbalazs@gmail.com>, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2014-03-20 19:07+0100\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 msgid "Print the GStreamer version"
@@ -201,9 +201,8 @@
 msgid "No space left on the resource."
 msgstr "Nincs több hely az erőforráson."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Nincs több hely az erőforráson."
+msgstr "Nincs jogosultsága az erőforrás eléréséhez."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "A GStreamer általános adatfolyamhibát észlelt."
@@ -811,10 +810,10 @@
 msgstr "Információ a remix mögött lévő személyekről és hasonló feldolgozások"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-alapú-hangjegy"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "A hangsáv midi hangjegy száma."
 
 msgid ", "
 msgstr ", "
@@ -841,11 +840,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "a hivatkozásnak nincs forrása [nyelő=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "a hivatkozásnak nincs nyelője [forrás=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -865,11 +864,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "nem várt „%s” hivatkozás - mellőzés"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "nem várt „%s” kitöltési hivatkozás - mellőzés"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -884,18 +883,18 @@
 msgstr "nincs forráselem a következő URI címhez: „%s”"
 
 msgid "syntax error"
-msgstr ""
+msgstr "szintaktikai hiba"
 
 msgid "bin"
-msgstr ""
+msgstr "tároló"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "a megadott üres „%s” tároló nem engedélyezett"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "nincs „%s” tároló, átlépés"
+msgstr "nincs „%s” tároló, elemek kicsomagolása"
 
 msgid "empty pipeline not allowed"
 msgstr "üres adatcsatorna nem engedélyezett"
@@ -928,6 +927,20 @@
 "Az engedélyezhető képességek korlátozása (a NULL, ANY-t jelent). Ezen "
 "tulajdonság beállítása a biztosított GstCaps objektumra hivatkozik."
 
+msgid "No Temp directory specified."
+msgstr "Nincs megadva ideiglenes könyvtár."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Nem hozható létre a következő ideiglenes fájl: „%s”."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Nem nyitható meg a(z) „%s” fájl olvasásra."
+
+msgid "Error while writing to download file."
+msgstr "Hiba a letöltési fájl írása közben."
+
 msgid "No file name specified for writing."
 msgstr "Nincs fájlnév megadva az íráshoz."
 
@@ -951,10 +964,6 @@
 msgstr "Nincs megadva fájlnév az olvasáshoz."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Nem nyitható meg a(z) „%s” fájl olvasásra."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Nem kérhetők le információk a következőkről: „%s”."
 
@@ -969,16 +978,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Ismétlések után kérésére meghiúsult."
 
-msgid "No Temp directory specified."
-msgstr "Nincs megadva ideiglenes könyvtár."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Nem hozható létre a következő ideiglenes fájl: „%s”."
-
-msgid "Error while writing to download file."
-msgstr "Hiba a letöltési fájl írása közben."
-
 msgid "caps"
 msgstr "képességek"
 
diff --git a/po/id.gmo b/po/id.gmo
index 5af1967..71f3b78 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index f3a6ce4..1ac9005 100644
--- a/po/id.po
+++ b/po/id.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2014-01-27 20:09+0700\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: id\n"
@@ -202,9 +202,8 @@
 msgid "No space left on the resource."
 msgstr "Tak ada ruang tersisa di sumber daya."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Tak ada ruang tersisa di sumber daya."
+msgstr "Tak diizinkan untuk mengakses sumber daya."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer menghadapai galat arus umum."
@@ -814,10 +813,10 @@
 "Informasi tentang orang di belakang suatu remix dan interpretasi yang serupa"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-base-note"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Nomor catatan midi dari jalur audio."
 
 msgid ", "
 msgstr ", "
@@ -844,11 +843,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "tautan tidak mempunyai sumber [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "tautan mempunyai buangan [source=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -868,11 +867,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "referensi tak diharapkan \"%s\" - mengabaikan"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "referensi pad tak diharapkan \"%s\" - mengabaikan"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -887,18 +886,18 @@
 msgstr "tak ada elemen sumber untuk URI \"%s\""
 
 msgid "syntax error"
-msgstr ""
+msgstr "galat sintaksis"
 
 msgid "bin"
-msgstr ""
+msgstr "tempat sampah"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "menentukan kotak sampah kosong \"%s\", tak diizinkan"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "tak ada tempat sampah \"%s\", dilewati"
+msgstr "tak ada tempat sampah \"%s\", membongkar elemen"
 
 msgid "empty pipeline not allowed"
 msgstr "baris pipa kosong tak diizinkan"
@@ -931,6 +930,20 @@
 "Larang kemampuan yang mungkin diizinkan (KOSONG berarti APAPUN). Pengaturan "
 "properti ini bersumber pada objek GstCaps yang disediakan."
 
+msgid "No Temp directory specified."
+msgstr "Tak ada direktori Temp yang ditentukan."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Tak bisa membuat berkas temp \"%s\"."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Tak dapat membuka berkas \"%s\" untuk dibaca."
+
+msgid "Error while writing to download file."
+msgstr "Galat ketika menulis ke berkas unduhan."
+
 msgid "No file name specified for writing."
 msgstr "Tak ada nama berkas yang ditentukan untuk ditulis."
 
@@ -954,10 +967,6 @@
 msgstr "Tak ada nama yang ditentukan untuk dibaca."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Tak dapat membuka berkas \"%s\" untuk dibaca."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Tak bisa mendapatkan info di \"%s\"."
 
@@ -972,16 +981,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Gagal setelah pengulangan seperti yang diminta."
 
-msgid "No Temp directory specified."
-msgstr "Tak ada direktori Temp yang ditentukan."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Tak bisa membuat berkas temp \"%s\"."
-
-msgid "Error while writing to download file."
-msgstr "Galat ketika menulis ke berkas unduhan."
-
 msgid "caps"
 msgstr "huruf"
 
diff --git a/po/it.gmo b/po/it.gmo
index c48af4e..0de2f8c 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index a3b9ade..600aca7 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -1091,6 +1091,20 @@
 "Impostando questa proprietà si prende un riferimento all'oggetto GstCaps "
 "fornito."
 
+msgid "No Temp directory specified."
+msgstr "Nessuna directory temporanea specificata."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Impossibile creare il file temporaneo «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Impossibile aprire il file «%s» in lettura."
+
+msgid "Error while writing to download file."
+msgstr "Errore durante la scritta sul file di scaricamento."
+
 msgid "No file name specified for writing."
 msgstr "Nessun nome di file specificato per la scrittura."
 
@@ -1114,10 +1128,6 @@
 msgstr "Nessun nome di file specificato per la lettura."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Impossibile aprire il file «%s» in lettura."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Impossibile ottenere informazioni su «%s»."
 
@@ -1132,16 +1142,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Fallito dopo le iterazioni come richiesto."
 
-msgid "No Temp directory specified."
-msgstr "Nessuna directory temporanea specificata."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Impossibile creare il file temporaneo «%s»."
-
-msgid "Error while writing to download file."
-msgstr "Errore durante la scritta sul file di scaricamento."
-
 msgid "caps"
 msgstr "caps"
 
diff --git a/po/ja.gmo b/po/ja.gmo
index 4c7453a..54767d4 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 1b7df71..ea30d5b 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -894,6 +894,20 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "一時ファイル \"%s\" を作成できません"
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "読み込み用にファイル \"%s\" を開くことができません"
+
+msgid "Error while writing to download file."
+msgstr "ファイルの書き込み中にエラーが発生しました"
+
 msgid "No file name specified for writing."
 msgstr "書き込み用のファイル名が指定されていません"
 
@@ -917,10 +931,6 @@
 msgstr "読み込み用のファイル名が指定されていません"
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "読み込み用にファイル \"%s\" を開くことができません"
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "\"%s\" 上の情報を取得できません"
 
@@ -935,16 +945,6 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "一時ファイル \"%s\" を作成できません"
-
-msgid "Error while writing to download file."
-msgstr "ファイルの書き込み中にエラーが発生しました"
-
 msgid "caps"
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index 4046b9c..bda011e 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index b780937..1d1c006 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -936,6 +936,20 @@
 "Riboti galimas leidžiamas galimybes (NULL – BET KOKIAS). Nustatant šią "
 "savybę nurodoma į pateiktą GstCaps objektą."
 
+msgid "No Temp directory specified."
+msgstr "Nenurodytas laikinas katalogas."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Nepavyko sukurti laikino failo „%s“."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Nepavyko atverti failo „%s“ skaitymui."
+
+msgid "Error while writing to download file."
+msgstr "Klaida rašant į atsiuntimo failą."
+
 msgid "No file name specified for writing."
 msgstr "Nenurodytas failo pavadinimas rašymui."
 
@@ -959,10 +973,6 @@
 msgstr "Nenurodytas failo pavadinimas skaitymui."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Nepavyko atverti failo „%s“ skaitymui."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Nepavyko gauti duomenų apie „%s“."
 
@@ -977,16 +987,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Nesėkmė po iteracijų kaip ir reikalauta."
 
-msgid "No Temp directory specified."
-msgstr "Nenurodytas laikinas katalogas."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Nepavyko sukurti laikino failo „%s“."
-
-msgid "Error while writing to download file."
-msgstr "Klaida rašant į atsiuntimo failą."
-
 msgid "caps"
 msgstr "galimybės"
 
diff --git a/po/nb.gmo b/po/nb.gmo
index 32b51a2..577d0b0 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index f492a62..de61396 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -899,6 +899,21 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Kunne ikke lage midlertidig fil «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Kunne ikke åpne fil «%s» for lesing."
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "Feil ved skriving til fil «%s»."
+
 msgid "No file name specified for writing."
 msgstr "Ingen filnavn oppgitt for skriving."
 
@@ -922,10 +937,6 @@
 msgstr "Ingen filnavn oppgitt for lesing."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Kunne ikke åpne fil «%s» for lesing."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Kunne ikke hente informasjon om «%s»."
 
@@ -940,17 +951,6 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Kunne ikke lage midlertidig fil «%s»."
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "Feil ved skriving til fil «%s»."
-
 msgid "caps"
 msgstr ""
 
diff --git a/po/nl.gmo b/po/nl.gmo
index f07e7f2..1b249b0 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 113ad36..c431c47 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,4 +1,4 @@
-# translation of gstreamer-1.2.1.po to Dutch
+# translation of gstreamer-1.3.2.po to Dutch
 # Dutch translation of gstreamer
 # Copyright (C) 2003-2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
@@ -8,10 +8,10 @@
 # Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2014-01-09 12:55+0100\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: nl\n"
@@ -210,9 +210,8 @@
 msgid "No space left on the resource."
 msgstr "Er is geen ruimte meer in de bron."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Er is geen ruimte meer in de bron."
+msgstr "Niet geautoriseerd voor toegang tot hulpbron."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer kwam een algemene stroomfout tegen."
@@ -823,10 +822,10 @@
 "Informatie over de mensen achter een remix en soortgelijke interpretaties"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-base-note"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Midi notitienummer van de geluidstrack"
 
 msgid ", "
 msgstr ", "
@@ -853,11 +852,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "link heeft geen bron [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "link heeft geen sink [bron=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -877,11 +876,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "onverwachte referentie \"%s\" - wordt genegeerd"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "onverwachte pad-referentie \"%s\" - wordt genegeerd"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -896,18 +895,18 @@
 msgstr "geen bronelement voor URI \"%s\""
 
 msgid "syntax error"
-msgstr ""
+msgstr "syntaxisfout"
 
 msgid "bin"
-msgstr ""
+msgstr "bin"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "lege ton \"%s\" opgegeven, niet toegelaten"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "geen ton \"%s\", overgeslagen"
+msgstr "geen bin \"%s\", elementen uitpakken"
 
 msgid "empty pipeline not allowed"
 msgstr "lege pijplijn niet toegelaten"
@@ -941,6 +940,20 @@
 "instellen  van deze eigenschap vereist een referentie naar het gegeven "
 "GstCaps-object."
 
+msgid "No Temp directory specified."
+msgstr "Geen tijdelijke map opgegeven."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Kon geen tijdelijk bestand \"%s\" aanmaken."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Kan bestand \"%s\" niet openen om te lezen."
+
+msgid "Error while writing to download file."
+msgstr "Fout bij het schrijven om bestand te downloaden."
+
 msgid "No file name specified for writing."
 msgstr "Geen bestandsnaam gegeven om te schrijven."
 
@@ -964,10 +977,6 @@
 msgstr "Geen bestandsnaam gegeven om te lezen."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Kan bestand \"%s\" niet openen om te lezen."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Kan geen info over \"%s\" krijgen."
 
@@ -982,16 +991,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Mislukt na iteraties zoals gevraagd."
 
-msgid "No Temp directory specified."
-msgstr "Geen tijdelijke map opgegeven."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Kon geen tijdelijk bestand \"%s\" aanmaken."
-
-msgid "Error while writing to download file."
-msgstr "Fout bij het schrijven om bestand te downloaden."
-
 msgid "caps"
 msgstr "mogelijkheden"
 
diff --git a/po/pl.gmo b/po/pl.gmo
index bac7893..c5f12b8 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index a38fd3e..3109a3a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,13 +1,13 @@
 # Polish translation for gstreamer.
 # This file is distributed under the same license as the gstreamer package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2013.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2013-12-08 08:57+0100\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: pl\n"
@@ -204,9 +204,8 @@
 msgid "No space left on the resource."
 msgstr "Brak wolnego miejsca w zasobie."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Brak wolnego miejsca w zasobie."
+msgstr "Brak autoryzacji dostępu do zasobu."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer napotkał ogólny błąd strumieni."
@@ -816,10 +815,10 @@
 "Informacja o osobach odpowiedzialnych za remix lub podobne interpretacje"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "dźwięk-podstawowy-midi"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Numer dźwięku MIDI ścieżki dźwiękowej."
 
 msgid ", "
 msgstr ", "
@@ -846,11 +845,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "dowiązanie nie ma źródła [cel=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "dowiązanie nie ma celu [źródło=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -870,11 +869,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "nieoczekiwane odniesienie \"%s\" - zignorowano"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "nieoczekiwane odniesienie dopełniające \"%s\" - zignorowano"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -889,18 +888,18 @@
 msgstr "brak elementu źródłowego dla URI \"%s\""
 
 msgid "syntax error"
-msgstr ""
+msgstr "błąd składni"
 
 msgid "bin"
-msgstr ""
+msgstr "kontener"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "podano pusty kontener \"%s\", nie jest to dozwolone"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "brak kontenera \"%s\", pominięto"
+msgstr "brak kontenera \"%s\", rozpakowywanie elementów"
 
 msgid "empty pipeline not allowed"
 msgstr "pusty potok nie jest dozwolony"
@@ -933,6 +932,20 @@
 "Ograniczenie możliwych dozwolonych możliwości (NULL oznacza WSZYSTKIE). "
 "Ustawienie tej właściwości odwołuje się do przekazanego obiektu GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Nie podano katalogu tymczasowego."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Nie udało się utworzyć pliku tymczasowego \"%s\"."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Nie udało się otworzyć pliku \"%s\" do odczytu."
+
+msgid "Error while writing to download file."
+msgstr "Błąd podczas zapisu do ściąganego pluku."
+
 msgid "No file name specified for writing."
 msgstr "Nie podano nazwy pliku do zapisu."
 
@@ -956,10 +969,6 @@
 msgstr "Nie podano nazwy pliku do odczytu."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Nie udało się otworzyć pliku \"%s\" do odczytu."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Nie udało się uzyskać informacji o \"%s\"."
 
@@ -974,16 +983,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Niepowodzenie po iteracjach jak żądano."
 
-msgid "No Temp directory specified."
-msgstr "Nie podano katalogu tymczasowego."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Nie udało się utworzyć pliku tymczasowego \"%s\"."
-
-msgid "Error while writing to download file."
-msgstr "Błąd podczas zapisu do ściąganego pluku."
-
 msgid "caps"
 msgstr "możliwości"
 
@@ -1294,15 +1293,3 @@
 
 msgid "Freeing pipeline ...\n"
 msgstr "Zwalnianie potoku...\n"
-
-#~ msgid "link without source element"
-#~ msgstr "dowiązanie bez elementu źródłowego"
-
-#~ msgid "link without sink element"
-#~ msgstr "dowiązanie bez elementu osadzającego"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "brak elementu do dowiązania URI \"%s\""
-
-#~ msgid "could not link sink element for URI \"%s\""
-#~ msgstr "nie udało się dowiązać elementu osadzającego dla URI \"%s\""
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index e7a32f5..8b32f92 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 4ad3804..ed8bd83 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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."
@@ -949,6 +949,20 @@
 "Restrinja as possíveis capacidades permitidas (NULL = ANY). Definindo essa "
 "propriedade é levada uma referência ao objeto GstCaps fornecido."
 
+msgid "No Temp directory specified."
+msgstr "Nenhum diretório temporário especificado."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Não foi possível criar o arquivo temporário \"%s\"."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Não foi possível abrir o arquivo \"%s\" para leitura."
+
+msgid "Error while writing to download file."
+msgstr "Erro ao escrever no arquivo baixado."
+
 msgid "No file name specified for writing."
 msgstr "Nenhum nome de arquivo especificado para escrita."
 
@@ -972,10 +986,6 @@
 msgstr "Nenhum nome de arquivo especificado para leitura."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Não foi possível abrir o arquivo \"%s\" para leitura."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Não foi possível obter informações em \"%s\"."
 
@@ -990,16 +1000,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Falha após as interações requeridas."
 
-msgid "No Temp directory specified."
-msgstr "Nenhum diretório temporário especificado."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Não foi possível criar o arquivo temporário \"%s\"."
-
-msgid "Error while writing to download file."
-msgstr "Erro ao escrever no arquivo baixado."
-
 msgid "caps"
 msgstr "Caps"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 5b5a224..28a69ec 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 8f00a80..ac96689 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -954,6 +954,20 @@
 "Restricționează capacitățile permise (NULL înseamnă ORICE). Definirea "
 "acestei proprietăți preia o referință către obiectul GstCaps furnizat."
 
+msgid "No Temp directory specified."
+msgstr "Niciun director temporar specificat."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Nu am putut crea fișierul temporar „%s”."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Nu se poate deschide fișierul „%s” pentru citire."
+
+msgid "Error while writing to download file."
+msgstr "Eroare la scrierea în fișierul descărcat."
+
 msgid "No file name specified for writing."
 msgstr "Niciun nume de fișier specificat pentru scriere."
 
@@ -977,10 +991,6 @@
 msgstr "Niciun nume de fișier specificat pentru citire."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Nu se poate deschide fișierul „%s” pentru citire."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Nu se pot obține informații despre „%s”."
 
@@ -995,16 +1005,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Eșec după numărul de iterații care a fost cerut."
 
-msgid "No Temp directory specified."
-msgstr "Niciun director temporar specificat."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Nu am putut crea fișierul temporar „%s”."
-
-msgid "Error while writing to download file."
-msgstr "Eroare la scrierea în fișierul descărcat."
-
 msgid "caps"
 msgstr "majuscule"
 
diff --git a/po/ru.gmo b/po/ru.gmo
index e180b82..c0526f4 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index c007c05..aae3e94 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,13 +4,13 @@
 # Peter Astakhov <astakhovp@mail.ru>, 2005.
 # Артём Попов <artfwo@gmail.com>, 2009.
 # Pavel Maryanov <acid_jack@ukr.net>, 2009.
-# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013.
+# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2013-12-08 12:44+0400\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: ru\n"
@@ -19,7 +19,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Generator: Lokalize 1.5\n"
 
 msgid "Print the GStreamer version"
 msgstr "Вывести версию GStreamer"
@@ -207,9 +207,8 @@
 msgid "No space left on the resource."
 msgstr "В ресурсе нет свободного места."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "В ресурсе нет свободного места."
+msgstr "Неправомочный доступ к ресурсу."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "Обнаружена общая ошибка потока GStreamer."
@@ -815,10 +814,10 @@
 msgstr "Информация о людях, которые сделали ремикс или подобные обработки"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-base-note"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Номер ноты midi на аудио дорожке."
 
 msgid ", "
 msgstr ", "
@@ -845,11 +844,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "соединение без источника [приёмник=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "соединение без приёмника [источник=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -869,11 +868,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "неожиданная ссылка «%s» — игнорируется"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "неожиданная ссылка на контактное гнездо «%s» — игнорируется"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -888,18 +887,18 @@
 msgstr "нет элемента-источника для URI «%s»"
 
 msgid "syntax error"
-msgstr ""
+msgstr "синтаксическая ошибка"
 
 msgid "bin"
-msgstr ""
+msgstr "контейнер"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "указанный пустой контейнер «%s» недопустим"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "не найден контейнер «%s», пропуск"
+msgstr "не найден контейнер «%s», распаковка элементов"
 
 msgid "empty pipeline not allowed"
 msgstr "пустой конвейер недопустим"
@@ -932,6 +931,20 @@
 "Ограничить разрешённые возможности (NULL равносильно ANY). Установка этого "
 "свойства увеличивает количество ссылок для предоставленного объекта GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Не задана временный (Temp) каталог."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Не удалось создать временный файл «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Не удалось открыть файл «%s» для чтения."
+
+msgid "Error while writing to download file."
+msgstr "Ошибка записи загружаемого файла."
+
 msgid "No file name specified for writing."
 msgstr "Не указано имя файла для записи."
 
@@ -955,10 +968,6 @@
 msgstr "Не указано имя файла для чтения."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Не удалось открыть файл «%s» для чтения."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Не удалось получить сведения для «%s»."
 
@@ -973,16 +982,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Сбой после итераций, согласно запросу."
 
-msgid "No Temp directory specified."
-msgstr "Не задана временный (Temp) каталог."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Не удалось создать временный файл «%s»."
-
-msgid "Error while writing to download file."
-msgstr "Ошибка записи загружаемого файла."
-
 msgid "caps"
 msgstr "возможности"
 
diff --git a/po/rw.gmo b/po/rw.gmo
index 5d7d295..a950b0c 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 5c64972..ee27537 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -1093,6 +1093,21 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "OYA Kubona Gushyiraho Amagenamiterere Bivuye ku"
+
+#, fuzzy, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "OYA Gufungura IDOSIYE kugirango"
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "Kuri IDOSIYE"
+
 #, fuzzy
 msgid "No file name specified for writing."
 msgstr "IDOSIYE Izina: kugirango"
@@ -1118,10 +1133,6 @@
 msgstr "IDOSIYE Izina: kugirango"
 
 #, fuzzy, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "OYA Gufungura IDOSIYE kugirango"
-
-#, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "OYA Kubona Gushyiraho Amagenamiterere Bivuye ku"
 
@@ -1137,17 +1148,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Nyuma Amasubiramo Nka"
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "OYA Kubona Gushyiraho Amagenamiterere Bivuye ku"
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "Kuri IDOSIYE"
-
 # #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
 # officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Revision.TextDisplay.Insert.Attribute..5.text
 # #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
diff --git a/po/sk.gmo b/po/sk.gmo
index 3b0dcda..90ebaf1 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index f212d8f..1798634 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -932,6 +932,20 @@
 "Obmedziť možné povolené schopnosti (NULOVÉ znamená ĽUBOVOĽNÉ). Nastavenie "
 "tejto vlastnosti berie referenciu na zadaný objekt GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Nebol určený dočasný priečinok (Temp)."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Nepodarilo sa získať informácie o \"%s\"."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Nepodarilo sa otvoriť súbor \"%s\" pre čítanie."
+
+msgid "Error while writing to download file."
+msgstr "Chyba pri zápise do sťahovaného súboru."
+
 msgid "No file name specified for writing."
 msgstr "Nebol určený názov súboru pre zápis."
 
@@ -955,10 +969,6 @@
 msgstr "Nebol určený názov súboru pre čítanie."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Nepodarilo sa otvoriť súbor \"%s\" pre čítanie."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Nepodarilo sa získať informácie o \"%s\"."
 
@@ -973,16 +983,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Zlyhanie po vykonaní požadovaných iterácií."
 
-msgid "No Temp directory specified."
-msgstr "Nebol určený dočasný priečinok (Temp)."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Nepodarilo sa získať informácie o \"%s\"."
-
-msgid "Error while writing to download file."
-msgstr "Chyba pri zápise do sťahovaného súboru."
-
 msgid "caps"
 msgstr "schopnosti"
 
diff --git a/po/sl.gmo b/po/sl.gmo
index b5e4e40..cd3ae59 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 1f10937..bad2716 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -929,6 +929,20 @@
 "Omeji možne dovoljene zmožnosti (NULL pomeni ANY, vse). S tem naslavljate "
 "priloženi predmet GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Začasna mapa ni določena."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Začasne datoteke \"%s\" ni mogoče ustvariti."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Datoteke \"%s\" ni mogoče odpreti za branje."
+
+msgid "Error while writing to download file."
+msgstr "Napaka med zapisovanjem v prejeto datoteko."
+
 msgid "No file name specified for writing."
 msgstr "Ime datoteke za pisanje ni določeno."
 
@@ -952,10 +966,6 @@
 msgstr "Ime datoteke za branje ni določeno."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Datoteke \"%s\" ni mogoče odpreti za branje."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Podatkov o \"%s\" ni mogče pridobiti."
 
@@ -970,16 +980,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Po več ponovitvah je bilo (po zahtevi) opravilo neuspešno prekinjeno."
 
-msgid "No Temp directory specified."
-msgstr "Začasna mapa ni določena."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Začasne datoteke \"%s\" ni mogoče ustvariti."
-
-msgid "Error while writing to download file."
-msgstr "Napaka med zapisovanjem v prejeto datoteko."
-
 msgid "caps"
 msgstr "velike črke"
 
diff --git a/po/sq.gmo b/po/sq.gmo
index 57db438..eee0ded 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index ea613bf..56ac08a 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -947,6 +947,21 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "E pamundur marrja/vendosja e rregullimeve nga/në burim."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "E pamundur hapja e file \"%s\" për lexim."
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "Gabim gjatë shkrimit tek file \"%s\"."
+
 msgid "No file name specified for writing."
 msgstr "Nuk është përcaktuar asnjë emër file për tu shkruar."
 
@@ -969,10 +984,6 @@
 msgid "No file name specified for reading."
 msgstr "Nuk është përcaktuar asnjë emër file për tu lexuar."
 
-#, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "E pamundur hapja e file \"%s\" për lexim."
-
 #, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "E pamundur marrja/vendosja e rregullimeve nga/në burim."
@@ -988,17 +999,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Dështoi mbas përsëritjeve sikurse të kërkuara."
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "E pamundur marrja/vendosja e rregullimeve nga/në burim."
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "Gabim gjatë shkrimit tek file \"%s\"."
-
 msgid "caps"
 msgstr "mbrojtëse"
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 90dca6e..4d34c6c 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 06260b7..2740459 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,14 +1,14 @@
 # Serbian translation of gstreamer
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
-# Danilo Segan <dsegan@gmx.net>, 2004, 2005.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011, 2013, 2014.
+# Danilo Segan <dsegan@gmx.net>, 2004-2005.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011-2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer-1.2.1\n"
+"Project-Id-Version: gstreamer-1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2014-01-13 17:53+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
+"PO-Revision-Date: 2014-06-18 20:12+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
@@ -17,7 +17,6 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Project-Style: gnome\n"
 
 msgid "Print the GStreamer version"
 msgstr "Исписује издање Гстримера"
@@ -204,9 +203,8 @@
 msgid "No space left on the resource."
 msgstr "Није преостало простора у изворишту."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Није преостало простора у изворишту."
+msgstr "Нисам овлашћен да приступим изворишту."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "Гстример је наишао на општу грешку тока."
@@ -815,10 +813,10 @@
 msgstr "Подаци о људима који су урадили ремикс и сличне изведбе"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "миди-основна-нота"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Број миди ноте звучне нумере."
 
 msgid ", "
 msgstr ", "
@@ -845,11 +843,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "веза нема извора [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "веза нема усклађивање [source=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -869,11 +867,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "неочекивана упута „%s“ — занемарујем"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "неочекивана упута-попуне „%s“ — занемарујем"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -888,18 +886,18 @@
 msgstr "нема изворног елемента за адресу „%s“"
 
 msgid "syntax error"
-msgstr ""
+msgstr "грешка синтаксе"
 
 msgid "bin"
-msgstr ""
+msgstr "канта"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "наведена је празна канта „%s“, ово није дозвољено"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "нема канте „%s“, прескачем"
+msgstr "нема канте „%s“, распакујем елементе"
 
 msgid "empty pipeline not allowed"
 msgstr "није допуштена празна спојка низа"
@@ -932,6 +930,20 @@
 "Умањује могуће допуштене могућности (НИШТА значи БИЛО КОЈА). Постављање овог "
 "својства поставља као орјентир придодати објекат Гст могућности."
 
+msgid "No Temp directory specified."
+msgstr "Није наведен привремени директоријум."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Не могу да створим привремену датотеку „%s“."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Не могу да отворим датотеку „%s“ ради читања."
+
+msgid "Error while writing to download file."
+msgstr "Грешка при упису у датотеку преузимања."
+
 msgid "No file name specified for writing."
 msgstr "Није наведен назив датотеке за упис."
 
@@ -955,10 +967,6 @@
 msgstr "Није наведен назив датотеке за читање."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Не могу да отворим датотеку „%s“ ради читања."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Не могу да добавим податке на „%s“."
 
@@ -973,16 +981,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Неуспех након траженог броја покушаја."
 
-msgid "No Temp directory specified."
-msgstr "Није наведен привремени директоријум."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Не могу да створим привремену датотеку „%s“."
-
-msgid "Error while writing to download file."
-msgstr "Грешка при упису у датотеку преузимања."
-
 # bug: this should be full word
 msgid "caps"
 msgstr "могућности"
diff --git a/po/sv.gmo b/po/sv.gmo
index 9f00d4f..da07fdf 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 1d3935f..d5dfbcc 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,16 +1,17 @@
 # Swedish messages for gstreamer.
-# Copyright (C) 2004-2011 Free Software Foundation, Inc.
+# Copyright © 2004-2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 # Christian Rose <menthos@menthos.com>, 2004, 2005.
 # Daniel Nylander <po@danielnylander.se>, 2007, 2008, 2009, 2010, 2011.
+# Sebastian Rasmussen <sebras@gmail.com>, 2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.10.31.2\n"
+"Project-Id-Version: gstreamer 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2011-01-09 19:46+0100\n"
-"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
+"PO-Revision-Date: 2014-05-04 12:11+0100\n"
+"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
@@ -27,11 +28,10 @@
 msgid "Print available debug categories and exit"
 msgstr "Skriv ut tillgängliga felsökningskategorier och avsluta"
 
-#, fuzzy
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"Standardfelsökningsnivå från 1 (endast fel) till 5 (allting) eller 0 för "
+"Standardfelsökningsnivå från 1 (endast fel) till 9 (allting) eller 0 för "
 "ingen utmatning"
 
 msgid "LEVEL"
@@ -54,6 +54,8 @@
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
+"Ändrar färgläggning av felsökningsutskrifter. Möjliga alternativ: off, on, "
+"disable, auto, unix"
 
 msgid "Disable debugging"
 msgstr "Inaktivera felsökning"
@@ -115,17 +117,14 @@
 "GStreamer-fel: tillståndsändring misslyckades och några element misslyckades "
 "med att skicka ett korrekt felmeddelande med anledningen till felet."
 
-# Richard Hult säger: "Pad" i gstreamer betyder ungefär "kontakt", man
-# kopplar ihop två element via deras "pads".
 msgid "Internal GStreamer error: pad problem."
 msgstr "Internt GStreamer-fel: kontaktproblem."
 
 msgid "Internal GStreamer error: thread problem."
 msgstr "Internt GStreamer-fel: trådproblem."
 
-#, fuzzy
 msgid "GStreamer error: negotiation problem."
-msgstr "Internt GStreamer-fel: förhandlingsproblem."
+msgstr "GStreamer-fel: förhandlingsproblem."
 
 msgid "Internal GStreamer error: event problem."
 msgstr "Internt GStreamer-fel: händelseproblem."
@@ -133,7 +132,6 @@
 msgid "Internal GStreamer error: seek problem."
 msgstr "Internt GStreamer-fel: spolningsproblem."
 
-# Osäker. Jag tror "caps" är kort för "capabilities".
 msgid "Internal GStreamer error: caps problem."
 msgstr "Internt GStreamer-fel: förmågeproblem."
 
@@ -143,9 +141,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Din GStreamer-installation saknar en insticksmodul."
 
-#, fuzzy
 msgid "GStreamer error: clock problem."
-msgstr "Internt GStreamer-fel: klockproblem."
+msgstr "GStreamer-fel: klockproblem."
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
@@ -422,12 +419,11 @@
 msgid "URI to the copyright notice of the data"
 msgstr "Uri till copyrightnotis för datat"
 
-#, fuzzy
 msgid "encoded by"
-msgstr "kodare"
+msgstr "kodat av"
 
 msgid "name of the encoding person or organization"
-msgstr ""
+msgstr "namn på den person eller organisation som kodat"
 
 msgid "contact"
 msgstr "kontakt"
@@ -575,16 +571,14 @@
 msgid "language code"
 msgstr "språkkod"
 
-#, fuzzy
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "språkkod för detta ström, enligt ISO-639-1"
+msgstr "språkkod för denna ström, enligt ISO-639-1 eller ISO-639-2"
 
-#, fuzzy
 msgid "language name"
-msgstr "språkkod"
+msgstr "språknamn"
 
 msgid "freeform name of the language this stream is in"
-msgstr ""
+msgstr "namn på det språk som denna ström använder"
 
 msgid "image"
 msgstr "bild"
@@ -676,7 +670,6 @@
 msgid "geo location sublocation"
 msgstr "specifik plats för geografisk plats"
 
-#, fuzzy
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
@@ -813,16 +806,16 @@
 msgstr "Hur bilden ska roteras eller vändas före visning"
 
 msgid "publisher"
-msgstr ""
+msgstr "utgivare"
 
 msgid "Name of the label or publisher"
-msgstr ""
+msgstr "Namn på förlag eller utgivare"
 
 msgid "interpreted-by"
-msgstr ""
+msgstr "tolkad av"
 
 msgid "Information about the people behind a remix and similar interpretations"
-msgstr ""
+msgstr "Information om människorna bakom en remix eller liknande tolkning"
 
 msgid "midi-base-note"
 msgstr ""
@@ -835,11 +828,11 @@
 
 #, c-format
 msgid "No URI handler for the %s protocol found"
-msgstr ""
+msgstr "Ingen uri-hanterare hittades för %s-protokollet"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr ""
+msgstr "Uri-schema \"%s\" saknar stöd"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
@@ -885,7 +878,6 @@
 msgid "unexpected pad-reference \"%s\" - ignoring"
 msgstr ""
 
-# Osäker. Jag tror "caps" är kort för "capabilities".
 #, c-format
 msgid "could not parse caps \"%s\""
 msgstr "kunde inte tolka förmågorna \"%s\""
@@ -904,7 +896,6 @@
 msgid "bin"
 msgstr ""
 
-# Osäker.
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "angav tom korg \"%s\", inte tillåtet"
@@ -932,7 +923,7 @@
 msgstr "Internt klockfel."
 
 msgid "Failed to map buffer."
-msgstr ""
+msgstr "Misslyckades med att mappa buffert."
 
 msgid "Filter caps"
 msgstr "Filtrera förmågor"
@@ -944,6 +935,20 @@
 "Begränsa de möjliga tillåtna förmågorna (NULL betyder ANY). Inställning av "
 "egenskapen tar en referens till det angivna GstCaps-objektet."
 
+msgid "No Temp directory specified."
+msgstr "Ingen temporärkatalog angiven."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Kunde inte skapa temporärfilen \"%s\"."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Kunde inte öppna filen \"%s\" för läsning."
+
+msgid "Error while writing to download file."
+msgstr "Fel vid skrivning till hämtningsfilen."
+
 msgid "No file name specified for writing."
 msgstr "Inget filnamn angivet för skrivning."
 
@@ -967,10 +972,6 @@
 msgstr "Inget filnamn angivet för läsning."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Kunde inte öppna filen \"%s\" för läsning."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Kunde inte få information om \"%s\"."
 
@@ -985,17 +986,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Misslyckades efter iterationer som begärt."
 
-msgid "No Temp directory specified."
-msgstr "Ingen temporärkatalog angiven."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Kunde inte skapa temporärfilen \"%s\"."
-
-msgid "Error while writing to download file."
-msgstr "Fel vid skrivning till hämtningsfilen."
-
-# Osäker. Jag tror "caps" är kort för "capabilities".
 msgid "caps"
 msgstr "förmågor"
 
@@ -1088,12 +1078,14 @@
 msgstr "Lista insticksmodulens innehåll"
 
 msgid "Check if the specified element or plugin exists"
-msgstr ""
+msgstr "Kontrollera om det angivna elementet eller insticksmodulen existerar"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
+"När existensen av ett element eller insticksmodul kontrolleras, kontrollera "
+"även att dess version åtminstone är den angivna"
 
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
@@ -1109,7 +1101,7 @@
 msgstr "Inget sådant element eller insticksmodul \"%s\"\n"
 
 msgid "Index statistics"
-msgstr ""
+msgstr "Indexstatistik"
 
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
@@ -1146,17 +1138,16 @@
 msgid "FOUND TAG\n"
 msgstr "HITTADE TAGG\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
-msgstr "HITTADE TAGG   : hittat av elementet \"%s\".\n"
+msgstr "HITTADE INNEHÅLL : hittat av elementet \"%s\".\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
-msgstr "HITTADE TAGG   : hittat av objektet \"%s\".\n"
+msgstr "HITTADE INNEHÅLL : hittat av objektet \"%s\".\n"
 
-#, fuzzy
 msgid "FOUND TOC\n"
-msgstr "HITTADE TAGG\n"
+msgstr "HITTADE INNEHÅLL\n"
 
 #, c-format
 msgid ""
@@ -1173,9 +1164,8 @@
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Förinläst, väntar på att buffringen ska bli färdig...\n"
 
-#, fuzzy
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr "Förinläst, väntar på att buffringen ska bli färdig...\n"
+msgstr "Förinläst, väntar på att förloppet ska avslutas...\n"
 
 msgid "buffering..."
 msgstr "buffrar..."
@@ -1198,21 +1188,21 @@
 
 #, c-format
 msgid "Progress: (%s) %s\n"
-msgstr ""
+msgstr "Förlopp: (%s) %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Missing element: %s\n"
-msgstr "inget \"%s\"-element"
+msgstr "Element saknas: \"%s\"\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "VARNING: från elementet %s: %s\n"
+msgstr "Fick kontext från elementet '%s': %s=%s\n"
 
 msgid "Output tags (also known as metadata)"
 msgstr "Utmatningstaggar (även känt som metadata)"
 
 msgid "Output TOC (chapters and editions)"
-msgstr ""
+msgstr "Skriv ut INNEHÅLL (kapitel och utgåvor)"
 
 msgid "Output status information and property notifications"
 msgstr "Skriv ut statusinformation och egenskapsnotifieringar"
@@ -1236,7 +1226,7 @@
 msgstr "Tvinga EOS på källor innan rörledningen stängs av"
 
 msgid "Gather and print index statistics"
-msgstr ""
+msgstr "Samla och skriv ut indexstatistik"
 
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
@@ -1278,11 +1268,10 @@
 msgstr "FEL: rörledningen vill inte spela.\n"
 
 msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS vid avständning aktiverad -- Tvingar EOS på rörledningen\n"
+msgstr "EOS vid avstängning aktiverad -- Tvingar EOS på rörledningen\n"
 
-#, fuzzy
 msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS vid avständning aktiverad -- Tvingar EOS på rörledningen\n"
+msgstr "EOS vid avstängning aktiverad -- Väntar på EOS efter fel\n"
 
 # EOS = End Of Stream
 msgid "Waiting for EOS...\n"
@@ -1291,9 +1280,8 @@
 msgid "EOS received - stopping pipeline...\n"
 msgstr "EOS togs emot - stoppar rörledning...\n"
 
-#, fuzzy
 msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Avbrott: Stoppar rörledningen ...\n"
+msgstr "Avbrott medan EOS väntades på: Stoppar rörledningen...\n"
 
 msgid "An error happened while waiting for EOS\n"
 msgstr "Ett fel inträffade vid väntan på EOS\n"
@@ -1323,8 +1311,8 @@
 #~ msgid "could not link sink element for URI \"%s\""
 #~ msgstr "kunde inte länka utgångselementet för URI:n \"%s\""
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Skriv ut alloc-spår (om aktiverat vid kompileringen)"
+#~ msgid "maximum"
+#~ msgstr "maximum"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
@@ -1354,6 +1342,9 @@
 #~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
 #~ msgstr "Installera inte signalhanterare för SIGUSR1 och SIGUSR2"
 
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Skriv ut alloc-spår (om aktiverat vid kompileringen)"
+
 #~ msgid "Error re-scanning registry %s: %s"
 #~ msgstr "Fel vid återsökning av registret %s: %s"
 
diff --git a/po/tr.gmo b/po/tr.gmo
index 37c6430..a06a3de 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 564ff67..64c707a 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
 "PO-Revision-Date: 2004-04-03 03:14+0300\n"
 "Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -947,6 +947,21 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
+msgid "No Temp directory specified."
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Kaynağa değerler atanamadı ya da alınamadı."
+
+#, 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."
+
 msgid "No file name specified for writing."
 msgstr "Yazım için hiç bir dosya adı belirtilmedi."
 
@@ -969,10 +984,6 @@
 msgid "No file name specified for reading."
 msgstr "Okuma için hiç bir dosya adı belirtilmedi."
 
-#, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "\"%s\" dosyası okuma için açılamadı."
-
 #, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Kaynağa değerler atanamadı ya da alınamadı."
@@ -988,17 +999,6 @@
 msgid "Failed after iterations as requested."
 msgstr "İstenildiği gibi tekrarlama başarısız oldu."
 
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Kaynağa değerler atanamadı ya da alınamadı."
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "\"%s\" dosyası yazılırken hata."
-
 msgid "caps"
 msgstr "kabiliyetler"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 81673d7..4be5465 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 92041fc..6b91ac3 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the gstreamer package.
 #
 # Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.2.1\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2013-12-07 22:49+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: uk\n"
@@ -203,9 +203,8 @@
 msgid "No space left on the resource."
 msgstr "На ресурсі не залишилось місця."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "На ресурсі не залишилось місця."
+msgstr "Не уповноважено на доступ до ресурсу."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer перехопив загальну помилку потоку."
@@ -812,10 +811,10 @@
 msgstr "Дані щодо тих, ким було виконано ремікс або подібну інтерпретацію"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "базова-нота-midi"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Номер ноти MIDI звукової доріжки."
 
 msgid ", "
 msgstr ", "
@@ -842,11 +841,11 @@
 
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "у посилання немає джерела [приймач=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "у посилання немає приймача [джерело=%s@%p]"
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
@@ -866,11 +865,11 @@
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "неочікуване посилання «%s» — ігноруємо"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "неочікуване посилання-підкладка «%s» — ігноруємо"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -885,18 +884,18 @@
 msgstr "відсутній елемент-джерело для URI «%s»"
 
 msgid "syntax error"
-msgstr ""
+msgstr "синтаксична помилка"
 
 msgid "bin"
-msgstr ""
+msgstr "фрагмент"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "вказано порожній контейнер «%s», не допускається"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "немає контейнера «%s», пропущено"
+msgstr "немає фрагмента «%s», розпаковуємо елементи"
 
 msgid "empty pipeline not allowed"
 msgstr "не можна використовувати порожній канал"
@@ -929,6 +928,20 @@
 "Обмежити допустимі можливості (NULL означає ANY). Встановлення цієї "
 "властивості призводить до посилання на поставлений об'єкт GstCaps."
 
+msgid "No Temp directory specified."
+msgstr "Не вказано каталог тимчасових даних."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Не вдалося створити тимчасовий файл даних «%s»."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Не вдалося відкрити файл «%s» для читання."
+
+msgid "Error while writing to download file."
+msgstr "Помилка під час запису до файла отриманих даних."
+
 msgid "No file name specified for writing."
 msgstr "Не вказано назви файла для запису."
 
@@ -952,10 +965,6 @@
 msgstr "Не вказано назву файла для читання."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Не вдалося відкрити файл «%s» для читання."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Не вдалося отримати інформацію щодо «%s»."
 
@@ -970,16 +979,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Помилка після ітерацій у запитаному порядку."
 
-msgid "No Temp directory specified."
-msgstr "Не вказано каталог тимчасових даних."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Не вдалося створити тимчасовий файл даних «%s»."
-
-msgid "Error while writing to download file."
-msgstr "Помилка під час запису до файла отриманих даних."
-
 msgid "caps"
 msgstr "можливості"
 
diff --git a/po/vi.gmo b/po/vi.gmo
index 92e2f61..e47237f 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 63f770c..d766b0f 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+0200\n"
 "PO-Revision-Date: 2013-12-11 08:08+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -938,6 +938,20 @@
 "Đặt thuộc tính này thì chấp nhận tham chiếu đến đối tượng GstCaps đã cung "
 "cấp."
 
+msgid "No Temp directory specified."
+msgstr "Chưa xác định thư mục tạm thời."
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "Không thể tạo tập tin tạm thời “%s”."
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "Không thể mở tập tin “%s” để đọc."
+
+msgid "Error while writing to download file."
+msgstr "Gặp lỗi khi ghi vào tập tin tải về."
+
 msgid "No file name specified for writing."
 msgstr "Chưa ghi rõ tên tập tin để ghi vào."
 
@@ -961,10 +975,6 @@
 msgstr "Chưa ghi rõ tên tập tin để đọc."
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Không thể mở tập tin “%s” để đọc."
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "Không thể lấy thông tin về “%s”."
 
@@ -979,16 +989,6 @@
 msgid "Failed after iterations as requested."
 msgstr "Lỗi sau số lần lặp lại được chọn."
 
-msgid "No Temp directory specified."
-msgstr "Chưa xác định thư mục tạm thời."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Không thể tạo tập tin tạm thời “%s”."
-
-msgid "Error while writing to download file."
-msgstr "Gặp lỗi khi ghi vào tập tin tải về."
-
 msgid "caps"
 msgstr "khả năng"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 7ba3670..1a92185 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 ebe071b..1b4b7ba 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: 2014-05-21 11:18+0200\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
@@ -914,6 +914,21 @@
 "限制所允许的功能 (NULL 表示无限制)。此属性可以为所提供的 GstCaps 对象设置一个"
 "关联应用。"
 
+msgid "No Temp directory specified."
+msgstr "未指定临时目录。"
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "无法创建临时文件“%s”。"
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "无法打开文件“%s”读取。"
+
+#, fuzzy
+msgid "Error while writing to download file."
+msgstr "写入文件“%s”时出错。"
+
 msgid "No file name specified for writing."
 msgstr "未指定写入的文件名。"
 
@@ -937,10 +952,6 @@
 msgstr "未指定读取的文件名。"
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "无法打开文件“%s”读取。"
-
-#, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "无法在“%s”上获得信息。"
 
@@ -955,17 +966,6 @@
 msgid "Failed after iterations as requested."
 msgstr "在完成所要求的迭代操作后出错。"
 
-msgid "No Temp directory specified."
-msgstr "未指定临时目录。"
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "无法创建临时文件“%s”。"
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "写入文件“%s”时出错。"
-
 msgid "caps"
 msgstr "分析器"
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 8616595..14908bb 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 05a79a1..cc1990d 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1,14 +1,35 @@
 # traditional Chinese translation of gstreamer.
 # This file is put in the public domain.
 # Abel Cheung <abelcheung@gmail.com>, 2005.
-#
+# Wen Liao <wen.cf83@gmail.com>, 2014
+# Terms sync-up:
+# plugin: 外掛程式
+# log: 日誌
+# registry: 登錄資料
+# thread: 執行緒
+# seek: 跳播 (通常多媒體播放中seek不是字面上的搜尋，而是跳到媒體任意地方，因此
+#             使用搜尋，尋找並不夠精確）
+# stream: 資料串流
+# multiplex: 多工串接
+# demultiplex: 解多工分接
+# key: 金鑰
+# replaygain: 回放增益，用在確保playlist內所有音軌不會音量不同
+#           http://zh.wikipedia.org/zh-tw/%E5%9B%9E%E6%94%BE%E5%A2%9E%E7%9B%8A
+# problem: 大部分翻成錯誤
+# reference: 參照（應該有更好的名詞）
+# 保留原名：
+# 1. GStreamer專用元件: element, pad, caps, clock, pipeline, bin, 某些link
+# 2. 專有名詞： codec, container, beat, URI, URI scheme, TOC
+# 3. 疑似專有名詞：domain
+# 4. GStreamer內部狀態
+# 5. metadata
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.8.8\n"
+"Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-05-21 11:18+0200\n"
-"PO-Revision-Date: 2005-04-27 14:55+0800\n"
-"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
+"POT-Creation-Date: 2014-06-22 17:12+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"
 "Language: zh_TW\n"
 "MIME-Version: 1.0\n"
@@ -20,158 +41,143 @@
 msgstr "顯示 GStreamer 版本"
 
 msgid "Make all warnings fatal"
-msgstr "令任何警告都造成程式終止"
+msgstr "將所有警告視為嚴重錯誤"
 
 msgid "Print available debug categories and exit"
-msgstr "顯示可以偵錯的類別，然後結束"
+msgstr "顯示可以偵錯的類別，並結束"
 
-#, fuzzy
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"將預設偵錯級別設定為 1 (只顯示錯誤) 至 5 (任何訊息)，或者用 0 表示不顯示訊息"
+"將預設偵錯等級設定為 1 (只顯示錯誤) 至 9 (任何訊息)，或者用 0 表示不顯示訊息"
 
 msgid "LEVEL"
-msgstr "LEVEL"
+msgstr ""
 
 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_AUTOPLUG:5,GST_ELEMENT_*:3"
+"以逗號分隔列表中的內容，內容的格式為「分類:等級」，以此方式指定各個分類的等"
+"級。例如：GST_AUTOPLUG:5,GST_ELEMENT_*:3"
 
 msgid "LIST"
-msgstr "LIST"
+msgstr ""
 
 msgid "Disable colored debugging output"
-msgstr "偵錯結果不加上色彩"
+msgstr "偵錯結果不顯示顏色"
 
 msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
-msgstr ""
+msgstr "更改偵錯日誌配色模式，支援配色模式為：off, on, disable, auto, unix"
 
 msgid "Disable debugging"
 msgstr "關閉偵錯功能"
 
 msgid "Enable verbose plugin loading diagnostics"
-msgstr "載入增效模組時顯示詳細訊息"
+msgstr "載入外掛時顯示詳細訊息"
 
 msgid "Colon-separated paths containing plugins"
-msgstr ""
+msgstr "以分號分隔的路徑中有包含外掛程式"
 
 msgid "PATHS"
-msgstr "PATHS"
+msgstr "路徑"
 
-#, fuzzy
 msgid ""
 "Comma-separated list of plugins to preload in addition to the list stored in "
 "environment variable GST_PLUGIN_PATH"
 msgstr ""
-"除了環境變數 GST_PLUGIN_PATH 中的增效模組之外，另外再指定載入的增效模組 (以逗"
-"號分隔)"
+"除了有輸入環境變數 GST_PLUGIN_PATH 的外掛程式之外，所有以逗號分隔的外掛程式清"
+"單都會被預載"
 
 msgid "PLUGINS"
-msgstr "PLUGINS"
+msgstr "外掛程式"
 
 msgid "Disable trapping of segmentation faults during plugin loading"
-msgstr "載入增效模組時不攔截程式區段碼錯誤"
+msgstr "載入外掛程式時不攔截程式區段碼錯誤"
 
 msgid "Disable updating the registry"
-msgstr ""
+msgstr "停止更新登錄資料"
 
 msgid "Disable spawning a helper process while scanning the registry"
-msgstr ""
+msgstr "掃描登錄資料時不產生協助處理資料的行程"
 
 msgid "GStreamer Options"
-msgstr ""
+msgstr "GStreamer 選項"
 
-#, fuzzy
 msgid "Show GStreamer Options"
-msgstr "顯示 GStreamer 版本"
+msgstr "顯示 GStreamer 選項"
 
 msgid "Unknown option"
-msgstr ""
+msgstr "未知的選項"
 
 msgid "GStreamer encountered a general core library error."
 msgstr "GStreamer 主要函式庫發生一般性的錯誤。"
 
-#, fuzzy
 msgid ""
 "GStreamer developers were too lazy to assign an error code to this error."
-msgstr "GStreamer 開發人員未用任何錯誤碼判定這類錯誤。請匯報之。"
+msgstr "GStreamer 開發人員尚未定義這類錯誤的錯誤代碼。"
 
-#, fuzzy
 msgid "Internal GStreamer error: code not implemented."
-msgstr "GStreamer 內部錯誤：未完成編程。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：未實作的功能。"
 
 msgid ""
 "GStreamer error: state change failed and some element failed to post a "
 "proper error message with the reason for the failure."
 msgstr ""
+"GStreamer錯誤： 狀態切換失敗，同時部份element在該次失敗中無法顯示相關錯誤訊息"
 
-#, fuzzy
 msgid "Internal GStreamer error: pad problem."
-msgstr "GStreamer 內部錯誤：線程發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：pad錯誤。"
 
-#, fuzzy
 msgid "Internal GStreamer error: thread problem."
-msgstr "GStreamer 內部錯誤：線程發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：執行緒錯誤。"
 
-#, fuzzy
 msgid "GStreamer error: negotiation problem."
-msgstr "GStreamer 內部錯誤：線程發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：溝通協定錯誤。"
 
-#, fuzzy
 msgid "Internal GStreamer error: event problem."
-msgstr "GStreamer 內部錯誤：搜尋發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：事件錯誤。"
 
-#, fuzzy
 msgid "Internal GStreamer error: seek problem."
-msgstr "GStreamer 內部錯誤：搜尋發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：跳播錯誤。"
 
-#, fuzzy
 msgid "Internal GStreamer error: caps problem."
-msgstr "GStreamer 內部錯誤：搜尋發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：caps錯誤。"
 
-#, fuzzy
 msgid "Internal GStreamer error: tag problem."
-msgstr "GStreamer 內部錯誤：線程發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：標籤錯誤。"
 
 msgid "Your GStreamer installation is missing a plug-in."
-msgstr ""
+msgstr "您的GStreamer缺少外掛程式。"
 
-#, fuzzy
 msgid "GStreamer error: clock problem."
-msgstr "GStreamer 內部錯誤：搜尋發生問題。請匯報錯誤。"
+msgstr "GStreamer 內部錯誤：時脈錯誤。"
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
 "disabled."
-msgstr ""
+msgstr "應用程式嘗試使用已被關閉的選項內的功能"
 
 msgid "GStreamer encountered a general supporting library error."
 msgstr "GStreamer 輔助函式庫發生一般性的錯誤。"
 
 msgid "Could not initialize supporting library."
-msgstr "無法初始化輔助函式庫。"
+msgstr "無法初始化支援函式庫。"
 
 # (abel) close library? 該解釋清楚才是。
 msgid "Could not close supporting library."
-msgstr "無法關閉輔助函式庫。"
+msgstr "無法關閉支援函式庫。"
 
-# (abel) close library? 該解釋清楚才是。
-#, fuzzy
 msgid "Could not configure supporting library."
-msgstr "無法關閉輔助函式庫。"
+msgstr "無法設定支援函式庫組態。"
 
 msgid "Encoding error."
-msgstr ""
+msgstr "編碼錯誤。"
 
-#, fuzzy
 msgid "GStreamer encountered a general resource error."
-msgstr "GStreamer 主要函式庫發生一般性的錯誤。"
+msgstr "GStreamer 遭遇一般性的資源錯誤。"
 
 msgid "Resource not found."
 msgstr "找不到資源。"
@@ -180,53 +186,52 @@
 msgstr "資源使用中，或者無法存取。"
 
 msgid "Could not open resource for reading."
-msgstr ""
+msgstr "無法開啟讀取用的資源"
 
 msgid "Could not open resource for writing."
-msgstr ""
+msgstr "無法開啟寫入用的資源。"
 
 msgid "Could not open resource for reading and writing."
-msgstr ""
+msgstr "無法開啟讀取和寫入用的資源。"
 
 msgid "Could not close resource."
-msgstr ""
+msgstr "無法關閉資源。"
 
 msgid "Could not read from resource."
-msgstr ""
+msgstr "無法從資源中讀取資料。"
 
 msgid "Could not write to resource."
-msgstr ""
+msgstr "無法寫入資料到資源內。"
 
 msgid "Could not perform seek on resource."
-msgstr ""
+msgstr "該資源內無法跳播。"
 
 msgid "Could not synchronize on resource."
-msgstr ""
+msgstr "無法和資源同步。"
 
 msgid "Could not get/set settings from/on resource."
-msgstr ""
+msgstr "無法從資源取得或設定組態設定。"
 
 msgid "No space left on the resource."
-msgstr ""
+msgstr "資源已經沒有剩餘空間。"
 
 msgid "Not authorized to access resource."
-msgstr ""
+msgstr "未經授權無法存取資源。"
 
-#, fuzzy
 msgid "GStreamer encountered a general stream error."
-msgstr "GStreamer 主要函式庫發生一般性的錯誤。"
+msgstr "GStreamer 遭遇一般性的資料串流錯誤。"
 
 msgid "Element doesn't implement handling of this stream. Please file a bug."
-msgstr ""
+msgstr "Element 沒有實作處理該資料串流，請回報錯誤。"
 
 msgid "Could not determine type of stream."
 msgstr "無法決定資料串流的類型。"
 
 msgid "The stream is of a different type than handled by this element."
-msgstr ""
+msgstr "該資料串流和element能處理的型態不一致。"
 
 msgid "There is no codec present that can handle the stream's type."
-msgstr ""
+msgstr "沒有能夠處理該資料串流的codec。"
 
 msgid "Could not decode stream."
 msgstr "無法將資料串流進行解碼。"
@@ -235,61 +240,61 @@
 msgstr "無法將資料串流進行編碼。"
 
 msgid "Could not demultiplex stream."
-msgstr ""
+msgstr "無法將資料串流解多工分接。"
 
 msgid "Could not multiplex stream."
-msgstr ""
+msgstr "無法將資料串流多工串接。"
 
-#, fuzzy
 msgid "The stream is in the wrong format."
 msgstr "資料串流格式錯誤。"
 
 msgid "The stream is encrypted and decryption is not supported."
-msgstr ""
+msgstr "資料串流已加密，但是目前不支援解密。"
 
 msgid ""
 "The stream is encrypted and can't be decrypted because no suitable key has "
 "been supplied."
-msgstr ""
+msgstr "資料串流已加密，但是沒有適當的金鑰因而無法解密。"
 
+# Wen, 怪怪的？Domain意義不明。
 #, c-format
 msgid "No error message for domain %s."
-msgstr ""
+msgstr "domain %s沒有可用的錯誤訊息。"
 
 #, c-format
 msgid "No standard error message for domain %s and code %d."
-msgstr ""
+msgstr "domain %s 以及代碼 %d沒有標準的錯誤訊息。"
 
 msgid "Selected clock cannot be used in pipeline."
-msgstr ""
+msgstr "在pipeline中無法使用選擇的clock。"
 
 #, c-format
 msgid "Error writing registry cache to %s: %s"
-msgstr ""
+msgstr "寫入登錄資料快取到%s時發生錯誤：%s"
 
 msgid "title"
 msgstr "標題"
 
 msgid "commonly used title"
-msgstr ""
+msgstr "通用標題"
 
 msgid "title sortname"
-msgstr ""
+msgstr "排序後的標題"
 
 msgid "commonly used title for sorting purposes"
-msgstr ""
+msgstr "排序用的通用標題"
 
 msgid "artist"
-msgstr ""
+msgstr "作者"
 
 msgid "person(s) responsible for the recording"
-msgstr ""
+msgstr "錄製人"
 
 msgid "artist sortname"
-msgstr ""
+msgstr "排序後的作者"
 
 msgid "person(s) responsible for the recording for sorting purposes"
-msgstr ""
+msgstr "排序後的錄製人"
 
 msgid "album"
 msgstr "專輯"
@@ -298,82 +303,77 @@
 msgstr "這些樂曲所屬的專輯"
 
 msgid "album sortname"
-msgstr ""
+msgstr "排序後的專輯"
 
-#, fuzzy
+# 從gsttaglist.c猜測這個是前面訊息的詳細版本
 msgid "album containing this data for sorting purposes"
-msgstr "這些樂曲所屬的專輯"
+msgstr "排序後包含這些資料的專輯"
 
 msgid "album artist"
-msgstr ""
+msgstr "專輯作者"
 
 msgid "The artist of the entire album, as it should be displayed"
-msgstr ""
+msgstr "整張專輯的作者"
 
 msgid "album artist sortname"
-msgstr ""
+msgstr "排序後的專輯作者"
 
 msgid "The artist of the entire album, as it should be sorted"
-msgstr ""
+msgstr "排序後的整張專輯作者"
 
 msgid "date"
 msgstr "日期"
 
-#, fuzzy
 msgid "date the data was created (as a GDate structure)"
 msgstr "媒體資料製作日期"
 
-#, fuzzy
 msgid "datetime"
-msgstr "日期"
+msgstr "日期時間"
 
-#, fuzzy
 msgid "date and time the data was created (as a GstDateTime structure)"
 msgstr "媒體資料製作日期"
 
 msgid "genre"
-msgstr "樂曲分類"
+msgstr "媒體類型"
 
 msgid "genre this data belongs to"
-msgstr "這首樂曲的分類"
+msgstr "媒體類型"
 
 msgid "comment"
 msgstr "註解"
 
 msgid "free text commenting the data"
-msgstr "任意用來為媒體加上註解的文字"
+msgstr "媒體註解的內容"
 
-#, fuzzy
 msgid "extended comment"
-msgstr "註解"
+msgstr "延伸註解"
 
-#, fuzzy
 msgid "free text commenting the data in key=value or key[en]=comment form"
-msgstr "任意用來為媒體加上註解的文字"
+msgstr "使用關鍵字=值或是關鍵字[en]=註解格式表示媒體註解的內容"
 
 msgid "track number"
 msgstr "音軌編號"
 
 msgid "track number inside a collection"
-msgstr "樂曲屬於專輯中的第幾首樂曲"
+msgstr "蒐集資料內的音軌編號"
 
 msgid "track count"
 msgstr "音軌總數"
 
 msgid "count of tracks inside collection this track belongs to"
-msgstr "整套專輯的樂曲總數"
+msgstr "目前音軌所屬的蒐集資料音軌總數"
 
 msgid "disc number"
 msgstr "碟片編號"
 
 msgid "disc number inside a collection"
-msgstr "整套專輯中該樂曲存取在第幾片碟片"
+msgstr "蒐集資料中的碟片編號"
 
 msgid "disc count"
 msgstr "碟片總數"
 
 msgid "count of discs inside collection this disc belongs to"
-msgstr "整套專輯的碟片總數"
+msgstr "目前碟片編號所數的蒐集資料碟片總數"
 
 msgid "location"
 msgstr "位置"
@@ -381,16 +381,16 @@
 msgid ""
 "Origin of media as a URI (location, where the original of the file or stream "
 "is hosted)"
-msgstr ""
+msgstr "媒體的URI(檔案或是資料串流的位置)"
 
 msgid "homepage"
-msgstr ""
+msgstr "首頁"
 
 msgid "Homepage for this media (i.e. artist or movie homepage)"
-msgstr ""
+msgstr "該媒體的首頁（如作者或是電影首頁）"
 
 msgid "description"
-msgstr "說明"
+msgstr "描述"
 
 msgid "short text describing the content of the data"
 msgstr "一段有關媒體內容的簡短說明文字"
@@ -405,31 +405,28 @@
 msgstr "ISRC"
 
 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
-msgstr ""
+msgstr "國際標準錄音錄影資料代碼 - 請參考: http://www.ifpi.org/isrc/"
 
 msgid "organization"
 msgstr "組織"
 
 msgid "copyright"
-msgstr "授權"
+msgstr "版權"
 
 msgid "copyright notice of the data"
-msgstr ""
+msgstr "資料的版權通知"
 
-#, fuzzy
 msgid "copyright uri"
-msgstr "授權"
+msgstr "版權URI"
 
-#, fuzzy
 msgid "URI to the copyright notice of the data"
-msgstr "一段有關媒體內容的簡短說明文字"
+msgstr "資料的版權通知URI"
 
-#, fuzzy
 msgid "encoded by"
-msgstr "編碼程序"
+msgstr "編碼者"
 
 msgid "name of the encoding person or organization"
-msgstr ""
+msgstr "編碼者或是編碼組織名稱"
 
 msgid "contact"
 msgstr "連絡"
@@ -441,66 +438,65 @@
 msgstr "條款"
 
 msgid "license of data"
-msgstr ""
+msgstr "資料的條款"
 
-#, fuzzy
 msgid "license uri"
-msgstr "條款"
+msgstr "條款uri"
 
 msgid "URI to the license of the data"
-msgstr ""
+msgstr "資料的條款URI"
 
 msgid "performer"
 msgstr "演出者"
 
 msgid "person(s) performing"
-msgstr ""
+msgstr "演出者"
 
 msgid "composer"
-msgstr ""
+msgstr "作曲者"
 
 msgid "person(s) who composed the recording"
-msgstr ""
+msgstr "作曲者"
 
 msgid "duration"
 msgstr "時間長度"
 
 msgid "length in GStreamer time units (nanoseconds)"
-msgstr ""
+msgstr "GStreamer 時間單位（奈秒）長度"
 
 msgid "codec"
-msgstr "編碼"
-
-msgid "codec the data is stored in"
 msgstr ""
 
+# Wen, 怪怪的
+# 從gsttaglist.c猜測這個是前面訊息的詳細版本
+msgid "codec the data is stored in"
+msgstr "處理資料用的codec"
+
 msgid "video codec"
-msgstr "視像編碼"
+msgstr "影片codec"
 
+# Wen, 怪怪的
+# 從gsttaglist.c猜測這個是前面訊息的詳細版本
 msgid "codec the video data is stored in"
-msgstr ""
+msgstr "處理影片資料用的codec"
 
 msgid "audio codec"
-msgstr "音效編碼"
+msgstr "聲音codec"
 
 msgid "codec the audio data is stored in"
-msgstr "音效"
+msgstr "處理聲音資料用的codec"
 
-#, fuzzy
 msgid "subtitle codec"
-msgstr "視像編碼"
+msgstr "字幕codec"
 
-#, fuzzy
 msgid "codec the subtitle data is stored in"
-msgstr "音效"
+msgstr "處理字幕資料的codec"
 
-#, fuzzy
 msgid "container format"
-msgstr "連絡資訊"
+msgstr "container 格式"
 
-#, fuzzy
 msgid "container format the data is stored in"
-msgstr "音效"
+msgstr "處理資料的container模式"
 
 msgid "bitrate"
 msgstr "位元率"
@@ -527,312 +523,307 @@
 msgstr "最高位元率 (bit/s)"
 
 msgid "encoder"
-msgstr "編碼程序"
+msgstr "編碼器"
 
 msgid "encoder used to encode this stream"
-msgstr ""
+msgstr "該資料串流使用的編碼器"
 
 msgid "encoder version"
-msgstr ""
+msgstr "編碼器版本"
 
 msgid "version of the encoder used to encode this stream"
-msgstr ""
+msgstr "該資料串流使用的編碼器版本"
 
 msgid "serial"
-msgstr ""
+msgstr "流水號"
 
 msgid "serial number of track"
-msgstr ""
+msgstr "音軌的流水號"
 
 msgid "replaygain track gain"
-msgstr ""
+msgstr "回放增益音軌增益"
 
 msgid "track gain in db"
-msgstr ""
+msgstr "音軌增益(db)"
 
 msgid "replaygain track peak"
-msgstr ""
+msgstr "回放增益音軌峰值"
 
 msgid "peak of the track"
-msgstr ""
+msgstr "音軌峰值"
 
 msgid "replaygain album gain"
-msgstr ""
+msgstr "回放增益專輯增益"
 
 msgid "album gain in db"
-msgstr ""
+msgstr "專輯增益(db)"
 
 msgid "replaygain album peak"
-msgstr ""
+msgstr "回放增益專輯峰值"
 
 msgid "peak of the album"
-msgstr ""
+msgstr "專輯峰值"
 
 msgid "replaygain reference level"
-msgstr ""
+msgstr "回放增益參考level"
 
 msgid "reference level of track and album gain values"
-msgstr ""
+msgstr "音軌以及增益值的參考level"
 
 msgid "language code"
-msgstr ""
+msgstr "語言編碼"
 
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr ""
+msgstr "該資料串流的語言編碼，和ISO-639或ISO-639-2相容"
 
 msgid "language name"
-msgstr ""
+msgstr "語言名稱"
 
 msgid "freeform name of the language this stream is in"
-msgstr ""
+msgstr "該資料串流使用的語言"
 
 msgid "image"
-msgstr ""
+msgstr "影像"
 
 msgid "image related to this stream"
-msgstr ""
+msgstr "和該資料串流有關的影像"
 
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
 msgid "preview image"
-msgstr ""
+msgstr "影像預覽"
 
 msgid "preview image related to this stream"
-msgstr ""
+msgstr "和該資料串流有關的影像預覽"
 
 msgid "attachment"
-msgstr ""
+msgstr "附件"
 
 msgid "file attached to this stream"
-msgstr ""
+msgstr "該資料串流所附的檔案"
 
 msgid "beats per minute"
-msgstr ""
+msgstr "每分鐘beat數"
 
 msgid "number of beats per minute in audio"
-msgstr ""
+msgstr "聲音中每分鐘beat數"
 
 msgid "keywords"
-msgstr ""
+msgstr "關鍵字"
 
-#, fuzzy
 msgid "comma separated keywords describing the content"
-msgstr "一段有關媒體內容的簡短說明文字"
+msgstr "用來敘述媒體內容的關鍵字，關鍵字之間以逗號分開"
 
-#, fuzzy
 msgid "geo location name"
-msgstr "位置"
+msgstr "地理位置名稱"
 
 msgid ""
 "human readable descriptive location of where the media has been recorded or "
 "produced"
-msgstr ""
+msgstr "人類可讀的媒體錄製地點資訊。"
 
 msgid "geo location latitude"
-msgstr ""
+msgstr "地理緯度位置"
 
+# Wen, 省略規格描述部份
 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 ""
+msgstr "媒體錄製地點緯度"
 
 msgid "geo location longitude"
-msgstr ""
+msgstr "地理經度位置"
 
+# Wen, 省略規格描述部份
 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 ""
+msgstr "媒體錄製地點經度"
 
 msgid "geo location elevation"
-msgstr ""
+msgstr "地理位置海拔"
 
+# Wen, 省略規格描述部份
 msgid ""
 "geo elevation of where the media has been recorded or produced in meters "
 "according to WGS84 (zero is average sea level)"
-msgstr ""
+msgstr "媒體錄製地點海拔"
 
-#, fuzzy
 msgid "geo location country"
-msgstr "位置"
+msgstr "地理位置國家"
 
 msgid "country (english name) where the media has been recorded or produced"
-msgstr ""
+msgstr "媒體錄製的國家(英文名)"
 
-#, fuzzy
 msgid "geo location city"
-msgstr "位置"
+msgstr "地理位置城市"
 
 msgid "city (english name) where the media has been recorded or produced"
-msgstr ""
+msgstr "以英文表示的媒體錄製城市"
 
-#, fuzzy
 msgid "geo location sublocation"
-msgstr "位置"
+msgstr "地理位置城市內區域"
 
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
-msgstr ""
+msgstr "媒體錄製城市內區域"
 
-#, fuzzy
 msgid "geo location horizontal error"
-msgstr "位置"
+msgstr "地理位置水平誤差"
 
 msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr ""
+msgstr "預期的水平誤差（以公尺為單位）"
 
-#, fuzzy
 msgid "geo location movement speed"
-msgstr "位置"
+msgstr "地理位址移動速度"
 
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
-msgstr ""
+msgstr "錄製設備操作時的移動速度(m/s)"
 
-#, fuzzy
 msgid "geo location movement direction"
-msgstr "位置"
+msgstr "地理位址移動方向"
 
+# Wen, 省略規格描述部份
 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 ""
+msgstr "錄製設備操作時的移動方向"
 
-#, fuzzy
 msgid "geo location capture direction"
-msgstr "位置"
+msgstr "地理位址錄製設備方向"
 
+# Wen, 省略規格描述部份
 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 ""
+msgstr "錄製設備操作時的方向"
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
 msgid "show name"
-msgstr ""
+msgstr "顯示名稱"
 
 msgid "Name of the tv/podcast/series show the media is from"
-msgstr ""
+msgstr "tv/podcast/影集中媒體的名稱"
 
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
 msgid "show sortname"
-msgstr ""
+msgstr "顯示排序後名稱"
 
 msgid ""
 "Name of the tv/podcast/series show the media is from, for sorting purposes"
-msgstr ""
+msgstr "排序後的tv/podcast/影集中媒體的名稱"
 
-#, fuzzy
 msgid "episode number"
-msgstr "碟片編號"
+msgstr "集數編號"
 
 msgid "The episode number in the season the media is part of"
-msgstr ""
+msgstr "該季中媒體集數編號"
 
-#, fuzzy
 msgid "season number"
-msgstr "碟片編號"
+msgstr "季數編號"
 
 msgid "The season number of the show the media is part of"
-msgstr ""
+msgstr "媒體的季數編號"
 
-#, fuzzy
 msgid "lyrics"
-msgstr "條款"
+msgstr "歌詞"
 
 msgid "The lyrics of the media, commonly used for songs"
-msgstr ""
+msgstr "歌曲歌詞"
 
 msgid "composer sortname"
-msgstr ""
+msgstr "排序後的編曲者"
 
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr ""
+msgstr "排序後的編曲者"
 
 msgid "grouping"
-msgstr ""
+msgstr "群組"
 
 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 ""
+"將有關聯的不同的音軌設成群組，例如一場演唱會切成不同段落。比單一音軌高階，但"
+"是比專輯低階"
 
-#, fuzzy
 msgid "user rating"
-msgstr "時間長度"
+msgstr "使用者評價"
 
 msgid ""
 "Rating attributed by a user. The higher the rank, the more the user likes "
 "this media"
-msgstr ""
+msgstr "使用者評價，分數愈高表示愈受歡迎"
 
 msgid "device manufacturer"
-msgstr ""
+msgstr "設備製造商"
 
 msgid "Manufacturer of the device used to create this media"
-msgstr ""
+msgstr "錄製媒體設備的製造商"
 
 msgid "device model"
-msgstr ""
+msgstr "設備型號"
 
 msgid "Model of the device used to create this media"
-msgstr ""
+msgstr "錄製媒體設備的型號"
 
-#, fuzzy
 msgid "application name"
-msgstr "位置"
+msgstr "應用程式名稱"
 
 msgid "Application used to create the media"
-msgstr ""
+msgstr "產生媒體使用的應用程式"
 
 msgid "application data"
-msgstr ""
+msgstr "應用程式資料"
 
 msgid "Arbitrary application data to be serialized into the media"
-msgstr ""
+msgstr "任意的應用程式資料，最後會被串列化後放入媒體"
 
 msgid "image orientation"
-msgstr ""
+msgstr "影像方向"
 
 msgid "How the image should be rotated or flipped before display"
-msgstr ""
+msgstr "用來協助判斷影像播放時應該旋轉或是翻面"
 
 msgid "publisher"
-msgstr ""
+msgstr "出版者"
 
 msgid "Name of the label or publisher"
-msgstr ""
+msgstr "標簽或出版商名稱"
 
 msgid "interpreted-by"
-msgstr ""
+msgstr "詮釋者"
 
 msgid "Information about the people behind a remix and similar interpretations"
-msgstr ""
+msgstr "重新混音或是重新詮釋的作者"
 
+# Wen, 怪怪的
 msgid "midi-base-note"
-msgstr ""
+msgstr "Midi簡譜"
 
+# Wen, 怪怪的
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "音軌Midi簡譜"
 
 msgid ", "
 msgstr ""
 
 #, c-format
 msgid "No URI handler for the %s protocol found"
-msgstr ""
+msgstr "找不到%s的URI處理程式"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr ""
+msgstr "不支援URI scheme:'%s'"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
-msgstr "錯誤：來自 %s 元件：%s\n"
+msgstr "錯誤：來自 %s element：%s\n"
 
 #, c-format
 msgid ""
@@ -842,10 +833,12 @@
 "額外偵錯資訊：\n"
 "%s\n"
 
+# Wen, 不翻譯，幾乎都是專有名詞
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
 
+# Wen, 不翻譯，幾乎都是專有名詞
 #, c-format
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
@@ -856,7 +849,7 @@
 
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
-msgstr "無法將 “%2$s” 元件的 “%1$s” 屬性設定為 “%3$s”"
+msgstr "無法將 “%2$s” element的 “%1$s” 屬性設定為 “%3$s”"
 
 #, c-format
 msgid "could not link %s to %s"
@@ -864,70 +857,85 @@
 
 #, c-format
 msgid "no element \"%s\""
-msgstr "“%s” 元件不存在"
+msgstr "“%s” element不存在"
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "忽略非預期的參照: \"%s\""
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "忽略非預期的pad參照: \"%s\""
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr ""
+msgstr "無法分析caps \"%s\""
 
 #, c-format
 msgid "no sink element for URI \"%s\""
-msgstr "URI “%s” 沒有輸出元件"
+msgstr "URI “%s” 沒有可用的sink element"
 
 #, c-format
 msgid "no source element for URI \"%s\""
-msgstr "URI “%s” 沒有來源元件"
+msgstr "URI “%s” 沒有可用的source element"
 
 msgid "syntax error"
-msgstr ""
+msgstr "語法錯誤"
 
 msgid "bin"
 msgstr ""
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
-msgstr ""
+msgstr "不允許指定空的bin: \"%s\""
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "“%2$s” 元件沒有 “%1$s” 屬性"
+msgstr "bin \"%s\"不存在，解開elements"
 
 msgid "empty pipeline not allowed"
-msgstr "不允許使用沒有內容的管線"
+msgstr "不允許空的pipeline"
 
 msgid "A lot of buffers are being dropped."
-msgstr ""
+msgstr "正在拋棄大量的緩衝區"
 
 msgid "Internal data flow problem."
-msgstr ""
+msgstr "內部資料流程錯誤"
 
 msgid "Internal data stream error."
-msgstr ""
+msgstr "內部資料串流錯誤"
 
 msgid "Internal data flow error."
-msgstr ""
+msgstr "內部資料流程錯誤"
 
 msgid "Internal clock error."
-msgstr ""
+msgstr "內部clock錯誤"
 
 msgid "Failed to map buffer."
-msgstr ""
+msgstr "對應緩衝區失敗"
 
 msgid "Filter caps"
-msgstr ""
+msgstr "過濾caps"
 
+# Wen, 怪怪的
 msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
 "property takes a reference to the supplied GstCaps object."
-msgstr ""
+msgstr "限制允許的capabilities (NULL表示不限制)，打開該屬性將會參照GstCaps物件"
+
+msgid "No Temp directory specified."
+msgstr "未指定暫存目錄"
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr "無法產生暫存檔案\"%s\""
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr "無法開啟檔案 “%s” 來讀取內容。"
+
+msgid "Error while writing to download file."
+msgstr "下載並寫入內容至檔案時發生錯誤。"
 
 msgid "No file name specified for writing."
 msgstr "未指定準備寫入的檔案名稱。"
@@ -940,9 +948,9 @@
 msgid "Error closing file \"%s\"."
 msgstr "關閉檔案 “%s” 時發生錯誤。"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Error while seeking in file \"%s\"."
-msgstr "當寫入內容至檔案 “%s” 時發生錯誤。"
+msgstr "對檔案 “%s” 定位時發生錯誤。"
 
 #, c-format
 msgid "Error while writing to file \"%s\"."
@@ -952,12 +960,8 @@
 msgstr "未指定要讀取的檔案名稱。"
 
 #, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "無法開啟檔案 “%s” 來讀取內容。"
-
-#, fuzzy, c-format
 msgid "Could not get info on \"%s\"."
-msgstr "無法連接 %s 和 %s"
+msgstr "無法從 %s 取得資料"
 
 #, c-format
 msgid "\"%s\" is a directory."
@@ -967,234 +971,226 @@
 msgid "File \"%s\" is a socket."
 msgstr "“%s” 是一個 socket。"
 
+# Wen, 怪怪的
 msgid "Failed after iterations as requested."
-msgstr ""
-
-msgid "No Temp directory specified."
-msgstr ""
-
-#, fuzzy, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "無法連接 %s 和 %s"
-
-#, fuzzy
-msgid "Error while writing to download file."
-msgstr "當寫入內容至檔案 “%s” 時發生錯誤。"
+msgstr "重複送出請求後發生失敗"
 
 msgid "caps"
 msgstr ""
 
 msgid "detected capabilities in stream"
-msgstr ""
+msgstr "已從資料串流中偵測到capabilities"
 
 msgid "minimum"
 msgstr "最低"
 
 msgid "force caps"
-msgstr ""
+msgstr "強迫caps"
 
 msgid "force caps without doing a typefind"
-msgstr ""
+msgstr "不尋找型態，直些強迫caps"
 
-#, fuzzy
 msgid "Stream contains no data."
-msgstr "這些樂曲所屬的專輯"
+msgstr "資料串流中沒有資料"
 
 msgid "Implemented Interfaces:\n"
-msgstr ""
+msgstr "實作介面：\n"
 
 msgid "readable"
-msgstr ""
+msgstr "可讀"
 
-#, fuzzy
 msgid "writable"
-msgstr "標題"
+msgstr "可寫"
 
 msgid "controllable"
-msgstr ""
+msgstr "可控制"
 
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr ""
+msgstr "可以切換到NULL, READY, PAUSED 或PLAYING狀態"
 
 msgid "changeable only in NULL, READY or PAUSED state"
-msgstr ""
+msgstr "只能切換到NULL, READY, 或PAUSED狀態"
 
 msgid "changeable only in NULL or READY state"
-msgstr ""
+msgstr "只能切換到NULL 或 READY狀態"
 
 msgid "Blacklisted files:"
-msgstr ""
+msgstr "黑名單檔案"
 
-#, fuzzy
 msgid "Total count: "
-msgstr "音軌總數"
+msgstr "總數量:"
 
 #, c-format
 msgid "%d blacklisted file"
 msgid_plural "%d blacklisted files"
-msgstr[0] ""
+msgstr[0] "%d個黑名單檔案"
 
 #, c-format
 msgid "%d plugin"
 msgid_plural "%d plugins"
-msgstr[0] ""
+msgstr[0] "%d 個外掛程式"
 
 #, c-format
 msgid "%d blacklist entry"
 msgid_plural "%d blacklist entries"
-msgstr[0] ""
+msgstr[0] "%d筆黑名單紀錄"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%d feature"
 msgid_plural "%d features"
-msgstr[0] "功能"
+msgstr[0] "%d 個功能"
 
 msgid "Print all elements"
-msgstr "顯示所有元件"
+msgstr "顯示所有elements"
 
 msgid "Print list of blacklisted files"
-msgstr ""
+msgstr "顯示所有黑名單檔案"
 
+# Wen, 怪怪的
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
 "plugins provide.\n"
 "                                       Useful in connection with external "
 "automatic plugin installation mechanisms"
 msgstr ""
+"從指定外掛程式或是所有外掛程式印出電腦可以分析的功能列表。\n"
+"                                       對於連結並安裝外部自動外掛程式有用"
 
 msgid "List the plugin contents"
-msgstr ""
+msgstr "列出外掛程式內容"
 
 msgid "Check if the specified element or plugin exists"
-msgstr ""
+msgstr "檢查指定的element或是外掛程式是否存在"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
-msgstr ""
+msgstr "檢查指定的element或是外掛程式是否存在時順便檢查是否為最新版本"
 
 msgid "Print supported URI schemes, with the elements that implement them"
-msgstr ""
+msgstr "印出支援的URI schemes以及有實作它的elements"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not load plugin file: %s\n"
-msgstr "無法開啟 “%s” 檔案來寫入內容。"
+msgstr "無法再入外掛程式檔案： “%s”\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "No such element or plugin '%s'\n"
-msgstr "URI “%s” 沒有來源元件"
+msgstr "找不到element或外掛程式'%s'\n"
 
 msgid "Index statistics"
-msgstr ""
+msgstr "索引統計"
 
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
-msgstr ""
+msgstr "從element \"%2$s\"(%3$s) 中得到訊息#%1$u:"
 
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr ""
+msgstr "從pad \"%4$s\"(%2$s:%3$s) 中得到訊息#%1$u:"
 
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
-msgstr ""
+msgstr "從物件 \"%2$s\"(%3$s) 中得到訊息#%1$u:"
 
 #, c-format
 msgid "Got message #%u (%s): "
-msgstr ""
+msgstr "收到訊息 #%u (%s):"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got EOS from element \"%s\".\n"
-msgstr "錯誤：來自 %s 元件：%s\n"
+msgstr "從element \"%s\" 中得到EOS通知\n"
 
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
-msgstr ""
+msgstr "找到標籤      : 由element \"%s\"找到。\n"
 
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
-msgstr ""
+msgstr "找到標籤      : 由pad \"%s:%s\"找到。\n"
 
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
-msgstr ""
+msgstr "找到標籤      : 由從物件 \"%s\"找到。\n"
 
 msgid "FOUND TAG\n"
-msgstr ""
+msgstr "找到標籤\n"
 
 #, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
-msgstr ""
+msgstr "找到 TOC      : 從element \"%s\"。\n"
 
 #, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
-msgstr ""
+msgstr "找到 TOC      : 從物件 \"%s\"。\n"
 
 msgid "FOUND TOC\n"
-msgstr ""
+msgstr "找到TOC\n"
 
 #, c-format
 msgid ""
 "INFO:\n"
 "%s\n"
 msgstr ""
+"資訊：\n"
+"%s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "WARNING: from element %s: %s\n"
-msgstr "錯誤：來自 %s 元件：%s\n"
+msgstr "警告：來自element %s ：%s\n"
 
+# Wen, 怪怪的, 如何精確區分preroll和buffer?
 msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr ""
+msgstr "緩衝中，等待緩衝完成...\n"
 
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr ""
+msgstr "緩衝中，等待完成進度...\n"
 
 msgid "buffering..."
-msgstr ""
+msgstr "緩衝中..."
 
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr ""
+msgstr "緩衝完成，將pipeline狀態設成PLAYING...\n"
 
 msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr ""
+msgstr "緩衝完成，將pipeline狀態設成PAUSE...\n"
 
 msgid "Redistribute latency...\n"
-msgstr ""
+msgstr "重新分配延遲時間...\n"
 
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
-msgstr ""
+msgstr "由%2$s要求，將狀態設成%1$s...\n"
 
 msgid "Interrupt: Stopping pipeline ...\n"
-msgstr ""
+msgstr "中斷：停止pipeline...\n"
 
 #, c-format
 msgid "Progress: (%s) %s\n"
-msgstr ""
+msgstr "進度：(%s) %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Missing element: %s\n"
-msgstr "“%s” 元件不存在"
+msgstr "“%s” element不存在\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "錯誤：來自 %s 元件：%s\n"
+msgstr "從element '%s' 取得內容: %s=%s\n"
 
 msgid "Output tags (also known as metadata)"
-msgstr ""
+msgstr "輸出標籤 （即metadata）"
 
 msgid "Output TOC (chapters and editions)"
-msgstr ""
+msgstr "輸出TOC (章節以及版本)"
 
 msgid "Output status information and property notifications"
-msgstr ""
+msgstr "輸出狀態資訊以及屬性通知"
 
-#, fuzzy
 msgid "Do not print any progress information"
-msgstr "不顯示和 TYPE 有關的狀態資訊"
+msgstr "不顯示任何進度資訊"
 
 msgid "Output messages"
-msgstr ""
+msgstr "輸出訊息"
 
 msgid "Do not output status information of TYPE"
 msgstr "不顯示和 TYPE 有關的狀態資訊"
@@ -1203,84 +1199,81 @@
 msgstr "TYPE1,TYPE2,..."
 
 msgid "Do not install a fault handler"
-msgstr ""
+msgstr "不安裝錯誤處理程式"
 
 msgid "Force EOS on sources before shutting the pipeline down"
-msgstr ""
+msgstr "在關閉pipeline前強迫source EOS"
 
 msgid "Gather and print index statistics"
-msgstr ""
+msgstr "收集並列印索引統計"
 
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
-msgstr "錯誤：無法製作管線：%s。\n"
+msgstr "錯誤：無法建立pipeline：%s。\n"
 
 msgid "ERROR: pipeline could not be constructed.\n"
-msgstr "錯誤：無法製作管線。\n"
+msgstr "錯誤：無法建立pipeline。\n"
 
 #, c-format
 msgid "WARNING: erroneous pipeline: %s\n"
-msgstr "警告：管線錯誤：%s\n"
+msgstr "警告：pipeline錯誤：%s\n"
 
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
-msgstr "錯誤：找不到 ‘pipeline’ 元件。\n"
+msgstr "錯誤：找不到 ‘pipeline’ element。\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
-msgstr ""
+msgstr "將pipeline狀態設為PAUSED...\n"
 
-#, fuzzy
 msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "錯誤：管線無法執行。\n"
+msgstr "錯誤：Pipeline 不想要暫停。\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
-msgstr ""
+msgstr "Pipepline可以正常運動，不需要緩衝 ...\n"
 
 msgid "Pipeline is PREROLLING ...\n"
-msgstr ""
+msgstr "Pipeline正在緩衝 ...\n"
 
-#, fuzzy
 msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "錯誤：管線無法執行。\n"
+msgstr "錯誤：Pipeline 不想要緩衝。\n"
 
 msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
+msgstr "Pipleline已經緩衝完畢 ...\n"
 
 msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
+msgstr "將pipeline狀態設為PLAYING...\n"
 
 msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "錯誤：管線無法執行。\n"
+msgstr "錯誤：Pipeline 不想要播放。\n"
 
 msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
+msgstr "關閉時送出EOS已設定 -- 強迫Pipeline EOS\n"
 
 msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
+msgstr "關閉時送出EOS已設定 -- 產生錯誤後等待EOS\n"
 
 msgid "Waiting for EOS...\n"
-msgstr ""
+msgstr "等待EOS...\n"
 
 msgid "EOS received - stopping pipeline...\n"
-msgstr ""
+msgstr "收到EOS - 停止pipeline...\n"
 
 msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
+msgstr "等待EOS時發生中斷 - 停止pipeline\n"
 
 msgid "An error happened while waiting for EOS\n"
-msgstr ""
+msgstr "等待EOS時發生錯誤\n"
 
 msgid "Execution ended after %"
-msgstr ""
+msgstr "在 % 之後執行結束"
 
 msgid "Setting pipeline to READY ...\n"
-msgstr ""
+msgstr "將pipeline狀態設為READY...\n"
 
 msgid "Setting pipeline to NULL ...\n"
-msgstr ""
+msgstr "將pipeline狀態設為NULL...\n"
 
-#, fuzzy
 msgid "Freeing pipeline ...\n"
-msgstr "執行管線 ...\n"
+msgstr "釋放pipeline ...\n"
 
 #~ msgid "link without source element"
 #~ msgstr "管線中沒有來源元件"
@@ -1316,7 +1309,7 @@
 #~ msgstr "REGISTRY"
 
 #~ msgid "path list for loading plugins (separated by '%s')"
-#~ msgstr "搜尋增效模組時的路徑清單，以‘%s’分隔"
+#~ msgstr "搜尋外掛時的路徑清單，以‘%s’分隔"
 
 #~ msgid "Scheduler to use (default is '%s')"
 #~ msgstr "準備使用的排程器 (預設為 ‘%s’)"
@@ -1341,20 +1334,3 @@
 
 #~ msgid "         Trying to run anyway.\n"
 #~ msgstr "      嘗試強制執行。\n"
-
-# (abel) e.g. "Added plugin alaw with 2 features."
-#~ msgid "Added plugin %s with %d %s.\n"
-#~ msgstr "加入增效模組 %s，當中有 %d 項%s。\n"
-
-#~ msgid "Rebuilding %s (%s) ...\n"
-#~ msgstr "正在重新整理 %s (%s) ...\n"
-
-#~ msgid "Trying to load %s ...\n"
-#~ msgstr "嘗試載入 %s ...\n"
-
-#~ msgid "Error loading %s\n"
-#~ msgstr "載入 %s 失敗\n"
-
-# (abel) e.g. "Loaded 146 plugins with 293 features."
-#~ msgid "Loaded %d plugins with %d %s.\n"
-#~ msgstr "載入 %d 個增效模組，當中有 %d 項%s。\n"
diff --git a/tests/benchmarks/capsnego.c b/tests/benchmarks/capsnego.c
index 7e6ca39..e035ddc 100644
--- a/tests/benchmarks/capsnego.c
+++ b/tests/benchmarks/capsnego.c
@@ -19,13 +19,15 @@
  * Boston, MA 02110-1301, USA.
  */
 
-/* this benchmark recursively builds a pipeline and measures the time to go
- * from ready to paused.
- * The graph size and type can be controlled with a few commandline args:
+/* This benchmark recursively builds a pipeline and measures the time to go
+ * from READY to PAUSED state.
+ *
+ * The graph size and type can be controlled with a few command line options:
+ *
  *  -d depth: is the depth of the tree
  *  -c children: is the number of branches on each level
- *  -f <flavour>: can be a=udio/v=ideo and is conttrolling the kind of elements
- *                that are used.
+ *  -f <flavour>: can be "audio" or "video" and is controlling the kind of
+ *                elements that are used.
  */
 
 #include <gst/gst.h>
@@ -132,7 +134,7 @@
 }
 
 static void
-event_loop (GstElement * bin, GstClockTime start)
+event_loop (GstElement * bin)
 {
   GstBus *bus;
   GstMessage *msg = NULL;
@@ -142,27 +144,11 @@
 
   while (running) {
     msg = gst_bus_poll (bus,
-        GST_MESSAGE_STATE_CHANGED | GST_MESSAGE_ERROR | GST_MESSAGE_WARNING,
-        -1);
+        GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR | GST_MESSAGE_WARNING, -1);
 
     switch (GST_MESSAGE_TYPE (msg)) {
-      case GST_MESSAGE_STATE_CHANGED:
-        if (GST_MESSAGE_SRC (msg) == (GstObject *) bin) {
-          GstState old_state, new_state;
-          GstClockTime end;
-
-          gst_message_parse_state_changed (msg, &old_state, &new_state, NULL);
-
-          end = gst_util_get_timestamp ();
-          g_print ("%" GST_TIME_FORMAT " state change on the bin: %s -> %s\n",
-              GST_TIME_ARGS (end - start),
-              gst_element_state_get_name (old_state),
-              gst_element_state_get_name (new_state));
-
-          if (old_state == GST_STATE_READY && new_state == GST_STATE_PAUSED) {
-            running = FALSE;
-          }
-        }
+      case GST_MESSAGE_ASYNC_DONE:
+        running = FALSE;
         break;
       case GST_MESSAGE_WARNING:{
         GError *err = NULL;
@@ -195,52 +181,49 @@
   gst_object_unref (bus);
 }
 
-
 gint
 main (gint argc, gchar * argv[])
 {
+  /* default parameters */
+  const gchar *flavour_str = "audio";
+  gint flavour = FLAVOUR_AUDIO;
+  gint children = 3;
+  gint depth = 4;
+  gint loops = 50;
+
+  GOptionContext *ctx;
+  GOptionEntry options[] = {
+    {"children", 'c', 0, G_OPTION_ARG_INT, &children,
+        "Number of children (branches on each level) (default: 3)", NULL},
+    {"depth", 'd', 0, G_OPTION_ARG_INT, &depth,
+        "Depth of pipeline hierarchy tree (default: 4)", NULL},
+    {"flavour", 'f', 0, G_OPTION_ARG_STRING, &flavour_str,
+        "Flavour (video|audio) controlling the kind of elements used "
+          "(default: audio)", NULL},
+    {"loops", 'l', 0, G_OPTION_ARG_INT, &loops,
+        "How many loops to run (default: 50)", NULL},
+    {NULL}
+  };
+  GError *err = NULL;
   GstBin *bin;
   GstClockTime start, end;
   GstElement *sink, *new_sink;
+  gint i;
 
-  /* default parameters */
-  gint depth = 4;
-  gint children = 3;
-  gint flavour = FLAVOUR_AUDIO;
-  const gchar *flavour_str = "audio";
-
-  gst_init (&argc, &argv);
+  g_set_prgname ("capsnego");
 
   /* check command line options */
-  if (argc) {
-    gint arg;
-    for (arg = 0; arg < argc; arg++) {
-      if (!strcmp (argv[arg], "-d")) {
-        arg++;
-        if (arg < argc)
-          depth = atoi (argv[arg]);
-      } else if (!strcmp (argv[arg], "-c")) {
-        arg++;
-        if (arg < argc)
-          children = atoi (argv[arg]);
-      } else if (!strcmp (argv[arg], "-f")) {
-        arg++;
-        if (arg < argc) {
-          flavour_str = argv[arg];
-          switch (*flavour_str) {
-            case 'a':
-              flavour = FLAVOUR_AUDIO;
-              break;
-            case 'v':
-              flavour = FLAVOUR_VIDEO;
-              break;
-            default:
-              break;
-          }
-        }
-      }
-    }
+  ctx = g_option_context_new ("");
+  g_option_context_add_main_entries (ctx, options, NULL);
+  g_option_context_add_group (ctx, gst_init_get_option_group ());
+  if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
+    g_print ("Error initializing: %s\n", GST_STR_NULL (err->message));
+    return 1;
   }
+  g_option_context_free (ctx);
+
+  if (strcmp (flavour_str, "video") == 0)
+    flavour = FLAVOUR_VIDEO;
 
   /* build pipeline */
   g_print ("building %s pipeline with depth = %d and children = %d\n",
@@ -264,13 +247,16 @@
   g_print ("starting pipeline\n");
   gst_element_set_state (GST_ELEMENT (bin), GST_STATE_READY);
   GST_DEBUG_BIN_TO_DOT_FILE (bin, GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE, "capsnego");
-  start = gst_util_get_timestamp ();
-  gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
-  event_loop (GST_ELEMENT (bin), start);
-  end = gst_util_get_timestamp ();
-  g_print ("%" GST_TIME_FORMAT " reached paused\n",
-      GST_TIME_ARGS (end - start));
 
+  start = gst_util_get_timestamp ();
+  for (i = 0; i < loops; ++i) {
+    gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
+    event_loop (GST_ELEMENT (bin));
+    gst_element_set_state (GST_ELEMENT (bin), GST_STATE_READY);
+  }
+  end = gst_util_get_timestamp ();
+  g_print ("%" GST_TIME_FORMAT " reached PAUSED state (%d loop iterations)\n",
+      GST_TIME_ARGS (end - start), loops);
   /* clean up */
 Error:
   gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 9424d0f..e197999 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -143,6 +143,7 @@
 	libs/bitreader-noinline		\
 	libs/bytereader-noinline	\
 	libs/bytewriter-noinline	\
+	libs/flowcombiner			\
 	libs/sparsefile				\
 	libs/collectpads			\
 	libs/gstnetclientclock			\
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index b9ec027..739acca 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -103,8 +103,9 @@
 	libs/bytereader$(EXEEXT) libs/bytewriter$(EXEEXT) \
 	libs/bitreader-noinline$(EXEEXT) \
 	libs/bytereader-noinline$(EXEEXT) \
-	libs/bytewriter-noinline$(EXEEXT) libs/sparsefile$(EXEEXT) \
-	libs/collectpads$(EXEEXT) libs/gstnetclientclock$(EXEEXT) \
+	libs/bytewriter-noinline$(EXEEXT) libs/flowcombiner$(EXEEXT) \
+	libs/sparsefile$(EXEEXT) libs/collectpads$(EXEEXT) \
+	libs/gstnetclientclock$(EXEEXT) \
 	libs/gstnettimeprovider$(EXEEXT) libs/gsttestclock$(EXEEXT) \
 	libs/transform1$(EXEEXT) tools/gstinspect$(EXEEXT)
 noinst_PROGRAMS =
@@ -659,6 +660,12 @@
 libs_controller_OBJECTS = libs/controller.$(OBJEXT)
 libs_controller_DEPENDENCIES = $(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_2)
+libs_flowcombiner_SOURCES = libs/flowcombiner.c
+libs_flowcombiner_OBJECTS = libs/flowcombiner.$(OBJEXT)
+libs_flowcombiner_LDADD = $(LDADD)
+libs_flowcombiner_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 am_libs_gstlibscpp_OBJECTS = libs/gstlibscpp.$(OBJEXT)
 libs_gstlibscpp_OBJECTS = $(am_libs_gstlibscpp_OBJECTS)
 libs_gstlibscpp_LDADD = $(LDADD)
@@ -836,14 +843,15 @@
 	libs/bitreader.c libs/bitreader-noinline.c libs/bytereader.c \
 	libs/bytereader-noinline.c libs/bytewriter.c \
 	libs/bytewriter-noinline.c libs/collectpads.c \
-	libs/controller.c $(libs_gstlibscpp_SOURCES) \
-	libs/gstnetclientclock.c libs/gstnettimeprovider.c \
-	libs/gsttestclock.c libs/libsabi.c libs/queuearray.c \
-	libs/sparsefile.c libs/transform1.c libs/typefindhelper.c \
-	pipelines/cleanup.c pipelines/parse-disabled.c \
-	pipelines/parse-launch.c pipelines/queue-error.c \
-	pipelines/seek.c pipelines/simple-launch-lines.c \
-	pipelines/stress.c tools/gstinspect.c
+	libs/controller.c libs/flowcombiner.c \
+	$(libs_gstlibscpp_SOURCES) libs/gstnetclientclock.c \
+	libs/gstnettimeprovider.c libs/gsttestclock.c libs/libsabi.c \
+	libs/queuearray.c libs/sparsefile.c libs/transform1.c \
+	libs/typefindhelper.c pipelines/cleanup.c \
+	pipelines/parse-disabled.c pipelines/parse-launch.c \
+	pipelines/queue-error.c pipelines/seek.c \
+	pipelines/simple-launch-lines.c pipelines/stress.c \
+	tools/gstinspect.c
 DIST_SOURCES = elements/capsfilter.c elements/fakesink.c \
 	elements/fakesrc.c elements/fdsrc.c elements/filesink.c \
 	elements/filesrc.c elements/funnel.c elements/identity.c \
@@ -868,14 +876,15 @@
 	libs/bitreader.c libs/bitreader-noinline.c libs/bytereader.c \
 	libs/bytereader-noinline.c libs/bytewriter.c \
 	libs/bytewriter-noinline.c libs/collectpads.c \
-	libs/controller.c $(libs_gstlibscpp_SOURCES) \
-	libs/gstnetclientclock.c libs/gstnettimeprovider.c \
-	libs/gsttestclock.c libs/libsabi.c libs/queuearray.c \
-	libs/sparsefile.c libs/transform1.c libs/typefindhelper.c \
-	pipelines/cleanup.c pipelines/parse-disabled.c \
-	pipelines/parse-launch.c pipelines/queue-error.c \
-	pipelines/seek.c pipelines/simple-launch-lines.c \
-	pipelines/stress.c tools/gstinspect.c
+	libs/controller.c libs/flowcombiner.c \
+	$(libs_gstlibscpp_SOURCES) libs/gstnetclientclock.c \
+	libs/gstnettimeprovider.c libs/gsttestclock.c libs/libsabi.c \
+	libs/queuearray.c libs/sparsefile.c libs/transform1.c \
+	libs/typefindhelper.c pipelines/cleanup.c \
+	pipelines/parse-disabled.c pipelines/parse-launch.c \
+	pipelines/queue-error.c pipelines/seek.c \
+	pipelines/simple-launch-lines.c pipelines/stress.c \
+	tools/gstinspect.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -2067,6 +2076,12 @@
 libs/controller$(EXEEXT): $(libs_controller_OBJECTS) $(libs_controller_DEPENDENCIES) $(EXTRA_libs_controller_DEPENDENCIES) libs/$(am__dirstamp)
 	@rm -f libs/controller$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(libs_controller_OBJECTS) $(libs_controller_LDADD) $(LIBS)
+libs/flowcombiner.$(OBJEXT): libs/$(am__dirstamp) \
+	libs/$(DEPDIR)/$(am__dirstamp)
+
+libs/flowcombiner$(EXEEXT): $(libs_flowcombiner_OBJECTS) $(libs_flowcombiner_DEPENDENCIES) $(EXTRA_libs_flowcombiner_DEPENDENCIES) libs/$(am__dirstamp)
+	@rm -f libs/flowcombiner$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(libs_flowcombiner_OBJECTS) $(libs_flowcombiner_LDADD) $(LIBS)
 libs/gstlibscpp.$(OBJEXT): libs/$(am__dirstamp) \
 	libs/$(DEPDIR)/$(am__dirstamp)
 
@@ -2268,6 +2283,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/bytewriter.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/collectpads.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/controller.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/flowcombiner.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/gstlibscpp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/gstnetclientclock.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/gstnettimeprovider.Po@am__quote@
@@ -3162,6 +3178,13 @@
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/flowcombiner.log: libs/flowcombiner$(EXEEXT)
+	@p='libs/flowcombiner$(EXEEXT)'; \
+	b='libs/flowcombiner'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 libs/collectpads.log: libs/collectpads$(EXEEXT)
 	@p='libs/collectpads$(EXEEXT)'; \
 	b='libs/collectpads'; \
diff --git a/tests/check/elements/funnel.c b/tests/check/elements/funnel.c
index 4b47917..e5fe75f 100644
--- a/tests/check/elements/funnel.c
+++ b/tests/check/elements/funnel.c
@@ -204,7 +204,7 @@
               td.funnelsink11)));
 
   /* This will fail because everything is EOS already */
-  fail_unless (gst_pad_push_event (td.mysrc1, gst_event_new_eos ()));
+  fail_if (gst_pad_push_event (td.mysrc1, gst_event_new_eos ()));
   fail_unless (num_eos == 2);
 
   fail_unless (gst_pad_unlink (td.mysrc1, td.funnelsink11));
@@ -227,7 +227,7 @@
 
   fail_unless (gst_pad_push_event (td.mysrc1, gst_event_new_eos ()));
   fail_unless (gst_pad_push_event (td.mysrc2, gst_event_new_eos ()));
-  fail_unless (num_eos == 2);
+  fail_unless (num_eos == 3);
 
   fail_unless (gst_pad_unlink (td.mysrc1, td.funnelsink11));
   gst_element_release_request_pad (td.funnel, td.funnelsink11);
diff --git a/tests/check/elements/multiqueue.c b/tests/check/elements/multiqueue.c
index 4ecd07c..22cb57c 100644
--- a/tests/check/elements/multiqueue.c
+++ b/tests/check/elements/multiqueue.c
@@ -940,6 +940,8 @@
   gst_element_set_state (mq, GST_STATE_NULL);
   gst_object_unref (inputpad);
   gst_object_unref (outputpad);
+  gst_object_unref (mq_sinkpad);
+  gst_object_unref (mq_srcpad);
   gst_object_unref (mq);
   g_mutex_clear (&block_mutex);
   g_cond_clear (&block_cond);
diff --git a/tests/check/gst/gstbufferlist.c b/tests/check/gst/gstbufferlist.c
index 10c3165..8af3db0 100644
--- a/tests/check/gst/gstbufferlist.c
+++ b/tests/check/gst/gstbufferlist.c
@@ -28,20 +28,18 @@
 #define TIMESTAMP 42
 
 static GstBufferList *list;
-static GstCaps *caps;
 
 static void
 setup (void)
 {
   list = gst_buffer_list_new ();
-  caps = gst_caps_new_empty_simple ("text/plain");
 }
 
 static void
 cleanup (void)
 {
-  gst_caps_unref (caps);
   gst_buffer_list_unref (list);
+  list = NULL;
 }
 
 #if 0
@@ -54,7 +52,6 @@
 
   size = strlen (str);
   buf = gst_buffer_new_and_alloc (size);
-  gst_buffer_set_caps (buf, caps);
   GST_BUFFER_TIMESTAMP (buf) = TIMESTAMP;
 
   data = gst_buffer_map (buf, NULL, NULL, GST_MAP_WRITE);
@@ -107,6 +104,33 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_remove)
+{
+  GstBuffer *buf;
+
+  /* buffer list is initially empty */
+  fail_unless (gst_buffer_list_length (list) == 0);
+
+  buf = gst_buffer_new ();
+
+  /* add our own ref so it stays alive after removal from the list */
+  buf = gst_buffer_ref (buf);
+
+  /* add a buffer */
+  fail_unless (gst_buffer_list_length (list) == 0);
+  ASSERT_CRITICAL (gst_buffer_list_insert (list, -1, NULL));
+  ASSERT_BUFFER_REFCOUNT (buf, "buf", 2);
+  gst_buffer_list_add (list, buf);
+  ASSERT_BUFFER_REFCOUNT (buf, "buf", 2);       /* list takes ownership */
+  fail_unless (gst_buffer_list_length (list) == 1);
+  gst_buffer_list_remove (list, 0, 1);
+  ASSERT_BUFFER_REFCOUNT (buf, "buf", 1);
+  gst_buffer_unref (buf);
+  fail_unless (gst_buffer_list_length (list) == 0);
+}
+
+GST_END_TEST;
+
 #if 0
 GST_START_TEST (test_make_writable)
 {
@@ -483,111 +507,6 @@
 
 GST_END_TEST;
 
-GST_START_TEST (test_merge)
-{
-  GstBufferListIterator *it;
-  GstBufferListIterator *merge_it;
-  GstBuffer *merged_buf;
-  GstBuffer *buf;
-
-  it = gst_buffer_list_iterate (list);
-  fail_unless (gst_buffer_list_iterator_merge_group (it) == NULL);
-
-  /* create a new group and add a buffer */
-  gst_buffer_list_iterator_add_group (it);
-  fail_unless (gst_buffer_list_iterator_merge_group (it) == NULL);
-  buf = buffer_from_string ("One");
-  gst_buffer_ref (buf);
-  gst_buffer_list_iterator_add (it, buf);
-
-  /* merging a group with one buffer returns a copy of the buffer */
-  merge_it = gst_buffer_list_iterate (list);
-  fail_unless (gst_buffer_list_iterator_next_group (merge_it));
-  merged_buf = gst_buffer_list_iterator_merge_group (merge_it);
-  fail_unless (merged_buf != buf);
-  ASSERT_BUFFER_REFCOUNT (merged_buf, "merged_buf", 1);
-  gst_buffer_unref (buf);
-  fail_unless (GST_BUFFER_CAPS (merged_buf) == caps);
-  fail_unless (GST_BUFFER_TIMESTAMP (merged_buf) == TIMESTAMP);
-  check_buffer (merged_buf, 3, "One");
-  gst_buffer_unref (merged_buf);
-
-  /* add another buffer to the same group */
-  gst_buffer_list_iterator_add (it, buffer_from_string ("Group"));
-
-  /* merging a group returns a new buffer with merged data */
-  merged_buf = gst_buffer_list_iterator_merge_group (merge_it);
-  ASSERT_BUFFER_REFCOUNT (merged_buf, "merged_buf", 1);
-  fail_unless (GST_BUFFER_CAPS (merged_buf) == caps);
-  fail_unless (GST_BUFFER_TIMESTAMP (merged_buf) == TIMESTAMP);
-  check_buffer (merged_buf, 8, "OneGroup");
-
-  /* merging the same group again should return a new buffer with merged data */
-  buf = gst_buffer_list_iterator_merge_group (merge_it);
-  ASSERT_BUFFER_REFCOUNT (buf, "buf", 1);
-  fail_unless (buf != merged_buf);
-  check_buffer (buf, 8, "OneGroup");
-  gst_buffer_unref (buf);
-  gst_buffer_unref (merged_buf);
-
-  /* add a new group */
-  gst_buffer_list_iterator_add_group (it);
-  gst_buffer_list_iterator_add (it, buffer_from_string ("AnotherGroup"));
-  gst_buffer_list_iterator_free (it);
-
-  /* merge the first group again */
-  merged_buf = gst_buffer_list_iterator_merge_group (merge_it);
-  ASSERT_BUFFER_REFCOUNT (merged_buf, "merged_buf", 1);
-  fail_unless (GST_BUFFER_CAPS (merged_buf) == caps);
-  fail_unless (GST_BUFFER_TIMESTAMP (merged_buf) == TIMESTAMP);
-  check_buffer (merged_buf, 8, "OneGroup");
-  gst_buffer_unref (merged_buf);
-
-  /* merge the second group */
-  fail_unless (gst_buffer_list_iterator_next_group (merge_it));
-  merged_buf = gst_buffer_list_iterator_merge_group (merge_it);
-  ASSERT_BUFFER_REFCOUNT (merged_buf, "merged_buf", 1);
-  fail_unless (GST_BUFFER_CAPS (merged_buf) == caps);
-  fail_unless (GST_BUFFER_TIMESTAMP (merged_buf) == TIMESTAMP);
-  check_buffer (merged_buf, 12, "AnotherGroup");
-  gst_buffer_unref (merged_buf);
-
-  gst_buffer_list_iterator_free (merge_it);
-
-  /* steal the second buffer and merge the first group again */
-  it = gst_buffer_list_iterate (list);
-  fail_unless (gst_buffer_list_iterator_next_group (it));
-  fail_unless (gst_buffer_list_iterator_next (it) != NULL);
-  fail_unless (gst_buffer_list_iterator_next (it) != NULL);
-  buf = gst_buffer_list_iterator_steal (it);
-  gst_buffer_list_iterator_free (it);
-  fail_unless (buf != NULL);
-  check_buffer (buf, 0, "Group");
-  gst_buffer_unref (buf);
-  merge_it = gst_buffer_list_iterate (list);
-  fail_unless (gst_buffer_list_iterator_next_group (merge_it));
-  merged_buf = gst_buffer_list_iterator_merge_group (merge_it);
-  ASSERT_BUFFER_REFCOUNT (merged_buf, "merged_buf", 1);
-  fail_unless (GST_BUFFER_CAPS (merged_buf) == caps);
-  fail_unless (GST_BUFFER_TIMESTAMP (merged_buf) == TIMESTAMP);
-  check_buffer (merged_buf, 3, "One");
-  gst_buffer_unref (merged_buf);
-
-  /* steal the first buffer too and merge the first group again */
-  it = gst_buffer_list_iterate (list);
-  fail_unless (gst_buffer_list_iterator_next_group (it));
-  fail_unless (gst_buffer_list_iterator_next (it) != NULL);
-  buf = gst_buffer_list_iterator_steal (it);
-  fail_unless (buf != NULL);
-  check_buffer (buf, 3, "One");
-  gst_buffer_unref (buf);
-  gst_buffer_list_iterator_free (it);
-  fail_unless (gst_buffer_list_iterator_merge_group (merge_it) == NULL);
-  gst_buffer_list_iterator_free (merge_it);
-}
-
-GST_END_TEST;
-
 typedef struct
 {
   GstBuffer *buf[3][3];
@@ -762,13 +681,13 @@
   suite_add_tcase (s, tc_chain);
   tcase_add_checked_fixture (tc_chain, setup, cleanup);
   tcase_add_test (tc_chain, test_add_and_iterate);
+  tcase_add_test (tc_chain, test_remove);
 #if 0
   tcase_add_test (tc_chain, test_make_writable);
   tcase_add_test (tc_chain, test_copy);
   tcase_add_test (tc_chain, test_steal);
   tcase_add_test (tc_chain, test_take);
   tcase_add_test (tc_chain, test_do);
-  tcase_add_test (tc_chain, test_merge);
   tcase_add_test (tc_chain, test_foreach);
   tcase_add_test (tc_chain, test_list);
 #endif
diff --git a/tests/check/gst/gstbufferpool.c b/tests/check/gst/gstbufferpool.c
index 41181ec..7dcf1bf 100644
--- a/tests/check/gst/gstbufferpool.c
+++ b/tests/check/gst/gstbufferpool.c
@@ -242,6 +242,28 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_flushing_pool_returns_flushing)
+{
+  GstBufferPool *pool = create_pool (10, 0, 0);
+  GstFlowReturn ret;
+  GstBuffer *buf = NULL;
+
+  gst_buffer_pool_set_active (pool, TRUE);
+  gst_buffer_pool_set_flushing (pool, TRUE);
+
+  ret = gst_buffer_pool_acquire_buffer (pool, &buf, NULL);
+  ck_assert_int_eq (ret, GST_FLOW_FLUSHING);
+
+  gst_buffer_pool_set_flushing (pool, FALSE);
+  ret = gst_buffer_pool_acquire_buffer (pool, &buf, NULL);
+  ck_assert_int_eq (ret, GST_FLOW_OK);
+
+  gst_buffer_unref (buf);
+  gst_object_unref (pool);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_buffer_pool_suite (void)
 {
@@ -259,6 +281,7 @@
   tcase_add_test (tc_chain, test_buffer_modify_discard);
   tcase_add_test (tc_chain, test_pool_activation_and_config);
   tcase_add_test (tc_chain, test_pool_config_validate);
+  tcase_add_test (tc_chain, test_flushing_pool_returns_flushing);
 
   return s;
 }
diff --git a/tests/check/gst/gstcaps.c b/tests/check/gst/gstcaps.c
index 9214097..b1a1352 100644
--- a/tests/check/gst/gstcaps.c
+++ b/tests/check/gst/gstcaps.c
@@ -1133,6 +1133,26 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_special_caps)
+{
+  GstCaps *caps;
+
+  caps = gst_caps_new_any ();
+  fail_unless (gst_caps_is_any (caps));
+  fail_unless (gst_caps_is_any (caps) == TRUE);
+  fail_if (gst_caps_is_empty (caps));
+  fail_unless (gst_caps_is_empty (caps) == FALSE);
+  gst_caps_unref (caps);
+
+  caps = gst_caps_new_empty ();
+  fail_if (gst_caps_is_any (caps));
+  fail_unless (gst_caps_is_any (caps) == FALSE);
+  fail_unless (gst_caps_is_empty (caps));
+  fail_unless (gst_caps_is_empty (caps) == TRUE);
+  gst_caps_unref (caps);
+}
+
+GST_END_TEST;
 static Suite *
 gst_caps_suite (void)
 {
@@ -1161,6 +1181,7 @@
   tcase_add_test (tc_chain, test_normalize);
   tcase_add_test (tc_chain, test_broken);
   tcase_add_test (tc_chain, test_features);
+  tcase_add_test (tc_chain, test_special_caps);
 
   return s;
 }
diff --git a/tests/check/gst/gstelement.c b/tests/check/gst/gstelement.c
index 8732611..faa95a5 100644
--- a/tests/check/gst/gstelement.c
+++ b/tests/check/gst/gstelement.c
@@ -50,6 +50,40 @@
 
 GST_END_TEST;
 
+
+GST_START_TEST (test_add_remove_readd_pad)
+{
+  GstElement *e;
+  GstPad *p;
+
+  /* getting an existing element class is cheating, but easier */
+  e = gst_element_factory_make ("fakesrc", "source");
+
+  /* create a new floating pad with refcount 1 */
+  p = gst_pad_new ("source", GST_PAD_SRC);
+
+  gst_object_ref (p);
+
+  /* simulate a real scenario where the pad is activated before added */
+  fail_unless (gst_pad_set_active (p, TRUE));
+  gst_element_add_pad (e, p);
+
+  /* now remove and deactivate it */
+  fail_unless (gst_pad_set_active (p, FALSE));
+  gst_element_remove_pad (e, p);
+
+  /* should be able to reuse the same pad */
+  fail_unless (gst_pad_set_active (p, TRUE));
+  fail_unless (gst_element_add_pad (e, p));
+
+  /* clean up our own reference */
+  gst_object_unref (p);
+  gst_object_unref (e);
+}
+
+GST_END_TEST;
+
+
 GST_START_TEST (test_add_pad_unref_element)
 {
   GstElement *e;
@@ -355,6 +389,7 @@
 
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_add_remove_pad);
+  tcase_add_test (tc_chain, test_add_remove_readd_pad);
   tcase_add_test (tc_chain, test_add_pad_unref_element);
   tcase_add_test (tc_chain, test_error_no_bus);
   tcase_add_test (tc_chain, test_link);
diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c
index 2b193b1..cf4586d 100644
--- a/tests/check/gst/gstpad.c
+++ b/tests/check/gst/gstpad.c
@@ -1813,6 +1813,169 @@
 
 GST_END_TEST;
 
+static GstFlowReturn next_return;
+
+static GstFlowReturn
+test_lastflow_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
+{
+  gst_buffer_unref (buffer);
+  return next_return;
+}
+
+GST_START_TEST (test_last_flow_return_push)
+{
+  GstPad *srcpad, *sinkpad;
+  GstSegment seg;
+
+  srcpad = gst_pad_new ("src", GST_PAD_SRC);
+  fail_unless (srcpad != NULL);
+  sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
+  fail_unless (sinkpad != NULL);
+  gst_pad_set_chain_function (sinkpad, test_lastflow_chain);
+  gst_pad_link (srcpad, sinkpad);
+
+  /* initial value is flushing */
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_FLUSHING);
+
+  /* when active it goes to ok */
+  gst_pad_set_active (srcpad, TRUE);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+  gst_pad_set_active (sinkpad, TRUE);
+
+  /* startup events */
+  gst_pad_push_event (srcpad, gst_event_new_stream_start ("test"));
+  gst_segment_init (&seg, GST_FORMAT_TIME);
+  gst_pad_push_event (srcpad, gst_event_new_segment (&seg));
+
+
+  /* push Ok */
+  next_return = GST_FLOW_OK;
+  fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+
+  /* push not-linked */
+  next_return = GST_FLOW_NOT_LINKED;
+  fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_NOT_LINKED);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
+
+  /* push not-linked */
+  next_return = GST_FLOW_NOT_NEGOTIATED;
+  fail_unless (gst_pad_push (srcpad,
+          gst_buffer_new ()) == GST_FLOW_NOT_NEGOTIATED);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) ==
+      GST_FLOW_NOT_NEGOTIATED);
+
+  /* push error */
+  next_return = GST_FLOW_ERROR;
+  fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_ERROR);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_ERROR);
+
+  /* back to ok */
+  next_return = GST_FLOW_OK;
+  fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+
+  /* unlinked push */
+  gst_pad_unlink (srcpad, sinkpad);
+  fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_NOT_LINKED);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
+
+  gst_pad_link (srcpad, sinkpad);
+  fail_unless (gst_pad_push_event (srcpad, gst_event_new_eos ()));
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_EOS);
+
+  gst_object_unref (srcpad);
+  gst_object_unref (sinkpad);
+}
+
+GST_END_TEST;
+
+static GstFlowReturn
+test_lastflow_getrange (GstPad * pad, GstObject * parent, guint64 offset,
+    guint length, GstBuffer ** buf)
+{
+  if (next_return == GST_FLOW_OK)
+    *buf = gst_buffer_new ();
+  else
+    *buf = NULL;
+  return next_return;
+}
+
+static gboolean
+test_lastflow_activate_pull_func (GstPad * pad, GstObject * object)
+{
+  return gst_pad_activate_mode (pad, GST_PAD_MODE_PULL, TRUE);
+}
+
+GST_START_TEST (test_last_flow_return_pull)
+{
+  GstPad *srcpad, *sinkpad;
+  GstBuffer *buf = NULL;
+
+  srcpad = gst_pad_new ("src", GST_PAD_SRC);
+  fail_unless (srcpad != NULL);
+  sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
+  fail_unless (sinkpad != NULL);
+  gst_pad_set_getrange_function (srcpad, test_lastflow_getrange);
+  gst_pad_set_activate_function (sinkpad, test_lastflow_activate_pull_func);
+  gst_pad_link (srcpad, sinkpad);
+
+  /* initial value is flushing */
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_FLUSHING);
+
+  /* when active it goes to ok */
+  gst_pad_set_active (sinkpad, TRUE);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+  gst_pad_set_active (srcpad, TRUE);
+
+  /* pull Ok */
+  next_return = GST_FLOW_OK;
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+  gst_buffer_unref (buf);
+  buf = NULL;
+
+  /* pull not-linked */
+  next_return = GST_FLOW_NOT_LINKED;
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_NOT_LINKED);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
+
+  /* pull error */
+  next_return = GST_FLOW_ERROR;
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_ERROR);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_ERROR);
+
+  /* pull not-nego */
+  next_return = GST_FLOW_NOT_NEGOTIATED;
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1,
+          &buf) == GST_FLOW_NOT_NEGOTIATED);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) ==
+      GST_FLOW_NOT_NEGOTIATED);
+
+  /* pull ok again */
+  next_return = GST_FLOW_OK;
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+  gst_buffer_unref (buf);
+  buf = NULL;
+
+  /* unlinked pads */
+  gst_pad_unlink (srcpad, sinkpad);
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_NOT_LINKED);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
+
+  /* eos */
+  gst_pad_link (srcpad, sinkpad);
+  next_return = GST_FLOW_EOS;
+  fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_EOS);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_EOS);
+
+  gst_object_unref (srcpad);
+  gst_object_unref (sinkpad);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_pad_suite (void)
 {
@@ -1856,6 +2019,8 @@
   tcase_add_test (tc_chain, test_block_async_full_destroy_dispose);
   tcase_add_test (tc_chain, test_block_async_replace_callback_no_flush);
   tcase_add_test (tc_chain, test_sticky_events);
+  tcase_add_test (tc_chain, test_last_flow_return_push);
+  tcase_add_test (tc_chain, test_last_flow_return_pull);
 
   return s;
 }
diff --git a/tests/check/gst/gstvalue.c b/tests/check/gst/gstvalue.c
index b4cd2d2..7b913f5 100644
--- a/tests/check/gst/gstvalue.c
+++ b/tests/check/gst/gstvalue.c
@@ -881,7 +881,7 @@
   /* and the other way around, should create a list of two ranges. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_INT_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_int_range_min (tmp) == 0);
@@ -905,7 +905,7 @@
   /* and the other way around, should create a new range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 11);
   fail_unless (gst_value_get_int_range_max (&dest) == 20);
   g_value_unset (&dest);
@@ -923,7 +923,7 @@
   /* and the other way around, should create a new range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 10);
   fail_unless (gst_value_get_int_range_max (&dest) == 19);
   g_value_unset (&dest);
@@ -944,7 +944,7 @@
   /* and the other way around, should keep the range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 10);
   fail_unless (gst_value_get_int_range_max (&dest) == 20);
   g_value_unset (&dest);
@@ -973,14 +973,14 @@
   gst_value_set_int_range (&src2, 30, 40);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 10);
   fail_unless (gst_value_get_int_range_max (&dest) == 20);
   g_value_unset (&dest);
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 30);
   fail_unless (gst_value_get_int_range_max (&dest) == 40);
   g_value_unset (&dest);
@@ -997,7 +997,7 @@
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 21);
   fail_unless (gst_value_get_int_range_max (&dest) == 30);
   g_value_unset (&dest);
@@ -1011,14 +1011,14 @@
   gst_value_set_int_range (&src2, 15, 30);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 10);
   fail_unless (gst_value_get_int_range_max (&dest) == 14);
   g_value_unset (&dest);
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT_RANGE);
   fail_unless (gst_value_get_int_range_min (&dest) == 21);
   fail_unless (gst_value_get_int_range_max (&dest) == 30);
   g_value_unset (&dest);
@@ -1032,7 +1032,7 @@
   gst_value_set_int_range (&src2, 15, 20);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_INT_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_int_range_min (tmp) == 10);
@@ -1055,7 +1055,7 @@
   gst_value_set_int_range (&src2, 11, 29);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (G_VALUE_HOLDS_INT (tmp) == TRUE);
   fail_unless (g_value_get_int (tmp) == 10);
@@ -1076,7 +1076,7 @@
   gst_value_set_int_range (&src2, 11, 28);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (G_VALUE_HOLDS_INT (tmp) == TRUE);
   fail_unless (g_value_get_int (tmp) == 10);
@@ -1098,7 +1098,7 @@
   gst_value_set_int_range (&src2, 12, 29);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_INT_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_int_range_min (tmp) == 10);
@@ -1156,7 +1156,7 @@
   /* and the other way around, should create a list of two ranges. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_INT64_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_int64_range_min (tmp) == 0);
@@ -1180,7 +1180,7 @@
   /* and the other way around, should create a new range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 11);
   fail_unless (gst_value_get_int64_range_max (&dest) == 20);
   g_value_unset (&dest);
@@ -1198,7 +1198,7 @@
   /* and the other way around, should create a new range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 10);
   fail_unless (gst_value_get_int64_range_max (&dest) == 19);
   g_value_unset (&dest);
@@ -1219,7 +1219,7 @@
   /* and the other way around, should keep the range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 10);
   fail_unless (gst_value_get_int64_range_max (&dest) == 20);
   g_value_unset (&dest);
@@ -1248,14 +1248,14 @@
   gst_value_set_int64_range (&src2, 30, 40);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 10);
   fail_unless (gst_value_get_int64_range_max (&dest) == 20);
   g_value_unset (&dest);
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 30);
   fail_unless (gst_value_get_int64_range_max (&dest) == 40);
   g_value_unset (&dest);
@@ -1272,7 +1272,7 @@
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 21);
   fail_unless (gst_value_get_int64_range_max (&dest) == 30);
   g_value_unset (&dest);
@@ -1286,14 +1286,14 @@
   gst_value_set_int64_range (&src2, 15, 30);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 10);
   fail_unless (gst_value_get_int64_range_max (&dest) == 14);
   g_value_unset (&dest);
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_INT64_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_INT64_RANGE);
   fail_unless (gst_value_get_int64_range_min (&dest) == 21);
   fail_unless (gst_value_get_int64_range_max (&dest) == 30);
   g_value_unset (&dest);
@@ -1307,7 +1307,7 @@
   gst_value_set_int64_range (&src2, 15, 20);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_INT64_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_int64_range_min (tmp) == 10);
@@ -1330,7 +1330,7 @@
   gst_value_set_int64_range (&src2, 11, 29);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (G_VALUE_HOLDS_INT64 (tmp) == TRUE);
   fail_unless (g_value_get_int64 (tmp) == 10);
@@ -1351,7 +1351,7 @@
   gst_value_set_int64_range (&src2, 11, 28);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (G_VALUE_HOLDS_INT64 (tmp) == TRUE);
   fail_unless (g_value_get_int64 (tmp) == 10);
@@ -1373,7 +1373,7 @@
   gst_value_set_int64_range (&src2, 12, 29);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_INT64_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_int64_range_min (tmp) == 10);
@@ -1432,7 +1432,7 @@
    * so the result is the range again */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 0.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 20.0);
   g_value_unset (&dest);
@@ -1451,7 +1451,7 @@
    * we don't have open ranges. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 10.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 20.0);
   g_value_unset (&dest);
@@ -1470,7 +1470,7 @@
    * we don't have open ranges. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 10.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 20.0);
   g_value_unset (&dest);
@@ -1491,7 +1491,7 @@
   /* and the other way around, should keep the range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 10.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 20.0);
   g_value_unset (&dest);
@@ -1540,14 +1540,14 @@
   gst_value_set_double_range (&src2, 30.0, 40.0);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 10.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 20.0);
   g_value_unset (&dest);
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 30.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 40.0);
   g_value_unset (&dest);
@@ -1564,7 +1564,7 @@
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 20.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 30.0);
   g_value_unset (&dest);
@@ -1578,14 +1578,14 @@
   gst_value_set_double_range (&src2, 15.0, 30.0);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 10.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 15.0);
   g_value_unset (&dest);
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_DOUBLE_RANGE);
   fail_unless (gst_value_get_double_range_min (&dest) == 20.0);
   fail_unless (gst_value_get_double_range_max (&dest) == 30.0);
   g_value_unset (&dest);
@@ -1599,7 +1599,7 @@
   gst_value_set_double_range (&src2, 15.0, 20.0);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_DOUBLE_RANGE (tmp) == TRUE);
   fail_unless (gst_value_get_double_range_min (tmp) == 10.0);
@@ -1720,7 +1720,7 @@
    * so the result is the range again */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 0, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1743,7 +1743,7 @@
    * we don't have open ranges. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 10, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1761,14 +1761,14 @@
   gst_value_set_fraction_range_full (&src2, 10, 1, 20, 1);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION);
   fail_unless (gst_value_compare (&dest, &src1) == GST_VALUE_EQUAL);
   g_value_unset (&dest);
 
   /* and the other way around, should keep the range. */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   fail_unless (gst_value_compare (&dest, &src2) == GST_VALUE_EQUAL);
   g_value_unset (&dest);
   g_value_unset (&src1);
@@ -1796,7 +1796,7 @@
   gst_value_set_fraction_range_full (&src2, 30, 2, 40, 2);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 5, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1808,7 +1808,7 @@
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 15, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1829,7 +1829,7 @@
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 20, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1847,7 +1847,7 @@
   gst_value_set_fraction_range_full (&src2, 15, 1, 30, 1);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 10, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1859,7 +1859,7 @@
   /* the other way */
   ret = gst_value_subtract (&dest, &src2, &src1);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_FRACTION_RANGE);
   gst_value_set_fraction (&cmp, 20, 1);
   fail_unless (gst_value_compare (gst_value_get_fraction_range_min (&dest),
           &cmp) == GST_VALUE_EQUAL);
@@ -1877,7 +1877,7 @@
   gst_value_set_fraction_range_full (&src2, 15, 1, 20, 1);
   ret = gst_value_subtract (&dest, &src1, &src2);
   fail_unless (ret == TRUE);
-  fail_unless (GST_VALUE_HOLDS_LIST (&dest) == TRUE);
+  fail_unless (G_VALUE_TYPE (&dest) == GST_TYPE_LIST);
   /* 1st list entry */
   tmp = gst_value_list_get_value (&dest, 0);
   fail_unless (GST_VALUE_HOLDS_FRACTION_RANGE (tmp) == TRUE);
@@ -2505,6 +2505,13 @@
   g_value_unset (&dest);
   fail_unless (gst_value_intersect (&dest, &range, &range2) == FALSE);
 
+  gst_value_set_int_range (&range, -7, -6);
+  fail_unless_equals_int (gst_value_get_int_range_min (&range), -7);
+  fail_unless_equals_int (gst_value_get_int_range_max (&range), -6);
+  gst_value_set_int_range (&range, -7, 7);
+  fail_unless_equals_int (gst_value_get_int_range_min (&range), -7);
+  fail_unless_equals_int (gst_value_get_int_range_max (&range), 7);
+
   g_value_unset (&start);
   g_value_unset (&end);
   g_value_unset (&range);
diff --git a/tests/check/libs/flowcombiner.c b/tests/check/libs/flowcombiner.c
new file mode 100644
index 0000000..372a7fc
--- /dev/null
+++ b/tests/check/libs/flowcombiner.c
@@ -0,0 +1,167 @@
+/* GStreamer
+ *
+ * Copyright (C) 2014 Samsung Electronics. All rights reserved.
+ *   Author: Thiago Santos <ts.santos@sisa.samsung.com>
+ *
+ * flowcombiner.c: Unit test for GstFlowCombiner
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/check/gstcheck.h>
+#include <gst/base/gstflowcombiner.h>
+
+static GstFlowReturn sink_flowret = GST_FLOW_OK;
+
+#define CHECK_COMBINED_FLOWS(f1, f2, f3, expected) \
+G_STMT_START { \
+  combiner = gst_flow_combiner_new (); \
+  gst_flow_combiner_add_pad (combiner, pad1); \
+  gst_flow_combiner_add_pad (combiner, pad2); \
+  gst_flow_combiner_add_pad (combiner, pad3); \
+  sink_flowret = f1; \
+  gst_pad_push (pad1, gst_buffer_new ()); \
+  gst_flow_combiner_update_flow (combiner, f1); \
+  sink_flowret = f2; \
+  gst_pad_push (pad2, gst_buffer_new ()); \
+  gst_flow_combiner_update_flow (combiner, f2); \
+  sink_flowret = f3; \
+  gst_pad_push (pad3, gst_buffer_new ()); \
+  ret = gst_flow_combiner_update_flow (combiner, f3); \
+  gst_flow_combiner_free (combiner); \
+  fail_unless_equals_int (ret, expected); \
+} G_STMT_END
+
+static GstFlowReturn
+_sink_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+{
+  gst_buffer_unref (buf);
+  return sink_flowret;
+}
+
+GST_START_TEST (test_combined_flows)
+{
+  GstFlowReturn ret;
+  GstFlowCombiner *combiner;
+  GstPad *pad1, *pad2, *pad3;
+  GstPad *peer1, *peer2, *peer3;
+  GstSegment segment;
+
+  pad1 = gst_pad_new ("src1", GST_PAD_SRC);
+  pad2 = gst_pad_new ("src2", GST_PAD_SRC);
+  pad3 = gst_pad_new ("src3", GST_PAD_SRC);
+
+  peer1 = gst_pad_new ("sink1", GST_PAD_SINK);
+  peer2 = gst_pad_new ("sink2", GST_PAD_SINK);
+  peer3 = gst_pad_new ("sink3", GST_PAD_SINK);
+
+  gst_pad_set_chain_function (peer1, _sink_chain);
+  gst_pad_set_chain_function (peer2, _sink_chain);
+  gst_pad_set_chain_function (peer3, _sink_chain);
+
+  gst_pad_link (pad1, peer1);
+  gst_pad_link (pad2, peer2);
+  gst_pad_link (pad3, peer3);
+
+  gst_pad_set_active (peer1, TRUE);
+  gst_pad_set_active (peer2, TRUE);
+  gst_pad_set_active (peer3, TRUE);
+  gst_pad_set_active (pad1, TRUE);
+  gst_pad_set_active (pad2, TRUE);
+  gst_pad_set_active (pad3, TRUE);
+
+  gst_segment_init (&segment, GST_FORMAT_BYTES);
+  gst_pad_push_event (pad1, gst_event_new_stream_start ("p1"));
+  gst_pad_push_event (pad2, gst_event_new_stream_start ("p2"));
+  gst_pad_push_event (pad3, gst_event_new_stream_start ("p3"));
+  gst_pad_push_event (pad1, gst_event_new_segment (&segment));
+  gst_pad_push_event (pad2, gst_event_new_segment (&segment));
+  gst_pad_push_event (pad3, gst_event_new_segment (&segment));
+
+  /* ok */
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_OK, GST_FLOW_OK, GST_FLOW_OK);
+
+  /* not linked */
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_NOT_LINKED, GST_FLOW_OK,
+      GST_FLOW_OK);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_EOS, GST_FLOW_OK, GST_FLOW_OK);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_NOT_LINKED, GST_FLOW_NOT_LINKED,
+      GST_FLOW_OK);
+  CHECK_COMBINED_FLOWS (GST_FLOW_NOT_LINKED, GST_FLOW_NOT_LINKED,
+      GST_FLOW_NOT_LINKED, GST_FLOW_NOT_LINKED);
+
+  /* errors */
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_ERROR, GST_FLOW_OK,
+      GST_FLOW_ERROR);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_CUSTOM_ERROR, GST_FLOW_OK,
+      GST_FLOW_CUSTOM_ERROR);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_NOT_NEGOTIATED, GST_FLOW_OK,
+      GST_FLOW_NOT_NEGOTIATED);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_OK, GST_FLOW_NOT_NEGOTIATED,
+      GST_FLOW_NOT_NEGOTIATED);
+  CHECK_COMBINED_FLOWS (GST_FLOW_NOT_LINKED, GST_FLOW_ERROR, GST_FLOW_OK,
+      GST_FLOW_ERROR);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_OK, GST_FLOW_ERROR,
+      GST_FLOW_ERROR);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_OK, GST_FLOW_CUSTOM_ERROR,
+      GST_FLOW_CUSTOM_ERROR);
+
+  /* flushing */
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_OK, GST_FLOW_FLUSHING,
+      GST_FLOW_FLUSHING);
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_FLUSHING, GST_FLOW_OK,
+      GST_FLOW_FLUSHING);
+  CHECK_COMBINED_FLOWS (GST_FLOW_FLUSHING, GST_FLOW_FLUSHING, GST_FLOW_FLUSHING,
+      GST_FLOW_FLUSHING);
+
+  /* eos */
+  CHECK_COMBINED_FLOWS (GST_FLOW_OK, GST_FLOW_NOT_LINKED, GST_FLOW_EOS,
+      GST_FLOW_OK);
+  CHECK_COMBINED_FLOWS (GST_FLOW_EOS, GST_FLOW_OK, GST_FLOW_EOS, GST_FLOW_OK);
+  CHECK_COMBINED_FLOWS (GST_FLOW_EOS, GST_FLOW_EOS, GST_FLOW_EOS, GST_FLOW_EOS);
+
+  /* eos + not-linked */
+  CHECK_COMBINED_FLOWS (GST_FLOW_NOT_LINKED, GST_FLOW_EOS, GST_FLOW_EOS,
+      GST_FLOW_EOS);
+  CHECK_COMBINED_FLOWS (GST_FLOW_NOT_LINKED, GST_FLOW_NOT_LINKED, GST_FLOW_EOS,
+      GST_FLOW_EOS);
+
+  gst_object_unref (pad1);
+  gst_object_unref (pad2);
+  gst_object_unref (pad3);
+  gst_object_unref (peer1);
+  gst_object_unref (peer2);
+  gst_object_unref (peer3);
+}
+
+GST_END_TEST;
+static Suite *
+flow_combiner_suite (void)
+{
+  Suite *s = suite_create ("GstFlowCombiner");
+  TCase *tc_chain = tcase_create ("general");
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_combined_flows);
+
+  return s;
+}
+
+GST_CHECK_MAIN (flow_combiner);
diff --git a/tests/check/libs/queuearray.c b/tests/check/libs/queuearray.c
index 0141a11..4100178 100644
--- a/tests/check/libs/queuearray.c
+++ b/tests/check/libs/queuearray.c
@@ -250,6 +250,18 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_array_grow_from_prealloc1)
+{
+  GstQueueArray *array;
+
+  array = gst_queue_array_new (1);
+  gst_queue_array_push_tail (array, NULL);
+  gst_queue_array_push_tail (array, NULL);
+  gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_queue_array_suite (void)
 {
@@ -264,6 +276,7 @@
   tcase_add_test (tc_chain, test_array_grow_middle);
   tcase_add_test (tc_chain, test_array_grow_end);
   tcase_add_test (tc_chain, test_array_drop2);
+  tcase_add_test (tc_chain, test_array_grow_from_prealloc1);
 
   return s;
 }
diff --git a/win32/common/config.h b/win32/common/config.h
index fef1be1..c3e90cd 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -62,7 +62,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2014-05-21"
+#define GST_PACKAGE_RELEASE_DATETIME "2014-06-22"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -354,7 +354,7 @@
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.3.2"
+#define PACKAGE_STRING "GStreamer 1.3.3"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
@@ -363,7 +363,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.3.2"
+#define PACKAGE_VERSION "1.3.3"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -401,7 +401,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "1.3.2"
+#define VERSION "1.3.3"
 
 /* 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/gstversion.h b/win32/common/gstversion.h
index 0aabdb5..e04dc96 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -57,7 +57,7 @@
  *
  * The micro version of GStreamer at compile time:
  */
-#define GST_VERSION_MICRO (2)
+#define GST_VERSION_MICRO (3)
 /**
  * GST_VERSION_NANO:
  *
diff --git a/win32/common/libgstbase.def b/win32/common/libgstbase.def
index 8049a96..2713a09 100644
--- a/win32/common/libgstbase.def
+++ b/win32/common/libgstbase.def
@@ -262,6 +262,12 @@
 	gst_data_queue_push
 	gst_data_queue_push_force
 	gst_data_queue_set_flushing
+	gst_flow_combiner_add_pad
+	gst_flow_combiner_free
+	gst_flow_combiner_get_type
+	gst_flow_combiner_new
+	gst_flow_combiner_remove_pad
+	gst_flow_combiner_update_flow
 	gst_push_src_get_type
 	gst_queue_array_drop_element
 	gst_queue_array_find
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index d542736..fc74f2f 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -31,6 +31,7 @@
 	GST_CAT_SCHEDULING DATA
 	GST_CAT_SIGNAL DATA
 	GST_CAT_STATES DATA
+	_gst_bitmask_type DATA
 	_gst_buffer_list_type DATA
 	_gst_buffer_type DATA
 	_gst_caps_any DATA
@@ -39,6 +40,8 @@
 	_gst_caps_features_type DATA
 	_gst_caps_none DATA
 	_gst_caps_type DATA
+	_gst_context_type DATA
+	_gst_date_time_type DATA
 	_gst_debug_category_new
 	_gst_debug_dump_mem
 	_gst_debug_enabled DATA
@@ -47,14 +50,27 @@
 	_gst_debug_nameof_funcptr
 	_gst_debug_register_funcptr
 	_gst_disable_registry_cache DATA
+	_gst_double_range_type DATA
 	_gst_element_error_printf
 	_gst_event_type DATA
+	_gst_fraction_range_type DATA
+	_gst_fraction_type DATA
+	_gst_int64_range_type DATA
+	_gst_int_range_type DATA
+	_gst_memory_type DATA
+	_gst_message_type DATA
 	_gst_meta_tag_memory DATA
 	_gst_meta_transform_copy DATA
 	_gst_plugin_loader_client_run
+	_gst_query_type DATA
 	_gst_sample_type DATA
 	_gst_structure_type DATA
+	_gst_tag_list_type DATA
+	_gst_toc_entry_type DATA
+	_gst_toc_type DATA
 	_gst_trace_mutex DATA
+	_gst_value_array_type DATA
+	_gst_value_list_type DATA
 	gst_allocation_params_copy
 	gst_allocation_params_free
 	gst_allocation_params_get_type
@@ -158,6 +174,7 @@
 	gst_buffer_pool_release_buffer
 	gst_buffer_pool_set_active
 	gst_buffer_pool_set_config
+	gst_buffer_pool_set_flushing
 	gst_buffer_prepend_memory
 	gst_buffer_remove_all_memory
 	gst_buffer_remove_memory
@@ -393,8 +410,8 @@
 	gst_deinit
 	gst_device_create_element
 	gst_device_get_caps
+	gst_device_get_device_class
 	gst_device_get_display_name
-	gst_device_get_klass
 	gst_device_get_type
 	gst_device_has_classes
 	gst_device_has_classesv
@@ -784,6 +801,7 @@
 	gst_pad_get_current_caps
 	gst_pad_get_direction
 	gst_pad_get_element_private
+	gst_pad_get_last_flow_return
 	gst_pad_get_offset
 	gst_pad_get_pad_template
 	gst_pad_get_pad_template_caps
