Merge tag 'upstream/1.3.3' into debian-experimental

Upstream version 1.3.3
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