Merge tag 'upstream/1.0.1'

Upstream version 1.0.1
diff --git a/ChangeLog b/ChangeLog
index c3ada84..1335bd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,919 @@
+=== release 1.0.1 ===
+
+2012-10-07  Tim-Philipp Müller <tim@centricular.net>
+
+	* configure.ac:
+	  releasing 1.0.1
+
+2012-10-07 00:15:49 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/struct_i386.h:
+	* tests/check/libs/struct_i386.h:
+	  tests: update struct_i386.h for ABI checks
+	  Fixes make check on 32-bit x86.
+
+2012-10-06 17:26:21 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/struct_ppc32.h:
+	* tests/check/libs/struct_ppc32.h:
+	  tests: update struct_ppc32.h for ABI checks
+	  Fixes make check on 32-bit PowerPC.
+
+2012-10-06 14:55:35 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From 6c0b52c to 6bb6951
+
+2012-10-06 12:08:34 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/examples/manual/.gitignore:
+	  examples: .gitignore more binaries from the manual
+
+2012-10-05 16:04:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/Makefile.am:
+	* docs/design/part-block.txt:
+	* docs/design/part-probes.txt:
+	  docs: remove obsolete part-block document
+	  Merge the part-block document into part-probes
+
+2012-10-05 09:42:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: resend dropped events
+	  If we try to push sticky events but a probe dropped them, we don't mark
+	  the event as received and mark the pad as PENDING_EVENTS. This ensures
+	  that we resend the event the next time. For this we need to let the
+	  custom flow return from the probe trickle up to
+	  gst_pad_push_event_unchecked() so that we can differentiate between
+	  OK and DROPPED probe returns.
+
+2012-10-05 07:14:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: don't store sticky events on flushing/EOS pads
+	  Don't store sticky events on flushing or EOS pads. This was done
+	  correctly for source pads but not for sink pads.
+
+2012-10-04 11:24:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstbasetransform.c:
+	* win32/common/libgstbase.def:
+	  docs: add Since markers for new API and add it to docs and .def file
+
+2012-10-04 11:50:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	* tests/examples/manual/Makefile.am:
+	  manual: add dynamic capsfilter example
+
+2012-10-04 11:18:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gstcapsfilter.c:
+	  capsfilter: don't prefer passthrough
+	  Basetransform should not try to negotiate in passthrough mode but
+	  respect the order of what we return in the transform_caps method.
+	  A typical case is that you specify some specific new caps in the
+	  caps property but also allow the current caps to pass.
+
+2012-10-04 11:15:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	  basetrans: add an option to prefer passthrough
+	  Basetransform attempts to do passthrough mode regardless of the order of
+	  the transform_caps method. Add a method to disable this.
+	  This is needed for elements like capsfilter that want to transform caps
+	  based on the order of the caps property.
+
+2012-10-04 10:01:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetrans: improve some comments
+
+2012-10-03 17:17:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-autoplugging.xml:
+	* docs/manual/advanced-dataaccess.xml:
+	  manual: talk some more about dynamic pipelines
+
+2012-10-03 13:49:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmeta.c:
+	  meta: don't put essential logic in g_return_val_*
+
+2012-10-03 13:45:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-allocation.xml:
+	* libs/gst/net/gstnetaddressmeta.c:
+	* tests/check/gst/gstmeta.c:
+	  meta: do metadata registration threadsafe
+	  We need to use g_once to register the metadata implementations
+	  only once.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=685332
+
+2012-10-03 13:35:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmeta.c:
+	  meta: handle multiple implementation registration
+	  First check that we can actually register the implementation before
+	  making a GstMetaInfo. If we can't register we would otherwise end
+	  up with an undefined type and an invalid GstMetaInfo.
+	  It's possible that type registration fails because another metadata
+	  with the same implementation name was already registered.
+
+2012-10-03 13:12:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	  manual: use CDATA for code blocks
+	  then we don't have to escape special token anymore.
+
+2012-10-03 13:09:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	* tests/examples/manual/Makefile.am:
+	  manual: add partial preroll example with probes
+
+2012-10-03 10:53:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	  manual: add more stuff about probes
+
+2012-10-02 17:23:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	  manual: start talking about dynamic pipeline changes
+
+2012-10-02 16:47:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	  manual: move section around
+
+2012-10-02 16:44:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	* tests/examples/manual/Makefile.am:
+	  pwg: add appsink docs
+
+2012-10-02 16:15:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-dataaccess.xml:
+	* tests/examples/manual/Makefile.am:
+	  pwg: rewite data-access chapter
+	  Rewrite the data-access chapter so that we talk about appsrc instead
+	  of the fakesrc hacks.
+
+2012-10-02 13:22:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/draft-klass.txt:
+	* docs/manual/advanced-dataaccess.xml:
+	* docs/manual/advanced-metadata.xml:
+	* docs/manual/appendix-integration.xml:
+	* gst/gstpreset.c:
+	* po/README:
+	* tools/gst-plot-timeline.py:
+	  docs: some 0.10 -> 1.0 changes
+
+2012-10-02 13:12:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-allocation.xml:
+	  pwg: add allocation query example
+
+2012-10-02 12:49:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-allocation.xml:
+	  pwg: add bufferpool docs
+
+2012-10-02 11:34:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/appendix-programs.xml:
+	* docs/manual/manual.xml:
+	* docs/pwg/advanced-allocation.xml:
+	  pwg: flesh out allocation docs
+	  Add more examples.
+	  Add example for implementing new metadata.
+	  Add programs to the docs (again?), it seems to contain useful info.
+
+2012-10-01 16:59:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/titlepage.xml:
+	  pwg: add new author
+
+2012-10-01 16:55:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-allocation.xml:
+	  pwg: add allocation docs
+
+2012-10-01 16:46:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-buffer.txt:
+	* docs/design/part-bufferpool.txt:
+	* docs/design/part-meta.txt:
+	  docs: update design docs
+
+2012-10-01 13:28:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-bufferpool.txt:
+	* docs/design/part-memory.txt:
+	* docs/pwg/advanced-allocation.xml:
+	* docs/pwg/pwg.xml:
+	  docs: more docs fixes
+	  Fix allocator design doc
+	  Add beginning of allocation chapter in the pwg
+
+2012-10-01 11:47:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/appendix-checklist.xml:
+	* docs/pwg/appendix-porting.xml:
+	* docs/pwg/other-manager.xml:
+	* docs/pwg/other-ntoone.xml:
+	  pwg: final cleanups for 1.0
+
+2012-10-01 11:24:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-events.xml:
+	* docs/pwg/other-base.xml:
+	  pwg: fix events and base classes
+
+2012-10-01 10:40:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-tagging.xml:
+	  pwg: fixup tag docs
+
+2012-10-01 09:48:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-interfaces.xml:
+	  pwg: patch up the section about interfaces
+
+2012-09-30 04:05:36 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Fix seamless segment function
+	  The 3rd parameter of gst_base_src_new_seamless_segment in
+	  0.10 is the time associated with the start of the new segment,
+	  not the position in the new segment. Fix the name of the parameter,
+	  the docs, and the implementation to match the needs of the only
+	  extant consumer: DVD playback.
+
+2012-09-29 14:35:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstvalue.c:
+	* tests/check/gst/gstcaps.c:
+	  value: avoid duplicates when intersecting lists
+	  Fixes negotiation taking a ridiculous amount of
+	  time (multiple 10s of seconds on a core2) when
+	  there are duplicate entries in lists.
+	  Could have a negative performance impact on other
+	  scenarios because we now have to iterate the
+	  dest list to avoid duplicates, but we don't
+	  have a lot of lists any more these days, and
+	  they tend to be small anyway. The negatives
+	  are hopefully countered by the positive effects
+	  of reducing the list length early on in the
+	  process. And in any case, it's the right thing
+	  to do.
+	  Based on patch by Andre Moreira Magalhaes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684981
+
+2012-09-29 00:27:03 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/pwg/building-boiler.xml:
+	  pwg: minor update
+	  https://bugzilla.gnome.org/show_bug.cgi?id=621121
+
+2012-09-28 23:53:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/faq/dependencies.xml:
+	  faq: add missing </para> tag
+
+2012-09-28 15:17:27 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gstminiobject.c:
+	* tests/check/gst/gstmemory.c:
+	  miniobject: Always reject WRITE locks on READONLY miniobjects
+	  Verify that mapping a read-only memory as read doesnt make it writable
+
+2012-09-28 20:38:20 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/faq/dependencies.xml:
+	* docs/random/autotools:
+	* docs/random/moving-plugins:
+	  docs: purge all mention of liboil, update FAQ
+	  https://bugzilla.gnome.org/show_bug.cgi?id=673285
+
+2012-09-28 16:03:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-clock.xml:
+	* docs/pwg/advanced-dparams.xml:
+	* docs/pwg/advanced-interfaces.xml:
+	  pwg: update for 1.0
+	  Rewrite clock part.
+	  start on interfaces
+
+2012-09-28 13:25:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-request.xml:
+	  pwg: rework dynamic pads docs
+
+2012-09-28 13:25:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-scheduling.xml:
+	  pwg: rework scheduling docs
+
+2012-09-28 13:24:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/building-props.xml:
+	* docs/pwg/other-base.xml:
+	  pwg: remove some GST_BOILERPLATE
+
+2012-09-28 11:18:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-activation.txt:
+	  docs: update activation design docs
+
+2012-09-28 10:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	  pad: fix activate docs
+
+2012-09-28 10:04:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-negotiation.xml:
+	  pwg: fix more negotiation for 1.0
+
+2012-09-27 16:59:04 +0200  Olivier Blin <olivier.blin@softathome.com>
+
+	* gst/gstinfo.c:
+	  info: do not register printf extension for %p
+	  This happened when glib was not using system printf, and caused the
+	  internal gstreamer printf extensions to be used for all %p printfs,
+	  causing crashes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684970
+
+2012-09-27 17:21:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-negotiation.xml:
+	  pwg: fix some negotiation to 1.0
+
+2012-09-27 14:42:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/building-props.xml:
+	* docs/pwg/building-state.xml:
+	* docs/pwg/building-testapp.xml:
+	  pwg: more updates for 1.0
+
+2012-09-27 13:57:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/building-chainfn.xml:
+	* docs/pwg/building-eventfn.xml:
+	* docs/pwg/building-pads.xml:
+	* docs/pwg/pwg.xml:
+	  pwg: more updates for 1.0
+
+2012-09-27 11:53:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/building-boiler.xml:
+	  pwg: update boiler to 1.0
+
+2012-09-27 11:06:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstghostpad.c:
+	  ghostpad: also ref the internal pad for activate functions
+	  Also take a ref to the internal pad in the activate functions
+
+2012-09-24 18:26:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gstghostpad.c:
+	  proxypad: Hold a reference to the internal pad while pushing through it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684809
+
+2012-09-25 14:44:54 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/gst/gstghostpad.c:
+	  tests: Test the case where ghost pads are removed while streaming
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684809
+
+2012-09-27 09:44:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/Makefile.am:
+	* tests/check/libs/libsabi.c:
+	* tests/check/libs/struct_arm.h:
+	* tests/check/libs/struct_hppa.h:
+	* tests/check/libs/struct_i386.h:
+	* tests/check/libs/struct_ppc32.h:
+	* tests/check/libs/struct_ppc64.h:
+	* tests/check/libs/struct_sparc.h:
+	* tests/check/libs/struct_x86_64.h:
+	  tests: enable library abi checks
+
+2012-09-26 23:32:35 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	  docs: fix up basesrc/basesink docs formatting
+
+2012-09-26 17:08:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/Makefile.am:
+	* tests/check/gst/struct_arm.h:
+	* tests/check/gst/struct_hppa.h:
+	* tests/check/gst/struct_i386.h:
+	* tests/check/gst/struct_ppc32.h:
+	* tests/check/gst/struct_ppc64.h:
+	* tests/check/gst/struct_sparc.h:
+	* tests/check/gst/struct_x86_64.h:
+	  tests: add abi checks
+	  Enable abi checks again.
+	  Fix abi sizes for x86_64, copy the file to other archs.
+
+2012-09-26 16:26:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	  update docs for 1.0 API
+
+2012-09-26 14:15:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/gsturi.c:
+	  uri: use proper 'transfer floating' annotation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=664099
+
+2012-09-26 13:19:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gsttypefindelement.c:
+	* plugins/elements/gsttypefindelement.h:
+	  typefind: send STREAM-START event
+	  Send a STREAM_START event when we are operating in pull mode.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684424
+
+2012-09-26 10:55:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/gstsegment.h:
+	  segment: mark GstSegmentFlags as flags rather than enum
+	  ... which really makes a difference when trying to serialize
+	  a flags value which is a combination of flags, which is hard
+	  to do as an enum type.
+
+2012-09-26 10:54:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	  identity: retimestamp both pts and dts when doing so
+
+2012-09-26 15:01:42 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Move some run of the mill debug statements to LOG level
+
+2012-09-26 14:23:52 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Output timestamps after a seek.
+	  Reinitialise the DTS after a seek so as to continue
+	  generating timestamps when baseparse is not downstream
+	  of a demuxer.
+	  Fixes: #684538
+
+2012-09-25 17:06:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/appendix-programs.xml:
+	* docs/manual/basics-pads.xml:
+	* docs/pwg/advanced-types.xml:
+	* docs/pwg/building-boiler.xml:
+	* docs/pwg/building-pads.xml:
+	* docs/pwg/other-ntoone.xml:
+	* tools/gst-launch.1.in:
+	* tools/gst-typefind.1.in:
+	  docs: updates
+	  MIME-type -> Media type
+	  Fix some old gst-inspect output
+
+2012-09-25 16:53:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/intro-basics.xml:
+	* docs/pwg/intro-preface.xml:
+	  pwg: update for 1.0 API
+
+2012-09-25 15:11:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	  docs: add section for metadata
+
+2012-09-25 13:09:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstelement.c:
+	* gst/gstelementfactory.c:
+	  elementfactory: Fail if no valid element factory metadata is set
+
+2012-09-25 13:09:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstplugin.c:
+	  plugin: Fail if no valid plugin metadata is set
+
+2012-09-25 15:06:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	  identity: also track and store segment info in single segment mode
+
+2012-09-25 14:40:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/advanced-autoplugging.xml:
+	* docs/manual/advanced-dataaccess.xml:
+	* docs/manual/advanced-interfaces.xml:
+	* docs/manual/advanced-threads.xml:
+	* docs/manual/appendix-checklist.xml:
+	* docs/manual/appendix-integration.xml:
+	* docs/manual/appendix-porting.xml:
+	* docs/manual/basics-bins.xml:
+	* docs/manual/basics-bus.xml:
+	* docs/manual/basics-data.xml:
+	* docs/manual/basics-elements.xml:
+	* docs/manual/basics-helloworld.xml:
+	* docs/manual/highlevel-components.xml:
+	* docs/manual/intro-basics.xml:
+	* docs/manual/manual.xml:
+	* docs/random/porting-to-1.0.txt:
+	* tests/examples/manual/Makefile.am:
+	  manual: fix up the manual
+	  MIME-type -> media types
+	  Fix up the manual in various places with the 1.0 way of doing things
+	  such as probes, static elements, scheduling, ...
+	  Add porting from 0.10 to 1.0 chapter.
+	  Add probe example to build.
+	  Remove some docs for remove components such as GstMixer and
+	  GstPropertyProbe, XML...
+
+2012-09-24 16:50:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/manual/intro-gstreamer.xml:
+	  docs: gst-python is no more
+	  gst-python is no more and gst-libav is one of the main modules that
+	  we release.
+
+2012-09-24 16:31:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  docs: fix basesink docs
+
+2012-09-24 16:25:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/faq/getting.xml:
+	* docs/faq/troubleshooting.xml:
+	* docs/faq/using.xml:
+	  docs: update FAQ
+	  Change versions.
+	  Use tools with version prefix.
+
+2012-09-25 13:15:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* 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/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 translations for typo fix
+
+2012-09-25 13:14:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gsttaglist.c:
+	  taglist: fix typo in translated string
+	  Spotted by Chris Leonard.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684755
+
+2012-09-25 09:27:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstpluginfeature.c:
+	  pluginfeature: Remove 0.11.9X->1.0.0 version mangling
+
+2012-09-25 01:02:03 +0100  Josep Torra Valles <n770galaxy@gmail.com>
+
+	* tests/benchmarks/complexity.c:
+	* tests/benchmarks/gstpollstress.c:
+	  benchmarks: printf format fixes to make intel compiler happy
+	  https://bugzilla.gnome.org/show_bug.cgi?id=552657
+
+2012-09-25 00:55:59 +0100  Josep Torra Valles <n770galaxy@gmail.com>
+
+	* libs/gst/base/gsttypefindhelper.c:
+	* plugins/elements/gstfakesink.c:
+	* plugins/elements/gstfakesrc.c:
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gsttee.c:
+	* tools/gst-launch.c:
+	* tools/tools.h:
+	  Make intel compiler happier
+	  https://bugzilla.gnome.org/show_bug.cgi?id=552657
+
+2012-09-24 16:31:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* win32/common/config.h:
+	* win32/common/gstversion.h:
+	  Back to development (bug fixing)
+
+=== release 1.0.0 ===
+
+2012-09-24 12:19:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	  Release 1.0.0
+
+2012-09-24 00:39:26 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-1.0.txt:
+	  docs: update 0.11 references in porting guide
+
+2012-09-24 00:37:27 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-0.11.txt:
+	* docs/random/porting-to-1.0.txt:
+	  docs: rename porting-to-0.11.txt to porting-to-1.0.txt
+
+2012-09-23 19:56:43 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/check/gstcheck.h:
+	  check: fix FIXME printing for tcase_skip_broken_test()
+
+2012-09-23 17:30:50 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/release:
+	  docs: update release doc
+	  Create tags for releases without the ugly RELEASE- prefix.
+
+2012-09-23 12:42:01 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstcollectpads.c:
+	  collectpads: don't forward random stream-start event
+	  It's not right, and we don't know what extra properties
+	  that event might have set in future (e.g. sparseness).
+	  This change means collectpad users need to create their
+	  own stream-start event now. We could add a utility
+	  function that creates a stream-start event based on
+	  the input stream-start events.
+
+2012-09-22 16:07:15 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From 4f962f7 to 6c0b52c
+
+2012-09-21 21:13:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* docs/manual/advanced-dparams.xml:
+	  manual: update controller documentation
+
+2012-09-21 21:13:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/gstobject.c:
+	  object: update controller documentation
+
+2012-09-18 15:22:03 +0200  Bastian Winkler <buz@netbuz.org>
+
+	* tools/gst-launch.1.in:
+	  man: Fix syntax for value lists in caps strings
+	  Value lists use curly brackets instead of parentheses
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684293
+
+2012-09-20 14:48:17 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gstpad.c:
+	* tests/check/gst/gstpad.c:
+	  pad: Remove pad probes only once
+	  Also add test to make sure that if a pad probe is removed while it's
+	  callback is running, the cleanup_hook isn't called again if it
+	  returns GST_PAD_PROBE_REMOVE
+
+2012-09-19 15:01:46 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* win32/common/libgstreamer.def:
+	  pad: Add functions to safely access GstProbeInfo data pointer
+	  This is so that introspection based bindings can access it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684402
+
+2012-09-19 23:25:54 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/manual/basics-bins.xml:
+	  docs: remove reference to 0.8 GstBin API from manual
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684048
+
+2012-09-19 15:14:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	  identity: transform GAP event in single segment mode
+
+2012-09-19 09:44:08 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstcollectpads.c:
+	  docs: collectpads doc fixes
+
+2012-09-18 21:49:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: check acquire result value
+	  Check the result value from _buffer_pool_acquire() and return the
+	  value when allocation failed.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684285
+
+2012-09-18 12:14:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: Fix refcount bug by unreffing the correct variable
+
+=== release 0.11.99 ===
+
+2012-09-17 17:56:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	  Release 0.11.99
+
+2012-09-17 13:35:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	* gst/Makefile.am:
+	* gst/gst.h:
+	* libs/gst/base/Makefile.am:
+	* libs/gst/check/Makefile.am:
+	* libs/gst/controller/Makefile.am:
+	* libs/gst/net/Makefile.am:
+	* win32/vs10/Common.props:
+	  Remove GST_USE_UNSTABLE_API guard and defines
+
+2012-09-17 13:09:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* tests/check/gst/gstghostpad.c:
+	  pad: Add parent parameter to the link and unlink functions
+	  Fixes part of bug #683995.
+
+2012-09-16 23:20:46 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gststructure.c:
+	* gst/gstvalue.c:
+	* tests/check/gst/gsttag.c:
+	  sample: add serialisation/deserialisation functions for GstSample
+	  Since these things are inside taglists now, it would be good to be
+	  able to print them and deserialise them.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681322
+
+2012-09-15 21:56:07 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
+
+	* gstreamer.spec.in:
+	  Switch to F18 naming of the package
+
+2012-09-15 18:43:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* docs/manual/advanced-autoplugging.xml:
+	* docs/manual/basics-elements.xml:
+	* tools/gst-inspect.c:
+	  use gst_element_factory_get_metadata to replace obsolete API
+
+2012-09-14 17:52:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* docs/manual/advanced-metadata.xml:
+	* docs/manual/basics-bus.xml:
+	  replace gst_tag_list_free with gst_tag_list_unref
+
+2012-09-14 17:00:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* tests/check/gst/gstcontroller.c:
+	* tests/check/gst/gstpreset.c:
+	* tests/check/libs/controller.c:
+	* tests/check/libs/test_transform.c:
+	* tests/check/pipelines/parse-launch.c:
+	* tests/examples/controller/control-sources.c:
+	  replace gst_element_class_set_details_simple with gst_element_class_set_metadata
+
+2012-09-06 16:32:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetrans: whitespace fix
+
+2012-09-14 14:08:18 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/plugins/gstreamer-plugins-docs.sgml:
+	  docs: indexers are no more
+	  https://bugzilla.gnome.org/show_bug.cgi?id=684018
+
+2012-09-14 13:34:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/examples/stepping/framestep1.c:
+	  tests: fix for appsink return value addition
+
+2012-09-14 02:54:52 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* configure.ac:
+	  Back to development
+
+=== release 0.11.94 ===
+
+2012-09-14 02:46:34 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* ChangeLog:
+	* configure.ac:
+	* docs/plugins/gstreamer-plugins.args:
+	* docs/plugins/gstreamer-plugins.hierarchy:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	  Release 0.11.94
+
+2012-09-14 01:28:46 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/gstpad.c:
+	  pad: don't try to pretty-print event after we've given away ownership
+	  Might cause crashes with debug logging enabled.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=683996
+
+2012-09-14 01:17:54 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* 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/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 translations
+
 2012-09-14 00:30:37 +0100  Tim-Philipp Müller <tim@centricular.net>
 
 	* gst/gstcompat.h:
diff --git a/NEWS b/NEWS
index 440001f..432cd8a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,25 @@
-This is GStreamer 1.0.0
+This is GStreamer 1.0.1
+
+Changes since 1.0.0:
+
+      * Capsfilter prefers filter caps over passthrough now
+      * Application Development Manual, Plugin Writer's Guide and other documentation updated and extended for 1.0
+      * Bug fixes 
+
+Bugs fixed since 1.0.0:
+
+      * 680862 : identity with single-segment=true gives buffer.pts of CLOCK_TIME_NONE
+      * 684538 : baseparse: no timestamps after seeking in mp3 or aac
+      * 684755 : typo - whithin > within
+      * 684765 : Plugins without a klass in the metadata crashes autoaudiosink
+      * 684809 : proxypad don't hold a ref to their internal pad while streaming through it
+      * 684970 : Don't register printf extension for %p when glib is not using system printf
+      * 684981 : Pipeline hangs on PREROLLING negotiating caps
+      * 685072 : memory: map(READ)/unmap clears the READONLY status
+
+API additions since 1.0.0:
+
+      * gst_base_transform_set_prefer_passthrough()
 
 New features in 1.0.0:
 
diff --git a/RELEASE b/RELEASE
index b07303d..13831ce 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,142 +1,110 @@
-Release notes for GStreamer 1.0.0
 
-The GStreamer project is pleased to announce the very first release of the
-new API and ABI-stable 1.x series of the GStreamer multimedia framework.
+Release notes for GStreamer 1.0.1
 
-The 1.x series is a stable series targeted at end users. It is not API or ABI
-compatible with the 0.10.x series. It can, however, be installed in parallel
-with the 0.10.x series and will not affect an existing 0.10.x installation.
 
-Major improvements include: more flexible memory handling; extensible and
-negotiable metadata for buffers; caps negotiation and renegotiation mechanisms,
-decoupled from buffer allocation; improved caps renegotiation; automatic
-re-sending of state for dynamic pipelines; reworked and more fine-grained pad
-probing; simpler and more descriptive audio and video caps; more efficient
-allocation of buffers, events and other mini objects; improved timestamp
-handling; support for gobject-inspection-based language bindings; countless
-other improvements.
+The GStreamer team is proud to announce a new bug-fix release
+in the 1.x stable series of the
+core of the GStreamer streaming media framework.
 
-Most of these changes involve the GStreamer plugin API. The application API
-has changed comparatively little, and most applications should be fairly easy
-to port to the new API. There is a porting guide available.
 
-The GStreamer team would like to thank everyone who helped bring this release
-about, whether by submitting patches, reporting bugs, testing, sponsoring
-development, attending hackfests, or simply supplying moral support.
+The 1.x series is a stable series targeted at end users.
+It is not API or ABI compatible with the stable 0.10.x series.
+It is, however, parallel installable with the 0.10.x series and
+will not affect an existing 0.10.x installation.
 
-This is the end of a long development process, but also the beginning of
-one. This release does not mark the pinnacle of perfection, but the point
-where the team is content with the API and stability and quality of the code
-base in general, especially compared to the old 0.10 series.
 
-There will be bugs to fix, and starting from this release there will be
-distinct bug-fixing and feature development cycles, with the goal of getting
-bug-fixes out quicker and unencumbered by other more risky changes. See
+The 1.x series has been reworked for more flexible memory handling, improved
+caps negotiation and re-negotiation, better handling of dynamic pipelines,
+and increased performance in general. It also features countless other feature
+additions and enhancements.
 
-  http://gstreamer.freedesktop.org/wiki/ReleasePlanning/RoadMap
-
-for a tentative road map and possible schedule.
-
-=== Modules
 
 This module, gstreamer, only contains core functionality.
-For actual media playback, you will also need other modules:
+For actual media playback, you will need other modules.
 
- gst-plugins-base : a basic set of well-supported plugins
- gst-plugins-good : a set of well-supported plugins under our preferred license
- gst-plugins-ugly : a set of well-supported plugins, but might pose problems
-                        for distributors
- gst-plugins-bad  : a set of less supported plugins that haven't passed the
-                        rigorous quality testing we expect
- gst-libav        : a set of codecs plugins based on libav (formerly gst-ffmpeg)
+gst-plugins-base
+contains a basic set of well-supported plugins
+gst-plugins-good
+contains a set of well-supported plugins under our preferred license
+gst-plugins-ugly
+contains a set of well-supported plugins, but might pose problems for
+    distributors
+gst-plugins-bad
+contains a set of less supported plugins that haven't passed the
+    rigorous quality testing we expect, or are still missing documentation
+    and/or unit tests
+gst-libav
+contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
 
-==== Download
 
-You can find source releases of gstreamer in the download directory:
 
-  http://gstreamer.freedesktop.org/src/gstreamer/
+  
 
-==== GStreamer Homepage
+Features of this release
+    
+      * Parallel installability with 0.10.x series
+      * Capsfilter prefers filter caps over passthrough now
+      * Application Development Manual, Plugin Writer's Guide and other documentation updated and extended for 1.0
+      * Bug fixes
 
-More details can be found on the project's website:
+Bugs fixed in this release
+     
+      * 680862 :  " identity " with single-segment=true gives buffer.pts of CLOCK_TIME_NONE
+      * 684538 : baseparse: no timestamps after seeking in mp3 or aac
+      * 684755 : typo - whithin > within
+      * 684765 : Plugins without a klass in the metadata crashes autoaudiosink
+      * 684809 : proxypad don't hold a ref to their internal pad while streaming through it
+      * 684970 : Don't register printf extension for %p when glib is not using system printf
+      * 684981 : Pipeline hangs on PREROLLING negotiating caps
+      * 685072 : memory: map(READ)/unmap clears the READONLY status
 
-  http://gstreamer.freedesktop.org/
+API changes in this release
+     
+ - API additions:
+    
+      * gst_base_transform_set_prefer_passthrough ()
 
-==== Support and Bugs
+==== Download ====
+
+You can find source releases of gstreamer in the download
+directory: http://gstreamer.freedesktop.org/src/gstreamer/
+
+The git repository and details how to clone it can be found at
+http://cgit.freedesktop.org/gstreamer/gstreamer/
+
+==== Homepage ====
+
+The project's website is http://gstreamer.freedesktop.org/
+
+==== Support and Bugs ====
 
 We use GNOME's bugzilla for bug reports and feature requests:
+http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
 
-  http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
- or
-  http://gstreamer.freedesktop.org/bugs/
+Please submit patches via bugzilla as well.
 
-==== Developers
+For help and support, please subscribe to and send questions to the
+gstreamer-devel mailing list (see below for details).
 
-GStreamer is stored in Git, hosted at git.freedesktop.org, and can be
-cloned from there. Interested developers of the core library, plugins, and
-applications should subscribe to the gstreamer-devel list and/or pop into
-our #gstreamer IRC channel on Freenode.
+There is also a #gstreamer IRC channel on the Freenode IRC network.
 
-==== Contributors to this release
+==== Developers ====
 
-  Alban Browaeys 
-  Alessandro Decina 
-  Alexander Saprykin 
-  Andoni Morales Alastruey 
-  Andreas Frisch 
-  Andre Moreira Magalhaes (andrunko) 
-  Antoine Tremblay 
-  Anton Belka 
-  Arnaud Vrac 
-  Bastian Winkler 
-  Bastien Nocera 
-  Brian Cameron 
-  Christian Fredrik Kalager Schaller 
-  Christophe Fergeau 
-  Chun-wei Fan 
-  Colin Walters 
-  David Schleef 
-  David Svensson Fors 
-  Edward Hervey 
-  Evan Nemerson 
-  Fabrizio (Misto) Milo 
-  Havard Graff 
-  Idar Tollefsen 
-  Jan Schmidt 
-  Jason DeRose 
-  Jens Georg 
-  João Paulo Pizani Flor 
-  Johan Boulé 
-  Johan Dahlin 
-  Josep Torra 
-  Joshua M. Doe 
-  Koop Mast 
-  Lionel Landwerlin 
-  Luis de Bethencourt 
-  Mark Nauwelaerts 
-  Matej Knopp 
-  Miguel Angel Cabrera Moya 
-  Mike Ruprecht 
-  Oleksij Rempel 
-  Olivier Crête 
-  Peteris Krisjanis 
-  Philippe Normand 
-  Raimo Järvi 
-  René Stadler 
-  Reynaldo H. Verdejo Pinochet 
-  Ryan Lortie 
-  Sebastian Dröge 
-  Sebastian Rasmussen 
-  Sjoerd Simons 
-  Sreerenj Balachandran 
-  Stefan Kost 
-  Stefan Sauer 
-  Thiago Santos 
-  Thibault Saunier 
-  Thomas Vander Stichele 
-  Tim-Philipp Müller 
-  Víctor Manuel Jáquez Leal 
-  Vincent Penquerc'h 
-  Wim Taymans 
-  Youness Alaoui 
-  Руслан Ижбулатов
+GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned
+from there (see link above).
+
+Interested developers of the core library, plugins, and applications should
+subscribe to the gstreamer-devel list.
+
+        
+Contributors to this release
+    
+      * Jan Schmidt
+      * Josep Torra Valles
+      * Mark Nauwelaerts
+      * Olivier Blin
+      * Olivier Crête
+      * Sebastian Dröge
+      * Tim-Philipp Müller
+      * Wim Taymans

\ No newline at end of file
diff --git a/common/m4/gst-feature.m4 b/common/m4/gst-feature.m4
index 6da0940..876215e 100644
--- a/common/m4/gst-feature.m4
+++ b/common/m4/gst-feature.m4
@@ -209,7 +209,7 @@
 
 dnl Parse gstconfig.h and defines add the symbols and substitions
 dnl
-dnl GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h"
+dnl GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-1.0`"/gst/gstconfig.h"
 dnl AG_GST_PARSE_SUBSYSTEM_DISABLES(GST_CONFIGPATH)
 dnl
 AC_DEFUN([AG_GST_PARSE_SUBSYSTEM_DISABLES],
diff --git a/common/upload-doc.mak b/common/upload-doc.mak
index 3bf9496..c1c4945 100644
--- a/common/upload-doc.mak
+++ b/common/upload-doc.mak
@@ -44,14 +44,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/configure b/configure
index 26277c6..73f0c5e 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.0.0.
+# Generated by GNU Autoconf 2.69 for GStreamer 1.0.1.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer'
 PACKAGE_TARNAME='gstreamer'
-PACKAGE_VERSION='1.0.0'
-PACKAGE_STRING='GStreamer 1.0.0'
+PACKAGE_VERSION='1.0.1'
+PACKAGE_STRING='GStreamer 1.0.1'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1633,7 +1633,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.0.0 to adapt to many kinds of systems.
+\`configure' configures GStreamer 1.0.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1704,7 +1704,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 1.0.0:";;
+     short | recursive ) echo "Configuration of GStreamer 1.0.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1881,7 +1881,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 1.0.0
+GStreamer configure 1.0.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2654,7 +2654,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.0.0, which was
+It was created by GStreamer $as_me 1.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3587,7 +3587,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='1.0.0'
+ VERSION='1.0.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3710,9 +3710,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.0.0 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.0.0 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.0.0 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.0.1 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.0.1 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.0.1 | cut -d'.' -f3)
 
 
 
@@ -3723,7 +3723,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.0.0 | cut -d'.' -f4)
+  NANO=$(echo 1.0.1 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -3817,10 +3817,10 @@
 AM_BACKSLASH='\'
 
 
-GST_VERSION_MAJOR=1
-GST_VERSION_MINOR=0
-GST_VERSION_MICRO=0
-GST_VERSION_NANO=0
+GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR
+GST_VERSION_MINOR=$PACKAGE_VERSION_MINOR
+GST_VERSION_MICRO=$PACKAGE_VERSION_MICRO
+GST_VERSION_NANO=$PACKAGE_VERSION_NANO
 
 
 
@@ -8308,10 +8308,10 @@
 done
 
 
-  GST_CURRENT=0
+  GST_CURRENT=1
   GST_REVISION=0
-  GST_AGE=0
-  GST_LIBVERSION=0:0:0
+  GST_AGE=1
+  GST_LIBVERSION=1:0:1
 
 
 
@@ -26641,7 +26641,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.0.0, which was
+This file was extended by GStreamer $as_me 1.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -26707,7 +26707,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.0.0
+GStreamer config.status 1.0.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index d4728a2..01daa95 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.0.0,
+AC_INIT(GStreamer, 1.0.1,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gstreamer)
 AG_GST_INIT
@@ -36,15 +36,10 @@
    AC_SUBST(AM_DEFAULT_VERBOSITY)])
 
 dnl GStreamer versioning, this is mostly informational
-dnl GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR
-dnl GST_VERSION_MINOR=$PACKAGE_VERSION_MINOR
-dnl GST_VERSION_MICRO=$PACKAGE_VERSION_MICRO
-dnl GST_VERSION_NANO=$PACKAGE_VERSION_NANO
-dnl Change this to the above for non-pre
-GST_VERSION_MAJOR=1
-GST_VERSION_MINOR=0
-GST_VERSION_MICRO=0
-GST_VERSION_NANO=0
+GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR
+GST_VERSION_MINOR=$PACKAGE_VERSION_MINOR
+GST_VERSION_MICRO=$PACKAGE_VERSION_MICRO
+GST_VERSION_NANO=$PACKAGE_VERSION_NANO
 AC_SUBST(GST_VERSION_MAJOR)
 AC_SUBST(GST_VERSION_MINOR)
 AC_SUBST(GST_VERSION_MICRO)
@@ -63,7 +58,7 @@
 dnl - interfaces added -> increment AGE
 dnl - interfaces removed -> AGE = 0
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 0, 0, 0)
+AS_LIBTOOL(GST, 1, 0, 1)
 
 dnl *** autotools stuff ****
 
diff --git a/docs/design/Makefile.am b/docs/design/Makefile.am
index 60bd86b..ae107a3 100644
--- a/docs/design/Makefile.am
+++ b/docs/design/Makefile.am
@@ -4,7 +4,6 @@
 	draft-push-pull.txt \
 	draft-tagreading.txt \
 	part-activation.txt \
-	part-block.txt \
 	part-buffering.txt \
 	part-caps.txt \
 	part-clocks.txt \
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index 24d493f..8a305e0 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -389,7 +389,6 @@
 	draft-push-pull.txt \
 	draft-tagreading.txt \
 	part-activation.txt \
-	part-block.txt \
 	part-buffering.txt \
 	part-caps.txt \
 	part-clocks.txt \
diff --git a/docs/design/draft-klass.txt b/docs/design/draft-klass.txt
index 2fae20b..9443a40 100644
--- a/docs/design/draft-klass.txt
+++ b/docs/design/draft-klass.txt
@@ -14,7 +14,7 @@
 The topic of defining the klass of elements should be based on use cases.
 
 A list of classes that are used in a installation can be generated using:
-gst-inspect-0.10 -a | grep -ho Class:.* | cut -c8- | sed "s/\//\\n/g" | sort | uniq
+gst-inspect-1.0 -a | grep -ho Class:.* | cut -c8- | sed "s/\//\\n/g" | sort | uniq
 
 Proposal
 ~~~~~~~~
diff --git a/docs/design/part-activation.txt b/docs/design/part-activation.txt
index 47f033a..bd020e9 100644
--- a/docs/design/part-activation.txt
+++ b/docs/design/part-activation.txt
@@ -27,49 +27,50 @@
 Because the core does not know in which mode to activate a pad (PUSH or
 PULL), it delegates that choice to a method on the pad, activate(). The
 activate() function of a pad should choose whether to operate in PUSH or
-PULL mode. Once the choice is made, it should call one of the two
-mode-specific activation functions, activate_push() or activate_pull().
-The default activate() function will call activate_push(), as it is the
-default mechanism for data flow. A sink pad that supports either mode of
-operation might call activate_pull() if calling check_get_range()
-returns TRUE, and activate_push() otherwise.
+PULL mode. Once the choice is made, it should call activate_mode()
+with the selected activation mode.
+The default activate() function will call activate_mode() with
+#GST_PAD_MODE_PUSH, as it is the default mechanism for data flow.
+A sink pad that supports either mode of operation might call
+activate_mode(PULL) if the SCHEDULING query upstream contains the
+#GST_PAD_MODE_PULL scheduling mode, and activate_mode(PUSH) otherwise.
 
 Consider the case fakesrc ! fakesink, where fakesink is configured to
 operate in PULL mode. State changes in the pipeline will start with
 fakesink, which is the most downstream element. The core will call
 activate() on fakesink's sink pad. For fakesink to go into PULL mode, it
 needs to implement a custom activate() function that will call
-activate_pull() on its sink pad (because the default is to use PUSH
-mode). activate_pull() is then responsible for starting the task that
-pulls from fakesrc:src. Clearly, fakesrc needs to be notified that
-fakesrc is about to pull on its src pad, even though the pipeline has
-not yet changed fakesrc's state. For this reason, activate_pull() must
-first call activate_pull() on fakesink:sink's peer before starting
-fakesink's task.
+activate_mode(PULL) on its sink pad (because the default is to
+use PUSH mode). activate_mode(PULL) is then responsible for starting
+the task that pulls from fakesrc:src. Clearly, fakesrc needs to be
+notified that fakesrc is about to pull on its src pad, even though the
+pipeline has not yet changed fakesrc's state. For this reason,
+GStreamer will first call call activate_mode(PULL) on fakesink:sink's
+peer before calling activate_mode(PULL) on fakesink:sinks.
 
 In short, upstream elements operating in PULL mode must be ready to
-produce data in READY, after having activate_pull() called on their
-source pad. Also, a call to activate_pull() needs to propagate through
+produce data in READY, after having activate_mode(PULL) called on their
+source pad. Also, a call to activate_mode(PULL) needs to propagate through
 the pipeline to every pad that a gst_pad_pull() will reach. In the case
-fakesrc ! identity ! fakesink, calling activate_pull() on identity's
+fakesrc ! identity ! fakesink, calling activate_mode(PULL) on identity's
 source pad would need to activate its sink pad in pull mode as well,
 which should propagate all the way to fakesrc.
 
 If, on the other hand, fakesrc ! fakesink is operating in PUSH mode, the
 activation sequence is different. First, activate() on fakesink:sink
-calls activate_push() on fakesink:sink. Then fakesrc's pads are
+calls activate_mode(PUSH) on fakesink:sink. Then fakesrc's pads are
 activated: sources first, then sinks (of which fakesrc has none).
 fakesrc:src's activation function is then called.
 
 Note that it does not make sense to set an activation function on a
 source pad. The peer of a source pad is downstream, meaning it should
 have been activated first. If it was activated in PULL mode, the
-source pad should have already had activate_pull() called on it, and
+source pad should have already had activate_mode(PULL) called on it, and
 thus needs no further activation. Otherwise it should be in PUSH mode,
 which is the choice of the default activation function.
 
 So, in the PUSH case, the default activation function chooses PUSH mode,
-which calls activate_push(), which will then start a task on the source
+which calls activate_mode(PUSH), which will then start a task on the source
 pad and begin pushing. In this way PUSH scheduling is a bit easier,
 because it follows the order of state changes in a pipeline. fakesink is
 already in PAUSED with an active sink pad by the time fakesrc starts
@@ -81,8 +82,8 @@
 Pad deactivation occurs when its parent goes into the READY state or when the 
 pad is deactivated explicitly by the application or element. 
 gst_pad_set_active() is called with a FALSE argument, which then calls
-activate_push() or activate_pull() with a FALSE argument, depending on the
-activation mode of the pad.
+activate_mode(PUSH) or activate_mode(PULL) with a FALSE argument, depending
+on the current activation mode of the pad.
 
 Mode switching
 ~~~~~~~~~~~~~~
diff --git a/docs/design/part-block.txt b/docs/design/part-block.txt
deleted file mode 100644
index fe2ab6a..0000000
--- a/docs/design/part-block.txt
+++ /dev/null
@@ -1,159 +0,0 @@
-Pad block
----------
-
-The purpose of blocking a pad is to be notified of downstream dataflow
-and events. The notification can be used for
-
- - (Re)connecting/disconnecting the pad.
- - performing a seek 
- - inspecting the data/events on the pad
-
-The pad block is performed on a source pad (push based) or sink pad (pull based)
-and will succeed when the following events happen on the pad:
-
- - gst_pad_push()
- - gst_pad_alloc_buffer()
- - gst_pad_push_event() except for FLUSH_START and FLUSH_STOP events.
- - gst_pad_pull_range () (on a sinkpad)
-
-
-Flushing
-~~~~~~~~
-
-The flushing event is used to clear any data out of the
-downstream elements.
-
-Generic case
-^^^^^^^^^^^^
-
-Consider the following pipeline: 
-
- .-----.      .-------.      .-------.
- | src |      | elem1 |\/    | elem2 |
- |    src -> sink    src -> sink    src ....
- '-----'      '-------'/\    '-------'              
-
-Where elem1.src is blocked. If the pad block is taken (the callback
-is called or the sync block returned) no data is flowing in elem2.sink.
-In this situation, the streaming thread is blocked on a GCond and is
-waiting to be unblocked.
-
-When sending a flushing seek upstream on elem1.src, the FLUSH_START event
-will temporary unblock the streaming thread and make all pad functions that
-can trigger a block (_push/_query/_push_event/_pull_range) return
-GST_FLOW_FLUSHING. This will then eventually pause the streaming thread
-and release the STREAM_LOCK. 
-
-Since no STREAM lock is taken after the pad block it is not needed to send
-the FLUSH_START event further downstream.
-
-The FLUSH_STOP will set the srcpad to non-flushing again and is dropped 
-for the same reason. From then on, the new data after the flushing seek 
-will be queued when the pad block is taken again.
-
-Case where the stream is blocking downstream
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The example above is only valid if the elem1.src pad is really blocking
-(callback called or sync block returned).
-
-In the case where the stream is blocking further downstream (on elem2.src
-for example, or on a blocking queue), extra care has to be taken.
-
-Consider the following pipeline:
-
- .-----.      .-------.      .-------.
- | src |      | elem1 |\/    | elem2 |
- |    src -> sink    src -> sink    src .... Blocking somewhere downstream
- '-----'      '-------'/\    '-------'              
-
-A pad block has been requested by the user on elem1.src , but since the stream
-is blocking somewhere downstream, the callback is not called or the sync block
-does not return.
-
-In order for the block to happen, a FLUSH_START needs to be sent directly on
-the downstream blocking element/pad so that it releases the stream lock, and it
-gives a chance for the elem1.src pad to block.
-
-
-Use cases
-~~~~~~~~~
-
-Prerolling a partial pipeline
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
- .---------.      .---------.                .----------.
- | filesrc |      | demuxer |     .-----.    | decoder1 |
- |        src -> sink      src1 ->|queue|-> sink       src 
- '---------'      |         |     '-----'    '----------' X
-                  |         |                .----------.
-                  |         |     .-----.    | decoder2 |
-                  |        src2 ->|queue|-> sink       src
-                  '---------'     '-----'    '----------' X
-
-
-The purpose is to create the pipeline dynamically up to the
-decoders but not yet connect them to a sink and without losing
-any data.
-
-To do this, the source pads of the decoders is blocked so that no
-events or buffers can escape and we don't interrupt the stream.
-
-When all of the dynamic pad are created (no-more-pads emited by the
-branching point, ie, the demuxer or the queues filled) and the pads
-are blocked (blocked callback received) the pipeline is completely
-prerolled.
-
-It should then be possible to perform the following actions on the
-prerolled pipeline:
-
-- query duration/position
-- perform a flushing seek to preroll a new position
-- connect other elements and unblock the blocked pads.
-
-
-dynamically switching an element in a PLAYING pipeline
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-  .----------.      .----------.      .----------.
-  | element1 |      | element2 |      | element3 |
- ...        src -> sink       src -> sink       ...
-  '----------'      '----------'      '----------'
-                    .----------.
-                    | element4 |
-                   sink       src                  
-                    '----------'                     
-
-The purpose is to replace element2 with element4 in the PLAYING 
-pipeline. 
-
-  1) block element1 src pad. This can be done async.
-  2) wait for block to happen. at that point nothing is flowing between
-     element1 and element2 and nothing will flow until unblocked.
-  3) unlink element1 and element2
-  4) optional step: make sure data is flushed out of element2:
-     4a) pad event probe on element2 src
-     4b) send EOS to element2, this makes sure that element2 flushes
-         out the last bits of data it holds.
-     4c) wait for EOS to appear in the probe, drop the EOS.
-     4d) remove the EOS pad event probe.
-  5) unlink element2 and element3
-     5a) optionally element2 can now be set to NULL and/or removed from the
-         pipeline.
-  6) link element4 and element3
-  7) link element1 and element4 (FIXME, how about letting element4 know
-     about the currently running segment?, see issues.)
-  8) make sure element4 is in the same state as the rest of the elements. The
-     element should at least be PAUSED.
-  9) unblock element1 src
-
-The same flow can be used to replace an element in a PAUSED pipeline. Only
-special care has to be taken when performing step 2) which has to be done
-async or it might deadlock. In the async callback one can then perform the
-steps from 3). In a playing pipeline one can of course use the async block
-as well, so that there is a generic method for both PAUSED and PLAYING.
-
-The same flow works as well for any chain of multiple elements and might 
-be implemented with a helper function in the future.
-
diff --git a/docs/faq/Makefile.in b/docs/faq/Makefile.in
index 85b8aab..26b0f2c 100644
--- a/docs/faq/Makefile.in
+++ b/docs/faq/Makefile.in
@@ -885,14 +885,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/docs/faq/dependencies.xml b/docs/faq/dependencies.xml
index 35c2eff..9a85ac6 100644
--- a/docs/faq/dependencies.xml
+++ b/docs/faq/dependencies.xml
@@ -18,7 +18,7 @@
         <para>
 However, do realize that in no way you are forced to have all dependencies
 installed.  None of the core developers has all of them installed.  GStreamer
-has only a few obligate dependencies : GLib 2.0, liboil, and very
+has only a few obligate dependencies : GLib 2.0, liborc, and very
 common stuff like glibc, a C compiler, and so on.  All of the other
 dependencies are optional.
         </para>
@@ -30,39 +30,6 @@
       </answer>
     </qandaentry>
 
-<qandaentry>
-      <question id="dependencies-glib">
-        <para>
-Does GStreamer use GTK+ 1.2/GLib 1.2 or GLib 2.0 ?
-        </para>
-      </question>
-
-      <answer>
-        <para>
-Since the 0.3.3 release of GStreamer, we use GLib 2.0 as the core library 
-for GStreamer, which features a move of GObject from GTK+ 2.0 to GLib 2.0.
-If you want to compile using GTK+ 1.2/GLib 1.2,  you need to get the 
-0.3.1 or earlier release.   It is of course not supported.
-        </para>
-      </answer>
-    </qandaentry>
-
-    <qandaentry>
-      <question id="dependencies-dxr">
-        <para>
-Does GStreamer offer support for DVD decoder cards like dxr2/3 ?
-        </para>
-      </question>
-
-      <answer>
-        <para>
-We do have support for the dxr3, although dxr2 support is unknown. 
-GStreamer can easily accommodate hardware acceleration by writing new
-device-specific elements.
-        </para>
-      </answer>
-    </qandaentry>
-
     <qandaentry>
       <question id="dependencies-x">
         <para>Is GStreamer X independent ?</para>
@@ -70,11 +37,11 @@
 
       <answer>
         <para>
-Yes, we have no X dependency in any of our core modules. There are GStreamer
-applications that run fine without any need for X.  However, until our Linux 
-Framebuffer or libsvga plugin is ready, you will not be able to play videos 
-without X. In the future, there will probably be lots of different output 
-plugins for video available.
+Yes, we have no hard X dependency in any of our modules. There are many
+GStreamer applications that run fine without any need for X, for example
+streaming servers, transcoding applications, or audio applications that
+don't output any video. Other applications output video to a framebuffer,
+custom-made hardware sinks, or via wayland.
         </para>
       </answer>
     </qandaentry>
@@ -106,23 +73,24 @@
 adding MIDI support to GStreamer we are very interested in getting in touch 
 with you.
         </para>
+        <para>
+MIDI playback is provided by plugins such as wildmidi and timidity.
+        </para>
       </answer>
     </qandaentry>
 
     <qandaentry>
       <question id="dependencies-gnome">
-        <para>Does GStreamer depend on GNOME ?</para>
+        <para>Does GStreamer depend on GNOME or GTK+ ?</para>
       </question>
 
       <answer>
         <para>
-No. But many of the applications developed for GStreamer do, including our 
-sample applications. There is nothing hindering people from developing 
-applications using other toolkits however and we would happily help promote 
-such efforts. A good example of an application using GStreamer, but which is 
-not using GNOME is the 
-<ulink url="http://mozstreamer.mozdev.org"><citetitle>
-Mozstreamer</citetitle></ulink> which uses Mozilla XUL.
+No. But many of the applications developed for GStreamer do, including some
+of our sample applications. Other applications use the Qt toolkit, or are
+written for Mac OS/X or Windows. We aim to provide API that is toolkit
+agnostic and can be used from any toolkit, desktop environment or operating
+system.
         </para>
       </answer>
     </qandaentry>
diff --git a/docs/faq/getting.xml b/docs/faq/getting.xml
index c1246aa..b8c80ae 100644
--- a/docs/faq/getting.xml
+++ b/docs/faq/getting.xml
@@ -24,41 +24,39 @@
 
    <qandaentry>
       <question id="gstreamer-versions-explained">
-        <para>There seem to be different GStreamer versions, like 0.8 and 0.10?
+        <para>There seem to be different GStreamer versions, like 0.10 and 1.0?
               What's up with that?</para>
       </question>
 
       <answer>
          <para>
-           GStreamer-0.8 and GStreamer-0.10 are the main version
+           GStreamer-0.10 and GStreamer-1.0 are the main version
            &apos;series&apos; currently in use.  For all practical purposes
            you should think of them as two completely different libraries
            which just happen to have a similar name.  They can be installed
            in parallel and are completely independent.
          </para>
          <para>
-           For the 0.8 version you will need the 0.8 plugins and bindings
-           (gst-plugins 0.8.x, gst-ffmpeg 0.8.x, gst-python 0.8.x etc.), while
-           for the 0.10 version you will need the 0.10 plugins and bindings
-           (ie. gst-plugins-base 0.10.x, gst-plugins-good 0.10.x,
-           gst-plugins-ugly 0.10.x, gst-plugins-bad 0.10.x, gst-ffmpeg 0.10.x,
-           gst-python 0.10.x).  The micro version for each main version does
+           For the 0.10 version you will need the 0.10 plugins and bindings
+           (gst-plugins 0.10.x, gst-ffmpeg 0.10.x, gst-python 0.10.x etc.), while
+           for the 1.0 version you will need the 1.0 plugins and bindings
+           (ie. gst-plugins-base 1.0.x, gst-plugins-good 1.0.x,
+           gst-plugins-ugly 1.0.x, gst-plugins-bad 1.0.x, gst-ffmpeg 1.0.x,
+           gst-python 1.0.x).  The micro version for each main version does
            not have to match exactly, only the major versions needs to be the
            same (ie. it may be that the current gst-plugins-good version is
-           0.10.6 and the current GStreamer core version is 0.10.13).
-           GStreamer-0.10 will not see or use any of the GStreamer-0.8 plugins
+           1.0.6 and the current GStreamer core version is 1.0.13).
+           GStreamer-1.0 will not see or use any of the GStreamer-0.10 plugins
            and vice versa.
          </para>
          <para>
            All GStreamer command line tools are suffixed with their main
-           version, e.g. gst-launch-0.8 and gst-launch-0.10, or gst-inspect-0.8
-           and gst-inspect-0.10.  The corresponding GStreamer command line
-           tools without a suffix (e.g. gst-launch) will default to the highest
-           major version.
+           version, e.g. gst-launch-0.10 and gst-launch-1.0, or gst-inspect-0.10
+           and gst-inspect-1.0.
          </para>
          <para>
-           Applications will use either GStreamer-0.8 or GStreamer-0.10, since
-           the 0.8 and 0.10 API/ABI are not compatible.
+           Applications will use either GStreamer-0.10 or GStreamer-1.0, since
+           the 0.10 and 1.0 API/ABI are not compatible.
          </para>
          <para>
            Odd-numbered versions such as 0.9.x, 0.11.x, etc. are unstable
@@ -74,10 +72,7 @@
 
       <answer>
          <para>
-           You should download GStreamer-0.10.  GStreamer-0.8 is not developed
-           any longer and has not been maintained for almost two years (you
-           may still find it packaged for your disto though, but that's most
-           likely for legacy applications).           
+           You should download GStreamer-1.0.  GStreamer-0.10 is end-of-life.
          </para>
       </answer>
     </qandaentry>
diff --git a/docs/faq/troubleshooting.xml b/docs/faq/troubleshooting.xml
index e52067b..9424329 100644
--- a/docs/faq/troubleshooting.xml
+++ b/docs/faq/troubleshooting.xml
@@ -13,7 +13,7 @@
         <para>
 Well, start by checking if you really are missing the plug-in.
   <programlisting>
-gst-inspect (plug-in)
+gst-inspect-1.0 (plug-in)
   </programlisting>
 and replace (plug-in) with the plug-in you think is missing.
 If this doesn't return any result, then you either don't have it or your
@@ -156,12 +156,12 @@
 
       <answer>
         <para>
-GStreamer version 0.10 does not need this anymore. The registry will
+Since GStreamer version 0.10 this is not needed anymore. The registry will
 be rebuilt automatically. If you suspect the registry is broken, just delete the
-<filename>registry.*.xml</filename> files under <filename>$HOME/.gstreamer-0.X/</filename>
+<filename>registry.*.xml</filename> files under <filename>$HOME/.gstreamer-1.X/</filename>
 and run
 <programlisting>
-  gst-inspect
+  gst-inspect-1.0
 </programlisting>
 to rebuild the registry.
         </para>
diff --git a/docs/faq/using.xml b/docs/faq/using.xml
index 939ff40..9398421 100644
--- a/docs/faq/using.xml
+++ b/docs/faq/using.xml
@@ -12,7 +12,7 @@
 First of all, verify that you have a working registry and that you can
 inspect them by typing
 <programlisting>
-$ gst-inspect fakesrc
+$ gst-inspect-1.0 fakesrc
 </programlisting>
 This should print out a bunch of information about this particular element.
 If this tells you that there is "no such element or plugin", you haven't
@@ -26,7 +26,7 @@
 that you really should have : fakesrc and fakesink.  They do nothing except
 pass empty buffers. Type this at the command-line :
 <programlisting>
-$ gst-launch -v fakesrc num-buffers=3 ! fakesink
+$ gst-launch-1.0 -v fakesrc silent=0 num-buffers=3 ! fakesink silent=0
 </programlisting>
 This will print out output that looks similar to this :
 <programlisting>
@@ -56,24 +56,24 @@
 link the audiotestsrc element to an output element that matches your hardware.
 A (non-complete) list of output plug-ins for audio is
 <itemizedlist>
+<listitem><para>pulsesink for Pulseaudio output</para></listitem>
 <listitem><para>osssink for OSS output</para></listitem>
 <listitem><para>esdsink for ESound output</para></listitem>
-<listitem><para>artsdsink for aRTs output (not ported to 0.10 yet)</para></listitem>
 <listitem><para>alsasink for ALSA output</para></listitem>
 <listitem><para>alsaspdifsink for ALSA S/PDIF output</para></listitem>
 <listitem><para>jackaudiosink for JACK output</para></listitem>
 </itemizedlist>
-First of all, run gst-inspect on the output plug-in you want to use to
-make sure you have it installed.  For example, if you use OSS, run
+First of all, run gst-inspect-1.0 on the output plug-in you want to use to
+make sure you have it installed.  For example, if you use Pulseaudio, run
 <programlisting>
-$ gst-inspect osssink
+$ gst-inspect-1.0 pulsesink
 </programlisting>
 and see if that prints out a bunch of properties for the plug-in.
         </para>
         <para>
 Then try to play the sine tone by running
 <programlisting>
-$ gst-launch audiotestsrc ! audioconvert ! audioresample ! osssink
+$ gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! pulsesink
 </programlisting>
 and see if you hear something.  Make sure your volume is turned up,
 but also make sure it is not too loud and you are not wearing your headphones.
@@ -102,20 +102,16 @@
 command-line tool, which comes standard with GStreamer.
 Invoked without any arguments,
 <programlisting>
-$ gst-inspect
+$ gst-inspect-1.0
 </programlisting>
 will print out a listing of installed plugins.
 To learn more about a particular plugin, pass its name on the command line. 
 For example,
 <programlisting>
-$ gst-inspect volume
+$ gst-inspect-1.0 volume
 </programlisting>
 will give you information about the volume plugin.
         </para>
-        <para>
-Also, if you install the gst-editor package, you will have a graphical 
-plugin browser available, gst-inspect-gui.
-        </para>
       </answer>
     </qandaentry>
 
@@ -168,27 +164,26 @@
       <answer>
         <para>
 You access the GStreamer command line interface using the command gst-launch.
-To decode an mp3 and play it through OSS, you could use
+To decode an mp3 and play it through Pulseaudio, you could use
 <programlisting>
-gst-launch filesrc location=thesong.mp3 ! mad ! audioconvert !
-audioresample ! osssink
+gst-launch-1.0 filesrc location=thesong.mp3 ! mad ! pulsesink
 </programlisting>.
 More examples can be found in the gst-launch man page.
         </para>
         <para>
 To automatically detect the right codec in a pipeline, try 
 <programlisting>
-gst-launch filesrc location=my-random-media-file.mpeg ! decodebin !
- audioconvert ! pulsesink
+gst-launch-1.0 filesrc location=my-random-media-file.mpeg ! decodebin !
+ pulsesink
 </programlisting>.
 or
 <programlisting>
-gst-launch filesrc location=my-random-media-file.mpeg ! decodebin !
+gst-launch-1.0 filesrc location=my-random-media-file.mpeg ! decodebin !
  videoconvert ! xvimagesink
 </programlisting>
 Something more complicated:
 <programlisting>
-gst-launch filesrc location=my-random-media-file.mpeg ! decodebin name=decoder
+gst-launch-1.0 filesrc location=my-random-media-file.mpeg ! decodebin name=decoder
    decoder. ! videoconvert ! xvimagesink
    decoder. ! audioconvert ! pulsesink
 </programlisting>
@@ -197,7 +192,7 @@
 We also have a basic media playing plugin that will take care of most things
 for you. This plugin is called playbin. Try this:
 <programlisting>
-gst-launch playbin uri=file:///home/joe/my-random-media-file.mpeg
+gst-launch-1.0 playbin uri=file:///home/joe/my-random-media-file.mpeg
 </programlisting>
 This should play the file if the format is supported, ie. you have all the
 necessary demuxing and decoding and some output plugins installed.
diff --git a/docs/gst/Makefile.in b/docs/gst/Makefile.in
index 266666c..1e001fa 100644
--- a/docs/gst/Makefile.in
+++ b/docs/gst/Makefile.in
@@ -763,14 +763,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index 05dc89d..5a6af74 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -696,6 +696,7 @@
 GST_ELEMENT_INFO
 GST_ELEMENT_IS_LOCKED_STATE
 
+<SUBSECTION element-metadata>
 GST_ELEMENT_METADATA_AUTHOR
 GST_ELEMENT_METADATA_DESCRIPTION
 GST_ELEMENT_METADATA_DOC_URI
diff --git a/docs/gst/html/GstBin.html b/docs/gst/html/GstBin.html
index 21c25ca..5167655 100644
--- a/docs/gst/html/GstBin.html
+++ b/docs/gst/html/GstBin.html
@@ -157,7 +157,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9938176"></a><h3>Notes</h3>
+<a name="idp8569680"></a><h3>Notes</h3>
 <p>
 A <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a> internally intercepts every <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> posted by its children and
 implements the following default behaviour for each of them:
diff --git a/docs/gst/html/GstControlBinding.html b/docs/gst/html/GstControlBinding.html
index cd779bc..12e981e 100644
--- a/docs/gst/html/GstControlBinding.html
+++ b/docs/gst/html/GstControlBinding.html
@@ -197,7 +197,7 @@
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> last_sync</code></em>);</pre>
 <p>
-Sets the property of the <em class="parameter"><code>object</code></em>, according to the <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSources</span></a> that
+Sets the property of the <em class="parameter"><code>object</code></em>, according to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSources</span></a> that
 handle them and for the given timestamp.
 </p>
 <p>
diff --git a/docs/gst/html/GstControlSource.html b/docs/gst/html/GstControlSource.html
index f989534..e23b04e 100644
--- a/docs/gst/html/GstControlSource.html
+++ b/docs/gst/html/GstControlSource.html
@@ -77,17 +77,17 @@
 <a name="GstControlSource.description"></a><h2>Description</h2>
 <p>
 The <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a> is a base class for control value sources that could
-be used by <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html"><span class="type">GstController</span></a> to get timestamp-value pairs.
+be used by <span class="type">GstController</span> to get timestamp-value pairs.
 </p>
 <p>
 A <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a> is used by first getting an instance, binding it to a
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> (for example by using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html#gst-controller-set-control-source"><code class="function">gst_controller_set_control_source()</code></a>) and
-then by having it used by the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html"><span class="type">GstController</span></a> or calling
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> (for example by using <code class="function">gst_controller_set_control_source()</code>) and
+then by having it used by the <span class="type">GstController</span> or calling
 <a class="link" href="GstControlSource.html#gst-control-source-get-value" title="gst_control_source_get_value ()"><code class="function">gst_control_source_get_value()</code></a> or <a class="link" href="GstControlSource.html#gst-control-source-get-value-array" title="gst_control_source_get_value_array ()"><code class="function">gst_control_source_get_value_array()</code></a>.
 </p>
 <p>
 For implementing a new <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a> one has to implement a
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstControlSource.html#GstControlSourceBind"><span class="type">GstControlSourceBind</span></a> method, which will depending on the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> set up
+<span class="type">GstControlSourceBind</span> method, which will depending on the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> set up
 the control source for use and sets the <a class="link" href="GstControlSource.html#GstControlSourceGetValue" title="GstControlSourceGetValue ()"><span class="type">GstControlSourceGetValue</span></a> and
 <a class="link" href="GstControlSource.html#GstControlSourceGetValueArray" title="GstControlSourceGetValueArray ()"><span class="type">GstControlSourceGetValueArray</span></a> functions. These are then used by
 <a class="link" href="GstControlSource.html#gst-control-source-get-value" title="gst_control_source_get_value ()"><code class="function">gst_control_source_get_value()</code></a> or <a class="link" href="GstControlSource.html#gst-control-source-get-value-array" title="gst_control_source_get_value_array ()"><code class="function">gst_control_source_get_value_array()</code></a>
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index f0ea817..43b6d4b 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -87,6 +87,7 @@
                                                          text,
                                                          debug)
 #define             <a class="link" href="GstElement.html#GST-ELEMENT-IS-LOCKED-STATE:CAPS" title="GST_ELEMENT_IS_LOCKED_STATE()">GST_ELEMENT_IS_LOCKED_STATE</a>         (elem)
+
 #define             <a class="link" href="GstElement.html#GST-ELEMENT-METADATA-AUTHOR:CAPS" title="GST_ELEMENT_METADATA_AUTHOR">GST_ELEMENT_METADATA_AUTHOR</a>
 #define             <a class="link" href="GstElement.html#GST-ELEMENT-METADATA-DESCRIPTION:CAPS" title="GST_ELEMENT_METADATA_DESCRIPTION">GST_ELEMENT_METADATA_DESCRIPTION</a>
 #define             <a class="link" href="GstElement.html#GST-ELEMENT-METADATA-DOC-URI:CAPS" title="GST_ELEMENT_METADATA_DOC_URI">GST_ELEMENT_METADATA_DOC_URI</a>
diff --git a/docs/gst/html/GstElementFactory.html b/docs/gst/html/GstElementFactory.html
index 2c4cf3c..1a44552 100644
--- a/docs/gst/html/GstElementFactory.html
+++ b/docs/gst/html/GstElementFactory.html
@@ -141,7 +141,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp18064352"></a><p class="title"><b>Example 6. Using an element factory</b></p>
+<a name="idp20912512"></a><p class="title"><b>Example 6. Using an element factory</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -163,11 +163,11 @@
 GstElement <span class="gtkdoc opt">*</span>src<span class="gtkdoc opt">;</span>
 GstElementFactory <span class="gtkdoc opt">*</span>srcfactory<span class="gtkdoc opt">;</span>
 
-<span class="function"><a href="../gstreamer-1.0/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
 
-srcfactory <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElementFactory.html#gst-element-factory-find">gst_element_factory_find</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;filesrc&quot;</span><span class="gtkdoc opt">);</span>
+srcfactory <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-find">gst_element_factory_find</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;filesrc&quot;</span><span class="gtkdoc opt">);</span>
 <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-return-if-fail">g_return_if_fail</a></span> <span class="gtkdoc opt">(</span>srcfactory <span class="gtkdoc opt">!=</span> NULL<span class="gtkdoc opt">);</span>
-src <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElementFactory.html#gst-element-factory-create">gst_element_factory_create</a></span> <span class="gtkdoc opt">(</span>srcfactory<span class="gtkdoc opt">,</span> <span class="string">&quot;src&quot;</span><span class="gtkdoc opt">);</span>
+src <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-create">gst_element_factory_create</a></span> <span class="gtkdoc opt">(</span>srcfactory<span class="gtkdoc opt">,</span> <span class="string">&quot;src&quot;</span><span class="gtkdoc opt">);</span>
 <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-return-if-fail">g_return_if_fail</a></span> <span class="gtkdoc opt">(</span>src <span class="gtkdoc opt">!=</span> NULL<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span></pre></td>
       </tr>
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index 9779e33..69c8d79 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -186,7 +186,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp27685152"></a><h3>controlled properties</h3>
+<a name="idp30161888"></a><h3>controlled properties</h3>
 <p>
 Controlled properties offers a lightweight way to adjust gobject
 properties over stream-time. It works by using time-stamped value pairs that
@@ -999,7 +999,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_object_sync_values              (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
 <p>
-Sets the properties of the object, according to the <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSources</span></a> that
+Sets the properties of the object, according to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSources</span></a> that
 (maybe) handle them and for the given timestamp.
 </p>
 <p>
@@ -1082,8 +1082,8 @@
                                                          <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> *property_name</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> disabled</code></em>);</pre>
 <p>
-This function is used to disable the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html"><span class="type">GstController</span></a> on a property for
-some time, i.e. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html#gst-controller-sync-values"><code class="function">gst_controller_sync_values()</code></a> will do nothing for the
+This function is used to disable the <span class="type">GstController</span> on a property for
+some time, i.e. <code class="function">gst_controller_sync_values()</code> will do nothing for the
 property.
 </p>
 <div class="variablelist"><table border="0">
diff --git a/docs/gst/html/GstPad.html b/docs/gst/html/GstPad.html
index f8ce32c..acd5e99 100644
--- a/docs/gst/html/GstPad.html
+++ b/docs/gst/html/GstPad.html
@@ -400,7 +400,7 @@
 <a class="link" href="GstPad.html#gst-pad-get-parent" title="gst_pad_get_parent()"><code class="function">gst_pad_get_parent()</code></a> will retrieve the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> that owns the pad.
 </p>
 <p>
-After two pads are retrieved from an element with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-pad"><code class="function">gst_element_get_pad()</code></a>,
+After two pads are retrieved from an element with <code class="function">gst_element_get_pad()</code>,
 the pads can be linked with <a class="link" href="GstPad.html#gst-pad-link" title="gst_pad_link ()"><code class="function">gst_pad_link()</code></a>. (For quick links,
 you can also use <a class="link" href="GstElement.html#gst-element-link" title="gst_element_link ()"><code class="function">gst_element_link()</code></a>, which will make the obvious
 link for you if it's straightforward.). Pads can be unlinked again with
@@ -2514,7 +2514,8 @@
 <p>
 This function is installed on a source pad with
 <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> and can only be called on source pads after
-they are successfully activated with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-activate-pull"><code class="function">gst_pad_activate_pull()</code></a>.
+they are successfully activated with <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
+<a class="link" href="GstPad.html#GST-PAD-MODE-PULL:CAPS"><span class="type">GST_PAD_MODE_PULL</span></a>.
 </p>
 <p>
 <em class="parameter"><code>offset</code></em> and <em class="parameter"><code>length</code></em> are always given in byte units. <em class="parameter"><code>offset</code></em> must normally be a value
@@ -2890,7 +2891,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_pad_proxy_query_accept_caps     (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
 <p>
-Calls <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-accept-caps"><code class="function">gst_pad_accept_caps()</code></a> for all internally linked pads of <em class="parameter"><code>pad</code></em> and
+Calls <code class="function">gst_pad_accept_caps()</code> for all internally linked pads of <em class="parameter"><code>pad</code></em> and
 returns the intersection of the results.
 </p>
 <p>
@@ -2948,8 +2949,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
 <p>
 Sets the given activate function for <em class="parameter"><code>pad</code></em>. The activate function will
-dispatch to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-activate-push"><code class="function">gst_pad_activate_push()</code></a> or <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-activate-pull"><code class="function">gst_pad_activate_pull()</code></a> to perform
-the actual activation. Only makes sense to set on sink pads.
+dispatch to <a class="link" href="GstPad.html#gst-pad-activate-mode" title="gst_pad_activate_mode ()"><code class="function">gst_pad_activate_mode()</code></a> to perform the actual activation.
+Only makes sense to set on sink pads.
 </p>
 <p>
 Call this function if your sink pad can start a pull-based task.
@@ -3727,7 +3728,7 @@
 <p>
 Gets the capabilities this pad can produce or consume.
 Note that this method doesn't necessarily return the caps set by
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-set-caps"><code class="function">gst_pad_set_caps()</code></a> - use <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()"><code class="function">gst_pad_get_current_caps()</code></a> for that instead.
+<code class="function">gst_pad_set_caps()</code> - use <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()"><code class="function">gst_pad_get_current_caps()</code></a> 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
 <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.
@@ -4650,9 +4651,8 @@
 function to perform the actual activation.
 </p>
 <p>
-If not <em class="parameter"><code>active</code></em>, checks the pad's current mode and calls
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-activate-push"><code class="function">gst_pad_activate_push()</code></a> or <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-activate-pull"><code class="function">gst_pad_activate_pull()</code></a>, as appropriate, with a
-FALSE argument.
+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>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
diff --git a/docs/gst/html/GstPadTemplate.html b/docs/gst/html/GstPadTemplate.html
index 4df16cc..b13b0fd 100644
--- a/docs/gst/html/GstPadTemplate.html
+++ b/docs/gst/html/GstPadTemplate.html
@@ -132,7 +132,7 @@
 The following code example shows the code to create a pad from a padtemplate.
 </p>
 <div class="example">
-<a name="idp27943152"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
+<a name="idp30516864"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -155,11 +155,11 @@
 16
 17</pre></td>
         <td class="listing_code"><pre class="programlisting">GstStaticPadTemplate my_template <span class="gtkdoc opt">=</span>
-<span class="function"><a href="../gstreamer-1.0/GstPadTemplate.html#GST-STATIC-PAD-TEMPLATE:CAPS">GST_STATIC_PAD_TEMPLATE</a></span> <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:CAPS">GST_STATIC_PAD_TEMPLATE</a></span> <span class="gtkdoc opt">(</span>
   <span class="string">&quot;sink&quot;</span><span class="gtkdoc opt">,</span>          <span class="gtkdoc slc">// the name of the pad</span>
   GST_PAD_SINK<span class="gtkdoc opt">,</span>    <span class="gtkdoc slc">// the direction of the pad</span>
   GST_PAD_ALWAYS<span class="gtkdoc opt">,</span>  <span class="gtkdoc slc">// when this pad will be present</span>
-  <span class="function"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GST-STATIC-CAPS">GST_STATIC_CAPS</a></span> <span class="gtkdoc opt">(</span>        <span class="gtkdoc slc">// the capabilities of the padtemplate</span>
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GST-STATIC-CAPS">GST_STATIC_CAPS</a></span> <span class="gtkdoc opt">(</span>        <span class="gtkdoc slc">// the capabilities of the padtemplate</span>
     <span class="string">&quot;audio/x-raw, &quot;</span>
       <span class="string">&quot;channels = (int) [ 1, 6 ]&quot;</span>
   <span class="gtkdoc opt">)</span>
@@ -168,7 +168,7 @@
 <span class="function">my_method</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">void</span><span class="gtkdoc opt">)</span>
 <span class="gtkdoc opt">{</span>
   GstPad <span class="gtkdoc opt">*</span>pad<span class="gtkdoc opt">;</span>
-  pad <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstPad.html#gst-pad-new-from-static-template">gst_pad_new_from_static_template</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">,</span> <span class="string">&quot;sink&quot;</span><span class="gtkdoc opt">);</span>
+  pad <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-new-from-static-template">gst_pad_new_from_static_template</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">,</span> <span class="string">&quot;sink&quot;</span><span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">...</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
@@ -200,8 +200,8 @@
 <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="function"><a href="../gstreamer-1.0/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="../gstreamer-1.0/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">));</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>my_template<span class="gtkdoc opt">));</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
     </tbody>
diff --git a/docs/gst/html/GstPluginFeature.html b/docs/gst/html/GstPluginFeature.html
index 719e65b..b0082bc 100644
--- a/docs/gst/html/GstPluginFeature.html
+++ b/docs/gst/html/GstPluginFeature.html
@@ -304,9 +304,9 @@
 6</pre></td>
         <td class="listing_code"><pre class="programlisting">GstPluginFeature <span class="gtkdoc opt">*</span>loaded_feature<span class="gtkdoc opt">;</span>
 
-loaded_feature <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-load">gst_plugin_feature_load</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
+loaded_feature <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPluginFeature.html#gst-plugin-feature-load">gst_plugin_feature_load</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
 <span class="gtkdoc slc">// presumably, we're no longer interested in the potentially-unloaded feature</span>
-<span class="function"><a href="../gstreamer-1.0/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
 feature <span class="gtkdoc opt">=</span> loaded_feature<span class="gtkdoc opt">;</span></pre></td>
       </tr>
     </tbody>
diff --git a/docs/gst/html/GstTagSetter.html b/docs/gst/html/GstTagSetter.html
index 44e2955..ec59451 100644
--- a/docs/gst/html/GstTagSetter.html
+++ b/docs/gst/html/GstTagSetter.html
@@ -149,17 +149,17 @@
  
 tagsetter <span class="gtkdoc opt">=</span> <span class="function">GST_TAG_SETTER</span> <span class="gtkdoc opt">(</span>element<span class="gtkdoc opt">);</span>
  
-merge_mode <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstTagSetter.html#gst-tag-setter-get-tag-merge-mode">gst_tag_setter_get_tag_merge_mode</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
-application_tags <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstTagSetter.html#gst-tag-setter-get-tag-list">gst_tag_setter_get_tag_list</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
+merge_mode <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagSetter.html#gst-tag-setter-get-tag-merge-mode">gst_tag_setter_get_tag_merge_mode</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
+application_tags <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagSetter.html#gst-tag-setter-get-tag-list">gst_tag_setter_get_tag_list</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
 event_tags <span class="gtkdoc opt">= (</span><span class="gtkdoc kwb">const</span> GstTagList <span class="gtkdoc opt">*)</span> element<span class="gtkdoc opt">-&gt;</span>event_tags<span class="gtkdoc opt">;</span>
  
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;merging tags, merge mode = %d&quot;</span><span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;event tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">);</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;set   tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> application_tags<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;merging tags, merge mode = %d&quot;</span><span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;event tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;set   tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> application_tags<span class="gtkdoc opt">);</span>
  
-result <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-merge">gst_tag_list_merge</a></span> <span class="gtkdoc opt">(</span>application_tags<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
+result <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#gst-tag-list-merge">gst_tag_list_merge</a></span> <span class="gtkdoc opt">(</span>application_tags<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
  
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;final tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> result<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;final tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> result<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/GstTypeFindFactory.html b/docs/gst/html/GstTypeFindFactory.html
index 62ec442..d971c26 100644
--- a/docs/gst/html/GstTypeFindFactory.html
+++ b/docs/gst/html/GstTypeFindFactory.html
@@ -73,7 +73,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp12151600"></a><p class="title"><b>Example 13. how to write a simple typefinder</b></p>
+<a name="idp10697952"></a><p class="title"><b>Example 13. how to write a simple typefinder</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -138,7 +138,7 @@
   MyTypeFind <span class="gtkdoc opt">*</span>find <span class="gtkdoc opt">= (</span>MyTypeFind <span class="gtkdoc opt">*)</span> data<span class="gtkdoc opt">;</span>
   <span class="keyword">if</span> <span class="gtkdoc opt">(</span>probability <span class="gtkdoc opt">&gt;</span> find<span class="gtkdoc opt">-&gt;</span>probability<span class="gtkdoc opt">) {</span>
     find<span class="gtkdoc opt">-&gt;</span>probability <span class="gtkdoc opt">=</span> probability<span class="gtkdoc opt">;</span>
-    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-replace">gst_caps_replace</a></span> <span class="gtkdoc opt">(&amp;</span>find<span class="gtkdoc opt">-&gt;</span>caps<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-replace">gst_caps_replace</a></span> <span class="gtkdoc opt">(&amp;</span>find<span class="gtkdoc opt">-&gt;</span>caps<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">}</span>
 <span class="gtkdoc opt">}</span>
 <span class="gtkdoc kwb">static</span> GstCaps <span class="gtkdoc opt">*</span>
@@ -147,11 +147,11 @@
   GList <span class="gtkdoc opt">*</span>walk<span class="gtkdoc opt">, *</span>type_list<span class="gtkdoc opt">;</span>
   MyTypeFind find <span class="gtkdoc opt">= {</span>data<span class="gtkdoc opt">,</span> size<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">};</span>
   GstTypeFind gst_find <span class="gtkdoc opt">= {</span>my_peek<span class="gtkdoc opt">,</span> my_suggest<span class="gtkdoc opt">, &amp;</span>find<span class="gtkdoc opt">, };</span>
-  walk <span class="gtkdoc opt">=</span> type_list <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-get-list">gst_type_find_factory_get_list</a></span> <span class="gtkdoc opt">();</span>
+  walk <span class="gtkdoc opt">=</span> type_list <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTypeFindFactory.html#gst-type-find-factory-get-list">gst_type_find_factory_get_list</a></span> <span class="gtkdoc opt">();</span>
   <span class="keyword">while</span> <span class="gtkdoc opt">(</span>walk<span class="gtkdoc opt">) {</span>
     GstTypeFindFactory <span class="gtkdoc opt">*</span>factory <span class="gtkdoc opt">=</span> <span class="function">GST_TYPE_FIND_FACTORY</span> <span class="gtkdoc opt">(</span>walk<span class="gtkdoc opt">-&gt;</span>data<span class="gtkdoc opt">);</span>
     walk <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-next">g_list_next</a></span> <span class="gtkdoc opt">(</span>walk<span class="gtkdoc opt">)</span>
-    <span class="function"><a href="../gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-call-function">gst_type_find_factory_call_function</a></span> <span class="gtkdoc opt">(</span>factory<span class="gtkdoc opt">, &amp;</span>gst_find<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTypeFindFactory.html#gst-type-find-factory-call-function">gst_type_find_factory_call_function</a></span> <span class="gtkdoc opt">(</span>factory<span class="gtkdoc opt">, &amp;</span>gst_find<span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">}</span>
   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span> <span class="gtkdoc opt">(</span>type_list<span class="gtkdoc opt">);</span>
   <span class="keyword">return</span> find<span class="gtkdoc opt">.</span>caps<span class="gtkdoc opt">;</span>
diff --git a/docs/gst/html/gst-building.html b/docs/gst/html/gst-building.html
index 778f0f6..fef8dcd 100644
--- a/docs/gst/html/gst-building.html
+++ b/docs/gst/html/gst-building.html
@@ -31,7 +31,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp9351824"></a><h2>Building GStreamer on UNIX</h2>
+<a name="idp7713072"></a><h2>Building GStreamer on UNIX</h2>
 <p>
     On UNIX, GStreamer uses the standard GNU build system,
     using <span class="application">autoconf</span> for package
@@ -92,7 +92,7 @@
   </p>
 </div>
 <div class="refsect1">
-<a name="idp9104480"></a><h2>Building GStreamer Applications</h2>
+<a name="idp9473616"></a><h2>Building GStreamer Applications</h2>
 <p>
 Applications and libraries can use <span class="command"><strong>pkg-config</strong></span> to get all the
 needed compiler and linker flags to build against GStreamer. Please note that
diff --git a/docs/gst/html/gst-running.html b/docs/gst/html/gst-running.html
index 449e53f..d368184 100644
--- a/docs/gst/html/gst-running.html
+++ b/docs/gst/html/gst-running.html
@@ -31,9 +31,9 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp11310672"></a><h2>Running and debugging GStreamer Applications</h2>
+<a name="idp4095488"></a><h2>Running and debugging GStreamer Applications</h2>
 <div class="refsect2">
-<a name="idp9674784"></a><h3>Environment variables</h3>
+<a name="idp9461168"></a><h3>Environment variables</h3>
 <p> 
 GStreamer inspects a few of environment variables in addition to standard
 variables like <code class="envar">LANG</code>, <code class="envar">PATH</code> or <code class="envar">HOME</code>. 
diff --git a/docs/gst/html/gstreamer-Gst.html b/docs/gst/html/gstreamer-Gst.html
index 781fa18..e93d2f9 100644
--- a/docs/gst/html/gstreamer-Gst.html
+++ b/docs/gst/html/gstreamer-Gst.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp8067584"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
+<a name="idp9723616"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <span class="function">main</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">int</span> argc<span class="gtkdoc opt">,</span> <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>argv<span class="gtkdoc opt">[])</span>
 <span class="gtkdoc opt">{</span>
   <span class="gtkdoc slc">// initialize the GStreamer library</span>
-  <span class="function"><a href="../gstreamer-1.0/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">...</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
@@ -119,7 +119,7 @@
 the next code fragment:
 </p>
 <div class="example">
-<a name="idp10934368"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
+<a name="idp8478800"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -162,9 +162,9 @@
    <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Deprecated-Thread-APIs.html#g-thread-init">g_thread_init</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">);</span>
  ctx <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-new">g_option_context_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;[ADDITIONAL ARGUMENTS]&quot;</span><span class="gtkdoc opt">);</span>
  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-add-main-entries">g_option_context_add_main_entries</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">,</span> options<span class="gtkdoc opt">,</span> GETTEXT_PACKAGE<span class="gtkdoc opt">);</span>
- <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-add-group">g_option_context_add_group</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-Gst.html#gst-init-get-option-group">gst_init_get_option_group</a></span> <span class="gtkdoc opt">());</span>
+ <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-add-group">g_option_context_add_group</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-init-get-option-group">gst_init_get_option_group</a></span> <span class="gtkdoc opt">());</span>
  <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-parse">g_option_context_parse</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">, &amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">)) {</span>
-   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Error initializing: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-STR-NULL:CAPS">GST_STR_NULL</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">));</span>
+   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Error initializing: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-STR-NULL:CAPS">GST_STR_NULL</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">));</span>
    <span class="function">exit</span> <span class="gtkdoc opt">(</span><span class="number">1</span><span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span>
  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-free">g_option_context_free</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">);</span>
diff --git a/docs/gst/html/gstreamer-GstBuffer.html b/docs/gst/html/gstreamer-GstBuffer.html
index 75a5a9b..db02879 100644
--- a/docs/gst/html/gstreamer-GstBuffer.html
+++ b/docs/gst/html/gstreamer-GstBuffer.html
@@ -212,7 +212,7 @@
 with a given width, height and bits per plane.
 </p>
 <div class="example">
-<a name="idp13459264"></a><p class="title"><b>Example 3. Creating a buffer for a video frame</b></p>
+<a name="idp14288080"></a><p class="title"><b>Example 3. Creating a buffer for a video frame</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -231,9 +231,9 @@
 gint size<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> bpp<span class="gtkdoc opt">;</span>
 <span class="gtkdoc opt">...</span>
 size <span class="gtkdoc opt">=</span> width <span class="gtkdoc opt">*</span> height <span class="gtkdoc opt">*</span> bpp<span class="gtkdoc opt">;</span>
-buffer <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-new">gst_buffer_new</a></span> <span class="gtkdoc opt">();</span>
-memory <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstAllocator.html#gst-allocator-alloc">gst_allocator_alloc</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> size<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-insert-memory">gst_buffer_insert_memory</a></span> <span class="gtkdoc opt">(</span>buffer<span class="gtkdoc opt">, -</span><span class="number">1</span><span class="gtkdoc opt">,</span> memory<span class="gtkdoc opt">);</span>
+buffer <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-new">gst_buffer_new</a></span> <span class="gtkdoc opt">();</span>
+memory <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#gst-allocator-alloc">gst_allocator_alloc</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> size<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-insert-memory">gst_buffer_insert_memory</a></span> <span class="gtkdoc opt">(</span>buffer<span class="gtkdoc opt">, -</span><span class="number">1</span><span class="gtkdoc opt">,</span> memory<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span></pre></td>
       </tr>
     </tbody>
@@ -295,7 +295,7 @@
 <p>
 Several flags of the buffer can be set and unset with the
 <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-SET:CAPS" title="GST_BUFFER_FLAG_SET()"><code class="function">GST_BUFFER_FLAG_SET()</code></a> and <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-UNSET:CAPS" title="GST_BUFFER_FLAG_UNSET()"><code class="function">GST_BUFFER_FLAG_UNSET()</code></a> macros. Use
-<a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-IS-SET:CAPS" title="GST_BUFFER_FLAG_IS_SET()"><code class="function">GST_BUFFER_FLAG_IS_SET()</code></a> to test if a certain <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> is set.
+<a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-IS-SET:CAPS" title="GST_BUFFER_FLAG_IS_SET()"><code class="function">GST_BUFFER_FLAG_IS_SET()</code></a> to test if a certain <span class="type">GstBufferFlag</span> is set.
 </p>
 <p>
 Buffers can be efficiently merged into a larger buffer with
@@ -490,7 +490,7 @@
 <pre class="programlisting">#define GST_BUFFER_FLAGS(buf)                   GST_MINI_OBJECT_FLAGS(buf)
 </pre>
 <p>
-A flags word containing <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> flags set on this buffer.
+A flags word containing <span class="type">GstBufferFlag</span> flags set on this buffer.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -517,7 +517,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> to check.</td>
+<td>the <span class="type">GstBufferFlag</span> to check.</td>
 </tr>
 </tbody>
 </table></div>
@@ -539,7 +539,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> to set.</td>
+<td>the <span class="type">GstBufferFlag</span> to set.</td>
 </tr>
 </tbody>
 </table></div>
@@ -561,7 +561,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> to clear.</td>
+<td>the <span class="type">GstBufferFlag</span> to clear.</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/gst/html/gstreamer-GstCaps.html b/docs/gst/html/gstreamer-GstCaps.html
index 101e27f..7fc7e91 100644
--- a/docs/gst/html/gstreamer-GstCaps.html
+++ b/docs/gst/html/gstreamer-GstCaps.html
@@ -150,7 +150,7 @@
 a description of the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>.
 </p>
 <p>
-Caps are exposed on the element pads using the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-caps"><code class="function">gst_pad_get_caps()</code></a> pad
+Caps are exposed on the element pads using the <code class="function">gst_pad_get_caps()</code> pad
 function. This function describes the possible types that the pad can
 handle or produce at runtime.
 </p>
@@ -160,7 +160,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp17423056"></a><p class="title"><b>Example 4. Creating caps</b></p>
+<a name="idp15247184"></a><p class="title"><b>Example 4. Creating caps</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -174,7 +174,7 @@
 7
 8</pre></td>
         <td class="listing_code"><pre class="programlisting">GstCaps <span class="gtkdoc opt">*</span>caps<span class="gtkdoc opt">;</span>
-caps <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-new-simple">gst_caps_new_simple</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;video/x-raw&quot;</span><span class="gtkdoc opt">,</span>
+caps <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-new-simple">gst_caps_new_simple</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;video/x-raw&quot;</span><span class="gtkdoc opt">,</span>
      <span class="string">&quot;format&quot;</span><span class="gtkdoc opt">,</span> G_TYPE_STRING<span class="gtkdoc opt">,</span> <span class="string">&quot;I420&quot;</span><span class="gtkdoc opt">,</span>
      <span class="string">&quot;framerate&quot;</span><span class="gtkdoc opt">,</span> GST_TYPE_FRACTION<span class="gtkdoc opt">,</span> <span class="number">25</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span>
      <span class="string">&quot;pixel-aspect-ratio&quot;</span><span class="gtkdoc opt">,</span> GST_TYPE_FRACTION<span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span>
@@ -1582,7 +1582,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;caps are %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;caps are %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstEvent.html b/docs/gst/html/gstreamer-GstEvent.html
index d992a2d..e5d9d28 100644
--- a/docs/gst/html/gstreamer-GstEvent.html
+++ b/docs/gst/html/gstreamer-GstEvent.html
@@ -206,7 +206,7 @@
 the needed parameters to specify seeking time and mode.
 </p>
 <div class="example">
-<a name="idp22881984"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p>
+<a name="idp22752240"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -231,13 +231,13 @@
 <span class="gtkdoc opt">...</span>
 <span class="gtkdoc slc">// construct a seek event to play the media from second 2 to 5, flush</span>
 <span class="gtkdoc slc">// the pipeline to decrease latency.</span>
-event <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-seek">gst_event_new_seek</a></span> <span class="gtkdoc opt">(</span><span class="number">1.0</span><span class="gtkdoc opt">,</span> 
+event <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#gst-event-new-seek">gst_event_new_seek</a></span> <span class="gtkdoc opt">(</span><span class="number">1.0</span><span class="gtkdoc opt">,</span> 
    GST_FORMAT_TIME<span class="gtkdoc opt">,</span> 
    GST_SEEK_FLAG_FLUSH<span class="gtkdoc opt">,</span>
    GST_SEEK_TYPE_SET<span class="gtkdoc opt">,</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">,</span>
    GST_SEEK_TYPE_SET<span class="gtkdoc opt">,</span> <span class="number">5</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span>
-result <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-send-event">gst_element_send_event</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> event<span class="gtkdoc opt">);</span>
+result <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-send-event">gst_element_send_event</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> event<span class="gtkdoc opt">);</span>
 <span class="keyword">if</span> <span class="gtkdoc opt">(!</span>result<span class="gtkdoc opt">)</span>
   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-warning">g_warning</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;seek failed&quot;</span><span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span></pre></td>
diff --git a/docs/gst/html/gstreamer-GstGError.html b/docs/gst/html/gstreamer-GstGError.html
index 3ebc12c..9cef2c1 100644
--- a/docs/gst/html/gstreamer-GstGError.html
+++ b/docs/gst/html/gstreamer-GstGError.html
@@ -115,14 +115,14 @@
 <p>
 </p>
 <div class="example">
-<a name="idp9463952"></a><p class="title"><b>Example 7. Throwing an error</b></p>
+<a name="idp9564400"></a><p class="title"><b>Example 7. Throwing an error</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/GstElement.html#GST-ELEMENT-ERROR:CAPS">GST_ELEMENT_ERROR</a></span> <span class="gtkdoc opt">(</span>src<span class="gtkdoc opt">,</span> RESOURCE<span class="gtkdoc opt">,</span> NOT_FOUND<span class="gtkdoc opt">,</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-ERROR:CAPS">GST_ELEMENT_ERROR</a></span> <span class="gtkdoc opt">(</span>src<span class="gtkdoc opt">,</span> RESOURCE<span class="gtkdoc opt">,</span> NOT_FOUND<span class="gtkdoc opt">,</span>
   <span class="gtkdoc opt">(</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-I18N.html#gettext-macro">_</a></span><span class="gtkdoc opt">(</span><span class="string">&quot;No file name specified for reading.&quot;</span><span class="gtkdoc opt">)), (</span>NULL<span class="gtkdoc opt">));</span></pre></td>
       </tr>
     </tbody>
diff --git a/docs/gst/html/gstreamer-GstInfo.html b/docs/gst/html/gstreamer-GstInfo.html
index d6fb6f4..e56d172 100644
--- a/docs/gst/html/gstreamer-GstInfo.html
+++ b/docs/gst/html/gstreamer-GstInfo.html
@@ -250,7 +250,7 @@
       <tr>
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">);</span>     <span class="gtkdoc slc">// define category (statically)</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">);</span>     <span class="gtkdoc slc">// define category (statically)</span>
 <span class="gtkdoc ppc">#define GST_CAT_DEFAULT my_category</span>     <span class="gtkdoc slc">// set as default</span><span class="gtkdoc ppc"></span></pre></td>
       </tr>
     </tbody>
@@ -266,7 +266,7 @@
       <tr>
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">,</span> <span class="string">&quot;my category&quot;</span><span class="gtkdoc opt">,</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">,</span> <span class="string">&quot;my category&quot;</span><span class="gtkdoc opt">,</span>
                          <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="string">&quot;This is my very own&quot;</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
@@ -1272,12 +1272,12 @@
 4
 5
 6</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">);</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">);</span>
 <span class="gtkdoc ppc">#define GST_CAT_DEFAULT gst_myplugin_debug</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">,</span> <span class="string">&quot;myplugin&quot;</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="string">&quot;nice element&quot;</span><span class="gtkdoc opt">);</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-GET:CAPS">GST_DEBUG_CATEGORY_GET</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">,</span> <span class="string">&quot;GST_PERFORMANCE&quot;</span><span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">,</span> <span class="string">&quot;myplugin&quot;</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="string">&quot;nice element&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-GET:CAPS">GST_DEBUG_CATEGORY_GET</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">,</span> <span class="string">&quot;GST_PERFORMANCE&quot;</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -2440,7 +2440,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span><span class="gtkdoc opt">(</span><span class="string">&quot;%&quot;</span> GST_TIME_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span><span class="gtkdoc opt">(</span>ts<span class="gtkdoc opt">));</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span><span class="gtkdoc opt">(</span><span class="string">&quot;%&quot;</span> GST_TIME_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span><span class="gtkdoc opt">(</span>ts<span class="gtkdoc opt">));</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstIterator.html b/docs/gst/html/gstreamer-GstIterator.html
index 31bacea..c18d596 100644
--- a/docs/gst/html/gstreamer-GstIterator.html
+++ b/docs/gst/html/gstreamer-GstIterator.html
@@ -122,7 +122,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp21236752"></a><p class="title"><b>Example 9. Using an iterator</b></p>
+<a name="idp23319008"></a><p class="title"><b>Example 9. Using an iterator</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -153,14 +153,14 @@
         <td class="listing_code"><pre class="programlisting">it <span class="gtkdoc opt">=</span> <span class="function">_get_iterator</span><span class="gtkdoc opt">(</span>object<span class="gtkdoc opt">);</span>
 done <span class="gtkdoc opt">=</span> FALSE<span class="gtkdoc opt">;</span>
 <span class="keyword">while</span> <span class="gtkdoc opt">(!</span>done<span class="gtkdoc opt">) {</span>
-  <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstIterator.html#gst-iterator-next">gst_iterator_next</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">, &amp;</span>item<span class="gtkdoc opt">)) {</span>
+  <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#gst-iterator-next">gst_iterator_next</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">, &amp;</span>item<span class="gtkdoc opt">)) {</span>
     <span class="keyword">case</span> GST_ITERATOR_OK<span class="gtkdoc opt">:</span>
       <span class="gtkdoc opt">...</span> use<span class="gtkdoc opt">/</span>change item here<span class="gtkdoc opt">...</span>
       <span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-reset">g_value_reset</a></span> <span class="gtkdoc opt">(&amp;</span>item<span class="gtkdoc opt">);</span>
       <span class="keyword">break</span><span class="gtkdoc opt">;</span>
     <span class="keyword">case</span> GST_ITERATOR_RESYNC<span class="gtkdoc opt">:</span>
       <span class="gtkdoc opt">...</span>rollback changes to items<span class="gtkdoc opt">...</span>
-      <span class="function"><a href="../gstreamer-1.0/gstreamer-GstIterator.html#gst-iterator-resync">gst_iterator_resync</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span>
+      <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#gst-iterator-resync">gst_iterator_resync</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span>
       <span class="keyword">break</span><span class="gtkdoc opt">;</span>
     <span class="keyword">case</span> GST_ITERATOR_ERROR<span class="gtkdoc opt">:</span>
       <span class="gtkdoc opt">...</span>wrong parameters were given<span class="gtkdoc opt">...</span>
@@ -172,7 +172,7 @@
   <span class="gtkdoc opt">}</span>
 <span class="gtkdoc opt">}</span>
 <span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset">g_value_unset</a></span> <span class="gtkdoc opt">(&amp;</span>item<span class="gtkdoc opt">);</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstIterator.html#gst-iterator-free">gst_iterator_free</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#gst-iterator-free">gst_iterator_free</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstMessage.html b/docs/gst/html/gstreamer-GstMessage.html
index 7d12900..87408d8 100644
--- a/docs/gst/html/gstreamer-GstMessage.html
+++ b/docs/gst/html/gstreamer-GstMessage.html
@@ -273,13 +273,13 @@
 <p>
 </p>
 <div class="example">
-<a name="idp29705072"></a><p class="title"><b>Example 10. Posting a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a></b></p>
+<a name="idp30847824"></a><p class="title"><b>Example 10. Posting a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a></b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/GstBus.html#gst-bus-post">gst_bus_post</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-eos">gst_message_new_eos</a></span><span class="gtkdoc opt">());</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-post">gst_bus_post</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-eos">gst_message_new_eos</a></span><span class="gtkdoc opt">());</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -1082,14 +1082,14 @@
 16
 17</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
-<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
   <span class="keyword">case</span> GST_MESSAGE_ERROR<span class="gtkdoc opt">: {</span>
     GError <span class="gtkdoc opt">*</span>err <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
     gchar <span class="gtkdoc opt">*</span>dbg_info <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
     
-    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-error">gst_message_parse_error</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">, &amp;</span>dbg_info<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-error">gst_message_parse_error</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">, &amp;</span>dbg_info<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-printerr">g_printerr</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;ERROR from element %s: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span>
-        <span class="function"><a href="../gstreamer-1.0/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span> err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">);</span>
+        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span> err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-printerr">g_printerr</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Debugging info: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">, (</span>dbg_info<span class="gtkdoc opt">)</span> ? dbg_info <span class="gtkdoc opt">:</span> <span class="string">&quot;none&quot;</span><span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#g-error-free">g_error_free</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free">g_free</a></span> <span class="gtkdoc opt">(</span>dbg_info<span class="gtkdoc opt">);</span>
@@ -1333,14 +1333,14 @@
 13
 14</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
-<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
   <span class="keyword">case</span> GST_MESSAGE_TAG<span class="gtkdoc opt">: {</span>
     GstTagList <span class="gtkdoc opt">*</span>tags <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
     
-    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-tag">gst_message_parse_tag</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>tags<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Got tags from element %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">));</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-tag">gst_message_parse_tag</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>tags<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Got tags from element %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">));</span>
     <span class="function">handle_tags</span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-unref">gst_tag_list_unref</a></span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#gst-tag-list-unref">gst_tag_list_unref</a></span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
   <span class="gtkdoc opt">}</span>
   <span class="gtkdoc opt">...</span>
@@ -1591,15 +1591,15 @@
 14
 15</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
-<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
   <span class="keyword">case</span> GST_MESSAGE_STATE_CHANGED<span class="gtkdoc opt">: {</span>
     GstState old_state<span class="gtkdoc opt">,</span> new_state<span class="gtkdoc opt">;</span>
     
-    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-state-changed">gst_message_parse_state_changed</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>old_state<span class="gtkdoc opt">, &amp;</span>new_state<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-state-changed">gst_message_parse_state_changed</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>old_state<span class="gtkdoc opt">, &amp;</span>new_state<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Element %s changed state from %s to %s.</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span>
-        <span class="function"><a href="../gstreamer-1.0/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span>
-        <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>old_state<span class="gtkdoc opt">),</span>
-        <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>new_state<span class="gtkdoc opt">));</span>
+        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span>
+        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>old_state<span class="gtkdoc opt">),</span>
+        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>new_state<span class="gtkdoc opt">));</span>
     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
   <span class="gtkdoc opt">}</span>
   <span class="gtkdoc opt">...</span>
diff --git a/docs/gst/html/gstreamer-GstQuery.html b/docs/gst/html/gstreamer-GstQuery.html
index da24fd7..31d7af9 100644
--- a/docs/gst/html/gstreamer-GstQuery.html
+++ b/docs/gst/html/gstreamer-GstQuery.html
@@ -284,7 +284,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp39816480"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p>
+<a name="idp40848832"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -304,17 +304,17 @@
 13</pre></td>
         <td class="listing_code"><pre class="programlisting">GstQuery <span class="gtkdoc opt">*</span>query<span class="gtkdoc opt">;</span>
 gboolean res<span class="gtkdoc opt">;</span>
-query <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-duration">gst_query_new_duration</a></span> <span class="gtkdoc opt">(</span>GST_FORMAT_TIME<span class="gtkdoc opt">);</span>
-res <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-query">gst_element_query</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> query<span class="gtkdoc opt">);</span>
+query <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#gst-query-new-duration">gst_query_new_duration</a></span> <span class="gtkdoc opt">(</span>GST_FORMAT_TIME<span class="gtkdoc opt">);</span>
+res <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-query">gst_element_query</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> query<span class="gtkdoc opt">);</span>
 <span class="keyword">if</span> <span class="gtkdoc opt">(</span>res<span class="gtkdoc opt">) {</span>
   gint64 duration<span class="gtkdoc opt">;</span>
-  <span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-duration">gst_query_parse_duration</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">, &amp;</span>duration<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration = %&quot;</span>GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span>duration<span class="gtkdoc opt">));</span>
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#gst-query-parse-duration">gst_query_parse_duration</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">, &amp;</span>duration<span class="gtkdoc opt">);</span>
+  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration = %&quot;</span>GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span>duration<span class="gtkdoc opt">));</span>
 <span class="gtkdoc opt">}</span>
 <span class="keyword">else</span> <span class="gtkdoc opt">{</span>
   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration query failed...&quot;</span><span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">}</span>
-<span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-unref">gst_query_unref</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#gst-query-unref">gst_query_unref</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstSegment.html b/docs/gst/html/gstreamer-GstSegment.html
index 1bb66e1..4c29d7a 100644
--- a/docs/gst/html/gstreamer-GstSegment.html
+++ b/docs/gst/html/gstreamer-GstSegment.html
@@ -226,6 +226,7 @@
 <div class="refsect2">
 <a name="GstSegmentFlags"></a><h3>enum GstSegmentFlags</h3>
 <pre class="programlisting">typedef enum {
+ /*&lt; flags &gt;*/
   GST_SEGMENT_FLAG_NONE            = GST_SEEK_FLAG_NONE,
   GST_SEGMENT_FLAG_RESET           = GST_SEEK_FLAG_FLUSH,
   GST_SEGMENT_FLAG_SKIP            = GST_SEEK_FLAG_SKIP,
diff --git a/docs/gst/html/gstreamer-GstStructure.html b/docs/gst/html/gstreamer-GstStructure.html
index 4d9d619..4538ac2 100644
--- a/docs/gst/html/gstreamer-GstStructure.html
+++ b/docs/gst/html/gstreamer-GstStructure.html
@@ -2022,7 +2022,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;structure is %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> structure<span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;structure is %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> structure<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstTagList.html b/docs/gst/html/gstreamer-GstTagList.html
index 020e921..534c36c 100644
--- a/docs/gst/html/gstreamer-GstTagList.html
+++ b/docs/gst/html/gstreamer-GstTagList.html
@@ -359,7 +359,7 @@
 <p>
 </p>
 <div class="table">
-<a name="idp44054384"></a><p class="title"><b>Table 1. merge mode</b></p>
+<a name="idp45190816"></a><p class="title"><b>Table 1. merge mode</b></p>
 <div class="table-contents"><table summary="merge mode" border="1">
 <colgroup>
 <col>
diff --git a/docs/gst/html/gstreamer-GstUriHandler.html b/docs/gst/html/gstreamer-GstUriHandler.html
index 6402400..6cd2789 100644
--- a/docs/gst/html/gstreamer-GstUriHandler.html
+++ b/docs/gst/html/gstreamer-GstUriHandler.html
@@ -494,7 +494,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new element or NULL if none could be created. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>a new element or NULL if none could be created. <span class="annotation">[transfer floating]</span>
 </td>
 </tr>
 </tbody>
diff --git a/docs/gst/html/gstreamer-GstValue.html b/docs/gst/html/gstreamer-GstValue.html
index f9f0caa..88a6fc9 100644
--- a/docs/gst/html/gstreamer-GstValue.html
+++ b/docs/gst/html/gstreamer-GstValue.html
@@ -237,7 +237,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstValue.html#GST-MAKE-FOURCC:CAPS">GST_MAKE_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">'M'</span><span class="gtkdoc opt">,</span> <span class="string">'J'</span><span class="gtkdoc opt">,</span> <span class="string">'P'</span><span class="gtkdoc opt">,</span> <span class="string">'G'</span><span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#GST-MAKE-FOURCC:CAPS">GST_MAKE_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">'M'</span><span class="gtkdoc opt">,</span> <span class="string">'J'</span><span class="gtkdoc opt">,</span> <span class="string">'P'</span><span class="gtkdoc opt">,</span> <span class="string">'G'</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -283,7 +283,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstValue.html#GST-STR-FOURCC:CAPS">GST_STR_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;MJPG&quot;</span><span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#GST-STR-FOURCC:CAPS">GST_STR_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;MJPG&quot;</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -313,7 +313,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">&quot;fourcc: %&quot;</span> GST_FOURCC_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstValue.html#GST-FOURCC-ARGS:CAPS">GST_FOURCC_ARGS</a></span> <span class="gtkdoc opt">(</span>fcc<span class="gtkdoc opt">));</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">&quot;fourcc: %&quot;</span> GST_FOURCC_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#GST-FOURCC-ARGS:CAPS">GST_FOURCC_ARGS</a></span> <span class="gtkdoc opt">(</span>fcc<span class="gtkdoc opt">));</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -2199,7 +2199,7 @@
 Determines if intersecting two values will produce a valid result.
 Two values will produce a valid intersection if they have the same
 type, or if there is a method (registered by
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#gst-value-register-intersect-func"><code class="function">gst_value_register_intersect_func()</code></a>) to calculate the intersection.
+<code class="function">gst_value_register_intersect_func()</code>) to calculate the intersection.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index 1462ee8..49e7b6c 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -88,7 +88,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VERSION-MICRO:CAPS"></a><h3>GST_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_VERSION_MICRO (0)
+<pre class="programlisting">#define GST_VERSION_MICRO (1)
 </pre>
 <p>
 The micro version of GStreamer at compile time:
diff --git a/docs/gst/html/gstreamer.devhelp2 b/docs/gst/html/gstreamer.devhelp2
index 92c14ec..d67a6a5 100644
--- a/docs/gst/html/gstreamer.devhelp2
+++ b/docs/gst/html/gstreamer.devhelp2
@@ -71,7 +71,7 @@
     <sub name="Annotation Glossary" link="annotation-glossary.html"/>
   </chapters>
   <functions>
-    <keyword type="" name="Environment variables" link="gst-running.html#idp9674784"/>
+    <keyword type="" name="Environment variables" link="gst-running.html#idp9461168"/>
     <keyword type="function" name="gst_init ()" link="gstreamer-Gst.html#gst-init"/>
     <keyword type="function" name="gst_init_check ()" link="gstreamer-Gst.html#gst-init-check"/>
     <keyword type="function" name="gst_init_get_option_group ()" link="gstreamer-Gst.html#gst-init-get-option-group"/>
@@ -105,7 +105,7 @@
     <keyword type="function" name="gst_atomic_queue_peek ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-peek"/>
     <keyword type="function" name="gst_atomic_queue_pop ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-pop"/>
     <keyword type="function" name="gst_atomic_queue_length ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-length"/>
-    <keyword type="" name="Notes" link="GstBin.html#idp9938176"/>
+    <keyword type="" name="Notes" link="GstBin.html#idp8569680"/>
     <keyword type="struct" name="struct GstBin" link="GstBin.html#GstBin-struct"/>
     <keyword type="struct" name="struct GstBinClass" link="GstBin.html#GstBinClass"/>
     <keyword type="function" name="gst_bin_new ()" link="GstBin.html#gst-bin-new"/>
@@ -906,7 +906,7 @@
     <keyword type="function" name="gst_mini_object_replace ()" link="gstreamer-GstMiniObject.html#gst-mini-object-replace"/>
     <keyword type="function" name="gst_mini_object_take ()" link="gstreamer-GstMiniObject.html#gst-mini-object-take"/>
     <keyword type="function" name="gst_mini_object_steal ()" link="gstreamer-GstMiniObject.html#gst-mini-object-steal"/>
-    <keyword type="" name="controlled properties" link="GstObject.html#idp27685152"/>
+    <keyword type="" name="controlled properties" link="GstObject.html#idp30161888"/>
     <keyword type="struct" name="struct GstObject" link="GstObject.html#GstObject-struct"/>
     <keyword type="struct" name="struct GstObjectClass" link="GstObject.html#GstObjectClass"/>
     <keyword type="enum" name="enum GstObjectFlags" link="GstObject.html#GstObjectFlags"/>
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index 171b87c..500c7ef 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.0.0)
+      for GStreamer Core 1.0 (1.0.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</a>.
     </p></div>
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index be9c543..dcf060b 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -750,14 +750,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
index 3a0694e..642d7f1 100644
--- a/docs/libs/gstreamer-libs-sections.txt
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -293,6 +293,7 @@
 
 gst_base_transform_is_passthrough
 gst_base_transform_set_passthrough
+gst_base_transform_set_prefer_passthrough
 gst_base_transform_is_in_place
 gst_base_transform_set_in_place
 gst_base_transform_is_qos_enabled
diff --git a/docs/libs/html/GstAdapter.html b/docs/libs/html/GstAdapter.html
index 5573c8a..cf4d62e 100644
--- a/docs/libs/html/GstAdapter.html
+++ b/docs/libs/html/GstAdapter.html
@@ -46,7 +46,7 @@
 <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="returnvalue">GstAdapter</span></a> *        <a class="link" href="GstAdapter.html#gst-adapter-new" title="gst_adapter_new ()">gst_adapter_new</a>                     (<em class="parameter"><code><span class="type">void</span></code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstAdapter.html#gst-adapter-clear" title="gst_adapter_clear ()">gst_adapter_clear</a>                   (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstAdapter.html#gst-adapter-push" title="gst_adapter_push ()">gst_adapter_push</a>                    (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a>       <a class="link" href="GstAdapter.html#gst-adapter-map" title="gst_adapter_map ()">gst_adapter_map</a>                     (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstAdapter.html#gst-adapter-unmap" title="gst_adapter_unmap ()">gst_adapter_unmap</a>                   (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);
@@ -60,13 +60,13 @@
 <span class="returnvalue">gsize</span>               <a class="link" href="GstAdapter.html#gst-adapter-available-fast" title="gst_adapter_available_fast ()">gst_adapter_available_fast</a>          (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="GstAdapter.html#gst-adapter-take" title="gst_adapter_take ()">gst_adapter_take</a>                    (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstAdapter.html#gst-adapter-take-buffer" title="gst_adapter_take_buffer ()">gst_adapter_take_buffer</a>             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstAdapter.html#gst-adapter-take-buffer" title="gst_adapter_take_buffer ()">gst_adapter_take_buffer</a>             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             <a class="link" href="GstAdapter.html#gst-adapter-take-list" title="gst_adapter_take_list ()">gst_adapter_take_list</a>               (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);
-<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-pts" title="gst_adapter_prev_pts ()">gst_adapter_prev_pts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-pts" title="gst_adapter_prev_pts ()">gst_adapter_prev_pts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);
-<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-dts" title="gst_adapter_prev_dts ()">gst_adapter_prev_dts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-dts" title="gst_adapter_prev_dts ()">gst_adapter_prev_dts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);
 <span class="returnvalue">gsize</span>               <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32" title="gst_adapter_masked_scan_uint32 ()">gst_adapter_masked_scan_uint32</a>      (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint32</span> mask</code></em>,
@@ -154,21 +154,21 @@
   GstFlowReturn ret <span class="gtkdoc opt">=</span> GST_FLOW_OK<span class="gtkdoc opt">;</span>
 
   <span class="gtkdoc slc">// will give the element an extra ref; remember to drop it</span>
-  <span class="keyword">this</span> <span class="gtkdoc opt">=</span> <span class="function">MY_ELEMENT</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/GstPad.html#gst-pad-get-parent">gst_pad_get_parent</a></span> <span class="gtkdoc opt">(</span>pad<span class="gtkdoc opt">));</span>
+  <span class="keyword">this</span> <span class="gtkdoc opt">=</span> <span class="function">MY_ELEMENT</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-parent">gst_pad_get_parent</a></span> <span class="gtkdoc opt">(</span>pad<span class="gtkdoc opt">));</span>
   adapter <span class="gtkdoc opt">=</span> <span class="keyword">this</span><span class="gtkdoc opt">-&gt;</span>adapter<span class="gtkdoc opt">;</span>
 
   <span class="gtkdoc slc">// put buffer into adapter</span>
-  <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-push">gst_adapter_push</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> buffer<span class="gtkdoc opt">);</span>
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-push">gst_adapter_push</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> buffer<span class="gtkdoc opt">);</span>
   <span class="gtkdoc slc">// while we can read out 512 bytes, process them</span>
-  <span class="keyword">while</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-available">gst_adapter_available</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">) &gt;=</span> <span class="number">512</span> <span class="gtkdoc opt">&amp;&amp;</span> ret <span class="gtkdoc opt">==</span> GST_FLOW_OK<span class="gtkdoc opt">) {</span>
-    <span class="gtkdoc kwb">const</span> guint8 <span class="gtkdoc opt">*</span>data <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-map">gst_adapter_map</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
+  <span class="keyword">while</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-available">gst_adapter_available</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">) &gt;=</span> <span class="number">512</span> <span class="gtkdoc opt">&amp;&amp;</span> ret <span class="gtkdoc opt">==</span> GST_FLOW_OK<span class="gtkdoc opt">) {</span>
+    <span class="gtkdoc kwb">const</span> guint8 <span class="gtkdoc opt">*</span>data <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-map">gst_adapter_map</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
     <span class="gtkdoc slc">// use flowreturn as an error value</span>
     ret <span class="gtkdoc opt">=</span> <span class="function">my_library_foo</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-unmap">gst_adapter_unmap</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-flush">gst_adapter_flush</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-unmap">gst_adapter_unmap</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-flush">gst_adapter_flush</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">}</span>
 
-  <span class="function"><a href="../gstreamer-1.0/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span><span class="keyword">this</span><span class="gtkdoc opt">);</span>
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span><span class="keyword">this</span><span class="gtkdoc opt">);</span>
   <span class="keyword">return</span> ret<span class="gtkdoc opt">;</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
@@ -186,7 +186,7 @@
 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
 <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="../gstreamer-1.0/GstElement.html#GST-STATE-PAUSED:CAPS"><span class="type">GST_STATE_PAUSED</span></a> to <a href="../gstreamer-1.0/GstElement.html#GST-STATE-READY:CAPS"><span class="type">GST_STATE_READY</span></a>.
+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>
 <p>
 Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might
@@ -195,7 +195,7 @@
 <p>
 The adapter will keep track of the timestamps of the buffers
 that were pushed. The last seen timestamp before the current position
-can be queried with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-prev-timestamp"><code class="function">gst_adapter_prev_timestamp()</code></a>. This function can
+can be queried with <code class="function">gst_adapter_prev_timestamp()</code>. This function can
 optionally return the amount of bytes between the start of the buffer that
 carried the timestamp and the current adapter position. The distance is
 useful when dealing with, for example, raw audio samples because it allows
@@ -219,7 +219,7 @@
 </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="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> before pushing it into the adapter if you still want to
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> before pushing it into the adapter if you still want to
 access the buffer later. The adapter will never modify the data in the
 buffer pushed in it.
 </p>
@@ -272,7 +272,7 @@
 <div class="refsect2">
 <a name="gst-adapter-push"></a><h3>gst_adapter_push ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_adapter_push                    (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
 <p>
 Adds the data from <em class="parameter"><code>buf</code></em> to the data stored inside <em class="parameter"><code>adapter</code></em> and takes
 ownership of the buffer.
@@ -287,7 +287,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> to add to queue in the adapter. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> to add to queue in the adapter. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -303,13 +303,13 @@
 valid until the next function is called on the adapter.
 </p>
 <p>
-Note that setting the returned pointer as the data of a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is
+Note that setting the returned pointer as the data of a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is
 incorrect for general-purpose plugins. The reason is that if a downstream
 element stores the buffer so that it has access to it outside of the bounds
 of its chain function, the buffer will have an invalid data pointer after
 your element flushes the bytes. In that case you should use
 <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="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> malloc_data or the potentially more performant
+as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> malloc_data 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>
@@ -506,17 +506,17 @@
 <hr>
 <div class="refsect2">
 <a name="gst-adapter-take-buffer"></a><h3>gst_adapter_take_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_adapter_take_buffer             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_adapter_take_buffer             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);</pre>
 <p>
-Returns a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> bytes of the
+Returns a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> bytes of the
 <em class="parameter"><code>adapter</code></em>. The returned bytes will be flushed from the adapter.
 This function is potentially more performant than <a class="link" href="GstAdapter.html#gst-adapter-take" title="gst_adapter_take ()"><code class="function">gst_adapter_take()</code></a>
 since it can reuse the memory in pushed buffers by subbuffering
 or merging.
 </p>
 <p>
-Caller owns returned value. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> after usage.
+Caller owns returned value. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> after usage.
 </p>
 <p>
 Free-function: gst_buffer_unref
@@ -535,7 +535,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> of
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><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> bytes are not available. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -554,7 +554,7 @@
 performant because no memory should be copied.
 </p>
 <p>
-Caller owns returned list and contained buffers. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> each
+Caller owns returned list and contained buffers. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> each
 buffer in the list before freeing the list after usage.
 </p>
 <div class="variablelist"><table border="0">
@@ -582,7 +582,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-adapter-prev-pts"></a><h3>gst_adapter_prev_pts ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_pts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_pts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);</pre>
 <p>
 Get the pts that was before the current byte in the adapter. When
@@ -618,7 +618,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-adapter-prev-dts"></a><h3>gst_adapter_prev_dts ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_dts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_dts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);</pre>
 <p>
 Get the dts that was before the current byte in the adapter. When
diff --git a/docs/libs/html/GstBaseSink.html b/docs/libs/html/GstBaseSink.html
index 69d2451..5ff9147 100644
--- a/docs/libs/html/GstBaseSink.html
+++ b/docs/libs/html/GstBaseSink.html
@@ -35,7 +35,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstBaseSink.top_of_page"></a>GstBaseSink</span></h2>
-<p>GstBaseSink</p>
+<p>GstBaseSink — Base class for sink elements</p>
 </td>
 <td valign="top" align="right"></td>
 </tr></table></div>
@@ -49,15 +49,15 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSink.html#gst-base-sink-query-latency" title="gst_base_sink_query_latency ()">gst_base_sink_query_latency</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</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> *live</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> *upstream_live</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);
-<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-latency" title="gst_base_sink_get_latency ()">gst_base_sink_get_latency</a>           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-do-preroll" title="gst_base_sink_do_preroll ()">gst_base_sink_do_preroll</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()">gst_base_sink_wait_preroll</a>          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
-<a href="../gstreamer-1.0/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      <a class="link" href="GstBaseSink.html#gst-base-sink-wait-clock" title="gst_base_sink_wait_clock ()">gst_base_sink_wait_clock</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</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> *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>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-latency" title="gst_base_sink_get_latency ()">gst_base_sink_get_latency</a>           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-do-preroll" title="gst_base_sink_do_preroll ()">gst_base_sink_do_preroll</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()">gst_base_sink_wait_preroll</a>          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      <a class="link" href="GstBaseSink.html#gst-base-sink-wait-clock" title="gst_base_sink_wait_clock ()">gst_base_sink_wait_clock</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</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> time</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-sync" title="gst_base_sink_set_sync ()">gst_base_sink_set_sync</a>              (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</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> sync</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSink.html#gst-base-sink-get-sync" title="gst_base_sink_get_sync ()">gst_base_sink_get_sync</a>              (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
@@ -71,12 +71,12 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSink.html#gst-base-sink-is-async-enabled" title="gst_base_sink_is_async_enabled ()">gst_base_sink_is_async_enabled</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-ts-offset" title="gst_base_sink_set_ts_offset ()">gst_base_sink_set_ts_offset</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);
-<a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    <a class="link" href="GstBaseSink.html#gst-base-sink-get-ts-offset" title="gst_base_sink_get_ts_offset ()">gst_base_sink_get_ts_offset</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    <a class="link" href="GstBaseSink.html#gst-base-sink-get-ts-offset" title="gst_base_sink_get_ts_offset ()">gst_base_sink_get_ts_offset</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-render-delay" title="gst_base_sink_set_render_delay ()">gst_base_sink_set_render_delay</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> delay</code></em>);
-<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-render-delay" title="gst_base_sink_get_render_delay ()">gst_base_sink_get_render_delay</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         <a class="link" href="GstBaseSink.html#gst-base-sink-get-last-sample" title="gst_base_sink_get_last_sample ()">gst_base_sink_get_last_sample</a>       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</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> delay</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-render-delay" title="gst_base_sink_get_render_delay ()">gst_base_sink_get_render_delay</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         <a class="link" href="GstBaseSink.html#gst-base-sink-get-last-sample" title="gst_base_sink_get_last_sample ()">gst_base_sink_get_last_sample</a>       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-blocksize" title="gst_base_sink_set_blocksize ()">gst_base_sink_set_blocksize</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> blocksize</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstBaseSink.html#gst-base-sink-get-blocksize" title="gst_base_sink_get_blocksize ()">gst_base_sink_get_blocksize</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
@@ -99,8 +99,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstBaseSink
 </pre>
 </div>
@@ -110,7 +110,7 @@
   "<a class="link" href="GstBaseSink.html#GstBaseSink--async" title='The "async" property'>async</a>"                    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--blocksize" title='The "blocksize" property'>blocksize</a>"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--enable-last-sample" title='The "enable-last-sample" property'>enable-last-sample</a>"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
-  "<a class="link" href="GstBaseSink.html#GstBaseSink--last-sample" title='The "last-sample" property'>last-sample</a>"              <a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read
+  "<a class="link" href="GstBaseSink.html#GstBaseSink--last-sample" title='The "last-sample" property'>last-sample</a>"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read
   "<a class="link" href="GstBaseSink.html#GstBaseSink--max-lateness" title='The "max-lateness" property'>max-lateness</a>"             <span class="type">gint64</span>                : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--qos" title='The "qos" property'>qos</a>"                      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--render-delay" title='The "render-delay" property'>render-delay</a>"             <span class="type">guint64</span>               : Read / Write
@@ -121,6 +121,166 @@
 </div>
 <div class="refsect1">
 <a name="GstBaseSink.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> is the base class for sink elements in GStreamer, such as
+xvimagesink or filesink. It is a layer on top of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> that provides a
+simplified interface to plugin writers. <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> handles many details
+for you, for example: preroll, clock synchronization, state changes,
+activation in push or pull mode, and queries.
+</p>
+<p>
+In most cases, when writing sink elements, there is no need to implement
+class methods from <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> or to set functions on pads, because the
+<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> infrastructure should be sufficient.
+</p>
+<p>
+<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> provides support for exactly one sink pad, which should be
+named "sink". A sink implementation (subclass of <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a>) should
+install a pad template in its class_init function, like so:
+</p>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16</pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
+<span class="function">my_element_class_init</span> <span class="gtkdoc opt">(</span>GstMyElementClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span>
+<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">// sinktemplate should be a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate">GstStaticPadTemplate</a> with direction</span>
+  <span class="gtkdoc slc">// <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-PAD-SINK:CAPS">GST_PAD_SINK</a> 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>
+
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-set-static-metadata">gst_element_class_set_static_metadata</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
+      <span class="string">&quot;Sink name&quot;</span><span class="gtkdoc opt">,</span>
+      <span class="string">&quot;Sink&quot;</span><span class="gtkdoc opt">,</span>
+      <span class="string">&quot;My Sink element&quot;</span><span class="gtkdoc opt">,</span>
+      <span class="string">&quot;The author &lt;my.sink&#64;my.email&gt;&quot;</span><span class="gtkdoc opt">);</span>
+<span class="gtkdoc opt">}</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+<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
+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
+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
+called. Subclasses should minimally implement this method.
+</p>
+<p>
+Subclasses that synchronise on the clock in the <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a>
+method are supported as well. These classes typically receive a buffer in
+the render method and can then potentially block on the clock while
+rendering. A typical example is an audiosink.
+These subclasses can use <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()"><code class="function">gst_base_sink_wait_preroll()</code></a> to perform the
+blocking wait.
+</p>
+<p>
+Upon receiving the EOS event in the PLAYING state, <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will wait
+for the clock to reach the time indicated by the stop time of the last
+<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_NEWSEGMENT</span> 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.
+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
+should configure itself to process a specific media type.
+</p>
+<p>
+The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.start"><code class="function">GstBaseSinkClass.start()</code></a> and <a class="link" href="GstBaseSink.html#GstBaseSinkClass.stop"><code class="function">GstBaseSinkClass.stop()</code></a> virtual methods
+will be called when resources should be allocated. Any 
+<a class="link" href="GstBaseSink.html#GstBaseSinkClass.preroll"><code class="function">GstBaseSinkClass.preroll()</code></a>, <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> and
+<a class="link" href="GstBaseSink.html#GstBaseSinkClass.set-caps"><code class="function">GstBaseSinkClass.set_caps()</code></a> function will be called between the
+<a class="link" href="GstBaseSink.html#GstBaseSinkClass.start"><code class="function">GstBaseSinkClass.start()</code></a> and <a class="link" href="GstBaseSink.html#GstBaseSinkClass.stop"><code class="function">GstBaseSinkClass.stop()</code></a> calls.
+</p>
+<p>
+The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.event"><code class="function">GstBaseSinkClass.event()</code></a> virtual method will be called when an event is
+received by <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a>. Normally this method should only be overriden by
+very specific elements (such as file sinks) which need to handle the
+newsegment event specially.
+</p>
+<p>
+The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.unlock"><code class="function">GstBaseSinkClass.unlock()</code></a> method is called when the elements should
+unblock any blocking operations they perform in the
+<a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method. This is mostly useful when the
+<a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method performs a blocking write on a file
+descriptor, for example.
+</p>
+<p>
+The <a class="link" href="GstBaseSink.html#GstBaseSink--max-lateness" title='The "max-lateness" property'><span class="type">"max-lateness"</span></a> property affects how the sink deals with
+buffers that arrive too late in the sink. A buffer arrives too late in the
+sink when the presentation time (as a combination of the last segment, buffer
+timestamp and element base_time) plus the duration is before the current
+time of the clock.
+If the frame is later than max-lateness, the sink will drop the buffer
+without calling the render method.
+This feature is disabled if sync is disabled, the
+<a class="link" href="GstBaseSink.html#GstBaseSinkClass.get-times"><code class="function">GstBaseSinkClass.get_times()</code></a> method does not return a valid start time or
+max-lateness is set to -1 (the default).
+Subclasses can use <a class="link" href="GstBaseSink.html#gst-base-sink-set-max-lateness" title="gst_base_sink_set_max_lateness ()"><code class="function">gst_base_sink_set_max_lateness()</code></a> to configure the
+max-lateness value.
+</p>
+<p>
+The <a class="link" href="GstBaseSink.html#GstBaseSink--qos" title='The "qos" property'><span class="type">"qos"</span></a> property will enable the quality-of-service features of
+the basesink which gather statistics about the real-time performance of the
+clock synchronisation. For each buffer received in the sink, statistics are
+gathered and a QOS event is sent upstream with these numbers. This
+information can then be used by upstream elements to reduce their processing
+rate, for example.
+</p>
+<p>
+The <a class="link" href="GstBaseSink.html#GstBaseSink--async" title='The "async" property'><span class="type">"async"</span></a> property can be used to instruct the sink to never
+perform an ASYNC state change. This feature is mostly usable when dealing
+with non-synchronized streams or sparse streams.
+</p>
+<p>
+Last reviewed on 2007-08-29 (0.10.15)
+</p>
 </div>
 <div class="refsect1">
 <a name="GstBaseSink.details"></a><h2>Details</h2>
@@ -194,7 +354,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSinkClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSinkClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>Element parent class</td>
 </tr>
 <tr>
@@ -247,7 +407,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.query"></a>query</code></em> ()</span></p></td>
-<td>perform a <a href="../gstreamer-1.0/gstreamer-GstQuery.html#GstQuery"><span class="type">GstQuery</span></a> on the element.</td>
+<td>perform a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#GstQuery"><span class="type">GstQuery</span></a> on the element.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.event"></a>event</code></em> ()</span></p></td>
@@ -292,8 +452,8 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_base_sink_query_latency         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</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> *live</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> *upstream_live</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
+                                                         <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 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> is configured to
@@ -345,7 +505,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-latency"></a><h3>gst_base_sink_get_latency ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_latency           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_latency           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the currently configured latency.
 </p>
@@ -366,8 +526,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-do-preroll"></a><h3>gst_base_sink_do_preroll ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_do_preroll            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);</pre>
+<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_base_sink_do_preroll            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);</pre>
 <p>
 If the <em class="parameter"><code>sink</code></em> spawns its own thread for pulling buffers from upstream it
 should call this method after it has pulled a buffer. If the element needed
@@ -392,7 +552,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if the preroll completed and processing can
+<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
 continue. Any other return value should be returned from the render vmethod.</td>
 </tr>
 </tbody>
@@ -401,7 +561,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-wait-preroll"></a><h3>gst_base_sink_wait_preroll ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_wait_preroll          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<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_base_sink_wait_preroll          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 If the <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method performs its own synchronisation
 against the clock it must unblock when going from PLAYING to the PAUSED state
@@ -409,9 +569,9 @@
 </p>
 <p>
 This function will block until a state change to PLAYING happens (in which
-case this function returns <a href="../gstreamer-1.0/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"><span class="type">GST_FLOW_OK</span></a>) or the processing must be stopped due
 to a state change to READY or a FLUSH event (in which case this function
-returns <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
+returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
 </p>
 <p>
 This function should only be called with the PREROLL_LOCK held, like in the
@@ -427,7 +587,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if the preroll completed and processing can
+<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
 continue. Any other return value should be returned from the render vmethod.</td>
 </tr>
 </tbody>
@@ -436,17 +596,17 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-wait-clock"></a><h3>gst_base_sink_wait_clock ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      gst_base_sink_wait_clock            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      gst_base_sink_wait_clock            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</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> time</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);</pre>
 <p>
 This function will block until <em class="parameter"><code>time</code></em> 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 sycnhronisation is done and <a href="../gstreamer-1.0/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> is
+If <em class="parameter"><code>time</code></em> is not valid, no sycnhronisation 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. Likewise, if synchronisation is disabled in the element or there
-is no clock, no synchronisation is done and <a href="../gstreamer-1.0/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> is returned.
+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>
 <p>
 This function should only be called with the PREROLL_LOCK held, like when
@@ -477,7 +637,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td><a href="../gstreamer-1.0/GstClock.html#GstClockReturn"><span class="type">GstClockReturn</span></a></td>
+<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="type">GstClockReturn</span></a></td>
 </tr>
 </tbody>
 </table></div>
@@ -675,7 +835,7 @@
 <div class="refsect2">
 <a name="gst-base-sink-set-ts-offset"></a><h3>gst_base_sink_set_ts_offset ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_sink_set_ts_offset         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);</pre>
 <p>
 Adjust the synchronisation of <em class="parameter"><code>sink</code></em> with <em class="parameter"><code>offset</code></em>. A negative value will
 render buffers earlier than their timestamp. A positive value will delay
@@ -699,7 +859,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-ts-offset"></a><h3>gst_base_sink_get_ts_offset ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    gst_base_sink_get_ts_offset         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    gst_base_sink_get_ts_offset         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the synchronisation offset of <em class="parameter"><code>sink</code></em>.
 </p>
@@ -721,7 +881,7 @@
 <div class="refsect2">
 <a name="gst-base-sink-set-render-delay"></a><h3>gst_base_sink_set_render_delay ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_sink_set_render_delay      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> delay</code></em>);</pre>
+                                                         <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> delay</code></em>);</pre>
 <p>
 Set the render delay in <em class="parameter"><code>sink</code></em> to <em class="parameter"><code>delay</code></em>. The render delay is the time
 between actual rendering of a buffer and its synchronisation time. Some
@@ -753,7 +913,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-render-delay"></a><h3>gst_base_sink_get_render_delay ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_render_delay      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_render_delay      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the render delay of <em class="parameter"><code>sink</code></em>. see <a class="link" href="GstBaseSink.html#gst-base-sink-set-render-delay" title="gst_base_sink_set_render_delay ()"><code class="function">gst_base_sink_set_render_delay()</code></a> for more
 information about the render delay.
@@ -776,13 +936,13 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-last-sample"></a><h3>gst_base_sink_get_last_sample ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         gst_base_sink_get_last_sample       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         gst_base_sink_get_last_sample       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the last sample that arrived in the sink and was used for preroll or for
 rendering. This property can be used to generate thumbnails.
 </p>
 <p>
-The <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> on the sample can be used to determine the type of the buffer.
+The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> on the sample can be used to determine the type of the buffer.
 </p>
 <p>
 Free-function: gst_sample_unref
@@ -796,7 +956,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>. <a href="../gstreamer-1.0/gstreamer-GstSample.html#gst-sample-unref"><code class="function">gst_sample_unref()</code></a> after usage.
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-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
 or when the sink is not in PAUSED or PLAYING. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
@@ -905,7 +1065,7 @@
 <pre class="programlisting">#define GST_BASE_SINK_PAD(obj)          (GST_BASE_SINK_CAST (obj)-&gt;sinkpad)
 </pre>
 <p>
-Gives the pointer to the <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1000,7 +1160,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstBaseSink--last-sample"></a><h3>The <code class="literal">"last-sample"</code> property</h3>
-<pre class="programlisting">  "last-sample"              <a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read</pre>
+<pre class="programlisting">  "last-sample"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read</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
@@ -1063,6 +1223,10 @@
 <p>Default value: 0</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstBaseSink.see-also"></a><h2>See Also</h2>
+<a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a>, <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a>
+</div>
 </div>
 <div class="footer">
 <hr>
diff --git a/docs/libs/html/GstBaseSrc.html b/docs/libs/html/GstBaseSrc.html
index b625884..87d8910 100644
--- a/docs/libs/html/GstBaseSrc.html
+++ b/docs/libs/html/GstBaseSrc.html
@@ -47,16 +47,16 @@
 struct              <a class="link" href="GstBaseSrc.html#GstBaseSrc-struct" title="struct GstBaseSrc">GstBaseSrc</a>;
 struct              <a class="link" href="GstBaseSrc.html#GstBaseSrcClass" title="struct GstBaseSrcClass">GstBaseSrcClass</a>;
 enum                <a class="link" href="GstBaseSrc.html#GstBaseSrcFlags" title="enum GstBaseSrcFlags">GstBaseSrcFlags</a>;
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSrc.html#gst-base-src-wait-playing" title="gst_base_src_wait_playing ()">gst_base_src_wait_playing</a>           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSrc.html#gst-base-src-wait-playing" title="gst_base_src_wait_playing ()">gst_base_src_wait_playing</a>           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSrc.html#gst-base-src-is-live" title="gst_base_src_is_live ()">gst_base_src_is_live</a>                (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-set-live" title="gst_base_src_set_live ()">gst_base_src_set_live</a>               (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</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> live</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-set-format" title="gst_base_src_set_format ()">gst_base_src_set_format</a>             (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSrc.html#gst-base-src-query-latency" title="gst_base_src_query_latency ()">gst_base_src_query_latency</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</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> *live</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_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> *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>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstBaseSrc.html#gst-base-src-get-blocksize" title="gst_base_src_get_blocksize ()">gst_base_src_get_blocksize</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-set-blocksize" title="gst_base_src_set_blocksize ()">gst_base_src_set_blocksize</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> blocksize</code></em>);
@@ -70,11 +70,11 @@
                                                          <em class="parameter"><code><span class="type">gint64</span> stop</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> position</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSrc.html#gst-base-src-set-caps" title="gst_base_src_set_caps ()">gst_base_src_set_caps</a>               (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-get-allocator" title="gst_base_src_get_allocator ()">gst_base_src_get_allocator</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     <a class="link" href="GstBaseSrc.html#gst-base-src-get-buffer-pool" title="gst_base_src_get_buffer_pool ()">gst_base_src_get_buffer_pool</a>        (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     <a class="link" href="GstBaseSrc.html#gst-base-src-get-buffer-pool" title="gst_base_src_get_buffer_pool ()">gst_base_src_get_buffer_pool</a>        (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 #define             <a class="link" href="GstBaseSrc.html#GST-BASE-SRC-PAD:CAPS" title="GST_BASE_SRC_PAD()">GST_BASE_SRC_PAD</a>                    (obj)
 </pre>
 </div>
@@ -83,8 +83,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstBaseSrc
                            +----<a class="link" href="GstPushSrc.html" title="GstPushSrc">GstPushSrc</a>
 </pre>
@@ -112,17 +112,17 @@
 <p>
 </p>
 <p>
-The source can be configured to operate in any <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> with the
+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="../gstreamer-1.0/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> and any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GST-EVENT-NEWSEGMENT:CAPS"><span class="type">GST_EVENT_NEWSEGMENT</span></a>
-events. The default format for <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>.
+the format of the internal <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> and any <span class="type">GST_EVENT_NEWSEGMENT</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>
 <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" type="disc">
-<li class="listitem"><p>The format is set to <a href="../gstreamer-1.0/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"><span class="type">GST_FORMAT_BYTES</span></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>
@@ -131,7 +131,7 @@
 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="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>:
+<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>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem"><p>
@@ -168,7 +168,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="../gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS"><span class="type">GST_STATE_CHANGE_NO_PREROLL</span></a>.
+<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>
 <p>
 A typical live source will timestamp the buffers it creates with the
@@ -218,17 +218,25 @@
 8
 9
 10
-11</pre></td>
+11
+12
+13
+14
+15</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
 <span class="function">my_element_class_init</span> <span class="gtkdoc opt">(</span>GstMyElementClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span>
 <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 <a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate">GstStaticPadTemplate</a> with direction</span>
-  <span class="gtkdoc slc">// <a href="../gstreamer-1.0/GstPad.html#GST-PAD-SRC:CAPS">GST_PAD_SRC</a> and name &quot;src&quot;</span>
-  <span class="function"><a href="../gstreamer-1.0/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="../gstreamer-1.0/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>
-  <span class="gtkdoc slc">// see <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#GstElementDetails">GstElementDetails</a></span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-set-details">gst_element_class_set_details</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">, &amp;</span>details<span class="gtkdoc opt">);</span>
+  <span class="gtkdoc slc">// srctemplate should be a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate">GstStaticPadTemplate</a> with direction</span>
+  <span class="gtkdoc slc">// <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-PAD-SRC:CAPS">GST_PAD_SRC</a> 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>
+
+  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-set-static-metadata">gst_element_class_set_static_metadata</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
+     <span class="string">&quot;Source name&quot;</span><span class="gtkdoc opt">,</span>
+     <span class="string">&quot;Source&quot;</span><span class="gtkdoc opt">,</span>
+     <span class="string">&quot;My Source element&quot;</span><span class="gtkdoc opt">,</span>
+     <span class="string">&quot;The author &lt;my.sink&#64;my.email&gt;&quot;</span><span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
     </tbody>
@@ -240,7 +248,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5184896"></a><h3>Controlled shutdown of live sources in applications</h3>
+<a name="idp34470512"></a><h3>Controlled shutdown of live sources in applications</h3>
 <p>
 Applications that record from a live source may want to stop recording
 in a controlled way, so that the recording is stopped, but the data
@@ -254,8 +262,8 @@
 <p>
 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="../gstreamer-1.0/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
-with the <a href="../gstreamer-1.0/GstElement.html#gst-element-send-event"><code class="function">gst_element_send_event()</code></a> function on the element or its parent bin.
+<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
+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.
 </p>
 <p>
 After the EOS has been sent to the element, the application should wait for
@@ -354,7 +362,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSrcClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSrcClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>Element parent class</td>
 </tr>
 <tr>
@@ -470,7 +478,7 @@
 } GstBaseSrcFlags;
 </pre>
 <p>
-The <a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> flags that a basesrc element may have.
+The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> flags that a basesrc element may have.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -496,7 +504,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-src-wait-playing"></a><h3>gst_base_src_wait_playing ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_src_wait_playing           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
+<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_base_src_wait_playing           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
 <p>
 If the <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.create"><code class="function">GstBaseSrcClass.create()</code></a> method performs its own synchronisation
 against the clock it must unblock when going from PLAYING to the PAUSED state
@@ -504,9 +512,9 @@
 </p>
 <p>
 This function will block until a state change to PLAYING happens (in which
-case this function returns <a href="../gstreamer-1.0/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"><span class="type">GST_FLOW_OK</span></a>) or the processing must be stopped due
 to a state change to READY or a FLUSH event (in which case this function
-returns <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
+returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -518,7 +526,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if <em class="parameter"><code>src</code></em> is PLAYING and processing can
+<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> is PLAYING and processing can
 continue. Any other return value should be returned from the create vmethod.</td>
 </tr>
 </tbody>
@@ -580,7 +588,7 @@
 <div class="refsect2">
 <a name="gst-base-src-set-format"></a><h3>gst_base_src_set_format ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_src_set_format             (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
 <p>
 Sets the default format of the source. This will be the format used
 for sending NEW_SEGMENT events and for performing seeks.
@@ -590,7 +598,7 @@
 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>
 <p>
-This function must only be called in states &lt; <a href="../gstreamer-1.0/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a>.
+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="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -611,8 +619,8 @@
 <a name="gst-base-src-query-latency"></a><h3>gst_base_src_query_latency ()</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_base_src_query_latency          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</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> *live</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
+                                                         <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> is
 configured as a live source. <em class="parameter"><code>min_latency</code></em> will be set to the difference
@@ -797,8 +805,8 @@
 <td>Stop value for the new segment</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
-<td>The position value for the new segent</td>
+<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
+<td>The new time value for the start of the new segent</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
@@ -812,7 +820,7 @@
 <div class="refsect2">
 <a name="gst-base-src-set-caps"></a><h3>gst_base_src_set_caps ()</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_base_src_set_caps               (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
 <p>
 Set new caps on the basesrc source pad.
 </p>
@@ -826,7 +834,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>
 </td>
 </tr>
 <tr>
@@ -841,8 +849,8 @@
 <div class="refsect2">
 <a name="gst-base-src-get-allocator"></a><h3>gst_base_src_get_allocator ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_src_get_allocator          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Lets <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
 used by the base class and its <em class="parameter"><code>params</code></em>.
@@ -860,7 +868,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/GstAllocator.html"><span class="type">GstAllocator</span></a>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a>
 used. <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>
@@ -876,7 +884,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-src-get-buffer-pool"></a><h3>gst_base_src_get_buffer_pool ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     gst_base_src_get_buffer_pool        (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     gst_base_src_get_buffer_pool        (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -887,7 +895,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the instance of the <a href="../gstreamer-1.0/gstreamer-GstBufferPool.html#GstBufferPool"><span class="type">GstBufferPool</span></a> used
+<td>the instance of the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="type">GstBufferPool</span></a> used
 by the src; free it after use it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -900,7 +908,7 @@
 <pre class="programlisting">#define GST_BASE_SRC_PAD(obj)                 (GST_BASE_SRC_CAST (obj)-&gt;srcpad)
 </pre>
 <p>
-Gives the pointer to the <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
diff --git a/docs/libs/html/GstBaseTransform.html b/docs/libs/html/GstBaseTransform.html
index 84f503f..05f8e35 100644
--- a/docs/libs/html/GstBaseTransform.html
+++ b/docs/libs/html/GstBaseTransform.html
@@ -49,6 +49,9 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseTransform.html#gst-base-transform-is-passthrough" title="gst_base_transform_is_passthrough ()">gst_base_transform_is_passthrough</a>   (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-set-passthrough" title="gst_base_transform_set_passthrough ()">gst_base_transform_set_passthrough</a>  (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</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> passthrough</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-set-prefer-passthrough" title="gst_base_transform_set_prefer_passthrough ()">gst_base_transform_set_prefer_passthrough</a>
+                                                        (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</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> prefer_passthrough</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseTransform.html#gst-base-transform-is-in-place" title="gst_base_transform_is_in_place ()">gst_base_transform_is_in_place</a>      (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-set-in-place" title="gst_base_transform_set_in_place ()">gst_base_transform_set_in_place</a>     (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</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> in_place</code></em>);
@@ -57,14 +60,14 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-update-qos" title="gst_base_transform_update_qos ()">gst_base_transform_update_qos</a>       (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</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> timestamp</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-set-gap-aware" title="gst_base_transform_set_gap_aware ()">gst_base_transform_set_gap_aware</a>    (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</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> gap_aware</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-get-allocator" title="gst_base_transform_get_allocator ()">gst_base_transform_get_allocator</a>    (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     <a class="link" href="GstBaseTransform.html#gst-base-transform-get-buffer-pool" title="gst_base_transform_get_buffer_pool ()">gst_base_transform_get_buffer_pool</a>  (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     <a class="link" href="GstBaseTransform.html#gst-base-transform-get-buffer-pool" title="gst_base_transform_get_buffer_pool ()">gst_base_transform_get_buffer_pool</a>  (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);
 #define             <a class="link" href="GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-NAME:CAPS" title="GST_BASE_TRANSFORM_SINK_NAME">GST_BASE_TRANSFORM_SINK_NAME</a>
 #define             <a class="link" href="GstBaseTransform.html#GST-BASE-TRANSFORM-SRC-NAME:CAPS" title="GST_BASE_TRANSFORM_SRC_NAME">GST_BASE_TRANSFORM_SRC_NAME</a>
 #define             <a class="link" href="GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-PAD:CAPS" title="GST_BASE_TRANSFORM_SINK_PAD()">GST_BASE_TRANSFORM_SINK_PAD</a>         (obj)
@@ -77,8 +80,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstBaseTransform
 </pre>
 </div>
@@ -115,7 +118,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5388448"></a><h3>Use Cases</h3>
+<a name="idp35617104"></a><h3>Use Cases</h3>
 <p>
 </p>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -255,7 +258,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp6912544"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
+<a name="idp38847872"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
 <p>
 </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -392,7 +395,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseTransformClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseTransformClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>Element parent class</td>
 </tr>
 <tr>
@@ -607,6 +610,43 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-base-transform-set-prefer-passthrough"></a><h3>gst_base_transform_set_prefer_passthrough ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_base_transform_set_prefer_passthrough
+                                                        (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</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> prefer_passthrough</code></em>);</pre>
+<p>
+If <em class="parameter"><code>prefer_passthrough</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> (the default), <em class="parameter"><code>trans</code></em> will check and
+prefer passthrough caps from the list of caps returned by the
+transform_caps vmethod.
+</p>
+<p>
+If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, the element must order the caps returned from the
+transform_caps function in such a way that the prefered format is
+first in the list. This can be interesting for transforms that can do
+passthrough transforms but prefer to do something else, like a
+capsfilter.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
+<td>a <a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>prefer_passthrough</code></em> :</span></p></td>
+<td>New state</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.0.1</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-base-transform-is-in-place"></a><h3>gst_base_transform_is_in_place ()</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_base_transform_is_in_place      (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);</pre>
 <p>
@@ -714,8 +754,8 @@
 <a name="gst-base-transform-update-qos"></a><h3>gst_base_transform_update_qos ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_transform_update_qos       (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</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> timestamp</code></em>);</pre>
 <p>
 Set the QoS parameters in the transform. This function is called internally
 when a QOS event is received but subclasses can provide custom information
@@ -755,7 +795,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> gap_aware</code></em>);</pre>
 <p>
 If <em class="parameter"><code>gap_aware</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (the default), output buffers will have the
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS"><code class="literal">GST_BUFFER_FLAG_GAP</code></a> flag unset.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS"><code class="literal">GST_BUFFER_FLAG_GAP</code></a> flag unset.
 </p>
 <p>
 If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the element must handle output buffers with this flag set
@@ -784,8 +824,8 @@
 <div class="refsect2">
 <a name="gst-base-transform-get-allocator"></a><h3>gst_base_transform_get_allocator ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_transform_get_allocator    (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Lets <a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
 used by the base class and its <em class="parameter"><code>params</code></em>.
@@ -803,7 +843,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/GstAllocator.html"><span class="type">GstAllocator</span></a>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a>
 used. <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>
@@ -819,7 +859,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-transform-get-buffer-pool"></a><h3>gst_base_transform_get_buffer_pool ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     gst_base_transform_get_buffer_pool  (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> *     gst_base_transform_get_buffer_pool  (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);</pre>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -830,7 +870,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the instance of the <a href="../gstreamer-1.0/gstreamer-GstBufferPool.html#GstBufferPool"><span class="type">GstBufferPool</span></a> used
+<td>the instance of the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="type">GstBufferPool</span></a> used
 by <em class="parameter"><code>trans</code></em>; free it after use it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -861,7 +901,7 @@
 <pre class="programlisting">#define GST_BASE_TRANSFORM_SINK_PAD(obj) (GST_BASE_TRANSFORM_CAST (obj)-&gt;sinkpad)
 </pre>
 <p>
-Gives the pointer to the sink <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -877,7 +917,7 @@
 <pre class="programlisting">#define GST_BASE_TRANSFORM_SRC_PAD(obj)		(GST_BASE_TRANSFORM_CAST (obj)-&gt;srcpad)
 </pre>
 <p>
-Gives the pointer to the source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -893,7 +933,7 @@
 <pre class="programlisting">#define GST_BASE_TRANSFORM_FLOW_DROPPED   GST_FLOW_CUSTOM_SUCCESS
 </pre>
 <p>
-A <a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from transform and transform_ip to
+A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from transform and transform_ip to
 indicate that no output buffer was generated.
 </p>
 </div>
diff --git a/docs/libs/html/GstCollectPads.html b/docs/libs/html/GstCollectPads.html
index 0530657..8e5c47e 100644
--- a/docs/libs/html/GstCollectPads.html
+++ b/docs/libs/html/GstCollectPads.html
@@ -45,26 +45,26 @@
 struct              <a class="link" href="GstCollectPads.html#GstCollectPads-struct" title="struct GstCollectPads">GstCollectPads</a>;
 struct              <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData">GstCollectData</a>;
 <span class="returnvalue">void</span>                (<a class="link" href="GstCollectPads.html#GstCollectDataDestroyNotify" title="GstCollectDataDestroyNotify ()">*GstCollectDataDestroyNotify</a>)      (<em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsBufferFunction" title="GstCollectPadsBufferFunction ()">*GstCollectPadsBufferFunction</a>)     (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsBufferFunction" title="GstCollectPadsBufferFunction ()">*GstCollectPadsBufferFunction</a>)     (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><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>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                (<a class="link" href="GstCollectPads.html#GstCollectPadsCompareFunction" title="GstCollectPadsCompareFunction ()">*GstCollectPadsCompareFunction</a>)    (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data1</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp1</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> timestamp1</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data2</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp2</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> timestamp2</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>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="GstCollectPads.html#GstCollectPadsEventFunction" title="GstCollectPadsEventFunction ()">*GstCollectPadsEventFunction</a>)      (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *pad</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><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#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsClipFunction" title="GstCollectPadsClipFunction ()">*GstCollectPadsClipFunction</a>)       (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsClipFunction" title="GstCollectPadsClipFunction ()">*GstCollectPadsClipFunction</a>)       (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</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>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsFunction" title="GstCollectPadsFunction ()">*GstCollectPadsFunction</a>)           (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsFunction" title="GstCollectPadsFunction ()">*GstCollectPadsFunction</a>)           (<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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 enum                <a class="link" href="GstCollectPads.html#GstCollectPadsStateFlags" title="enum GstCollectPadsStateFlags">GstCollectPadsStateFlags</a>;
 #define             <a class="link" href="GstCollectPads.html#GST-COLLECT-PADS-STATE:CAPS" title="GST_COLLECT_PADS_STATE()">GST_COLLECT_PADS_STATE</a>              (data)
@@ -79,26 +79,26 @@
 #define             <a class="link" href="GstCollectPads.html#GST-COLLECT-PADS-STREAM-UNLOCK:CAPS" title="GST_COLLECT_PADS_STREAM_UNLOCK()">GST_COLLECT_PADS_STREAM_UNLOCK</a>      (pads)
 <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="returnvalue">GstCollectPads</span></a> *    <a class="link" href="GstCollectPads.html#gst-collect-pads-new" title="gst_collect_pads_new ()">gst_collect_pads_new</a>                (<em class="parameter"><code><span class="type">void</span></code></em>);
 <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="returnvalue">GstCollectData</span></a> *    <a class="link" href="GstCollectPads.html#gst-collect-pads-add-pad" title="gst_collect_pads_add_pad ()">gst_collect_pads_add_pad</a>            (<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="../gstreamer-1.0/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/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectDataDestroyNotify" title="GstCollectDataDestroyNotify ()"><span class="type">GstCollectDataDestroyNotify</span></a> destroy_notify</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> lock</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstCollectPads.html#gst-collect-pads-remove-pad" title="gst_collect_pads_remove_pad ()">gst_collect_pads_remove_pad</a>         (<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="../gstreamer-1.0/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/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstCollectPads.html#gst-collect-pads-start" title="gst_collect_pads_start ()">gst_collect_pads_start</a>              (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstCollectPads.html#gst-collect-pads-stop" title="gst_collect_pads_stop ()">gst_collect_pads_stop</a>               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstCollectPads.html#gst-collect-pads-available" title="gst_collect_pads_available ()">gst_collect_pads_available</a>          (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstCollectPads.html#gst-collect-pads-flush" title="gst_collect_pads_flush ()">gst_collect_pads_flush</a>              (<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 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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()">gst_collect_pads_peek</a>               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()">gst_collect_pads_peek</a>               (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-pop" title="gst_collect_pads_pop ()">gst_collect_pads_pop</a>                (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-pop" title="gst_collect_pads_pop ()">gst_collect_pads_pop</a>                (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-read-buffer" title="gst_collect_pads_read_buffer ()">gst_collect_pads_read_buffer</a>        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-read-buffer" title="gst_collect_pads_read_buffer ()">gst_collect_pads_read_buffer</a>        (<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 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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-take-buffer" title="gst_collect_pads_take_buffer ()">gst_collect_pads_take_buffer</a>        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-take-buffer" title="gst_collect_pads_take_buffer ()">gst_collect_pads_take_buffer</a>        (<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 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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstCollectPads.html#gst-collect-pads-set-buffer-function" title="gst_collect_pads_set_buffer_function ()">gst_collect_pads_set_buffer_function</a>
@@ -130,7 +130,7 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
                +----GstCollectPads
 </pre>
 </div>
@@ -168,7 +168,7 @@
   </p></li>
 <li class="listitem"><p>
     Data can also be dequeued in byte units using the <a class="link" href="GstCollectPads.html#gst-collect-pads-available" title="gst_collect_pads_available ()"><code class="function">gst_collect_pads_available()</code></a>,
-    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-read"><code class="function">gst_collect_pads_read()</code></a> and <a class="link" href="GstCollectPads.html#gst-collect-pads-flush" title="gst_collect_pads_flush ()"><code class="function">gst_collect_pads_flush()</code></a> calls.
+    <code class="function">gst_collect_pads_read()</code> and <a class="link" href="GstCollectPads.html#gst-collect-pads-flush" title="gst_collect_pads_flush ()"><code class="function">gst_collect_pads_flush()</code></a> calls.
   </p></li>
 <li class="listitem"><p>
     Elements should call <a class="link" href="GstCollectPads.html#gst-collect-pads-start" title="gst_collect_pads_start ()"><code class="function">gst_collect_pads_start()</code></a> and <a class="link" href="GstCollectPads.html#gst-collect-pads-stop" title="gst_collect_pads_stop ()"><code class="function">gst_collect_pads_stop()</code></a> in
@@ -178,8 +178,8 @@
     no pad is blocked and the element can finish streaming.
   </p></li>
 <li class="listitem"><p>
-    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-collect"><code class="function">gst_collect_pads_collect()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-collect-range"><code class="function">gst_collect_pads_collect_range()</code></a> can be used by
-    elements that start a <a href="../gstreamer-1.0/GstTask.html"><span class="type">GstTask</span></a> to drive the collect_pads. This feature is however
+    <code class="function">gst_collect_pads_collect()</code> and <code class="function">gst_collect_pads_collect_range()</code> can be used by
+    elements that start a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTask.html"><span class="type">GstTask</span></a> to drive the collect_pads. This feature is however
     not yet implemented.
   </p></li>
 <li class="listitem"><p>
@@ -239,12 +239,12 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *<em class="structfield"><code><a name="GstCollectData.pad"></a>pad</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *<em class="structfield"><code><a name="GstCollectData.pad"></a>pad</code></em>;</span></p></td>
 <td>
-<a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> managed by this data</td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> managed by this data</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstCollectData.buffer"></a>buffer</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstCollectData.buffer"></a>buffer</code></em>;</span></p></td>
 <td>currently queued buffer.</td>
 </tr>
 <tr>
@@ -252,7 +252,7 @@
 <td>position in the buffer</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstCollectData.segment"></a>segment</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstCollectData.segment"></a>segment</code></em>;</span></p></td>
 <td>last segment received.</td>
 </tr>
 </tbody>
@@ -278,9 +278,9 @@
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsBufferFunction"></a><h3>GstCollectPadsBufferFunction ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsBufferFunction)     (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsBufferFunction)     (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><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.
@@ -300,7 +300,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
 </td>
 </tr>
 <tr>
@@ -311,7 +311,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</td>
+<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</td>
 </tr>
 </tbody>
 </table></div>
@@ -321,9 +321,9 @@
 <a name="GstCollectPadsCompareFunction"></a><h3>GstCollectPadsCompareFunction ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                (*GstCollectPadsCompareFunction)    (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data1</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp1</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> timestamp1</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data2</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp2</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> timestamp2</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 for comparing two timestamps of buffers or newsegments collected on one pad.
@@ -372,7 +372,7 @@
 <a name="GstCollectPadsEventFunction"></a><h3>GstCollectPadsEventFunction ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GstCollectPadsEventFunction)      (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *pad</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><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#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will be called while processing an event. It takes
@@ -389,11 +389,11 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> that received an event</td>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> that received an event</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> received</td>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> received</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
@@ -411,10 +411,10 @@
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsClipFunction"></a><h3>GstCollectPadsClipFunction ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsClipFunction)       (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsClipFunction)       (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</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 <em class="parameter"><code>inbuffer</code></em> is received on the pad managed
@@ -443,12 +443,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>inbuffer</code></em> :</span></p></td>
-<td>the input <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
+<td>the input <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>outbuffer</code></em> :</span></p></td>
-<td>the output <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
+<td>the output <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
 </td>
 </tr>
 <tr>
@@ -457,7 +457,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that corresponds to the result of clipping.</td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that corresponds to the result of clipping.</td>
 </tr>
 </tbody>
 </table></div>
@@ -465,7 +465,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsFunction"></a><h3>GstCollectPadsFunction ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsFunction)           (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsFunction)           (<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://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 all pads have received data.
@@ -485,7 +485,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</td>
+<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</td>
 </tr>
 </tbody>
 </table></div>
@@ -695,7 +695,7 @@
 <div class="refsect2">
 <a name="gst-collect-pads-add-pad"></a><h3>gst_collect_pads_add_pad ()</h3>
 <pre class="programlisting"><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="returnvalue">GstCollectData</span></a> *    gst_collect_pads_add_pad            (<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="../gstreamer-1.0/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/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectDataDestroyNotify" title="GstCollectDataDestroyNotify ()"><span class="type">GstCollectDataDestroyNotify</span></a> destroy_notify</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> lock</code></em>);</pre>
@@ -768,7 +768,7 @@
 <div class="refsect2">
 <a name="gst-collect-pads-remove-pad"></a><h3>gst_collect_pads_remove_pad ()</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_collect_pads_remove_pad         (<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="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+                                                         <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>
 Remove a pad from the collection of collect pads. This function will also
 free the <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> and all the resources that were allocated with
@@ -910,7 +910,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-peek"></a><h3>gst_collect_pads_peek ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_peek               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_peek               (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);</pre>
 <p>
 Peek at the buffer currently queued in <em class="parameter"><code>data</code></em>. This function
@@ -942,7 +942,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-pop"></a><h3>gst_collect_pads_pop ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_pop                (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_pop                (<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 class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);</pre>
 <p>
 Pop the buffer currently queued in <em class="parameter"><code>data</code></em>. This function
@@ -975,7 +975,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-read-buffer"></a><h3>gst_collect_pads_read_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_read_buffer        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_read_buffer        (<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 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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
 <p>
@@ -1016,7 +1016,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-take-buffer"></a><h3>gst_collect_pads_take_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_take_buffer        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_take_buffer        (<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 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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
 <p>
diff --git a/docs/libs/html/GstInterpolationControlSource.html b/docs/libs/html/GstInterpolationControlSource.html
index b8244c9..2b865b6 100644
--- a/docs/libs/html/GstInterpolationControlSource.html
+++ b/docs/libs/html/GstInterpolationControlSource.html
@@ -46,7 +46,7 @@
 
 struct              <a class="link" href="GstInterpolationControlSource.html#GstInterpolationControlSource-struct" title="struct GstInterpolationControlSource">GstInterpolationControlSource</a>;
 enum                <a class="link" href="GstInterpolationControlSource.html#GstInterpolationMode" title="enum GstInterpolationMode">GstInterpolationMode</a>;
-<a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstInterpolationControlSource.html#gst-interpolation-control-source-new" title="gst_interpolation_control_source_new ()">gst_interpolation_control_source_new</a>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstInterpolationControlSource.html#gst-interpolation-control-source-new" title="gst_interpolation_control_source_new ()">gst_interpolation_control_source_new</a>
                                                         (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
@@ -55,8 +55,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
                      +----<a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
                            +----GstInterpolationControlSource
 </pre>
@@ -70,7 +70,7 @@
 <div class="refsect1">
 <a name="GstInterpolationControlSource.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a> is a <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>, that interpolates values between user-given
+<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that interpolates values between user-given
 control points. It supports several interpolation modes and property types.
 </p>
 <p>
@@ -88,7 +88,7 @@
 <a name="GstInterpolationControlSource-struct"></a><h3>struct GstInterpolationControlSource</h3>
 <pre class="programlisting">struct GstInterpolationControlSource;</pre>
 <p>
-The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
@@ -127,7 +127,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-interpolation-control-source-new"></a><h3>gst_interpolation_control_source_new ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_interpolation_control_source_new
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_interpolation_control_source_new
                                                         (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 This returns a new, unbound <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a>.
diff --git a/docs/libs/html/GstLFOControlSource.html b/docs/libs/html/GstLFOControlSource.html
index bf44a2d..143e430 100644
--- a/docs/libs/html/GstLFOControlSource.html
+++ b/docs/libs/html/GstLFOControlSource.html
@@ -46,7 +46,7 @@
 
 struct              <a class="link" href="GstLFOControlSource.html#GstLFOControlSource-struct" title="struct GstLFOControlSource">GstLFOControlSource</a>;
 enum                <a class="link" href="GstLFOControlSource.html#GstLFOWaveform" title="enum GstLFOWaveform">GstLFOWaveform</a>;
-<a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstLFOControlSource.html#gst-lfo-control-source-new" title="gst_lfo_control_source_new ()">gst_lfo_control_source_new</a>          (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstLFOControlSource.html#gst-lfo-control-source-new" title="gst_lfo_control_source_new ()">gst_lfo_control_source_new</a>          (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -54,8 +54,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
                      +----GstLFOControlSource
 </pre>
 </div>
@@ -72,7 +72,7 @@
 <div class="refsect1">
 <a name="GstLFOControlSource.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> is a <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>, that provides several periodic waveforms
+<a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that provides several periodic waveforms
 as control values. It supports all fundamental, numeric GValue types as property.
 </p>
 <p>
@@ -90,7 +90,7 @@
 <a name="GstLFOControlSource-struct"></a><h3>struct GstLFOControlSource</h3>
 <pre class="programlisting">struct GstLFOControlSource;</pre>
 <p>
-The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
@@ -141,7 +141,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-lfo-control-source-new"></a><h3>gst_lfo_control_source_new ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_lfo_control_source_new          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_lfo_control_source_new          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 This returns a new, unbound <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a>.
 </p>
diff --git a/docs/libs/html/GstNetClientClock.html b/docs/libs/html/GstNetClientClock.html
index 0055651..e4f308f 100644
--- a/docs/libs/html/GstNetClientClock.html
+++ b/docs/libs/html/GstNetClientClock.html
@@ -46,10 +46,10 @@
 #include &lt;gst/net/gstnet.h&gt;
 
 struct              <a class="link" href="GstNetClientClock.html#GstNetClientClock-struct" title="struct GstNetClientClock">GstNetClientClock</a>;
-<a href="../gstreamer-1.0/GstClock.html"><span class="returnvalue">GstClock</span></a> *          <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()">gst_net_client_clock_new</a>            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *          <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()">gst_net_client_clock_new</a>            (<em class="parameter"><code><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>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *remote_address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> remote_port</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -57,9 +57,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstClock.html">GstClock</a>
-                     +----<a href="../gstreamer-1.0/GstSystemClock.html">GstSystemClock</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html">GstClock</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html">GstSystemClock</a>
                            +----GstNetClientClock
 </pre>
 </div>
@@ -73,7 +73,7 @@
 <div class="refsect1">
 <a name="GstNetClientClock.description"></a><h2>Description</h2>
 <p>
-This object implements a custom <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time
+This object implements a custom <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time
 to a remote time provider such as <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>.
 </p>
 <p>
@@ -86,12 +86,12 @@
 parameters based on the local and remote observations.
 </p>
 <p>
-Various parameters of the clock can be configured with the parent <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>
+Various parameters of the clock can be configured with the parent <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>
 "timeout", "window-size" and "window-threshold" object properties.
 </p>
 <p>
-A <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> is typically set on a <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a> with 
-<a href="../gstreamer-1.0/GstPipeline.html#gst-pipeline-use-clock"><code class="function">gst_pipeline_use_clock()</code></a>.
+A <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> is typically set on a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a> with 
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html#gst-pipeline-use-clock"><code class="function">gst_pipeline_use_clock()</code></a>.
 </p>
 <p>
 Last reviewed on 2005-11-23 (0.9.5)
@@ -109,10 +109,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-net-client-clock-new"></a><h3>gst_net_client_clock_new ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html"><span class="returnvalue">GstClock</span></a> *          gst_net_client_clock_new            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *          gst_net_client_clock_new            (<em class="parameter"><code><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>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *remote_address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> remote_port</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);</pre>
 <p>
 Create a new <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> that will report the time
 provided by the <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> on <em class="parameter"><code>remote_address</code></em> and 
@@ -139,7 +139,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> that receives a time from the remote
+<td>a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that receives a time from the remote
 clock.</td>
 </tr>
 </tbody>
@@ -165,7 +165,7 @@
 </div>
 <div class="refsect1">
 <a name="GstNetClientClock.see-also"></a><h2>See Also</h2>
-<a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>, <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/GstNetTimeProvider.html b/docs/libs/html/GstNetTimeProvider.html
index 9c11fbc..33f4f99 100644
--- a/docs/libs/html/GstNetTimeProvider.html
+++ b/docs/libs/html/GstNetTimeProvider.html
@@ -46,7 +46,7 @@
 #include &lt;gst/net/gstnet.h&gt;
 
 struct              <a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider-struct" title="struct GstNetTimeProvider">GstNetTimeProvider</a>;
-<a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()">gst_net_time_provider_new</a>          (<em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> *clock</code></em>,
+<a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()">gst_net_time_provider_new</a>          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> *clock</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> *address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> port</code></em>);
 </pre>
@@ -56,7 +56,7 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
                +----GstNetTimeProvider
 </pre>
 </div>
@@ -65,25 +65,25 @@
 <pre class="synopsis">
   "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--active" title='The "active" property'>active</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--address" title='The "address" property'>address</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
-  "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--clock" title='The "clock" property'>clock</a>"                    <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write
+  "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--clock" title='The "clock" property'>clock</a>"                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write
   "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--port" title='The "port" property'>port</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
 </pre>
 </div>
 <div class="refsect1">
 <a name="GstNetTimeProvider.description"></a><h2>Description</h2>
 <p>
-This object exposes the time of a <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> on the network.
+This object exposes the time of a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> on the network.
 </p>
 <p>
 A <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> is created with <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()"><code class="function">gst_net_time_provider_new()</code></a> which
-takes a <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, an address and a port number as arguments.
+takes a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, an address and a port number as arguments.
 </p>
 <p>
 After creating the object, a client clock such as <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> can
 query the exposed clock over the network for its values.
 </p>
 <p>
-The <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> typically wraps the clock used by a <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a>.
+The <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> typically wraps the clock used by a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>.
 </p>
 <p>
 Last reviewed on 2005-11-23 (0.9.5)
@@ -101,7 +101,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-net-time-provider-new"></a><h3>gst_net_time_provider_new ()</h3>
-<pre class="programlisting"><a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * gst_net_time_provider_new          (<em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> *clock</code></em>,
+<pre class="programlisting"><a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * gst_net_time_provider_new          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> *clock</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> *address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> port</code></em>);</pre>
 <p>
@@ -112,7 +112,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> to export over the network</td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> to export over the network</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
@@ -149,7 +149,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstNetTimeProvider--clock"></a><h3>The <code class="literal">"clock"</code> property</h3>
-<pre class="programlisting">  "clock"                    <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write</pre>
+<pre class="programlisting">  "clock"                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write</pre>
 <p>The clock to export over the network.</p>
 </div>
 <hr>
@@ -163,7 +163,7 @@
 </div>
 <div class="refsect1">
 <a name="GstNetTimeProvider.see-also"></a><h2>See Also</h2>
-<a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/GstPushSrc.html b/docs/libs/html/GstPushSrc.html
index 05c2c43..d6b1e3d 100644
--- a/docs/libs/html/GstPushSrc.html
+++ b/docs/libs/html/GstPushSrc.html
@@ -50,8 +50,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----<a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
                            +----GstPushSrc
 </pre>
diff --git a/docs/libs/html/GstTimedValueControlSource.html b/docs/libs/html/GstTimedValueControlSource.html
index b81d608..832f03f 100644
--- a/docs/libs/html/GstTimedValueControlSource.html
+++ b/docs/libs/html/GstTimedValueControlSource.html
@@ -45,9 +45,9 @@
 struct              <a class="link" href="GstTimedValueControlSource.html#GstTimedValueControlSource-struct" title="struct GstTimedValueControlSource">GstTimedValueControlSource</a>;
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Sequences.html#GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-find-control-point-iter" title="gst_timed_value_control_source_find_control_point_iter ()">gst_timed_value_control_source_find_control_point_iter</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</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> timestamp</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-set" title="gst_timed_value_control_source_set ()">gst_timed_value_control_source_set</a>  (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</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> timestamp</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> value</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-set-from-list" title="gst_timed_value_control_source_set_from_list ()">gst_timed_value_control_source_set_from_list</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
@@ -56,7 +56,7 @@
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-unset" title="gst_timed_value_control_source_unset ()">gst_timed_value_control_source_unset</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</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> timestamp</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-unset-all" title="gst_timed_value_control_source_unset_all ()">gst_timed_value_control_source_unset_all</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-get-count" title="gst_timed_value_control_source_get_count ()">gst_timed_value_control_source_get_count</a>
@@ -70,8 +70,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
                      +----GstTimedValueControlSource
                            +----<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">GstInterpolationControlSource</a>
                            +----<a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource">GstTriggerControlSource</a>
@@ -96,7 +96,7 @@
 <a name="GstTimedValueControlSource-struct"></a><h3>struct GstTimedValueControlSource</h3>
 <pre class="programlisting">struct GstTimedValueControlSource;</pre>
 <p>
-The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
@@ -104,7 +104,7 @@
 <a name="gst-timed-value-control-source-find-control-point-iter"></a><h3>gst_timed_value_control_source_find_control_point_iter ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Sequences.html#GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     gst_timed_value_control_source_find_control_point_iter
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
+                                                         <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> timestamp</code></em>);</pre>
 <p>
 Find last value before given timestamp in control point list.
 If all values in the control point list come after the given
@@ -136,7 +136,7 @@
 <div class="refsect2">
 <a name="gst-timed-value-control-source-set"></a><h3>gst_timed_value_control_source_set ()</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_timed_value_control_source_set  (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</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> timestamp</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> value</code></em>);</pre>
 <p>
 Set the value of given controller-handled property at a certain time.
@@ -182,7 +182,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>timedvalues</code></em> :</span></p></td>
 <td>a list
-with <a href="../gstreamer-1.0/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> items. <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> GstController.TimedValue]</span>
+with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> items. <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> GstController.TimedValue]</span>
 </td>
 </tr>
 <tr>
@@ -198,7 +198,7 @@
 <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_timed_value_control_source_get_all
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>);</pre>
 <p>
-Returns a read-only copy of the list of <a href="../gstreamer-1.0/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> for the given property.
+Returns a read-only copy of the list of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> for the given property.
 Free the list after done with it.
 </p>
 <div class="variablelist"><table border="0">
@@ -222,7 +222,7 @@
 <a name="gst-timed-value-control-source-unset"></a><h3>gst_timed_value_control_source_unset ()</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_timed_value_control_source_unset
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
+                                                         <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> timestamp</code></em>);</pre>
 <p>
 Used to remove the value of given controller-handled property at a certain
 time.
diff --git a/docs/libs/html/GstTriggerControlSource.html b/docs/libs/html/GstTriggerControlSource.html
index b4a91d0..86e4975 100644
--- a/docs/libs/html/GstTriggerControlSource.html
+++ b/docs/libs/html/GstTriggerControlSource.html
@@ -45,7 +45,7 @@
 #include &lt;libs/controller/gsttriggercontrolsource.h&gt;
 
 struct              <a class="link" href="GstTriggerControlSource.html#GstTriggerControlSource-struct" title="struct GstTriggerControlSource">GstTriggerControlSource</a>;
-<a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstTriggerControlSource.html#gst-trigger-control-source-new" title="gst_trigger_control_source_new ()">gst_trigger_control_source_new</a>      (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstTriggerControlSource.html#gst-trigger-control-source-new" title="gst_trigger_control_source_new ()">gst_trigger_control_source_new</a>      (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -53,8 +53,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
                      +----<a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
                            +----GstTriggerControlSource
 </pre>
@@ -68,7 +68,7 @@
 <div class="refsect1">
 <a name="GstTriggerControlSource.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a> is a <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>, that returns values from user-given
+<a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that returns values from user-given
 control points. It allows for a tolerance on the time-stamps.
 </p>
 <p>
@@ -86,13 +86,13 @@
 <a name="GstTriggerControlSource-struct"></a><h3>struct GstTriggerControlSource</h3>
 <pre class="programlisting">struct GstTriggerControlSource;</pre>
 <p>
-The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-trigger-control-source-new"></a><h3>gst_trigger_control_source_new ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_trigger_control_source_new      (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_trigger_control_source_new      (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 This returns a new, unbound <a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a>.
 </p>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index d565efb..bfdf33a 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -582,6 +582,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstBaseTransform.html#gst-base-transform-set-prefer-passthrough" title="gst_base_transform_set_prefer_passthrough ()">gst_base_transform_set_prefer_passthrough</a>, function in <a class="link" href="GstBaseTransform.html" title="GstBaseTransform">GstBaseTransform</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstBaseTransform.html#gst-base-transform-set-qos-enabled" title="gst_base_transform_set_qos_enabled ()">gst_base_transform_set_qos_enabled</a>, function in <a class="link" href="GstBaseTransform.html" title="GstBaseTransform">GstBaseTransform</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/gstreamer-base.html b/docs/libs/html/gstreamer-base.html
index 39700ca..0738a4c 100644
--- a/docs/libs/html/gstreamer-base.html
+++ b/docs/libs/html/gstreamer-base.html
@@ -30,7 +30,7 @@
 <span class="refentrytitle"><a href="GstBaseSrc.html">GstBaseSrc</a></span><span class="refpurpose"> — Base class for getrange based source elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"> — Base class for sink elements</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstBaseTransform.html">GstBaseTransform</a></span><span class="refpurpose"> — Base class for simple transform filters</span>
diff --git a/docs/libs/html/gstreamer-hierarchy.html b/docs/libs/html/gstreamer-hierarchy.html
index 41f305a..144cbbe 100644
--- a/docs/libs/html/gstreamer-hierarchy.html
+++ b/docs/libs/html/gstreamer-hierarchy.html
@@ -25,16 +25,16 @@
 <pre class="screen">
     <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
         <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-            <a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-                <a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+            <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                     <a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
                         <a class="link" href="GstPushSrc.html" title="GstPushSrc">GstPushSrc</a>
                     <a class="link" href="GstBaseSink.html" title="GstBaseSink">GstBaseSink</a>
                     <a class="link" href="GstBaseTransform.html" title="GstBaseTransform">GstBaseTransform</a>
-                <a href="../gstreamer-1.0/GstClock.html">GstClock</a>
-                    <a href="../gstreamer-1.0/GstSystemClock.html">GstSystemClock</a>
+                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html">GstClock</a>
+                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html">GstSystemClock</a>
                         <a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
-                <a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
+                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
                     <a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
                         <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">GstInterpolationControlSource</a>
                         <a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource">GstTriggerControlSource</a>
diff --git a/docs/libs/html/gstreamer-libs-GstBaseParse.html b/docs/libs/html/gstreamer-libs-GstBaseParse.html
index 64b8c06..ec56968 100644
--- a/docs/libs/html/gstreamer-libs-GstBaseParse.html
+++ b/docs/libs/html/gstreamer-libs-GstBaseParse.html
@@ -43,7 +43,7 @@
 struct              <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse">GstBaseParse</a>;
 struct              <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseClass" title="struct GstBaseParseClass">GstBaseParseClass</a>;
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-duration" title="gst_base_parse_set_duration ()">gst_base_parse_set_duration</a>         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> duration</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> interval</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-average-bitrate" title="gst_base_parse_set_average_bitrate ()">gst_base_parse_set_average_bitrate</a>  (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
@@ -62,26 +62,26 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> lead_in</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> lead_out</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-latency" title="gst_base_parse_set_latency ()">gst_base_parse_set_latency</a>          (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_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> 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>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-convert-default" title="gst_base_parse_convert_default ()">gst_base_parse_convert_default</a>      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> src_value</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-add-index-entry" title="gst_base_parse_add_index_entry ()">gst_base_parse_add_index_entry</a>      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> ts</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> ts</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> key</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> force</code></em>);
                     <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame">GstBaseParseFrame</a>;
 enum                <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" title="enum GstBaseParseFrameFlags">GstBaseParseFrameFlags</a>;
-<a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-new" title="gst_base_parse_frame_new ()">gst_base_parse_frame_new</a>            (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-new" title="gst_base_parse_frame_new ()">gst_base_parse_frame_new</a>            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" title="enum GstBaseParseFrameFlags"><span class="type">GstBaseParseFrameFlags</span></a> flags</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> overhead</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-init" title="gst_base_parse_frame_init ()">gst_base_parse_frame_init</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-free" title="gst_base_parse_frame_free ()">gst_base_parse_frame_free</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-push-frame" title="gst_base_parse_push_frame ()">gst_base_parse_push_frame</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-push-frame" title="gst_base_parse_push_frame ()">gst_base_parse_push_frame</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);
 #define             <a class="link" href="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-DRAINING:CAPS" title="GST_BASE_PARSE_DRAINING()">GST_BASE_PARSE_DRAINING</a>             (parse)
 #define             <a class="link" href="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FLAG-DRAINING:CAPS" title="GST_BASE_PARSE_FLAG_DRAINING">GST_BASE_PARSE_FLAG_DRAINING</a>
@@ -221,9 +221,9 @@
 when base class calls subclass' <em class="parameter"><code>set_sink_caps</code></em> function).
 </p>
 <p>
-This base class uses <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> as a meaning of frames. So,
+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,
 subclass conversion routine needs to know that conversion from
-<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><span class="type">GST_FORMAT_TIME</span></a> to <a href="../gstreamer-1.0/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"><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
 frame number that can be found from the given byte position.
 </p>
 <p>
@@ -292,7 +292,7 @@
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstBaseParse.element"></a>element</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstBaseParse.element"></a>element</code></em>;</span></p></td>
 <td>the parent element.</td>
 </tr></tbody>
 </table></div>
@@ -347,7 +347,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseParseClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseParseClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>the parent class</td>
 </tr>
 <tr>
@@ -424,7 +424,7 @@
 <div class="refsect2">
 <a name="gst-base-parse-set-duration"></a><h3>gst_base_parse_set_duration ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_parse_set_duration         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> duration</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> interval</code></em>);</pre>
 <p>
@@ -445,7 +445,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>.</td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
@@ -638,8 +638,8 @@
 <div class="refsect2">
 <a name="gst-base-parse-set-latency"></a><h3>gst_base_parse_set_latency ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_parse_set_latency          (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
+                                                         <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>
 Sets the minimum and maximum (which may likely be equal) latency introduced
 by the parsing process.  If there is such a latency, which depends on the
@@ -668,9 +668,9 @@
 <div class="refsect2">
 <a name="gst-base-parse-convert-default"></a><h3>gst_base_parse_convert_default ()</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_base_parse_convert_default      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> src_value</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);</pre>
 <p>
 Default implementation of "convert" vmethod in <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> class.
@@ -686,7 +686,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>src_format</code></em> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> describing the source format.</td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> describing the source format.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>src_value</code></em> :</span></p></td>
@@ -695,7 +695,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>dest_format</code></em> :</span></p></td>
 <td>
-<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> defining the converted format.</td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> defining the converted format.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>dest_value</code></em> :</span></p></td>
@@ -713,7 +713,7 @@
 <a name="gst-base-parse-add-index-entry"></a><h3>gst_base_parse_add_index_entry ()</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_base_parse_add_index_entry      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> ts</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> ts</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> key</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> force</code></em>);</pre>
 <p>
@@ -778,11 +778,11 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.buffer"></a>buffer</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.buffer"></a>buffer</code></em>;</span></p></td>
 <td>input data to be parsed for frames.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.out-buffer"></a>out_buffer</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.out-buffer"></a>out_buffer</code></em>;</span></p></td>
 <td>(optional) (replacement) output data.</td>
 </tr>
 <tr>
@@ -871,7 +871,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-frame-new"></a><h3>gst_base_parse_frame_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * gst_base_parse_frame_new            (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<pre class="programlisting"><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * gst_base_parse_frame_new            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" title="enum GstBaseParseFrameFlags"><span class="type">GstBaseParseFrameFlags</span></a> flags</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> overhead</code></em>);</pre>
 <p>
@@ -884,7 +884,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -933,7 +933,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-push-frame"></a><h3>gst_base_parse_push_frame ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_parse_push_frame           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
+<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_base_parse_push_frame           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);</pre>
 <p>
 Pushes the frame's buffer downstream, sends any pending events and
@@ -958,7 +958,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></td>
+<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></td>
 </tr>
 </tbody>
 </table></div>
@@ -998,7 +998,7 @@
 <pre class="programlisting">#define GST_BASE_PARSE_FLOW_DROPPED     GST_FLOW_CUSTOM_SUCCESS
 </pre>
 <p>
-A <a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from parse_frame to
+A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from parse_frame to
 indicate that no output buffer was generated, or from pre_push_frame to
 to forego pushing buffer.
 </p>
@@ -1025,7 +1025,7 @@
 <pre class="programlisting">#define GST_BASE_PARSE_SINK_PAD(obj)    (GST_BASE_PARSE_CAST (obj)-&gt;sinkpad)
 </pre>
 <p>
-Gives the pointer to the sink <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1041,7 +1041,7 @@
 <pre class="programlisting">#define GST_BASE_PARSE_SRC_PAD(obj)    (GST_BASE_PARSE_CAST (obj)-&gt;srcpad)
 </pre>
 <p>
-Gives the pointer to the source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
diff --git a/docs/libs/html/gstreamer-libs-GstBufferStraw.html b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
index b1a2ff0..ae88b32 100644
--- a/docs/libs/html/gstreamer-libs-GstBufferStraw.html
+++ b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
@@ -40,12 +40,12 @@
 <pre class="synopsis">
 #include &lt;gst/check/gstbufferstraw.h&gt;
 
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()">gst_buffer_straw_start_pipeline</a>     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()">gst_buffer_straw_get_buffer</a>         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-stop-pipeline" title="gst_buffer_straw_stop_pipeline ()">gst_buffer_straw_stop_pipeline</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()">gst_buffer_straw_start_pipeline</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()">gst_buffer_straw_get_buffer</a>         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-stop-pipeline" title="gst_buffer_straw_stop_pipeline ()">gst_buffer_straw_stop_pipeline</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -59,8 +59,8 @@
 <a name="gstreamer-libs-GstBufferStraw.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="gst-buffer-straw-start-pipeline"></a><h3>gst_buffer_straw_start_pipeline ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_start_pipeline     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_start_pipeline     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 Sets up a pipeline for buffer sucking. This will allow you to call
 <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()"><code class="function">gst_buffer_straw_get_buffer()</code></a> to access buffers as they pass over <em class="parameter"><code>pad</code></em>.
@@ -68,7 +68,7 @@
 <p>
 This function is normally used in unit tests that want to verify that a
 particular element is outputting correct buffers. For example, you would make
-a pipeline via <a href="../gstreamer-1.0/gstreamer-GstParse.html#gst-parse-launch"><code class="function">gst_parse_launch()</code></a>, pull out the pad you want to monitor, then
+a pipeline via <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch"><code class="function">gst_parse_launch()</code></a>, pull out the pad you want to monitor, then
 call <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()"><code class="function">gst_buffer_straw_get_buffer()</code></a> to get the buffers that pass through <em class="parameter"><code>pad</code></em>.
 The pipeline will block until you have sucked off the buffers.
 </p>
@@ -99,8 +99,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-straw-get-buffer"></a><h3>gst_buffer_straw_get_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_straw_get_buffer         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_straw_get_buffer         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 Get one buffer from <em class="parameter"><code>pad</code></em>. Implemented via buffer probes. This function will
 block until the pipeline passes a buffer over <em class="parameter"><code>pad</code></em>, so for robust behavior
@@ -126,7 +126,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the captured <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.</td>
+<td>the captured <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 </tbody>
 </table></div>
@@ -134,10 +134,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-straw-stop-pipeline"></a><h3>gst_buffer_straw_stop_pipeline ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_stop_pipeline      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_stop_pipeline      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
-Set <em class="parameter"><code>bin</code></em> to <a href="../gstreamer-1.0/GstElement.html#GST-STATE-NULL:CAPS"><span class="type">GST_STATE_NULL</span></a> and release resource allocated in
+Set <em class="parameter"><code>bin</code></em> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><span class="type">GST_STATE_NULL</span></a> and release resource allocated in
 <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()"><code class="function">gst_buffer_straw_start_pipeline()</code></a>.
 </p>
 <p>
diff --git a/docs/libs/html/gstreamer-libs-GstByteWriter.html b/docs/libs/html/gstreamer-libs-GstByteWriter.html
index 590f224..5bb39f6 100644
--- a/docs/libs/html/gstreamer-libs-GstByteWriter.html
+++ b/docs/libs/html/gstreamer-libs-GstByteWriter.html
@@ -57,11 +57,11 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</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> fixed</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free" title="gst_byte_writer_free ()">gst_byte_writer_free</a>                (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-buffer" title="gst_byte_writer_free_and_get_buffer ()">gst_byte_writer_free_and_get_buffer</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-buffer" title="gst_byte_writer_free_and_get_buffer ()">gst_byte_writer_free_and_get_buffer</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <span class="returnvalue">guint8</span> *            <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-data" title="gst_byte_writer_free_and_get_data ()">gst_byte_writer_free_and_get_data</a>   (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset" title="gst_byte_writer_reset ()">gst_byte_writer_reset</a>               (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <span class="returnvalue">guint8</span> *            <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-data" title="gst_byte_writer_reset_and_get_data ()">gst_byte_writer_reset_and_get_data</a>  (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-buffer" title="gst_byte_writer_reset_and_get_buffer ()">gst_byte_writer_reset_and_get_buffer</a>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-buffer" title="gst_byte_writer_reset_and_get_buffer ()">gst_byte_writer_reset_and_get_buffer</a>
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-pos" title="gst_byte_writer_get_pos ()">gst_byte_writer_get_pos</a>             (<em class="parameter"><code>const <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-set-pos" title="gst_byte_writer_set_pos ()">gst_byte_writer_set_pos</a>             (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>,
@@ -437,10 +437,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-byte-writer-free-and-get-buffer"></a><h3>gst_byte_writer_free_and_get_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_free_and_get_buffer (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_free_and_get_buffer (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
 <p>
 Frees <em class="parameter"><code>writer</code></em> and all memory allocated by it except
-the current data, which is returned as <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.
+the current data, which is returned as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.
 </p>
 <p>
 Free-function: gst_buffer_unref
@@ -456,7 +456,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the current data as buffer. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
+<td>the current data as buffer. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
 after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -538,7 +538,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-byte-writer-reset-and-get-buffer"></a><h3>gst_byte_writer_reset_and_get_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_reset_and_get_buffer
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_reset_and_get_buffer
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
 <p>
 Resets <em class="parameter"><code>writer</code></em> and returns the current data as buffer.
@@ -556,7 +556,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the current data as buffer. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
+<td>the current data as buffer. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
 after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
diff --git a/docs/libs/html/gstreamer-libs-GstCheck.html b/docs/libs/html/gstreamer-libs-GstCheck.html
index ed2a42e..31b36ab 100644
--- a/docs/libs/html/gstreamer-libs-GstCheck.html
+++ b/docs/libs/html/gstreamer-libs-GstCheck.html
@@ -91,43 +91,43 @@
                                                          c)
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-init" title="gst_check_init ()">gst_check_init</a>                      (<em class="parameter"><code><span class="type">int</span> *argc</code></em>,
                                                          <em class="parameter"><code><span class="type">char</span> **argv[]</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-message-error" title="gst_check_message_error ()">gst_check_message_error</a>             (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-message-error" title="gst_check_message_error ()">gst_check_message_error</a>             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> code</code></em>);
-<a href="../gstreamer-1.0/GstElement.html"><span class="returnvalue">GstElement</span></a> *        <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-element" title="gst_check_setup_element ()">gst_check_setup_element</a>             (<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> *factory</code></em>);
-<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad" title="gst_check_setup_sink_pad ()">gst_check_setup_sink_pad</a>            (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
-<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad" title="gst_check_setup_src_pad ()">gst_check_setup_src_pad</a>             (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
-<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad-by-name" title="gst_check_setup_sink_pad_by_name ()">gst_check_setup_sink_pad_by_name</a>    (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> *        <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-element" title="gst_check_setup_element ()">gst_check_setup_element</a>             (<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> *factory</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad" title="gst_check_setup_sink_pad ()">gst_check_setup_sink_pad</a>            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad" title="gst_check_setup_src_pad ()">gst_check_setup_src_pad</a>             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad-by-name" title="gst_check_setup_sink_pad_by_name ()">gst_check_setup_sink_pad_by_name</a>    (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</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>);
-<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad-by-name" title="gst_check_setup_src_pad_by_name ()">gst_check_setup_src_pad_by_name</a>     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad-by-name" title="gst_check_setup_src_pad_by_name ()">gst_check_setup_src_pad_by_name</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</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>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-pad-by-name" title="gst_check_teardown_pad_by_name ()">gst_check_teardown_pad_by_name</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-pad-by-name" title="gst_check_teardown_pad_by_name ()">gst_check_teardown_pad_by_name</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</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>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-element" title="gst_check_teardown_element ()">gst_check_teardown_element</a>          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-sink-pad" title="gst_check_teardown_sink_pad ()">gst_check_teardown_sink_pad</a>         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-src-pad" title="gst_check_teardown_src_pad ()">gst_check_teardown_src_pad</a>          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-element" title="gst_check_teardown_element ()">gst_check_teardown_element</a>          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-sink-pad" title="gst_check_teardown_sink_pad ()">gst_check_teardown_sink_pad</a>         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-src-pad" title="gst_check_teardown_src_pad ()">gst_check_teardown_src_pad</a>          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-drop-buffers" title="gst_check_drop_buffers ()">gst_check_drop_buffers</a>              (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-buffer-data" title="gst_check_buffer_data ()">gst_check_buffer_data</a>               (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-buffer-data" title="gst_check_buffer_data ()">gst_check_buffer_data</a>               (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><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#gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-caps-equal" title="gst_check_caps_equal ()">gst_check_caps_equal</a>                (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-caps-equal" title="gst_check_caps_equal ()">gst_check_caps_equal</a>                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer-list" title="gst_check_element_push_buffer_list ()">gst_check_element_push_buffer_list</a>  (<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> *element_name</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> last_flow_return</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</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> last_flow_return</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer" title="gst_check_element_push_buffer ()">gst_check_element_push_buffer</a>       (<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> *element_name</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-run-suite" title="gst_check_run_suite ()">gst_check_run_suite</a>                 (<em class="parameter"><code><span class="type">Suite</span> *suite</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>,
                                                          <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> *fname</code></em>);
@@ -459,15 +459,15 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-message-error"></a><h3>gst_check_message_error ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_message_error             (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_message_error             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> code</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-setup-element"></a><h3>gst_check_setup_element ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstElement.html"><span class="returnvalue">GstElement</span></a> *        gst_check_setup_element             (<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> *factory</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> *        gst_check_setup_element             (<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> *factory</code></em>);</pre>
 <p>
 setup an element for a filter test with mysrcpad and mysinkpad
 </p>
@@ -489,8 +489,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-setup-sink-pad"></a><h3>gst_check_setup_sink_pad ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad            (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -513,8 +513,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-setup-src-pad"></a><h3>gst_check_setup_src_pad ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad             (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -537,8 +537,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-setup-sink-pad-by-name"></a><h3>gst_check_setup_sink_pad_by_name ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad_by_name    (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad_by_name    (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</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>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -566,8 +566,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-setup-src-pad-by-name"></a><h3>gst_check_setup_src_pad_by_name ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad_by_name     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad_by_name     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</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>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -595,23 +595,23 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-pad-by-name"></a><h3>gst_check_teardown_pad_by_name ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_pad_by_name      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_pad_by_name      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</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>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-element"></a><h3>gst_check_teardown_element ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_element          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_element          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-sink-pad"></a><h3>gst_check_teardown_sink_pad ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_sink_pad         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_sink_pad         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-src-pad"></a><h3>gst_check_teardown_src_pad ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_src_pad          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_src_pad          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -625,7 +625,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-buffer-data"></a><h3>gst_check_buffer_data ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_buffer_data               (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_buffer_data               (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><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#gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
 <p>
@@ -652,8 +652,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-caps-equal"></a><h3>gst_check_caps_equal ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_caps_equal                (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_caps_equal                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);</pre>
 <p>
 Compare two caps with gst_caps_is_equal and fail unless they are
 equal.
@@ -677,10 +677,10 @@
 <a name="gst-check-element-push-buffer-list"></a><h3>gst_check_element_push_buffer_list ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_check_element_push_buffer_list  (<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> *element_name</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> last_flow_return</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</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> last_flow_return</code></em>);</pre>
 <p>
 Create an <em class="parameter"><code>element</code></em> with the factory with the name and push the buffers in
 <em class="parameter"><code>buffer_in</code></em> to this element. The element should create the buffers equal to
@@ -721,10 +721,10 @@
 <div class="refsect2">
 <a name="gst-check-element-push-buffer"></a><h3>gst_check_element_push_buffer ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_check_element_push_buffer       (<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> *element_name</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);</pre>
 <p>
 Create an <em class="parameter"><code>element</code></em> with the factory with the name and push the
 <em class="parameter"><code>buffer_in</code></em> to this element. The element should create one buffer
diff --git a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
index 3bf804c..b4d3d36 100644
--- a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
+++ b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
@@ -80,11 +80,11 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.local-time"></a>local_time</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.local-time"></a>local_time</code></em>;</span></p></td>
 <td>the local time when this packet was sent</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.remote-time"></a>remote_time</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.remote-time"></a>remote_time</code></em>;</span></p></td>
 <td>the remote time observation</td>
 </tr>
 </tbody>
@@ -110,7 +110,7 @@
 </p>
 <p>
 If <em class="parameter"><code>buffer</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, the local and remote times will be set to
-<a href="../gstreamer-1.0/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>.
+<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>
 <p>
 MT safe. Caller owns return value (gst_net_time_packet_free to free).
@@ -235,7 +235,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-libs-GstNetTimePacket.see-also"></a><h2>See Also</h2>
-<a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
index 314e510..408ba59 100644
--- a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
+++ b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
@@ -41,7 +41,7 @@
 #include &lt;gst/check/gstconsistencychecker.h&gt;
 
                     <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency">GstStreamConsistency</a>;
-<a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new" title="gst_consistency_checker_new ()">gst_consistency_checker_new</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new" title="gst_consistency_checker_new ()">gst_consistency_checker_new</a>      (<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>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-reset" title="gst_consistency_checker_reset ()">gst_consistency_checker_reset</a>       (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> *consist</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-free" title="gst_consistency_checker_free ()">gst_consistency_checker_free</a>        (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> *consist</code></em>);
 </pre>
@@ -65,7 +65,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-consistency-checker-new"></a><h3>gst_consistency_checker_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * gst_consistency_checker_new      (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * gst_consistency_checker_new      (<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>
 Sets up a data probe on the given pad which will raise assertions if the
 data flow is inconsistent.
@@ -75,7 +75,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>The <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> on which the dataflow will be checked.</td>
+<td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> on which the dataflow will be checked.</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
index d17bf32..e99e96a 100644
--- a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
+++ b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
@@ -40,29 +40,29 @@
 <pre class="synopsis">
 #include &lt;gst/base/gsttypefindhelper.h&gt;
 
-<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper" title="gst_type_find_helper ()">gst_type_find_helper</a>                (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper" title="gst_type_find_helper ()">gst_type_find_helper</a>                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-buffer" title="gst_type_find_helper_for_buffer ()">gst_type_find_helper_for_buffer</a>     (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension" title="gst_type_find_helper_for_extension ()">gst_type_find_helper_for_extension</a>  (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-buffer" title="gst_type_find_helper_for_buffer ()">gst_type_find_helper_for_buffer</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension" title="gst_type_find_helper_for_extension ()">gst_type_find_helper_for_extension</a>  (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</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> *extension</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data" title="gst_type_find_helper_for_data ()">gst_type_find_helper_for_data</a>       (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data" title="gst_type_find_helper_for_data ()">gst_type_find_helper_for_data</a>       (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
                                                          <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
-<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()">*GstTypeFindHelperGetRangeFunction</a>)
-                                                        (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()">*GstTypeFindHelperGetRangeFunction</a>)
+                                                        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> length</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);
-<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" title="gst_type_find_helper_get_range ()">gst_type_find_helper_get_range</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" title="gst_type_find_helper_get_range ()">gst_type_find_helper_get_range</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()"><span class="type">GstTypeFindHelperGetRangeFunction</span></a> func</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</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> *extension</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -78,10 +78,10 @@
 <a name="gstreamer-libs-GstTypeFindHelper.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="gst-type-find-helper"></a><h3>gst_type_find_helper ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper                (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</code></em>);</pre>
 <p>
-Tries to find what type of data is flowing from the given source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>.
+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
@@ -91,7 +91,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
-<td>A source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>
+<td>A source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>
 </td>
 </tr>
 <tr>
@@ -100,8 +100,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><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="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><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/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -110,17 +110,17 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-for-buffer"></a><h3>gst_type_find_helper_for_buffer ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_buffer     (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_buffer     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
 <p>
-Tries to find what type of data is contained in the given <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>, the
+Tries to find what type of data is contained in the given <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>, the
 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="../gstreamer-1.0/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"><span class="type">GST_TYPE_FIND_MAXIMUM</span></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
@@ -138,7 +138,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> with data to typefind. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> with data to typefind. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -149,9 +149,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><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>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><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>
 if no type could be found. The caller should free the caps returned
-with <a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -160,10 +160,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-for-extension"></a><h3>gst_type_find_helper_for_extension ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_extension  (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_extension  (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</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> *extension</code></em>);</pre>
 <p>
-Tries to find the best <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> associated with <em class="parameter"><code>extension</code></em>.
+Tries to find the best <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> associated with <em class="parameter"><code>extension</code></em>.
 </p>
 <p>
 All available typefinders will be checked against the extension in order
@@ -187,9 +187,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to <em class="parameter"><code>extension</code></em>, or
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><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
-returned with <a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+returned with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -198,10 +198,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-for-data"></a><h3>gst_type_find_helper_for_data ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_data       (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_data       (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
                                                          <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
 <p>
 Tries to find what type of data is contained in the given <em class="parameter"><code>data</code></em>, the
 assumption being that the data represents the beginning of the stream or
@@ -209,7 +209,7 @@
 </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="../gstreamer-1.0/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"><span class="type">GST_TYPE_FIND_MAXIMUM</span></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
@@ -243,9 +243,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><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>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><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>
 if no type could be found. The caller should free the caps returned
-with <a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -254,12 +254,12 @@
 <hr>
 <div class="refsect2">
 <a name="GstTypeFindHelperGetRangeFunction"></a><h3>GstTypeFindHelperGetRangeFunction ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstTypeFindHelperGetRangeFunction)
-                                                        (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstTypeFindHelperGetRangeFunction)
+                                                        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> length</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);</pre>
 <p>
 This function will be called by <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" title="gst_type_find_helper_get_range ()"><code class="function">gst_type_find_helper_get_range()</code></a> when
 typefinding functions request to peek at the data of a stream at certain
@@ -268,14 +268,14 @@
 return value.
 </p>
 <p>
-This function is supposed to behave exactly like a <a href="../gstreamer-1.0/GstPad.html#GstPadGetRangeFunction"><span class="type">GstPadGetRangeFunction</span></a>.
+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="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
-<td>a <a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> that will handle the getrange request</td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> that will handle the getrange request</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -303,12 +303,12 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-get-range"></a><h3>gst_type_find_helper_get_range ()</h3>
-<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_get_range      (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_get_range      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()"><span class="type">GstTypeFindHelperGetRangeFunction</span></a> func</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</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> *extension</code></em>,
-                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
 <p>
 Utility function to do pull-based typefinding. Unlike <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper" title="gst_type_find_helper ()"><code class="function">gst_type_find_helper()</code></a>
 however, this function will use the specified function <em class="parameter"><code>func</code></em> to obtain the
@@ -332,7 +332,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
-<td>A <a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> that will be passed as first argument to <em class="parameter"><code>func</code></em>
+<td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> that will be passed as first argument to <em class="parameter"><code>func</code></em>
 </td>
 </tr>
 <tr>
@@ -361,8 +361,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><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="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><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/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
diff --git a/docs/libs/html/gstreamer-libs.devhelp2 b/docs/libs/html/gstreamer-libs.devhelp2
index 764f7f9..317249f 100644
--- a/docs/libs/html/gstreamer-libs.devhelp2
+++ b/docs/libs/html/gstreamer-libs.devhelp2
@@ -64,7 +64,7 @@
     <keyword type="macro" name="GST_BASE_PARSE_LOST_SYNC()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-LOST-SYNC:CAPS"/>
     <keyword type="macro" name="GST_BASE_PARSE_SINK_PAD()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-SINK-PAD:CAPS"/>
     <keyword type="macro" name="GST_BASE_PARSE_SRC_PAD()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-SRC-PAD:CAPS"/>
-    <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#idp5184896"/>
+    <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#idp34470512"/>
     <keyword type="struct" name="struct GstBaseSrc" link="GstBaseSrc.html#GstBaseSrc-struct"/>
     <keyword type="struct" name="struct GstBaseSrcClass" link="GstBaseSrc.html#GstBaseSrcClass"/>
     <keyword type="enum" name="enum GstBaseSrcFlags" link="GstBaseSrc.html#GstBaseSrcFlags"/>
@@ -130,12 +130,13 @@
     <keyword type="property" name="The &quot;sync&quot; property" link="GstBaseSink.html#GstBaseSink--sync"/>
     <keyword type="property" name="The &quot;throttle-time&quot; property" link="GstBaseSink.html#GstBaseSink--throttle-time"/>
     <keyword type="property" name="The &quot;ts-offset&quot; property" link="GstBaseSink.html#GstBaseSink--ts-offset"/>
-    <keyword type="" name="Use Cases" link="GstBaseTransform.html#idp5388448"/>
-    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp6912544"/>
+    <keyword type="" name="Use Cases" link="GstBaseTransform.html#idp35617104"/>
+    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp38847872"/>
     <keyword type="struct" name="struct GstBaseTransform" link="GstBaseTransform.html#GstBaseTransform-struct"/>
     <keyword type="struct" name="struct GstBaseTransformClass" link="GstBaseTransform.html#GstBaseTransformClass"/>
     <keyword type="function" name="gst_base_transform_is_passthrough ()" link="GstBaseTransform.html#gst-base-transform-is-passthrough"/>
     <keyword type="function" name="gst_base_transform_set_passthrough ()" link="GstBaseTransform.html#gst-base-transform-set-passthrough"/>
+    <keyword type="function" name="gst_base_transform_set_prefer_passthrough ()" link="GstBaseTransform.html#gst-base-transform-set-prefer-passthrough" since="1.0.1"/>
     <keyword type="function" name="gst_base_transform_is_in_place ()" link="GstBaseTransform.html#gst-base-transform-is-in-place"/>
     <keyword type="function" name="gst_base_transform_set_in_place ()" link="GstBaseTransform.html#gst-base-transform-set-in-place"/>
     <keyword type="function" name="gst_base_transform_is_qos_enabled ()" link="GstBaseTransform.html#gst-base-transform-is-qos-enabled"/>
diff --git a/docs/libs/html/gstreamer-libs.html b/docs/libs/html/gstreamer-libs.html
index 809bddf..0f61876 100644
--- a/docs/libs/html/gstreamer-libs.html
+++ b/docs/libs/html/gstreamer-libs.html
@@ -34,7 +34,7 @@
 <span class="refentrytitle"><a href="GstBaseSrc.html">GstBaseSrc</a></span><span class="refpurpose"> — Base class for getrange based source elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"> — Base class for sink elements</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstBaseTransform.html">GstBaseTransform</a></span><span class="refpurpose"> — Base class for simple transform filters</span>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index ffc5c11..1468796 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.0.0)
+      for GStreamer Library 1.0 (1.0.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</a>.
     </p></div>
@@ -34,7 +34,7 @@
 <span class="refentrytitle"><a href="GstBaseSrc.html">GstBaseSrc</a></span><span class="refpurpose"> — Base class for getrange based source elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"> — Base class for sink elements</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstBaseTransform.html">GstBaseTransform</a></span><span class="refpurpose"> — Base class for simple transform filters</span>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 021eceb..323f0cd 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -118,6 +118,7 @@
 <ANCHOR id="GstBaseSink--sync" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--sync">
 <ANCHOR id="GstBaseSink--throttle-time" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--throttle-time">
 <ANCHOR id="GstBaseSink--ts-offset" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--ts-offset">
+<ANCHOR id="GstBaseSink.see-also" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink.see-also">
 <ANCHOR id="GstBaseTransform" href="gstreamer-libs-1.0/GstBaseTransform.html">
 <ANCHOR id="GstBaseTransform.synopsis" href="gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform.synopsis">
 <ANCHOR id="GstBaseTransform.object-hierarchy" href="gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform.object-hierarchy">
@@ -128,6 +129,7 @@
 <ANCHOR id="GstBaseTransformClass" href="gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransformClass">
 <ANCHOR id="gst-base-transform-is-passthrough" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-is-passthrough">
 <ANCHOR id="gst-base-transform-set-passthrough" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-passthrough">
+<ANCHOR id="gst-base-transform-set-prefer-passthrough" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-prefer-passthrough">
 <ANCHOR id="gst-base-transform-is-in-place" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-is-in-place">
 <ANCHOR id="gst-base-transform-set-in-place" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-in-place">
 <ANCHOR id="gst-base-transform-is-qos-enabled" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-is-qos-enabled">
diff --git a/docs/manual/Makefile.in b/docs/manual/Makefile.in
index ef9dd93..d63af75 100644
--- a/docs/manual/Makefile.in
+++ b/docs/manual/Makefile.in
@@ -888,14 +888,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/docs/manual/advanced-autoplugging.xml b/docs/manual/advanced-autoplugging.xml
index 177e5f8..984617b 100644
--- a/docs/manual/advanced-autoplugging.xml
+++ b/docs/manual/advanced-autoplugging.xml
@@ -20,32 +20,32 @@
     without needing any adaptations to its autopluggers.
   </para>
   <para>
-    We will first introduce the concept of MIME types as a dynamic and
+    We will first introduce the concept of Media types as a dynamic and
     extendible way of identifying media streams. After that, we will introduce
     the concept of typefinding to find the type of a media stream. Lastly,
     we will explain how autoplugging and the &GStreamer; registry can be
-    used to setup a pipeline that will convert media from one mimetype to
+    used to setup a pipeline that will convert media from one mediatype to
     another, for example for media decoding.
   </para>
 
-  <sect1 id="section-mime">
-    <title>MIME-types as a way to identify streams</title>
+  <sect1 id="section-media">
+    <title>Media types as a way to identify streams</title>
     <para>
       We have previously introduced the concept of capabilities as a way
       for elements (or, rather, pads) to agree on a media type when
       streaming data from one element to the next (see <xref
       linkend="section-caps"/>). We have explained that a capability is
-      a combination of a mimetype and a set of properties. For most
+      a combination of a media type and a set of properties. For most
       container formats (those are the files that you will find on your
       hard disk; Ogg, for example, is a container format), no properties
-      are needed to describe the stream. Only a MIME-type is needed. A
-      full list of MIME-types and accompanying properties can be found
+      are needed to describe the stream. Only a media type is needed. A
+      full list of media types and accompanying properties can be found
       in <ulink type="http"
       url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-types-definitions.html">the
       Plugin Writer's Guide</ulink>.
     </para> 
     <para>
-      An element must associate a MIME-type to its source and sink pads
+      An element must associate a media type to its source and sink pads
       when it is loaded into the system. &GStreamer; knows about the
       different elements and what type of data they expect and emit through
       the &GStreamer; registry. This allows for very dynamic and extensible
@@ -54,14 +54,14 @@
 
     <para>
       In <xref linkend="chapter-helloworld"/>, we've learned to build a
-      music player for Ogg/Vorbis files. Let's look at the MIME-types
+      music player for Ogg/Vorbis files. Let's look at the media types
       associated with each pad in this pipeline. <xref
-      linkend="section-mime-img"/> shows what MIME-type belongs to each
+      linkend="section-mime-img"/> shows what media type belongs to each
       pad in this pipeline.
     </para>
 
     <figure float="1" id="section-mime-img">
-      <title>The Hello world pipeline with MIME types</title>
+      <title>The Hello world pipeline with media types</title>
       <mediaobject>
         <imageobject>
           <imagedata scale="75" fileref="images/mime-world.&image;" format="&IMAGE;"/>
@@ -98,11 +98,11 @@
     <para>
       Plugins in &GStreamer; can, as mentioned before, implement typefinder
       functionality. A plugin implementing this functionality will submit
-      a mimetype, optionally a set of file extensions commonly used for this
+      a media type, optionally a set of file extensions commonly used for this
       media type, and a typefind function. Once this typefind function inside
       the plugin is called, the plugin will see if the data in this media
       stream matches a specific pattern that marks the media type identified
-      by that mimetype. If it does, it will notify the typefind element of
+      by that media type. If it does, it will notify the typefind element of
       this fact, telling which mediatype was recognized and how certain we
       are that this stream is indeed that mediatype. Once this run has been
       completed for all plugins implementing a typefind functionality, the
@@ -233,7 +233,7 @@
   </sect1>
 
   <sect1 id="section-dynamic">
-    <title>Plugging together dynamic pipelines</title>
+    <title>Dynamically autoplugging a pipeline</title>
     <warning><para>
       The code in this section is broken, outdated and overly complicated.
       Also, you should use decodebin, playbin or uridecodebin to get
@@ -257,7 +257,7 @@
       the registry that can decode this streamtype. For this, we will get
       all element factories (which we've seen before in <xref
       linkend="section-elements-create"/>) and find the ones with the
-      given MIME-type and capabilities on their sinkpad. Note that we will
+      given media type and capabilities on their sinkpad. Note that we will
       only use parsers, demuxers and decoders. We will not use factories for
       any other element types, or we might get into a loop of encoders and
       decoders. For this, we will want to build a list of <quote>allowed</quote>
@@ -416,7 +416,7 @@
 	     GstCaps       *caps)
 {
   GstObject *parent = GST_OBJECT (GST_OBJECT_PARENT (pad));
-  const gchar *mime;
+  const gchar *media;
   const GList *item;
   GstCaps *res, *audiocaps;
 
@@ -428,10 +428,10 @@
   }
 
   /* as said above, we only try to plug audio... Omit video */
-  mime = gst_structure_get_name (gst_caps_get_structure (caps, 0));
-  if (g_strrstr (mime, "video")) {
-    g_print ("Omitting link for pad %s:%s because mimetype %s is non-audio\n",
-	     GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad), mime);
+  media = gst_structure_get_name (gst_caps_get_structure (caps, 0));
+  if (g_strrstr (media, "video")) {
+    g_print ("Omitting link for pad %s:%s because media type %s is non-audio\n",
+	     GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad), media);
     return;
   }
 
@@ -489,7 +489,7 @@
 
   /* if we get here, no item was found */
   g_print ("No compatible pad found to decode %s on %s:%s\n",
-	   mime, GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad));
+	   media, GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad));
 }
 
 static void
diff --git a/docs/manual/advanced-dataaccess.xml b/docs/manual/advanced-dataaccess.xml
index be56564..28fc56c 100644
--- a/docs/manual/advanced-dataaccess.xml
+++ b/docs/manual/advanced-dataaccess.xml
@@ -2,9 +2,9 @@
   <title>Pipeline manipulation</title>
   <para>
     This chapter will discuss how you can manipulate your pipeline in several
-    ways from your application on. Parts of this chapter are downright
-    hackish, so be assured that you'll need some programming knowledge
-    before you start reading this.
+    ways from your application on. Parts of this chapter are very
+    lowlevel, so be assured that you'll need some programming knowledge
+    and a good understanding of &GStreamer; before you start reading this.
   </para>
   <para>
     Topics that will be discussed here include how you can insert data into
@@ -13,67 +13,175 @@
     to listen to a pipeline's data processing.
   </para>
 
-  <sect1 id="section-data-probe">
-    <title>Data probing</title>
+  <sect1 id="section-using-probes">
+    <title>Using probes</title>
     <para>
       Probing is best envisioned as a pad listener. Technically, a probe is
-      nothing more than a signal callback that can be attached to a pad.
-      Those signals are by default not fired at all (since that may have a
-      negative impact on performance), but can be enabled by attaching a
-      probe using <function>gst_pad_add_buffer_probe ()</function>,
-      <function>gst_pad_add_event_probe ()</function>, or
-      <function>gst_pad_add_data_probe ()</function>.
-      Those functions attach the signal handler and
-      enable the actual signal emission. Similarly, one can use the
-      <function>gst_pad_remove_buffer_probe ()</function>,
-      <function>gst_pad_remove_event_probe ()</function>, or
-      <function>gst_pad_remove_data_probe ()</function>
-      to remove the signal handlers again.
+      nothing more than a callback that can be attached to a pad.
+      You can attach a probe using <function>gst_pad_add_probe ()</function>.
+      Similarly, one can use the
+      <function>gst_pad_remove_probe ()</function>
+      to remove the callback again. The probe notifies you of any activity
+      that happens on the pad, like buffers, events and queries. You can
+      define what kind of notifications you are interested in when you
+      add the probe.
     </para>
     <para>
-      Probes run in pipeline threading context, so callbacks should try to
-      not block and generally not do any weird stuff, since this could
-      have a negative impact on pipeline performance or, in case of bugs,
-      cause deadlocks or crashes. More precisely, one should usually not
-      call any GUI-related functions from within a probe callback, nor try
-      to change the state of the pipeline.  An application may post custom
-      messages on the pipeline's bus though to communicate with the main
-      application thread and have it do things like stop the pipeline.
+      The probe can notify you of the following activity on pads:
     </para>
-    <para>
-      In any case, most common buffer operations
-      that elements can do in <function>_chain ()</function> functions, can
-      be done in probe callbacks as well. The example below gives a short
-      impression on how to use them (even if this usage is not entirely
-      correct, but more on that below):
-    </para>
-    <programlisting><!-- example-begin probe.c -->
-#include &lt;gst/gst.h&gt;
+    <itemizedlist>
+      <listitem>
+        <para>
+          A buffer is pushed or pulled. You want to specify the
+          GST_PAD_PROBE_TYPE_BUFFER when registering the probe. Because the
+          pad can be scheduled in different ways, it is possible to also
+          specify in what scheduling mode you are interested with the
+          optional GST_PAD_PROBE_TYPE_PUSH and GST_PAD_PROBE_TYPE_PULL
+          flags.
+        </para>
+        <para>
+          You can use this probe to inspect, modify or drop the buffer.
+          See <xref linkend="section-data-probes"/>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          A bufferlist is pushed. Use the GST_PAD_PROBE_TYPE_BUFFER_LIST
+          when registering the probe.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          An event travels over a pad. Use the GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM
+          and GST_PAD_PROBE_TYPE_EVENT_UPSTREAM flags to select downstream
+          and upstream events. There is also a convenience
+          GST_PAD_PROBE_TYPE_EVENT_BOTH to be notified of events going both
+          upstream and downstream. By default, flush events do not cause
+          a notification. You need to explicitly enable GST_PAD_PROBE_TYPE_EVENT_FLUSH
+          to receive callbacks from flushing events. Events are always
+          only notified in push mode.
+        </para>
+        <para>
+          You can use this probe to inspect, modify or drop the event.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          A query travels over a pad. Use the GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM
+          and GST_PAD_PROBE_TYPE_QUERY_UPSTREAM flags to select downstream
+          and upstream queries. The convenience GST_PAD_PROBE_TYPE_QUERY_BOTH
+          can also be used to select both directions. Query probes will be
+          notified twice, once when the query travels upstream/downstream and
+          once when the query result is returned. You can select in what stage
+          the callback will be called with the GST_PAD_PROBE_TYPE_PUSH and
+          GST_PAD_PROBE_TYPE_PULL, respectively when the query is performed
+          and when the query result is returned.
+        </para>
+        <para>
+          You can use this probe to inspect or modify the query. You can also
+          answer the query in the probe callback by placing the result value
+          in the query and by returning GST_PAD_PROBE_DROP from the 
+          callback.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          In addition to notifying you of dataflow, you can also ask the
+          probe to block the dataflow when the callback returns. This is
+          called a blocking probe and is activated by specifying the
+          GST_PAD_PROBE_TYPE_BLOCK flag. You can use this flag with the
+          other flags to only block dataflow on selected activity. A pad
+          becomes unblocked again if you remove the probe or when you return
+          GST_PAD_PROBE_REMOVE from the callback. You can let only the
+          currently blocked item pass by returning GST_PAD_PROBE_PASS
+          from the callback, it will block again on the next item.
+        </para>
+        <para>
+          Blocking probes are used to temporarily block pads because they
+          are unlinked or because you are going to unlink them. If the
+          dataflow is not blocked, the pipeline would go into an error
+          state if data is pushed on an unlinked pad. We will se how
+          to use blocking probes to partially preroll a pipeline.
+          See also <xref linkend="section-preroll-probes"/>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Be notified when no activity is happening on a pad. You install
+          this probe with the GST_PAD_PROBE_TYPE_IDLE flag. You can specify
+          GST_PAD_PROBE_TYPE_PUSH and/or GST_PAD_PROBE_TYPE_PULL to 
+          only be notified depending on the pad scheduling mode.
+          The IDLE probe is also a blocking probe in that it will not let
+          any data pass on the pad for as long as the IDLE probe is
+          installed.
+        </para>
+        <para>
+          You can use idle probes to dynamically relink a pad.  We will see
+          how to use idle probes to replace an element in the pipeline.
+          See also <xref linkend="section-dynamic-pipelines"/>.
+        </para>
+      </listitem>
+    </itemizedlist>
 
-static gboolean
-cb_have_data (GstPad    *pad,
-	      GstBuffer *buffer,
-	      gpointer   u_data)
+    <sect2 id="section-data-probes">
+      <title>Data probes</title>
+      <para>
+        Data probes allow you to be notified when there is data passing
+        on a pad. When adding the probe, specify the GST_PAD_PROBE_TYPE_BUFFER
+        and/or GST_PAD_PROBE_TYPE_BUFFER_LIST. 
+      </para>
+      <para>
+        Data probes run in pipeline streaming thread context, so callbacks
+        should try to not block and generally not do any weird stuff, since
+        this could have a negative impact on pipeline performance or, in case
+        of bugs, cause deadlocks or crashes. More precisely, one should usually
+        not call any GUI-related functions from within a probe callback, nor try
+        to change the state of the pipeline.  An application may post custom
+        messages on the pipeline's bus though to communicate with the main
+        application thread and have it do things like stop the pipeline.
+      </para>
+      <para>
+        In any case, most common buffer operations
+        that elements can do in <function>_chain ()</function> functions, can
+        be done in probe callbacks as well. The example below gives a short
+        impression on how to use them.
+      </para>
+      <programlisting>
+<!-- example-begin probe.c -->
+<![CDATA[
+#include <gst/gst.h>
+
+static GstPadProbeReturn
+cb_have_data (GstPad          *pad,
+              GstPadProbeInfo *info,
+              gpointer         user_data)
 {
   gint x, y;
-  GstMapInfo info;
+  GstMapInfo map;
   guint16 *ptr, t;
-  
-  gst_buffer_map (buffer, &amp;info, GST_MAP_WRITE);
+  GstBuffer *buffer;
 
-  ptr = info.data;
+  buffer = GST_PAD_PROBE_INFO_BUFFER (info);
+
+  buffer = gst_buffer_make_writable (buffer);
+  
+  gst_buffer_map (buffer, &map, GST_MAP_WRITE);
+
+  ptr = (guint16 *) map.data;
   /* invert data */
-  for (y = 0; y &lt; 288; y++) {
-    for (x = 0; x &lt; 384 / 2; x++) {
+  for (y = 0; y < 288; y++) {
+    for (x = 0; x < 384 / 2; x++) {
       t = ptr[384 - 1 - x];
       ptr[384 - 1 - x] = ptr[x];
       ptr[x] = t;
     }
     ptr += 384;
   }
-  gst_buffer_unmap (buffer, &amp;info);
+  gst_buffer_unmap (buffer, &map);
 
-  return TRUE;
+  GST_PAD_PROBE_INFO_DATA (info) = buffer;
+
+  return GST_PAD_PROBE_OK;
 }
 
 gint
@@ -86,7 +194,7 @@
   GstPad *pad;
 
   /* init GStreamer */
-  gst_init (&amp;argc, &amp;argv);
+  gst_init (&argc, &argv);
   loop = g_main_loop_new (NULL, FALSE);
 
   /* build */
@@ -120,8 +228,9 @@
   g_object_set (G_OBJECT (filter), "caps", filtercaps, NULL);
   gst_caps_unref (filtercaps);
 
-  pad = gst_element_get_pad (src, "src");
-  gst_pad_add_buffer_probe (pad, G_CALLBACK (cb_have_data), NULL);
+  pad = gst_element_get_static_pad (src, "src");
+  gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
+      (GstPadProbeCallback) cb_have_data, NULL, NULL);
   gst_object_unref (pad);
 
   /* run */
@@ -141,41 +250,275 @@
 
   return 0;
 }
-    <!-- example-end probe.c --></programlisting>
-    <para>
-      Compare that output with the output of <quote>gst-launch-0.10
-      videotestsrc ! xvimagesink</quote>, just so you know what you're
-      looking for.
-    </para>
-    <para>
-      The above example is not really correct though.  Strictly speaking, a
-      pad probe callback is only allowed to modify the buffer content if the
-      buffer is writable, and it is only allowed to modify buffer metadata like
-      timestamps, caps, etc. if the buffer metadata is writable.  Whether this
-      is the case or not depends a lot on the pipeline and the elements
-      involved.  Often enough, this is the case, but sometimes it is not,
-      and if it is not then unexpected modification of the data or metadata
-      can introduce bugs that are very hard to debug and track down. You can
-      check if a buffer and its metadata are writable with
-      <function>gst_buffer_is_writable ()</function> and
-      <function>gst_buffer_is_metadata_writable ()</function>.  Since you
-      can't pass back a different buffer than the one passed in, there is no
-      point of making a buffer writable in the callback function.
-    </para>
-    <para>
-      Pad probes are suited best for looking at data as it passes through
-      the pipeline. If you need to modify data, you should write your own
-      GStreamer element. Base classes like GstAudioFilter, GstVideoFilter or
-      GstBaseTransform make this fairly easy.
-    </para>
-    <para>
-      If you just want to inspect buffers as they pass through the pipeline,
-      you don't even need to set up pad probes. You could also just insert
-      an identity element into the pipeline and connect to its "handoff"
-      signal. The identity element also provides a few useful debugging tools
-      like the "dump" property or the "last-message" property (the latter is
-      enabled by passing the '-v' switch to gst-launch).
-    </para>
+]]>
+<!-- example-end probe.c -->
+      </programlisting>
+      <para>
+        Compare that output with the output of <quote>gst-launch-1.0
+        videotestsrc ! xvimagesink</quote>, just so you know what you're
+        looking for.
+      </para>
+      <para>
+        Strictly speaking, a pad probe callback is only allowed to modify the
+        buffer content if the buffer is writable.  Whether this is the case or
+        not depends a lot on the pipeline and the elements involved.  Often
+        enough, this is the case, but sometimes it is not, and if it is not
+        then unexpected modification of the data or metadata can introduce
+        bugs that are very hard to debug and track down. You can check if a
+        buffer is writable with <function>gst_buffer_is_writable ()</function>.
+        Since you can pass back a different buffer than the one passed in,
+        it is a good idea to make the buffer writable in the callback function
+        with <function>gst_buffer_make_writable ()</function>.
+      </para>
+      <para>
+        Pad probes are suited best for looking at data as it passes through
+        the pipeline. If you need to modify data, you should better write your
+        own GStreamer element. Base classes like GstAudioFilter, GstVideoFilter or
+        GstBaseTransform make this fairly easy.
+      </para>
+      <para>
+        If you just want to inspect buffers as they pass through the pipeline,
+        you don't even need to set up pad probes. You could also just insert
+        an identity element into the pipeline and connect to its "handoff"
+        signal. The identity element also provides a few useful debugging tools
+        like the "dump" property or the "last-message" property (the latter is
+        enabled by passing the '-v' switch to gst-launch and by setting the
+        silent property on the identity to FALSE).
+      </para>
+    </sect2>
+
+    <sect2 id="section-preroll-probes">
+      <title>Play a region of a media file</title>
+      <para>
+        In this example we will show you how to play back a region of
+        a media file. The goal is to only play the part of a file
+        from 2 seconds to 5 seconds and then EOS.
+      </para>
+      <para>
+        In a first step we will set a uridecodebin element to the PAUSED
+        state and make sure that we block all the source pads that are
+        created. When all the source pads are blocked, we have data on
+        all source pads and we say that the uridecodebin is prerolled.
+      </para>
+      <para>
+        In a prerolled pipeline we can ask for the duration of the media
+        and we can also perform seeks. We are interested in performing a
+        seek operation on the pipeline to select the range of media
+        that we are interested in.
+      </para>
+      <para>
+        After we configure the region we are interested in, we can link
+        the sink element, unblock the source pads and set the pipeline to
+        the playing state. You will see that exactly the requested
+        region is played by the sink before it goes to EOS.
+        What follows
+      </para>
+      <para>
+        What follows is an example application that loosly follows this
+        algorithm.
+      </para>
+      <programlisting>
+<!-- example-begin blockprobe.c -->
+<![CDATA[
+#include <gst/gst.h>
+
+static GMainLoop *loop;
+static volatile gint counter;
+static GstBus *bus;
+static gboolean prerolled = FALSE;
+static GstPad *sinkpad;
+
+static void
+dec_counter (GstElement * pipeline)
+{
+  if (prerolled)
+    return;
+
+  if (g_atomic_int_dec_and_test (&counter)) {
+    /* all probes blocked and no-more-pads signaled, post
+     * message on the bus. */
+    prerolled = TRUE;
+
+    gst_bus_post (bus, gst_message_new_application (
+          GST_OBJECT_CAST (pipeline),
+          gst_structure_new_empty ("ExPrerolled")));
+  }
+}
+
+/* called when a source pad of uridecodebin is blocked */
+static GstPadProbeReturn
+cb_blocked (GstPad          *pad,
+            GstPadProbeInfo *info,
+            gpointer         user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  if (prerolled)
+    return GST_PAD_PROBE_REMOVE;
+
+  dec_counter (pipeline);
+
+  return GST_PAD_PROBE_OK;
+}
+
+/* called when uridecodebin has a new pad */
+static void
+cb_pad_added (GstElement *element,
+              GstPad     *pad,
+              gpointer    user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  if (prerolled)
+    return;
+
+  g_atomic_int_inc (&counter);
+
+  gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
+      (GstPadProbeCallback) cb_blocked, pipeline, NULL);
+
+  /* try to link to the video pad */
+  gst_pad_link (pad, sinkpad);
+}
+
+/* called when uridecodebin has created all pads */
+static void
+cb_no_more_pads (GstElement *element,
+                 gpointer    user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  if (prerolled)
+    return;
+
+  dec_counter (pipeline);
+}
+
+/* called when a new message is posted on the bus */
+static void
+cb_message (GstBus     *bus,
+            GstMessage *message,
+            gpointer    user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  switch (GST_MESSAGE_TYPE (message)) {
+    case GST_MESSAGE_ERROR:
+      g_print ("we received an error!\n");
+      g_main_loop_quit (loop);
+      break;
+    case GST_MESSAGE_EOS:
+      g_print ("we reached EOS\n");
+      g_main_loop_quit (loop);
+      break;
+    case GST_MESSAGE_APPLICATION:
+    {
+      if (gst_message_has_name (message, "ExPrerolled")) {
+        /* it's our message */
+        g_print ("we are all prerolled, do seek\n");
+        gst_element_seek (pipeline,
+            1.0, GST_FORMAT_TIME,
+            GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE,
+            GST_SEEK_TYPE_SET, 2 * GST_SECOND,
+            GST_SEEK_TYPE_SET, 5 * GST_SECOND);
+
+        gst_element_set_state (pipeline, GST_STATE_PLAYING);
+      }
+      break;
+    }
+    default:
+      break;
+  }
+}
+
+gint
+main (gint   argc,
+      gchar *argv[])
+{
+  GstElement *pipeline, *src, *csp, *vs, *sink;
+
+  /* init GStreamer */
+  gst_init (&argc, &argv);
+  loop = g_main_loop_new (NULL, FALSE);
+
+  if (argc < 2) {
+    g_print ("usage: %s <uri>", argv[0]);
+    return -1;
+  }
+
+  /* build */
+  pipeline = gst_pipeline_new ("my-pipeline");
+
+  bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+  gst_bus_add_signal_watch (bus);
+  g_signal_connect (bus, "message", (GCallback) cb_message,
+      pipeline);
+
+  src = gst_element_factory_make ("uridecodebin", "src");
+  if (src == NULL)
+    g_error ("Could not create 'uridecodebin' element");
+
+  g_object_set (src, "uri", argv[1], NULL);
+
+  csp = gst_element_factory_make ("videoconvert", "csp");
+  if (csp == NULL)
+    g_error ("Could not create 'videoconvert' element");
+
+  vs = gst_element_factory_make ("videoscale", "vs");
+  if (csp == NULL)
+    g_error ("Could not create 'videoscale' element");
+
+  sink = gst_element_factory_make ("autovideosink", "sink");
+  if (sink == NULL)
+    g_error ("Could not create 'autovideosink' element");
+
+  gst_bin_add_many (GST_BIN (pipeline), src, csp, vs, sink, NULL);
+
+  /* can't link src yet, it has no pads */
+  gst_element_link_many (csp, vs, sink, NULL);
+
+  sinkpad = gst_element_get_static_pad (csp, "sink");
+
+  /* for each pad block that is installed, we will increment
+   * the counter. for each pad block that is signaled, we
+   * decrement the counter. When the counter is 0 we post
+   * an app message to tell the app that all pads are
+   * blocked. Start with 1 that is decremented when no-more-pads
+   * is signaled to make sure that we only post the message
+   * after no-more-pads */
+  g_atomic_int_set (&counter, 1);
+
+  g_signal_connect (src, "pad-added",
+      (GCallback) cb_pad_added, pipeline);
+  g_signal_connect (src, "no-more-pads",
+      (GCallback) cb_no_more_pads, pipeline);
+
+  gst_element_set_state (pipeline, GST_STATE_PAUSED);
+
+  g_main_loop_run (loop);
+
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+
+  gst_object_unref (sinkpad);
+  gst_object_unref (bus);
+  gst_object_unref (pipeline);
+  g_main_loop_unref (loop);
+
+  return 0;
+}
+]]>
+<!-- example-end blockprobe.c -->
+</programlisting>
+      <para>
+        Note that we use a custom application message to signal the
+        main thread that the uridecidebin is prerolled. The main thread
+        will then issue a flushing seek to the requested region. The
+        flush will temporarily unblock the pad and reblock them when
+        new data arrives again. We detect this second block to remove
+        the probes. Then we set the pipeline to PLAYING and it should
+        play from 2 to 5 seconds, then EOS and exit the application.
+      </para>
+    </sect2>
   </sect1>
 
   <sect1 id="section-data-spoof">
@@ -184,153 +527,254 @@
       Many people have expressed the wish to use their own sources to inject
       data into a pipeline. Some people have also expressed the wish to grab
       the output in a pipeline and take care of the actual output inside
-      their application. While either of these methods are stongly
-      discouraged, &GStreamer; offers hacks to do this. <emphasis>However,
-      there is no support for those methods.</emphasis> If it doesn't work,
-      you're on your own. Also, synchronization, thread-safety and other
-      things that you've been able to take for granted so far are no longer
-      guaranteed if you use any of those methods. It's always better to
-      simply write a plugin and have the pipeline schedule and manage it.
+      their application. While either of these methods are strongly
+      discouraged, &GStreamer; offers support for this.
+      <emphasis>Beware! You need to know what you are doing.</emphasis> Since
+      you don't have any support from a base class you need to thoroughly
+      understand state changes and synchronization. If it doesn't work,
+      there are a million ways to shoot yourself in the foot.  It's always
+      better to simply write a plugin and have the base class manage it.
       See the Plugin Writer's Guide for more information on this topic. Also
       see the next section, which will explain how to embed plugins statically
       in your application.
     </para>
-    <note><para>
-	<ulink type="http"
-	  url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gstreamer-app.html">New
-	  API</ulink> was developed to make data insertion and extraction easy
-	for applications. It can be found as GstAppSrc and GstAppSink in the
-	<ulink type="http"
-	  url="http://gstreamer.freedesktop.org/modules/gst-plugins-base.html">
-	  gst-plugins-base</ulink> module.
-    </para></note>
     <para>
-      After all those disclaimers, let's start. There's three possible
-      elements that you can use for the above-mentioned purposes. Those are
-      called <quote>fakesrc</quote> (an imaginary source),
-      <quote>fakesink</quote> (an imaginary sink) and <quote>identity</quote>
-      (an imaginary filter). The same method applies to each of those
-      elements. Here, we will discuss how to use those elements to insert
-      (using fakesrc) or grab (using fakesink or identity) data from a
+      There's two possible elements that you can use for the above-mentioned
+      purposes. Those are called <quote>appsrc</quote> (an imaginary source)
+      and <quote>appsink</quote> (an imaginary sink). The same method applies
+      to each of those elements. Here, we will discuss how to use those
+      elements to insert (using appsrc) or grab (using appsink) data from a
       pipeline, and how to set negotiation.
     </para>
     <para>
-      Those who're paying close attention will notice that the purpose
-      of identity is almost identical to that of probes. Indeed, this is
-      true. Probes allow for the same purpose, and a bunch more, and
-      with less overhead plus dynamic removing/adding of handlers, but
-      apart from those, probes and identity have the same purpose, just
-      in a completely different implementation type.
+      Both appsrc and appsink provide 2 sets of API. One API uses standard
+      GObject (action) signals and properties. The same API is also
+      available as a regular C api. The C api is more performant but
+      requires you to link to the app library in order to use the elements.
     </para>
 
-    <sect2 id="section-spoof-handoff">
-      <title>Inserting or grabbing data</title>
+    <sect2 id="section-spoof-appsrc">
+      <title>Inserting data with appsrc</title>
       <para>
-        The three before-mentioned elements (fakesrc, fakesink and identity)
-        each have a <quote>handoff</quote> signal that will be called in
-        the <function>_get ()</function>- (fakesrc) or <function>_chain
-        ()</function>-function (identity, fakesink). In the signal handler,
-        you can set (fakesrc) or get (identity, fakesink) data to/from the
-        provided buffer. Note that in the case of fakesrc, you have to set
-        the size of the provided buffer using the <quote>sizemax</quote>
-        property. For both fakesrc and fakesink, you also have to set the
-        <quote>signal-handoffs</quote> property for this method to work.
+        First we look at some examples for appsrc, which lets you insert data
+        into the pipeline from the application. Appsrc has some configuration
+        options that define how it will operate. You should decide about the
+        following configurations:
+      </para>
+      <itemizedlist>
+        <listitem>
+          <para>
+            Will the appsrc operate in push or pull mode. The stream-type
+            property can be used to control this. stream-type of
+            <quote>random-access</quote> will activate pull mode scheduling
+            while the other stream-types activate push mode.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The caps of the buffers that appsrc will push out. This needs to
+            be configured with the caps property. The caps must be set to a
+            fixed caps and will be used to negotiate a format downstream.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            It the appsrc operates in live mode or not. This can be configured
+            with the is-live property. When operating in live-mode it is
+            important to configure the min-latency and max-latency in appsrc.
+            The min-latency should be set to the amount of time it takes between
+            capturing a buffer and when it is pushed inside appsrc.
+            In live mode, you should timestamp the buffers with the pipeline
+            running-time when the first byte of the buffer was captured before
+            feeding them to appsrc. You can let appsrc do the timestaping with
+            the do-timestamp property (but then the min-latency must be set
+            to 0 because it timestamps based on the running-time when the buffer
+            entered appsrc).
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The format of the SEGMENT event that appsrc will push. The format
+            has implications for how the running-time of the buffers will
+            be calculated so you must be sure you understand this. For
+            live sources you probably want to set the format property to
+            GST_FORMAT_TIME. For non-live source it depends on the media type
+            that you are handling. If you plan to timestamp the buffers, you
+            should probably put a GST_FORMAT_TIME format, otherwise
+            GST_FORMAT_BYTES might be appropriate.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            If appsrc operates in random-access mode, it is important to configure
+            the size property of appsrc with the number of bytes in the stream.
+            This will allow downstream elements to know the size of the media and
+            alows them to seek to the end of the stream when needed.
+          </para>
+        </listitem>
+      </itemizedlist>
+      <para>
+        The main way of handling data to appsrc is by using the function
+        <function>gst_app_src_push_buffer ()</function> or by emiting the
+        push-buffer action signal.  This will put the buffer onto a queue from
+        which appsrc will read from in its streaming thread. It is important
+        to note that data transport will not happen from the thread that
+        performed the push-buffer call.
       </para>
       <para>
-        Note that your handoff function should <emphasis>not</emphasis>
-        block, since this will block pipeline iteration. Also, do not try
-        to use all sort of weird hacks in such functions to accomplish
-        something that looks like synchronization or so; it's not the right
-        way and will lead to issues elsewhere. If you're doing any of this,
-        you're basically misunderstanding the &GStreamer; design.
+        The <quote>max-bytes</quote> property controls how much data can be
+        queued in appsrc before appsrc considers the queue full. A filled
+        internal queue will always signal the <quote>enough-data</quote>
+        signal, which signals the application that it should stop pushing
+        data into appsrc. The <quote>block</quote> property will cause appsrc to
+        block the push-buffer method until free data becomes available again.
       </para>
-    </sect2>
+      <para>
+        When the internal queue is running out of data, the
+        <quote>need-data</quote> signal is emitted, which signals the application
+        that it should start pushing more data into appsrc.
+      </para>
+      <para>
+        In addition to the <quote>need-data</quote> and <quote>enough-data</quote>
+        signals, appsrc can emit the <quote>seek-data</quote> signal when the
+        <quote>stream-mode</quote> property is set to <quote>seekable</quote>
+        or <quote>random-access</quote>. The signal argument will contain the
+        new desired position in the stream expressed in the unit set with the
+        <quote>format</quote> property. After receiving the seek-data signal,
+        the application should push-buffers from the new position.
+      </para>
+      <para>
+        When the last byte is pushed into appsrc, you must call
+        <function>gst_app_src_end_of_stream ()</function> to make it send
+        an EOS downstream.
+      </para>
+      <para>
+        These signals allow the application to operate appsrc in push and
+        pull mode as will be explained next.
+      </para>
 
-    <sect2 id="section-spoof-format">
-      <title>Forcing a format</title>
-      <para>
-        Sometimes, when using fakesrc as a source in your pipeline, you'll
-        want to set a specific format, for example a video size and format
-        or an audio bitsize and number of channels. You can do this by
-        forcing a specific <classname>GstCaps</classname> on the pipeline,
-        which is possible by using <emphasis>filtered caps</emphasis>. You
-        can set a filtered caps on a link by using the
-        <quote>capsfilter</quote> element in between the two elements, and
-        specifying a <classname>GstCaps</classname> as
-        <quote>caps</quote> property on this element. It will then
-        only allow types matching that specified capability set for
-	negotiation.  See also <xref linkend="section-caps-filter"/>.
-      </para>
-    </sect2>
+      <sect3 id="section-spoof-appsrc-push">
+        <title>Using appsrc in push mode</title>
+        <para>
+          When appsrc is configured in push mode (stream-type is stream or
+          seekable), the application repeatedly calls the push-buffer method
+          with a new buffer. Optionally, the queue size in the appsrc can be
+          controlled with the enough-data and need-data signals by respectively
+          stopping/starting the push-buffer calls. The value of the
+          min-percent property defines how empty the internal appsrc queue
+          needs to be before the need-data signal will be fired. You can set
+          this to some value >0 to avoid completely draining the queue.
+        </para>
+        <para>
+          When the stream-type is set to seekable, don't forget to implement
+          a seek-data callback.
+        </para>
+        <para>
+          Use this model when implementing various network protocols or
+          hardware devices.
+        </para>
+      </sect3>
 
-    <sect2 id="section-spoof-example">
-      <title>Example application</title>
-      <para>
-        This example application will generate black/white (it switches
-        every second) video to an X-window output by using fakesrc as a
-        source and using filtered caps to force a format. Since the depth
-        of the image depends on your X-server settings, we use a colorspace
-        conversion element to make sure that the output to your X server
-        will have the correct bitdepth. You can also set timestamps on the
-        provided buffers to override the fixed framerate.
-      </para>
-      <programlisting><!-- example-begin fakesrc.c -->
-#include &lt;string.h&gt; /* for memset () */
-#include &lt;gst/gst.h&gt;
+      <sect3 id="section-spoof-appsrc-pull">
+        <title>Using appsrc in pull mode</title>
+        <para>
+          In the pull model, data is fed to appsrc from the need-data signal
+          handler. You should push exactly the amount of bytes requested in the
+          need-data signal. You are only allowed to push less bytes when you are
+          at the end of the stream.
+        </para>
+        <para>
+          Use this model for file access or other randomly accessable sources.
+        </para>
+      </sect3>
+
+      <sect3 id="section-spoof-appsrc-ex">
+        <title>Appsrc example</title>
+        <para>
+          This example application will generate black/white (it switches
+          every second) video to an Xv-window output by using appsrc as a
+          source with caps to force a format. We use a colorspace
+          conversion element to make sure that we feed the right format to
+          your X server. We configure a video stream with a variable framerate
+          (0/1) and we set the timestamps on the outgoing buffers in such
+          a way that we play 2 frames per second.
+        </para>
+        <para>
+          Note how we use the pull mode method of pushing new buffers into
+          appsrc although appsrc is running in push mode. 
+        </para>
+        <programlisting>
+<!-- example-begin appsrc.c -->
+<![CDATA[
+#include <gst/gst.h>
+
+static GMainLoop *loop;
 
 static void
-cb_handoff (GstElement *fakesrc,
-	    GstBuffer  *buffer,
-	    GstPad     *pad,
-	    gpointer    user_data)
+cb_need_data (GstElement *appsrc,
+	      guint       unused_size,
+	      gpointer    user_data)
 {
   static gboolean white = FALSE;
-  GstMapInfo info;
-  
-  gst_buffer_map (buffer, &amp;info, GST_MAP_WRITE);
+  static GstClockTime timestamp = 0;
+  GstBuffer *buffer;
+  guint size;
+  GstFlowReturn ret;
+
+  size = 385 * 288 * 2;
+
+  buffer = gst_buffer_new_allocate (NULL, size, NULL);
 
   /* this makes the image black/white */
-  memset (info.data, white ? 0xff : 0x0, info.size);
+  gst_buffer_memset (buffer, 0, white ? 0xff : 0x0, size);
+  
   white = !white;
 
-  gst_buffer_unmap (buffer, &amp;info);
+  GST_BUFFER_PTS (buffer) = timestamp;
+  GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale_int (1, GST_SECOND, 2);
+
+  timestamp += GST_BUFFER_DURATION (buffer);
+
+  g_signal_emit_by_name (appsrc, "push-buffer", buffer, &ret);
+
+  if (ret != GST_FLOW_OK) {
+    /* something wrong, stop pushing */
+    g_main_loop_quit (loop);
+  }
 }
 
 gint
 main (gint   argc,
       gchar *argv[])
 {
-  GstElement *pipeline, *fakesrc, *flt, *conv, *videosink;
-  GMainLoop *loop;
+  GstElement *pipeline, *appsrc, *conv, *videosink;
 
   /* init GStreamer */
-  gst_init (&amp;argc, &amp;argv);
+  gst_init (&argc, &argv);
   loop = g_main_loop_new (NULL, FALSE);
 
   /* setup pipeline */
   pipeline = gst_pipeline_new ("pipeline");
-  fakesrc = gst_element_factory_make ("fakesrc", "source");
-  flt = gst_element_factory_make ("capsfilter", "flt");
+  appsrc = gst_element_factory_make ("appsrc", "source");
   conv = gst_element_factory_make ("videoconvert", "conv");
   videosink = gst_element_factory_make ("xvimagesink", "videosink");
 
   /* setup */
-  g_object_set (G_OBJECT (flt), "caps",
+  g_object_set (G_OBJECT (appsrc), "caps",
   		gst_caps_new_simple ("video/x-raw",
 				     "format", G_TYPE_STRING, "RGB16",
 				     "width", G_TYPE_INT, 384,
 				     "height", G_TYPE_INT, 288,
-				     "framerate", GST_TYPE_FRACTION, 1, 1,
+				     "framerate", GST_TYPE_FRACTION, 0, 1,
 				     NULL), NULL);
-  gst_bin_add_many (GST_BIN (pipeline), fakesrc, flt, conv, videosink, NULL);
-  gst_element_link_many (fakesrc, flt, conv, videosink, NULL);
+  gst_bin_add_many (GST_BIN (pipeline), appsrc, conv, videosink, NULL);
+  gst_element_link_many (appsrc, conv, videosink, NULL);
 
-  /* setup fake source */
-  g_object_set (G_OBJECT (fakesrc),
-		"signal-handoffs", TRUE,
-		"sizemax", 384 * 288 * 2,
-		"sizetype", 2, NULL);
-  g_signal_connect (fakesrc, "handoff", G_CALLBACK (cb_handoff), NULL);
+  /* setup appsrc */
+  g_object_set (G_OBJECT (appsrc),
+		"stream-type", 0,
+		"format", GST_FORMAT_TIME, NULL);
+  g_signal_connect (appsrc, "need-data", G_CALLBACK (cb_need_data), NULL);
 
   /* play */
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
@@ -339,10 +783,487 @@
   /* clean up */
   gst_element_set_state (pipeline, GST_STATE_NULL);
   gst_object_unref (GST_OBJECT (pipeline));
+  g_main_loop_unref (loop);
+
+  return 0;
+  }
+]]>
+<!-- example-end appsrc.c -->
+        </programlisting>
+      </sect3>
+    </sect2>
+
+    <sect2 id="section-spoof-appsink">
+      <title>Grabbing data with appsink</title>
+      <para>
+        Unlike appsrc, appsink is a little easier to use. It also supports
+        a pull and push based model of getting data from the pipeline.
+      </para>
+      <para>
+        The normal way of retrieving samples from appsink is by using the
+        <function>gst_app_sink_pull_sample()</function> and
+        <function>gst_app_sink_pull_preroll()</function> methods or by using
+        the <quote>pull-sample</quote> and <quote>pull-preroll</quote>
+        signals.  These methods block until a sample becomes available in the
+        sink or when the sink is shut down or reaches EOS.
+      </para>
+      <para>
+        Appsink will internally use a queue to collect buffers from the
+        streaming thread. If the application is not pulling samples fast
+        enough, this queue will consume a lot of memory over time. The
+        <quote>max-buffers</quote> property can be used to limit the queue
+        size. The <quote>drop</quote> property controls whether the
+        streaming thread blocks or if older buffers are dropped when the
+        maximum queue size is reached. Note that blocking the streaming thread
+        can negatively affect real-time performance and should be avoided.
+      </para>
+      <para>
+        If a blocking behaviour is not desirable, setting the 
+        <quote>emit-signals</quote> property to TRUE will make appsink emit
+        the <quote>new-sample</quote> and <quote>new-preroll</quote> signals
+        when a sample can be pulled without blocking.
+      </para>
+      <para>
+        The <quote>caps</quote> property on appsink can be used to control
+        the formats that appsink can receive. This property can contain
+        non-fixed caps, the format of the pulled samples can be obtained by
+        getting the sample caps.
+      </para>
+      <para>
+        If one of the pull-preroll or pull-sample methods return NULL, the
+        appsink is stopped or in the EOS state. You can check for the EOS state
+        with the <quote>eos</quote> property or with the
+        <function>gst_app_sink_is_eos()</function> method.
+      </para>
+      <para>
+        The eos signal can also be used to be informed when the EOS state is
+        reached to avoid polling.
+      </para>
+      <para>
+        Consider configuring the following properties in the appsink:
+      </para>
+      <itemizedlist>
+        <listitem>
+          <para>
+            The <quote>sync</quote> property if you want to have the sink
+            base class synchronize the buffer against the pipeline clock
+            before handing you the sample.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Enable Quality-of-Service with the <quote>qos</quote> property.
+            If you are dealing with raw video frames and let the base class
+            sycnhronize on the clock, it might be a good idea to also let
+            the base class send QOS events upstream.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The caps property that contains the accepted caps. Upstream elements
+            will try to convert the format so that it matches the configured
+            caps on appsink. You must still check the
+            <classname>GstSample</classname> to get the actual caps of the
+            buffer.
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <sect3 id="section-spoof-appsink-ex">
+        <title>Appsink example</title>
+        <para>
+          What follows is an example on how to capture a snapshot of a video
+          stream using appsink.
+        </para>
+        <programlisting>
+<!-- example-begin appsink.c -->
+<![CDATA[
+#include <gst/gst.h>
+#ifdef HAVE_GTK
+#include <gtk/gtk.h>
+#endif
+
+#include <stdlib.h>
+
+#define CAPS "video/x-raw,format=RGB,width=160,pixel-aspect-ratio=1/1"
+
+int
+main (int argc, char *argv[])
+{
+  GstElement *pipeline, *sink;
+  gint width, height;
+  GstSample *sample;
+  gchar *descr;
+  GError *error = NULL;
+  gint64 duration, position;
+  GstStateChangeReturn ret;
+  gboolean res;
+  GstMapInfo map;
+
+  gst_init (&argc, &argv);
+
+  if (argc != 2) {
+    g_print ("usage: %s <uri>\n Writes snapshot.png in the current directory\n",
+        argv[0]);
+    exit (-1);
+  }
+
+  /* create a new pipeline */
+  descr =
+      g_strdup_printf ("uridecodebin uri=%s ! videoconvert ! videoscale ! "
+      " appsink name=sink caps=\"" CAPS "\"", argv[1]);
+  pipeline = gst_parse_launch (descr, &error);
+
+  if (error != NULL) {
+    g_print ("could not construct pipeline: %s\n", error->message);
+    g_error_free (error);
+    exit (-1);
+  }
+
+  /* get sink */
+  sink = gst_bin_get_by_name (GST_BIN (pipeline), "sink");
+
+  /* set to PAUSED to make the first frame arrive in the sink */
+  ret = gst_element_set_state (pipeline, GST_STATE_PAUSED);
+  switch (ret) {
+    case GST_STATE_CHANGE_FAILURE:
+      g_print ("failed to play the file\n");
+      exit (-1);
+    case GST_STATE_CHANGE_NO_PREROLL:
+      /* for live sources, we need to set the pipeline to PLAYING before we can
+       * receive a buffer. We don't do that yet */
+      g_print ("live sources not supported yet\n");
+      exit (-1);
+    default:
+      break;
+  }
+  /* This can block for up to 5 seconds. If your machine is really overloaded,
+   * it might time out before the pipeline prerolled and we generate an error. A
+   * better way is to run a mainloop and catch errors there. */
+  ret = gst_element_get_state (pipeline, NULL, NULL, 5 * GST_SECOND);
+  if (ret == GST_STATE_CHANGE_FAILURE) {
+    g_print ("failed to play the file\n");
+    exit (-1);
+  }
+
+  /* get the duration */
+  gst_element_query_duration (pipeline, GST_FORMAT_TIME, &duration);
+
+  if (duration != -1)
+    /* we have a duration, seek to 5% */
+    position = duration * 5 / 100;
+  else
+    /* no duration, seek to 1 second, this could EOS */
+    position = 1 * GST_SECOND;
+
+  /* seek to the a position in the file. Most files have a black first frame so
+   * by seeking to somewhere else we have a bigger chance of getting something
+   * more interesting. An optimisation would be to detect black images and then
+   * seek a little more */
+  gst_element_seek_simple (pipeline, GST_FORMAT_TIME,
+      GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_FLUSH, position);
+
+  /* get the preroll buffer from appsink, this block untils appsink really
+   * prerolls */
+  g_signal_emit_by_name (sink, "pull-preroll", &sample, NULL);
+
+  /* if we have a buffer now, convert it to a pixbuf. It's possible that we
+   * don't have a buffer because we went EOS right away or had an error. */
+  if (sample) {
+    GstBuffer *buffer;
+    GstCaps *caps;
+    GstStructure *s;
+
+    /* get the snapshot buffer format now. We set the caps on the appsink so
+     * that it can only be an rgb buffer. The only thing we have not specified
+     * on the caps is the height, which is dependant on the pixel-aspect-ratio
+     * of the source material */
+    caps = gst_sample_get_caps (sample);
+    if (!caps) {
+      g_print ("could not get snapshot format\n");
+      exit (-1);
+    }
+    s = gst_caps_get_structure (caps, 0);
+
+    /* we need to get the final caps on the buffer to get the size */
+    res = gst_structure_get_int (s, "width", &width);
+    res |= gst_structure_get_int (s, "height", &height);
+    if (!res) {
+      g_print ("could not get snapshot dimension\n");
+      exit (-1);
+    }
+
+    /* create pixmap from buffer and save, gstreamer video buffers have a stride
+     * that is rounded up to the nearest multiple of 4 */
+    buffer = gst_sample_get_buffer (sample);
+    gst_buffer_map (buffer, &map, GST_MAP_READ);
+#ifdef HAVE_GTK
+    pixbuf = gdk_pixbuf_new_from_data (map.data,
+        GDK_COLORSPACE_RGB, FALSE, 8, width, height,
+        GST_ROUND_UP_4 (width * 3), NULL, NULL);
+
+    /* save the pixbuf */
+    gdk_pixbuf_save (pixbuf, "snapshot.png", "png", &error, NULL);
+#endif
+    gst_buffer_unmap (buffer, &map);
+  } else {
+    g_print ("could not make snapshot\n");
+  }
+
+  /* cleanup and exit */
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_object_unref (pipeline);
+
+  exit (0);
+}
+]]>
+<!-- example-end appsink.c -->
+</programlisting>
+      </sect3>
+    </sect2>
+  </sect1>
+
+  <sect1 id="section-spoof-format">
+    <title>Forcing a format</title>
+    <para>
+      Sometimes you'll want to set a specific format, for example a video
+      size and format or an audio bitsize and number of channels. You can
+      do this by forcing a specific <classname>GstCaps</classname> on
+      the pipeline, which is possible by using
+      <emphasis>filtered caps</emphasis>. You can set a filtered caps on
+      a link by using the <quote>capsfilter</quote> element in between the
+      two elements, and specifying a <classname>GstCaps</classname> as
+      <quote>caps</quote> property on this element. It will then
+      only allow types matching that specified capability set for
+      negotiation.  See also <xref linkend="section-caps-filter"/>.
+    </para>
+
+    <sect2 id="section-dynamic-format">
+      <title>Changing format in a PLAYING pipeline</title>
+      <para>
+        It is also possible to dynamically change the format in a pipeline
+        while PLAYING. This can simply be done by changing the caps 
+        property on a capsfilter. The capsfilter will send a RECONFIGURE
+        event upstream that will make the upstream element attempt to
+        renegotiate a new format and allocator. This only works if
+        the upstream element is not using fixed caps on the source pad.
+      </para>
+      <para>
+        Below is an example of how you can change the caps of a pipeline
+        while in the PLAYING state:
+      </para>
+      <programlisting>
+<!-- example-begin dynformat.c -->
+<![CDATA[
+#include <stdlib.h>
+
+#include <gst/gst.h>
+
+#define MAX_ROUND 100
+
+int
+main (int argc, char **argv)
+{
+  GstElement *pipe, *filter;
+  GstCaps *caps;
+  gint width, height;
+  gint xdir, ydir;
+  gint round;
+  GstMessage *message;
+
+  gst_init (&argc, &argv);
+
+  pipe = gst_parse_launch_full ("videotestsrc ! capsfilter name=filter ! "
+             "ximagesink", NULL, GST_PARSE_FLAG_NONE, NULL);
+  g_assert (pipe != NULL);
+
+  filter = gst_bin_get_by_name (GST_BIN (pipe), "filter");
+  g_assert (filter);
+
+  width = 320;
+  height = 240;
+  xdir = ydir = -10;
+
+  for (round = 0; round < MAX_ROUND; round++) {
+    gchar *capsstr;
+    g_print ("resize to %dx%d (%d/%d)   \r", width, height, round, MAX_ROUND);
+
+    /* we prefer our fixed width and height but allow other dimensions to pass
+     * as well */
+    capsstr = g_strdup_printf ("video/x-raw, width=(int)%d, height=(int)%d",
+        width, height);
+
+    caps = gst_caps_from_string (capsstr);
+    g_free (capsstr);
+    g_object_set (filter, "caps", caps, NULL);
+    gst_caps_unref (caps);
+
+    if (round == 0)
+      gst_element_set_state (pipe, GST_STATE_PLAYING);
+
+    width += xdir;
+    if (width >= 320)
+      xdir = -10;
+    else if (width < 200)
+      xdir = 10;
+
+    height += ydir;
+    if (height >= 240)
+      ydir = -10;
+    else if (height < 150)
+      ydir = 10;
+
+    message =
+        gst_bus_poll (GST_ELEMENT_BUS (pipe), GST_MESSAGE_ERROR,
+        50 * GST_MSECOND);
+    if (message) {
+      g_print ("got error           \n");
+
+      gst_message_unref (message);
+    }
+  }
+  g_print ("done                    \n");
+
+  gst_object_unref (filter);
+  gst_element_set_state (pipe, GST_STATE_NULL);
+  gst_object_unref (pipe);
 
   return 0;
 }
-      <!-- example-end fakesrc.c --></programlisting>
+]]>
+<!-- example-end dynformat.c -->
+      </programlisting>
+      <para>
+        Note how we use <function>gst_bus_poll()</function> with a
+        small timeout to get messages and also introduce a short
+        sleep.
+      </para>
+      <para>
+        It is possible to set multiple caps for the capsfilter separated
+        with a ;. The capsfilter will try to renegotiate to the first
+        possible format from the list.
+      </para>
+    </sect2>
+  </sect1>
+
+  <sect1 id="section-dynamic-pipelines">
+    <title>Dynamically changing the pipeline</title>
+    <para>
+      In this section we talk about some techniques for dynamically
+      modifying the pipeline. We are talking specifically about changing
+      the pipeline while it is in the PLAYING state without interrupting
+      the flow.
+    </para>
+    <para>
+      There are some important things to consider when building dynamic
+      pipelines:
+    </para>
+    <itemizedlist>
+      <listitem>
+        <para>
+          When removing elements from the pipeline, make sure that there
+          is no dataflow on unlinked pads because that will cause a fatal
+          pipeline error. Always block source pads (in push mode) or
+          sink pads (in pull mode) before unlinking pads.
+          See also <xref linkend="section-dynamic-changing"/>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          When adding elements to a pipeline, make sure to put the element
+          into the right state, usually the same state as the parent, before
+          allowing dataflow the element. When an element is newly created,
+          it is in the NULL state and will return an error when it
+          receives data.
+          See also <xref linkend="section-dynamic-changing"/>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          When adding elements to a pipeline, &GStreamer; will by default
+          set the clock and base-time on the element to the current values
+          of the pipeline. This means that the element will be able to
+          construct the same pipeline running-time as the other elements
+          in the pipeline. This means that sinks will synchronize buffers
+          like the other sinks in the pipeline and that sources produce
+          buffers with a running-time that matches the other sources.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          When unlinking elements from an upstream chain, always make sure
+          to flush any queued data in the element by sending an EOS event
+          down the element sink pad(s) and by waiting that the EOS leaves
+          the elements (with an event probe).
+          See also <xref linkend="section-dynamic-changing"/>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          A live source will produce buffers with a running-time of the
+          current running-time in the pipeline.
+        </para>
+        <para>
+          A pipeline without a live source produces buffers with a
+          running-time starting from 0. Likewise, after a flushing seek,
+          those pipelines reset the running-time back to 0.
+        </para>
+        <para>
+          The running-time can be changed with
+          <function>gst_pad_set_offset ()</function>. It is important to
+          know the running-time of the elements in the pipeline in order
+          to maintain synchronization.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Adding elements might change the state of the pipeline. Adding a
+          non-prerolled sink, for example, brings the pipeline back to the
+          prerolling state. Removing a non-prerolled sink, for example, might
+          change the pipeline to PAUSED and PLAYING state.
+        </para>
+        <para>
+          Adding a live source cancels the preroll stage and put the pipeline
+          to the playing state. Adding a live source or other live elements
+          might also change the latency of a pipeline.
+        </para>
+        <para>
+          Adding or removing elements to the pipeline might change the clock
+          selection of the pipeline. If the newly added element provides a clock,
+          it might be worth changing the clock in the pipeline to the new
+          clock. If, on the other hand, the element that provides the clock
+          for the pipeline is removed, a new clock has to be selected.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Adding and removing elements might cause upstream or downstream
+          elements to renegotiate caps and or allocators. You don't really
+          need to do anything from the application, plugins largely
+          adapt themself to the new pipeline topology in order to optimize
+          their formats and allocation strategy.
+        </para>
+        <para>
+          What is important is that when you add, remove or change elements
+          in the pipeline, it is possible that the pipeline needs to
+          negotiate a new format and this can fail. Usually you can fix this
+          by inserting the right converter elements where needed.
+        </para>
+      </listitem>
+    </itemizedlist>
+
+    <para>
+      &GStreamer; offers support for doing about any dynamic pipeline
+      modification but it requires you to know a bit of details before
+      you can do this without causing pipeline errors. In the following
+      sections we will demonstrate a couple of typical use-cases.
+    </para>
+
+    <sect2 id="section-dynamic-changing">
+      <title>Changing elements in a pipeline</title>
+      <para>
+        WRITEME
+      </para>
     </sect2>
   </sect1>
 
@@ -364,11 +1285,12 @@
       contains an initialization function (usually called
       <function>plugin_init</function>) that will be called right after that.
       It's purpose is to register the elements provided by the plugin with
-      the &GStreamer; framework. If you want to embed elements directly in
+      the &GStreamer; framework. 
+      If you want to embed elements directly in
       your application, the only thing you need to do is to replace
-	  <function>GST_PLUGIN_DEFINE ()</function> with
-	  <function>GST_PLUGIN_DEFINE_STATIC ()</function>. This will cause the
-      elements to be registered when your application loads, and the elements
+	  <function>GST_PLUGIN_DEFINE ()</function> with a call to
+          <function>gst_plugin_register_static ()</function>. As soon as you
+      call <function>gst_plugin_register_static ()</function>, the elements
       will from then on be available like any other element, without them
       having to be dynamically loadable libraries. In the example below, you
       would be able to call <function>gst_element_factory_make
@@ -377,6 +1299,7 @@
     </para>
 
     <programlisting>
+<![CDATA[
 /*
  * Here, you would write the actual plugin code.
  */
@@ -390,17 +1313,26 @@
 			       GST_RANK_NONE, MY_PLUGIN_TYPE);
 }
 
-GST_PLUGIN_DEFINE_STATIC (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "my-private-plugins",
-  "Private elements of my application",
-  register_elements,
-  VERSION,
-  "LGPL",
-  "my-application",
-  "http://www.my-application.net/"
-)
+static
+my_code_init (void)
+{
+  ...
+
+  gst_plugin_register_static (
+    GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "my-private-plugins",
+    "Private elements of my application",
+    register_elements,
+    VERSION,
+    "LGPL",
+    "my-application-source",
+    "my-application",
+    "http://www.my-application.net/")
+
+  ...
+}
+]]>
     </programlisting>
   </sect1>
 </chapter>
diff --git a/docs/manual/advanced-interfaces.xml b/docs/manual/advanced-interfaces.xml
index 1fa5897..ef41f4c 100644
--- a/docs/manual/advanced-interfaces.xml
+++ b/docs/manual/advanced-interfaces.xml
@@ -48,78 +48,6 @@
     </para>
   </sect1>
 
-  <sect1 id="section-interfaces-mixer">
-    <title>The Mixer interface</title>
-
-    <para>
-      The mixer interface provides a uniform way to control the volume on a
-      hardware (or software) mixer. The interface is primarily intended to
-      be implemented by elements for audio inputs and outputs that talk
-      directly to the hardware (e.g. OSS or ALSA plugins).
-    </para>
-    <para>
-      Using this interface, it is possible to control a list of tracks
-      (such as Line-in, Microphone, etc.) from a mixer element. They can
-      be muted, their volume can be changed and, for input tracks, their
-      record flag can be set as well.
-    </para>
-    <para>
-      Example plugins implementing this interface include the OSS elements
-      (osssrc, osssink, ossmixer) and the ALSA plugins (alsasrc, alsasink
-      and alsamixer).
-    </para>
-    <para>
-      You should not use this interface for volume control in a playback
-      application. Either use a <classname>volume</classname> element or use
-      <classname>playbin</classname>'s <quote>volume</quote> property, or use
-      the <classname>audiosink</classname>'s <quote>volume</quote> property (if it has one).
-    </para>
-    <note>
-      <para>
-	In order for the <ulink type="http"
-	  url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstmixer.html"><classname>GstMixer</classname></ulink>
-	interface to be
-        usable, the element implementing it needs to be in the right state,
-        so that the underlying mixer device is open. This usually means the
-        element needs to be at least in <classname>GST_STATE_READY</classname>
-        before you can use this interface. You will get confusing warnings
-        if the element is not in the right state when the interface is used.
-      </para>
-    </note>
-  </sect1>
-
-  <sect1 id="section-interfaces-tuner">
-    <title>The Tuner interface</title>
-
-    <para>
-      The tuner interface is a uniform way to control inputs and outputs
-      on a multi-input selection device. This is primarily used for input
-      selection on elements for TV- and capture-cards.
-    </para>
-    <para>
-      Using this interface, it is possible to select one track from a list
-      of tracks supported by that tuner-element. The tuner will then select
-      that track for media-processing internally. This can, for example, be
-      used to switch inputs on a TV-card (e.g. from Composite to S-video).
-    </para>
-    <para>
-      This interface is currently only implemented by the Video4linux and
-      Video4linux2 elements.
-    </para>
-    <note>
-      <para>
-	In order for the <ulink type="http"
-	  url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gsttuner.html"><classname>GstTuner</classname></ulink>
-	interface to be
-        usable, the element implementing it needs to be in the right state,
-        so that the underlying device is open. This usually means the
-        element needs to be at least in <classname>GST_STATE_READY</classname>
-        before you can use this interface. You will get confusing warnings
-        if the element is not in the right state when the interface is used.
-      </para>
-    </note>
-  </sect1>
-
   <sect1 id="section-interfaces-colorbalance">
     <title>The Color Balance interface</title>
 
@@ -132,45 +60,23 @@
     </para>
     <para>
       The colorbalance interface is implemented by several plugins, including
-      xvimagesink and the Video4linux and Video4linux2 elements.
+      xvimagesink and the Video4linux2 elements.
     </para>
   </sect1>
 
-  <sect1 id="section-interfaces-proprobe">
-    <title>The Property Probe interface</title>
+  <sect1 id="section-interfaces-videooverlay">
+    <title>The Video Overlay interface</title>
 
     <para>
-      The property probe is a way to autodetect allowed values for a
-      <classname>GObject</classname> property. It's primary use is to autodetect
-      devices in several elements. For example, the OSS elements use this
-      interface to detect all OSS devices on a system. Applications can then
-      <quote>probe</quote> this property and get a list of detected devices.
-    </para>
-    <note>
-      <para>
-        Given the overlap between HAL and the practical implementations of this
-        interface, this might in time be deprecated in favour of HAL.
-      </para>
-    </note>
-    <para>
-      This interface is currently implemented by many elements, including
-      the ALSA, OSS, XVideo, Video4linux and Video4linux2 elements.
-    </para>
-  </sect1>
-
-  <sect1 id="section-interfaces-xoverlay">
-    <title>The X Overlay interface</title>
-
-    <para>
-      The X Overlay interface was created to solve the problem of embedding
+      The Video Overlay interface was created to solve the problem of embedding
       video streams in an application window. The application provides an
-      X-window to the element implementing this interface to draw on, and
-      the element will then use this X-window to draw on rather than creating
+      window handle to the element implementing this interface to draw on, and
+      the element will then use this window handle to draw on rather than creating
       a new toplevel window. This is useful to embed video in video players.
     </para>
     <para>
-      This interface is implemented by, amongst others, the Video4linux and
-      Video4linux2 elements and by ximagesink, xvimagesink and sdlvideosink.
+      This interface is implemented by, amongst others, the Video4linux2
+      elements and by ximagesink, xvimagesink and sdlvideosink.
     </para>
   </sect1>
 </chapter>
diff --git a/docs/manual/advanced-metadata.xml b/docs/manual/advanced-metadata.xml
index 6a25e19..ec34a2e 100644
--- a/docs/manual/advanced-metadata.xml
+++ b/docs/manual/advanced-metadata.xml
@@ -47,7 +47,7 @@
     </para>
     <programlisting>
 /* compile with:
- * gcc -o tags tags.c `pkg-config --cflags --libs gstreamer-0.10` */
+ * gcc -o tags tags.c `pkg-config --cflags --libs gstreamer-1.0` */
 #include &lt;gst/gst.h&gt;
 
 static void
diff --git a/docs/manual/advanced-threads.xml b/docs/manual/advanced-threads.xml
index 218606e..cabdcf5 100644
--- a/docs/manual/advanced-threads.xml
+++ b/docs/manual/advanced-threads.xml
@@ -80,16 +80,14 @@
     <title>Scheduling in &GStreamer;</title>
 
     <para>
-      Scheduling of pipelines in &GStreamer; is done by using a thread for
-      each <quote>group</quote>, where a group is a set of elements separated
-      by <quote>queue</quote> elements. Within such a group, scheduling is
-      either push-based or pull-based, depending on which mode is supported
-      by the particular element. If elements support random access to data,
-      such as file sources, then elements downstream in the pipeline become
-      the entry point of this group (i.e. the element controlling the
-      scheduling of other elements). The entry point pulls data from upstream
-      and pushes data downstream, thereby calling data handling functions on
-      either type of element.
+      Each element in the &GStreamer; pipeline decides how it is going to
+      be scheduled. Elements can choose to be scheduled push-based or
+      pull-based. 
+      If elements support random access to data, such as file sources,
+      then elements downstream in the pipeline can ask to schedule the random
+      access elements in pull-based mode. Data is pulled from upstream
+      and pushed downstream. If pull-mode is not supported, the element can
+      decide to operate in push-mode.
     </para>
     <para>
       In practice, most elements in &GStreamer;, such as decoders, encoders,
diff --git a/docs/manual/appendix-checklist.xml b/docs/manual/appendix-checklist.xml
index f6e0143..8022a5c 100644
--- a/docs/manual/appendix-checklist.xml
+++ b/docs/manual/appendix-checklist.xml
@@ -74,7 +74,7 @@
       For example, <option>--gst-debug=oggdemux:5</option> would turn
       on debugging for the Ogg demuxer element. You can use wildcards as
       well. A debugging level of 0 will turn off all debugging, and a level
-      of 5 will turn on all debugging. Intermediate values only turn on
+      of 9 will turn on all debugging. Intermediate values only turn on
       some debugging (based on message severity; 2, for example, will only
       display errors and warnings). Here's a list of all available options:
     </para>
@@ -187,13 +187,5 @@
       </para>
     </sect2>
 
-    <sect2 id="section-applications-gst-editor">
-      <title>GstEditor</title>
-      <para> 
-        GstEditor is a set of widgets to display a graphical representation of a 
-        pipeline.
-      </para> 
-    </sect2>
-
   </sect1>
 </chapter>
diff --git a/docs/manual/appendix-integration.xml b/docs/manual/appendix-integration.xml
index c55edb8..b16c427 100644
--- a/docs/manual/appendix-integration.xml
+++ b/docs/manual/appendix-integration.xml
@@ -23,16 +23,15 @@
         <para>
           For audio input and output, &GStreamer; provides input and
           output elements for several audio subsystems. Amongst others,
-          &GStreamer; includes elements for ALSA (alsasrc, alsamixer,
-          alsasink), OSS (osssrc, ossmixer, osssink) and Sun audio
-          (sunaudiosrc, sunaudiomixer, sunaudiosink).
+          &GStreamer; includes elements for ALSA (alsasrc,
+          alsasink), OSS (osssrc, osssink) Pulesaudio (pulsesrc, pulsesink)
+          and Sun audio (sunaudiosrc, sunaudiomixer, sunaudiosink).
         </para>
       </listitem>
       <listitem>
         <para>
           For video input, &GStreamer; contains source elements for
-          Video4linux (v4lsrc, v4lmjpegsrc, v4lelement and v4lmjpegisnk)
-          and Video4linux2 (v4l2src, v4l2element).
+          Video4linux2 (v4l2src, v4l2element, v4l2sink).
         </para>
       </listitem>
       <listitem>
@@ -236,7 +235,7 @@
 
     <warning>
 <para>
-Note: this section is out of date. GStreamer-0.10 has much better
+Note: this section is out of date. GStreamer-1.0 has much better
 support for win32 than previous versions though and should usually compile
 and work out-of-the-box both using MSYS/MinGW or Microsoft compilers. The
 <ulink url="http://gstreamer.freedesktop.org">GStreamer web site</ulink> and the
@@ -273,7 +272,7 @@
 <listitem><para>libiconv</para></listitem>
 </itemizedlist>
 
-<para>Work is being done to provide pre-compiled GStreamer-0.10 libraries as
+<para>Work is being done to provide pre-compiled GStreamer-1.0 libraries as
 a packages for win32. Check the <ulink url="http://gstreamer.freedesktop.org">
 GStreamer web site</ulink> and check our
 <ulink url="http://news.gmane.org/gmane.comp.video.gstreamer.devel">mailing list
@@ -301,7 +300,7 @@
   <sect2 id="section-win32-install">
 <title>Installation on the system</title>
 
-<para>FIXME: This section needs be updated for GStreamer-0.10.</para>
+<para>FIXME: This section needs be updated for GStreamer-1.0.</para>
 
 <!--
 <para>By default, GStreamer needs a registry. You have to generate it using "gst-register.exe". It will create
diff --git a/docs/manual/appendix-porting.xml b/docs/manual/appendix-porting.xml
index fe2c8cb..107db3e 100644
--- a/docs/manual/appendix-porting.xml
+++ b/docs/manual/appendix-porting.xml
@@ -128,3 +128,178 @@
     </itemizedlist>
   </sect1>
 </chapter>
+<chapter id="chapter-porting-1.0">
+  <title>Porting 0.10 applications to 1.0</title>
+  <para>
+    This section of the appendix will discuss shortly what changes to
+    applications will be needed to quickly and conveniently port most
+    applications from &GStreamer;-0.10 to &GStreamer;-1.0, with references
+    to the relevant sections in this Application Development Manual
+    where needed. With this list, it should be possible to port simple
+    applications to &GStreamer;-1.0 in less than a day.
+  </para>
+
+  <sect1 id="section-porting-objects-1.0">
+    <title>List of changes</title>
+    <itemizedlist>
+      <listitem>
+        <para>
+          All deprecated methods were removed. Recompile against 0.10 with
+          DISABLE_DEPRECATED and fix issues before attempting to port to 1.0.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          "playbin2" has been renamed to "playbin", with similar API
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          "decodebin2" has been renamed to "decodebin", with similar API. Note
+          that there is no longer a "new-decoded-pad" signal, just use GstElement's
+          "pad-added" signal instead (but don't forget to remove the 'gboolean last'
+          argument from your old signal callback functino signature).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          the names of some "formatted" pad templates has been changed from e.g.
+          "src%d" to "src%u" or "src_%u" or similar, since we don't want to see
+          negative numbers in pad names. This mostly affects applications that
+          create request pads from elements.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          some elements that used to have a single dynamic source pad have a
+          source pad now. Example: wavparse, id3demux, iceydemux, apedemux.
+          (This does not affect applications using decodebin or playbin).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          playbin now proxies the GstVideoOverlay (former GstXOverlay) interface,
+          so most applications can just remove the sync bus handler where they
+          would set the window ID, and instead just set the window ID on playbin
+          from the application thread before starting playback.
+        </para>
+        <para>
+          playbin also proxies the GstColorBalance and GstNavigation interfaces,
+          so applications that use this don't need to go fishing for elements
+          that may implement those any more, but can just use them unconditionally.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          multifdsink, tcpclientsink, tcpclientsrc, tcpserversrc the protocol property
+          is removed, use gdppay and gdpdepay.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          XML serialization was removed.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Probes and pad blocking was merged into new pad probes.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Position, duration and convert functions no longer use an inout parameter
+          for the destination format.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Video and audio caps were simplified. audio/x-raw-int and audio/x-raw-float
+          are now all under the audio/x-raw media type. Similarly, video/x-raw-rgb
+          and video/x-raw-yuv are now video/x-raw.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          ffmpegcolorspace was removed and replaced with videoconvert.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          GstMixerInterface / GstTunerInterface were removed without replacement.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The GstXOverlay interface was renamed to GstVideoOverlay, and now part
+          of the video library in gst-plugins-base, as the interfaces library
+          no longer exists.
+        </para>
+        <para>
+          The name of the GstXOverlay "prepare-xwindow-id" message has changed
+          to "prepare-window-handle" (and GstXOverlay has been renamed to
+          GstVideoOverlay). Code that checks for the string directly should be
+          changed to use gst_is_video_overlay_prepare_window_handle_message(message)
+          instead.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The GstPropertyProbe interface was removed. the is no replacement yet,
+          but a more featureful replacement for device discovery and feature
+          querying is planned, see https://bugzilla.gnome.org/show_bug.cgi?id=678402
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          gst_uri_handler_get_uri() and the get_uri vfunc now return a copy of
+          the URI string
+        </para>
+        <para>
+          gst_uri_handler_set_uri() and the set_uri vfunc now take an additional
+          GError argument so the handler can notify the caller why it didn't
+          accept a particular URI.
+        </para>
+        <para>
+          gst_uri_handler_set_uri() now checks if the protocol of the URI passed
+          is one of the protocols advertised by the uri handler, so set_uri vfunc
+          implementations no longer need to check that as well.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          GstTagList is now an opaque mini object instead of being typedefed to a
+          GstStructure. While it was previously okay (and in some cases required because of
+          missing taglist API) to cast a GstTagList to a GstStructure or use
+          gst_structure_* API on taglists, you can no longer do that. Doing so will
+          cause crashes.
+        </para>
+        <para>
+          Also, tag lists are refcounted now, and can therefore not be freely
+          modified any longer. Make sure to call gst_tag_list_make_writable (taglist)
+          before adding, removing or changing tags in the taglist.
+        </para>
+        <para>
+          GST_TAG_IMAGE, GST_TAG_PREVIEW_IMAGE, GST_TAG_ATTACHMENT: many tags that
+          used to be of type GstBuffer are now of type GstSample (which is basically
+          a struct containing a buffer alongside caps and some other info).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          GstController has now been merged into GstObject. It does not exists as an
+          individual object anymore. In addition core contains a GstControlSource base
+          class and the GstControlBinding. The actual control sources are in the controller
+          library as before. The 2nd big change is that control sources generate
+          a sequence of gdouble values and those are mapped to the property type and
+          value range by GstControlBindings.
+        </para>
+        <para>
+          The whole gst_controller_* API is gone and now available in simplified form
+          under gst_object_*. ControlSources are now attached via GstControlBinding
+          to properties. There are no GValue arguments used anymore when programming
+          control sources.
+        </para>
+      </listitem>
+    </itemizedlist>
+  </sect1>
+</chapter>
diff --git a/docs/manual/appendix-programs.xml b/docs/manual/appendix-programs.xml
index ca8eb11..b888a17 100644
--- a/docs/manual/appendix-programs.xml
+++ b/docs/manual/appendix-programs.xml
@@ -79,7 +79,7 @@
       GError *err = NULL; /* error to show to users                 */
       gchar *dbg = NULL;  /* additional debug string for developers */
 
-      gst_message_parse_error (msg, &err, &dbg);
+      gst_message_parse_error (msg, &amp;err, &amp;dbg);
       if (err) {
         g_printerr ("ERROR: %s\n", err-&gt;message);
         g_error_free (err);
@@ -193,76 +193,140 @@
     </para> 
 
     <screen>
+<![CDATA[
 Factory Details:
-  Long name:	Audio Sink (OSS)
-  Class:	Sink/Audio
-  Description:	Output to a sound card via OSS
-  Version:	0.3.3.1
-  Author(s):	Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Wim Taymans &lt;wim.taymans@chello.be&gt;
-  Copyright:	(C) 1999
+  Rank:         secondary (128)
+  Long-name:            Audio Sink (OSS)
+  Klass:                Sink/Audio
+  Description:          Output to a sound card via OSS
+  Author:               Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim.taymans@chello.be>
+
+Plugin Details:
+  Name:                 ossaudio
+  Description:          OSS (Open Sound System) support for GStreamer
+  Filename:             /home/wim/gst/head/gst-plugins-good/sys/oss/.libs/libgstossaudio.so
+  Version:              1.0.0.1
+  License:              LGPL
+  Source module:        gst-plugins-good
+  Source release date:  2012-09-25 12:52 (UTC)
+  Binary package:       GStreamer Good Plug-ins git
+  Origin URL:           Unknown package origin
 
 GObject
- +----GstObject
-       +----GstElement
-             +----GstOssSink
+ +----GInitiallyUnowned
+       +----GstObject
+             +----GstElement
+                   +----GstBaseSink
+                         +----GstAudioBaseSink
+                               +----GstAudioSink
+                                     +----GstOssSink
 
 Pad Templates:
   SINK template: 'sink'
     Availability: Always
     Capabilities:
-      'osssink_sink':
-        MIME type: 'audio/raw':
-        format: String: int
-        endianness: Integer: 1234
-        width: List:
-          Integer: 8
-          Integer: 16
-        depth: List:
-          Integer: 8
-          Integer: 16
-        channels: Integer range: 1 - 2
-        law: Integer: 0
-        signed: List:
-          Boolean: FALSE
-          Boolean: TRUE
-        rate: Integer range: 1000 - 48000
+      audio/x-raw
+                 format: { S16LE, U16LE, S8, U8 }
+                 layout: interleaved
+                   rate: [ 1, 2147483647 ]
+               channels: 1
+      audio/x-raw
+                 format: { S16LE, U16LE, S8, U8 }
+                 layout: interleaved
+                   rate: [ 1, 2147483647 ]
+               channels: 2
+           channel-mask: 0x0000000000000003
 
 
 Element Flags:
-  GST_ELEMENT_THREADSUGGESTED
+  no flags set
 
 Element Implementation:
-  No loopfunc(), must be chain-based or not configured yet
-  Has change_state() function: gst_osssink_change_state
-  Has custom save_thyself() function: gst_element_save_thyself
-  Has custom restore_thyself() function: gst_element_restore_thyself
+  Has change_state() function: gst_audio_base_sink_change_state
 
 Clocking Interaction:
-  element requires a clock
-  element provides a clock: GstOssClock
+  element is supposed to provide a clock but returned NULL
+
+Element has no indexing capabilities.
+Element has no URI handling capabilities.
 
 Pads:
   SINK: 'sink'
     Implementation:
-      Has chainfunc(): 0x40056fc0
+      Has chainfunc(): gst_base_sink_chain
+      Has custom eventfunc(): gst_base_sink_event
+      Has custom queryfunc(): gst_base_sink_sink_query
+      Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
     Pad Template: 'sink'
 
-Element Arguments:
-  name                                    : String (Default "element")
-  device                                  : String (Default "/dev/dsp")
-  mute                                    : Boolean (Default false)
-  format                                  : Integer (Default 16)
-  channels                                : Enum "GstAudiosinkChannels" (default 1)
-    (0): 	Silence
-    (1): 	Mono
-    (2): 	Stereo
-  frequency                               : Integer (Default 11025)
-  fragment                                : Integer (Default 6)
-  buffer-size                             : Integer (Default 4096)
-
-Element Signals:
-  "handoff" :	 void user_function (GstOssSink* object, 
-    				gpointer user_data);
+Element Properties:
+  name                : The name of the object
+                        flags: readable, writable
+                        String. Default: "osssink0"
+  parent              : The parent of the object
+                        flags: readable, writable
+                        Object of type "GstObject"
+  sync                : Sync on the clock
+                        flags: readable, writable
+                        Boolean. Default: true
+  max-lateness        : Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)
+                        flags: readable, writable
+                        Integer64. Range: -1 - 9223372036854775807 Default: -1 
+  qos                 : Generate Quality-of-Service events upstream
+                        flags: readable, writable
+                        Boolean. Default: false
+  async               : Go asynchronously to PAUSED
+                        flags: readable, writable
+                        Boolean. Default: true
+  ts-offset           : Timestamp offset in nanoseconds
+                        flags: readable, writable
+                        Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0 
+  enable-last-sample  : Enable the last-sample property
+                        flags: readable, writable
+                        Boolean. Default: false
+  last-sample         : The last sample received in the sink
+                        flags: readable
+                        Boxed pointer of type "GstSample"
+  blocksize           : Size in bytes to pull per buffer (0 = default)
+                        flags: readable, writable
+                        Unsigned Integer. Range: 0 - 4294967295 Default: 4096 
+  render-delay        : Additional render delay of the sink in nanoseconds
+                        flags: readable, writable
+                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
+  throttle-time       : The time to keep between rendered buffers
+                        flags: readable, writable
+                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
+  buffer-time         : Size of audio buffer in microseconds, this is the minimum latency that the sink reports
+                        flags: readable, writable
+                        Integer64. Range: 1 - 9223372036854775807 Default: 200000 
+  latency-time        : The minimum amount of data to write in each iteration in microseconds
+                        flags: readable, writable
+                        Integer64. Range: 1 - 9223372036854775807 Default: 10000 
+  provide-clock       : Provide a clock to be used as the global pipeline clock
+                        flags: readable, writable
+                        Boolean. Default: true
+  slave-method        : Algorithm to use to match the rate of the masterclock
+                        flags: readable, writable
+                        Enum "GstAudioBaseSinkSlaveMethod" Default: 1, "skew"
+                           (0): resample         - GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE
+                           (1): skew             - GST_AUDIO_BASE_SINK_SLAVE_SKEW
+                           (2): none             - GST_AUDIO_BASE_SINK_SLAVE_NONE
+  can-activate-pull   : Allow pull-based scheduling
+                        flags: readable, writable
+                        Boolean. Default: false
+  alignment-threshold : Timestamp alignment threshold in nanoseconds
+                        flags: readable, writable
+                        Unsigned Integer64. Range: 1 - 18446744073709551614 Default: 40000000 
+  drift-tolerance     : Tolerance for clock drift in microseconds
+                        flags: readable, writable
+                        Integer64. Range: 1 - 9223372036854775807 Default: 40000 
+  discont-wait        : Window of time in nanoseconds to wait before creating a discontinuity
+                        flags: readable, writable
+                        Unsigned Integer64. Range: 0 - 18446744073709551614 Default: 1000000000 
+  device              : OSS device (usually /dev/dspN)
+                        flags: readable, writable
+                        String. Default: "/dev/dsp"
+]]>
     </screen>
 
     <para> 
diff --git a/docs/manual/basics-bins.xml b/docs/manual/basics-bins.xml
index af736ee..1e3155e 100644
--- a/docs/manual/basics-bins.xml
+++ b/docs/manual/basics-bins.xml
@@ -19,11 +19,8 @@
     </para>
     <para> 
       The bin will also manage the elements contained in it. It will
-      figure out how the data will flow in the bin and generate an
-      optimal plan for that data flow. Plan generation is one of the
-      most complicated procedures in &GStreamer;. You will learn more
-      about this process, called scheduling, in <xref
-      linkend="section-threads-scheduling"/>.
+      perform state changes on the elements as well as collect and
+      forward bus messages.
     </para>
 
     <figure float="1" id="section-bin-img">
@@ -42,10 +39,10 @@
     <itemizedlist>
       <listitem>
         <para>
-          A pipeline: a generic container that allows scheduling of the
-          containing elements.  The toplevel bin has to be a pipeline,
-          every application thus needs at least one of these. Pipelines will
-          automatically run themselves in a background thread when started.
+          A pipeline: a generic container that manages the synchronization
+          and bus messages of the contained elements. The toplevel bin has
+          to be a pipeline, every application thus needs at least one of
+          these.
         </para>
       </listitem>
     </itemizedlist>
@@ -139,17 +136,17 @@
     </programlisting>
     <para>
       (This is a silly example of course, there already exists a much more
-      powerful and versatile custom bin like this: the playbin2 element.)
+      powerful and versatile custom bin like this: the playbin element.)
     </para>
     <para>
-      Custom bins can be created with a plugin or an XML description. You
+      Custom bins can be created with a plugin or from the application. You
       will find more information about creating custom bin in the <ulink
       type="http"
       url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html">Plugin
       Writers Guide</ulink>.
     </para>
     <para>
-      Examples of such custom bins are the playbin2 and uridecodebin elements from<ulink
+      Examples of such custom bins are the playbin and uridecodebin elements from<ulink
       type="http"
       url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/index.html">
       gst-plugins-base</ulink>.
diff --git a/docs/manual/basics-bus.xml b/docs/manual/basics-bus.xml
index 867826d..46e037a 100644
--- a/docs/manual/basics-bus.xml
+++ b/docs/manual/basics-bus.xml
@@ -97,6 +97,7 @@
 {
   GstElement *pipeline;
   GstBus *bus;
+  guint bus_watch_id;
 
   /* init */
   gst_init (&amp;argc, &amp;argv);
@@ -109,7 +110,7 @@
    * GLib main loop is attached to below
    */
   bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
-  gst_bus_add_watch (bus, my_bus_callback, NULL);
+  bus_watch_id = gst_bus_add_watch (bus, my_bus_callback, NULL);
   gst_object_unref (bus);
 <!-- example-end bus.c a -->
 [..]<!-- example-begin bus.c b -->
@@ -127,6 +128,7 @@
   /* clean up */
   gst_element_set_state (pipeline, GST_STATE_NULL);
   gst_object_unref (pipeline);
+  g_source_remove (bus_watch_id);
   g_main_loop_unref (loop);
 
   return 0;
diff --git a/docs/manual/basics-data.xml b/docs/manual/basics-data.xml
index bbdb4a6..d8972e0 100644
--- a/docs/manual/basics-data.xml
+++ b/docs/manual/basics-data.xml
@@ -24,12 +24,8 @@
     <itemizedlist>
       <listitem>
         <para>
-          A pointer to a piece of memory.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          The size of the memory.
+          Pointers to memory objects. Memory objects encapsulate a region
+          in the memory.
         </para>
       </listitem>
       <listitem>
diff --git a/docs/manual/basics-elements.xml b/docs/manual/basics-elements.xml
index f047981..33b805f 100644
--- a/docs/manual/basics-elements.xml
+++ b/docs/manual/basics-elements.xml
@@ -289,7 +289,7 @@
 	The Glib Object system</ulink>.
     </para>
     <para>
-      A <ulink type="http" url="&URLAPI;GstElementFactory.html">
+      A <ulink type="http" url="&URLAPI;GstElement.html">
       <classname>GstElement</classname></ulink> also provides various 
       <classname>GObject</classname> signals that can be used as a flexible
       callback mechanism. Here, too, you can use <command>gst-inspect</command>
@@ -303,17 +303,14 @@
     <title>More about element factories</title>
     <para>
       In the previous section, we briefly introduced the <ulink type="http"
-      url="&URLAPI;GstElement.html"><classname>GstElementFactory</classname></ulink>
+      url="&URLAPI;GstElementFactory.html"><classname>GstElementFactory</classname></ulink>
       object already as a way to create instances of an element. Element
       factories, however, are much more than just that. Element factories
       are the basic types retrieved from the &GStreamer; registry, they
       describe all plugins and elements that &GStreamer; can create. This
       means that element factories are useful for automated element
       instancing, such as what autopluggers do, and for creating lists
-      of available elements, such as what pipeline editing applications
-      (e.g. <ulink type="http"
-      url="http://gstreamer.freedesktop.org/modules/gst-editor.html">&GStreamer;
-      Editor</ulink>) do.
+      of available elements.
     </para>
     
     <sect2 id="section-elements-factories-details">
diff --git a/docs/manual/basics-helloworld.xml b/docs/manual/basics-helloworld.xml
index 46360dd..9097b20 100644
--- a/docs/manual/basics-helloworld.xml
+++ b/docs/manual/basics-helloworld.xml
@@ -44,8 +44,8 @@
     </para>
     <para>
       The last thing left to do is to add all elements into a container
-      element, a <classname>GstPipeline</classname>, and iterate this
-      pipeline until we've played the whole song. We've previously
+      element, a <classname>GstPipeline</classname>, and wait until
+      we've played the whole song. We've previously
       learned how to add elements to a container bin in <xref
       linkend="chapter-bins"/>, and we've learned about element states
       in <xref linkend="section-elements-states"/>. We will also attach
@@ -125,6 +125,7 @@
 
   GstElement *pipeline, *source, *demuxer, *decoder, *conv, *sink;
   GstBus *bus;
+  guint bus_watch_id;
 
   /* Initialisation */
   gst_init (&amp;argc, &amp;argv);
@@ -159,7 +160,7 @@
 
   /* we add a message handler */
   bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
-  gst_bus_add_watch (bus, bus_call, loop);
+  bus_watch_id = gst_bus_add_watch (bus, bus_call, loop);
   gst_object_unref (bus);
 
   /* we add all elements into the pipeline */
@@ -197,6 +198,8 @@
 
   g_print ("Deleting pipeline\n");
   gst_object_unref (GST_OBJECT (pipeline));
+  g_source_remove (bus_watch_id);
+  g_main_loop_unref (loop);
 
   return 0;
 }
diff --git a/docs/manual/basics-pads.xml b/docs/manual/basics-pads.xml
index 96459b7..91c6a5a 100644
--- a/docs/manual/basics-pads.xml
+++ b/docs/manual/basics-pads.xml
@@ -241,10 +241,10 @@
         <command>gst-inspect vorbisdec</command>. You will see two pads:
         a source and a sink pad. Both of these pads are always available,
         and both have capabilities attached to them. The sink pad will
-        accept vorbis-encoded audio data, with the mime-type
+        accept vorbis-encoded audio data, with the media type
         <quote>audio/x-vorbis</quote>. The source pad will be used
         to send raw (decoded) audio samples to the next element, with
-        a raw audio mime-type (in this case,
+        a raw audio media type (in this case,
 	<quote>audio/x-raw</quote>).  The source pad will also
         contain properties for the audio samplerate and the amount of
         channels, plus some more that you don't need to worry about
diff --git a/docs/manual/highlevel-components.xml b/docs/manual/highlevel-components.xml
index 1981ee4..b82c26c 100644
--- a/docs/manual/highlevel-components.xml
+++ b/docs/manual/highlevel-components.xml
@@ -172,12 +172,9 @@
     </itemizedlist>
     <para>
       For convenience, it is possible to test <quote>playbin</quote> on
-      the commandline, using the command <quote>gst-launch-0.10 playbin
+      the commandline, using the command <quote>gst-launch-1.0 playbin
       uri=file:///path/to/file</quote>.
     </para>
-    <para>
-      New applications should use playbin2 instead of the old playbin.
-    </para>
   </sect1>
 
   <sect1 id="section-components-decodebin">
@@ -189,7 +186,7 @@
       input from a source that is linked to its sinkpad and will try to
       detect the media type contained in the stream, and set up decoder
       routines for each of those. It will automatically select decoders.
-      For each decoded stream, it will emit the <quote>new-decoded-pad</quote>
+      For each decoded stream, it will emit the <quote>pad-added</quote>
       signal, to let the client know about the newly found decoded stream.
       For unknown streams (which might be the whole stream), it will emit
       the <quote>unknown-type</quote> signal. The application is then
@@ -238,7 +235,6 @@
 static void
 cb_newpad (GstElement *decodebin,
 	   GstPad     *pad,
-	   gboolean    last,
 	   gpointer    data)
 {
   GstCaps *caps;
@@ -297,7 +293,7 @@
   src = gst_element_factory_make ("filesrc", "source");
   g_object_set (G_OBJECT (src), "location", argv[1], NULL);
   dec = gst_element_factory_make ("decodebin", "decoder");
-  g_signal_connect (dec, "new-decoded-pad", G_CALLBACK (cb_newpad), NULL);
+  g_signal_connect (dec, "pad-added", G_CALLBACK (cb_newpad), NULL);
   gst_bin_add_many (GST_BIN (pipeline), src, dec, NULL);
   gst_element_link (src, dec);
 
@@ -367,14 +363,11 @@
     </itemizedlist>
     <para>
       Decodebin can be easily tested on the commandline, e.g. by using the
-      command <command>gst-launch-0.10 filesrc location=file.ogg ! decodebin
+      command <command>gst-launch-1.0 filesrc location=file.ogg ! decodebin
       ! audioconvert ! audioresample ! autoaudiosink</command>.
     </para>
     <para>
-      New applications should use decodebin2 instead of the old decodebin.
-    </para>
-    <para>
-      The uridecodebin element is very similar to decodebin2, only that it
+      The uridecodebin element is very similar to decodebin, only that it
       automatically plugs a source plugin based on the protocol of the URI
       given.
     </para>
diff --git a/docs/manual/intro-basics.xml b/docs/manual/intro-basics.xml
index b0c2806..0c385b1 100644
--- a/docs/manual/intro-basics.xml
+++ b/docs/manual/intro-basics.xml
@@ -59,10 +59,10 @@
       through one or more <emphasis>sink pads</emphasis>. Source and sink
       elements have only source and sink pads, respectively. Data usually
       means buffers (described by the <ulink type="http"
-      url="&URLAPI;gstreamer-GstBuffer.html"><classname>GstBuffer
-      </classname></ulink> object) and events (described by the <ulink
-      type="http" url="&URLAPI;gstreamer-GstEvent.html"><classname>
-      GstEvent</classname></ulink> object).
+        url="&URLAPI;gstreamer-GstBuffer.html">
+      <classname>GstBuffer</classname></ulink> object) and events (described
+      by the <ulink type="http" url="&URLAPI;gstreamer-GstEvent.html">
+      <classname>GstEvent</classname></ulink> object).
     </para>
   </sect1>
 
@@ -71,8 +71,7 @@
 
     <para>
       A <emphasis>bin</emphasis> is a container for a collection of elements.
-      A <emphasis>pipeline</emphasis> is a special subtype of a bin that allows execution of all
-      of its contained child elements. Since bins are subclasses of elements
+      Since bins are subclasses of elements
       themselves, you can mostly control a bin as if it were an element,
       thereby abstracting away a lot of complexity for your application. You
       can, for example change state on all elements in a bin by changing the
@@ -80,9 +79,11 @@
       contained children (such as error messages, tag messages or EOS messages).
     </para>
     <para>
-      A <emphasis>pipeline</emphasis> is a top-level bin. As you set it to PAUSED or PLAYING state,
-      data flow will start and media processing will take place. Once started,
-      pipelines will run in a separate thread until you stop them or the end
+      A <emphasis>pipeline</emphasis> is a top-level bin. It provides a bus for
+      the application and manages the synchronization for its children. 
+      As you set it to PAUSED or PLAYING state, data flow will start and media
+      processing will take place. Once started, pipelines will run in a
+      separate thread until you stop them or the end
       of the data stream is reached.
     </para>
 
diff --git a/docs/manual/intro-gstreamer.xml b/docs/manual/intro-gstreamer.xml
index c5af97d..1e40c97 100644
--- a/docs/manual/intro-gstreamer.xml
+++ b/docs/manual/intro-gstreamer.xml
@@ -89,7 +89,7 @@
         <listitem><para>gst-plugins-good: a set of good-quality plug-ins under LGPL</para></listitem>
         <listitem><para>gst-plugins-ugly: a set of good-quality plug-ins that might pose distribution problems</para></listitem>
         <listitem><para>gst-plugins-bad: a set of plug-ins that need more quality</para></listitem>
-        <listitem><para>gst-python: the python bindings</para></listitem>
+        <listitem><para>gst-libav: a set of plug-ins that wrap libav for decoding and encoding</para></listitem>
         <listitem><para>a few others packages</para></listitem>
       </itemizedlist>
     </para> 
diff --git a/docs/manual/manual.xml b/docs/manual/manual.xml
index af6466e..14f32d1 100644
--- a/docs/manual/manual.xml
+++ b/docs/manual/manual.xml
@@ -47,10 +47,10 @@
 <!ENTITY DATAACCESS           SYSTEM "advanced-dataaccess.xml">
 
 <!-- Part 4: Higher-level interfaces -->
-<!ENTITY XML                  SYSTEM "highlevel-xml.xml">
 <!ENTITY COMPONENTS           SYSTEM "highlevel-components.xml">
 
 <!-- Appendices -->
+<!ENTITY PROGRAMS             SYSTEM "appendix-programs.xml">
 <!ENTITY CHECKLIST            SYSTEM "appendix-checklist.xml">
 <!ENTITY PORTING              SYSTEM "appendix-porting.xml">
 <!ENTITY INTEGRATION          SYSTEM "appendix-integration.xml">
@@ -191,8 +191,8 @@
         much control (and as much code), but will prefer to use a standard
         playback interface that does most of the difficult internals for
         them. In this chapter, we will introduce you into the concept of
-        autopluggers, playback managing elements, XML-based pipelines and
-        other such things. Those higher-level interfaces are intended to
+        autopluggers, playback managing elements and other such things.
+        Those higher-level interfaces are intended to
         simplify &GStreamer;-based application programming. They do, however,
         also reduce the flexibility. It is up to the application developer
         to choose which interface he will want to use.
@@ -200,7 +200,6 @@
     </partintro>
 
     &COMPONENTS;
-    &XML;
 
   </part>
 
@@ -221,7 +220,7 @@
       </para>
       <para>
         In addition, we also provide a porting guide which will explain
-        easily how to port &GStreamer;-0.8 applications to &GStreamer;-0.10.
+        easily how to port &GStreamer;-0.10 applications to &GStreamer;-1.0.
       </para>
     </partintro>
 
@@ -255,6 +254,7 @@
      - table please...
     -->
 
+    &PROGRAMS;
     &CHECKLIST;
     &PORTING;
     &INTEGRATION;
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index b00400d..02830bb 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -810,14 +810,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 4da569e..8c59924 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="idp4395232"></a>gstreamer Elements</h2></div></div></div>
+<a name="idp546320"></a>gstreamer Elements</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="gstreamer-plugins-capsfilter.html">capsfilter</a></span><span class="refpurpose"> — Pass data without modification, limiting formats</span>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index 9eb0278..9861817 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="idp179376"></a>gstreamer Plugins</h2></div></div></div>
+<a name="idp3821056"></a>gstreamer Plugins</h2></div></div></div>
 <div class="toc"><dl><dt>
 <span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose"> — <a name="plugin-coreelements"></a> GStreamer core elements</span>
 </dt></dl></div>
diff --git a/docs/plugins/html/gstreamer-plugins-capsfilter.html b/docs/plugins/html/gstreamer-plugins-capsfilter.html
index 5ef2676..0f0b28d 100644
--- a/docs/plugins/html/gstreamer-plugins-capsfilter.html
+++ b/docs/plugins/html/gstreamer-plugins-capsfilter.html
@@ -49,16 +49,16 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseTransform.html">GstBaseTransform</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
                            +----GstCapsFilter
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-capsfilter.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps" title='The "caps" property'>caps</a>"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
+  "<a class="link" href="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps" title='The "caps" property'>caps</a>"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9006336"></a><h3>Example launch line</h3>
+<a name="idp7718544"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -88,7 +88,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9217088"></a><h3>Element Information</h3>
+<a name="idp8004944"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -111,7 +111,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp32112"></a><h3>Element Pads</h3>
+<a name="idp134944"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -173,7 +173,7 @@
 <a name="gstreamer-plugins-capsfilter.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstCapsFilter--caps"></a><h3>The <code class="literal">"caps"</code> property</h3>
-<pre class="programlisting">  "caps"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
+<pre class="programlisting">  "caps"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
 <p>Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.</p>
 </div>
 </div>
diff --git a/docs/plugins/html/gstreamer-plugins-fakesink.html b/docs/plugins/html/gstreamer-plugins-fakesink.html
index 0bfdaf1..8a6445e 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesink.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesink.html
@@ -52,9 +52,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseSink.html">GstBaseSink</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
                            +----GstFakeSink
 </pre>
 </div>
@@ -86,7 +86,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9474080"></a><h3>Example launch line</h3>
+<a name="idp9553712"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -104,7 +104,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6125200"></a><h3>Element Information</h3>
+<a name="idp9556320"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -127,7 +127,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6132624"></a><h3>Element Pads</h3>
+<a name="idp7211360"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -285,8 +285,8 @@
 <div class="refsect2">
 <a name="GstFakeSink-handoff"></a><h3>The <code class="literal">"handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink"><span class="type">GstFakeSink</span></a> *fakesink,
-                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
-                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>      *pad,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>      *pad,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before unreffing the buffer.
@@ -317,8 +317,8 @@
 <div class="refsect2">
 <a name="GstFakeSink-preroll-handoff"></a><h3>The <code class="literal">"preroll-handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink"><span class="type">GstFakeSink</span></a> *fakesink,
-                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
-                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>      *pad,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>      *pad,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before unreffing the buffer.
diff --git a/docs/plugins/html/gstreamer-plugins-fakesrc.html b/docs/plugins/html/gstreamer-plugins-fakesrc.html
index d7b13ff..f3044a9 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesrc.html
@@ -55,9 +55,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseSrc.html">GstBaseSrc</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
                            +----GstFakeSrc
 </pre>
 </div>
@@ -80,7 +80,7 @@
   "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizemin" title='The "sizemin" property'>sizemin</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
   "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizetype" title='The "sizetype" property'>sizetype</a>"                 <a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrcSizeType" title="enum GstFakeSrcSizeType"><span class="type">GstFakeSrcSizeType</span></a>    : Read / Write
   "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sync" title='The "sync" property'>sync</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
-  "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--format" title='The "format" property'>format</a>"                   <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write
+  "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--format" title='The "format" property'>format</a>"                   <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -102,7 +102,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9730432"></a><h3>Example launch line</h3>
+<a name="idp8516432"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -124,7 +124,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9733616"></a><h3>Element Information</h3>
+<a name="idp8519616"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -147,7 +147,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9741024"></a><h3>Element Pads</h3>
+<a name="idp8527024"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -472,7 +472,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstFakeSrc--format"></a><h3>The <code class="literal">"format"</code> property</h3>
-<pre class="programlisting">  "format"                   <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write</pre>
+<pre class="programlisting">  "format"                   <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write</pre>
 <p>
 Set the format of the newsegment events to produce.
 </p>
@@ -484,8 +484,8 @@
 <div class="refsect2">
 <a name="GstFakeSrc-handoff"></a><h3>The <code class="literal">"handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc"><span class="type">GstFakeSrc</span></a> *fakesrc,
-                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>  *buffer,
-                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>     *pad,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>  *buffer,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>     *pad,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before sending the buffer.
diff --git a/docs/plugins/html/gstreamer-plugins-fdsink.html b/docs/plugins/html/gstreamer-plugins-fdsink.html
index 141aedf..21c8077 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsink.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsink.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseSink.html">GstBaseSink</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
                            +----GstFdSink
 </pre>
 </div>
@@ -61,7 +61,7 @@
 <a name="gstreamer-plugins-fdsink.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFdSink implements
- <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsink.properties"></a><h2>Properties</h2>
@@ -77,7 +77,7 @@
 <p>
 This element will synchronize on the clock before writing the data on the
 socket. For file descriptors where this does not make sense (files, ...) the
-<a href="../gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--sync"><span class="type">"sync"</span></a> property can be used to disable synchronisation.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html#GstBaseSink--sync"><span class="type">"sync"</span></a> property can be used to disable synchronisation.
 </p>
 <p>
 Last reviewed on 2006-04-28 (0.10.6)
@@ -85,7 +85,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9024688"></a><h3>Element Information</h3>
+<a name="idp7622240"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -108,7 +108,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7652304"></a><h3>Element Pads</h3>
+<a name="idp7657744"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-fdsrc.html b/docs/plugins/html/gstreamer-plugins-fdsrc.html
index e761269..04a1570 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsrc.html
@@ -51,10 +51,10 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseSrc.html">GstBaseSrc</a>
-                           +----<a href="../gstreamer-libs-1.0/GstPushSrc.html">GstPushSrc</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
+                           +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstPushSrc.html">GstPushSrc</a>
                                  +----GstFdSrc
 </pre>
 </div>
@@ -62,7 +62,7 @@
 <a name="gstreamer-plugins-fdsrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFdSrc implements
- <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsrc.properties"></a><h2>Properties</h2>
@@ -97,7 +97,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6773120"></a><h3>Example launch line</h3>
+<a name="idp9288096"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -119,7 +119,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6776272"></a><h3>Element Information</h3>
+<a name="idp9291200"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -142,7 +142,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6783728"></a><h3>Element Pads</h3>
+<a name="idp9591808"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-filesink.html b/docs/plugins/html/gstreamer-plugins-filesink.html
index b0de009..db6e97f 100644
--- a/docs/plugins/html/gstreamer-plugins-filesink.html
+++ b/docs/plugins/html/gstreamer-plugins-filesink.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseSink.html">GstBaseSink</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
                            +----GstFileSink
 </pre>
 </div>
@@ -61,7 +61,7 @@
 <a name="gstreamer-plugins-filesink.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFileSink implements
- <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesink.properties"></a><h2>Properties</h2>
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5037280"></a><h3>Example launch line</h3>
+<a name="idp6010672"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -98,7 +98,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10876976"></a><h3>Element Information</h3>
+<a name="idp6013232"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -121,7 +121,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10924704"></a><h3>Element Pads</h3>
+<a name="idp6020640"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-filesrc.html b/docs/plugins/html/gstreamer-plugins-filesrc.html
index 7d00f22..69cb79f 100644
--- a/docs/plugins/html/gstreamer-plugins-filesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-filesrc.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseSrc.html">GstBaseSrc</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
                            +----GstFileSrc
 </pre>
 </div>
@@ -61,7 +61,7 @@
 <a name="gstreamer-plugins-filesrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFileSrc implements
- <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesrc.properties"></a><h2>Properties</h2>
@@ -82,7 +82,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6869664"></a><h3>Example launch line</h3>
+<a name="idp7329248"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -100,7 +100,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6872272"></a><h3>Element Information</h3>
+<a name="idp7331856"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -123,7 +123,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10528784"></a><h3>Element Pads</h3>
+<a name="idp9626240"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-funnel.html b/docs/plugins/html/gstreamer-plugins-funnel.html
index 8604fe8..17468cc 100644
--- a/docs/plugins/html/gstreamer-plugins-funnel.html
+++ b/docs/plugins/html/gstreamer-plugins-funnel.html
@@ -47,8 +47,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstFunnel
 </pre>
 </div>
@@ -59,7 +59,7 @@
 </p>
 <p>
 funnel always outputs a single, open ended segment from
-0 with in <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> and outputs the buffers of the
+0 with in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> and outputs the buffers of the
 different sinkpads with timestamps that are set to the
 running time for that stream. funnel does not synchronize
 the different input streams but simply forwards all buffers
@@ -68,7 +68,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7728896"></a><h3>Element Information</h3>
+<a name="idp7279280"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -91,7 +91,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9964400"></a><h3>Element Pads</h3>
+<a name="idp5555680"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-identity.html b/docs/plugins/html/gstreamer-plugins-identity.html
index 066ce4e..7a4b50e 100644
--- a/docs/plugins/html/gstreamer-plugins-identity.html
+++ b/docs/plugins/html/gstreamer-plugins-identity.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
-                     +----<a href="../gstreamer-libs-1.0/GstBaseTransform.html">GstBaseTransform</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
                            +----GstIdentity
 </pre>
 </div>
@@ -90,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10744592"></a><h3>Element Information</h3>
+<a name="idp10160416"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -113,7 +113,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10752048"></a><h3>Element Pads</h3>
+<a name="idp10167872"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -274,7 +274,7 @@
 <div class="refsect2">
 <a name="GstIdentity-handoff"></a><h3>The <code class="literal">"handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-identity.html#GstIdentity"><span class="type">GstIdentity</span></a> *identity,
-                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before passing the buffer downstream.
diff --git a/docs/plugins/html/gstreamer-plugins-input-selector.html b/docs/plugins/html/gstreamer-plugins-input-selector.html
index be1192f..503e522 100644
--- a/docs/plugins/html/gstreamer-plugins-input-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-input-selector.html
@@ -51,15 +51,15 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstInputSelector
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-input-selector.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
+  "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
   "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads" title='The "n-pads" property'>n-pads</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read
   "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--select-all" title='The "select-all" property'>select-all</a>"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams" title='The "sync-streams" property'>sync-streams</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
@@ -90,14 +90,14 @@
 "running-time": Running time of stream on pad (<span class="type">gint64</span>)
 </li>
 <li class="listitem">
-"tags": The currently active tags on the pad (<a href="../gstreamer-1.0/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a>, boxed type)
+"tags": The currently active tags on the pad (<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a>, boxed type)
 </li>
 <li class="listitem">
 "active": If the pad is currently active (<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>)
 </li>
 <li class="listitem">
-"always-ok" : Make an inactive pads return <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> instead of
-<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-NOT-LINKED:CAPS"><span class="type">GST_FLOW_NOT_LINKED</span></a>
+"always-ok" : Make an inactive pads return <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> instead of
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-NOT-LINKED:CAPS"><span class="type">GST_FLOW_NOT_LINKED</span></a>
 </li>
 </ul></div>
 <p>
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11251280"></a><h3>Element Information</h3>
+<a name="idp8999888"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -128,7 +128,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11258816"></a><h3>Element Pads</h3>
+<a name="idp9007424"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -189,7 +189,7 @@
 <a name="gstreamer-plugins-input-selector.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstInputSelector--active-pad"></a><h3>The <code class="literal">"active-pad"</code> property</h3>
-<pre class="programlisting">  "active-pad"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
+<pre class="programlisting">  "active-pad"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
 <p>The currently active sink pad.</p>
 </div>
 <hr>
@@ -284,7 +284,7 @@
 <div class="refsect2">
 <a name="GstInputSelector-switch"></a><h3>The <code class="literal">"switch"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector"><span class="type">GstInputSelector</span></a> *gstinputselector,
-                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>           *arg1,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>           *arg1,
                                                         <span class="type">gint64</span>            arg2,
                                                         <span class="type">gint64</span>            arg3,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>          user_data)             : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
diff --git a/docs/plugins/html/gstreamer-plugins-multiqueue.html b/docs/plugins/html/gstreamer-plugins-multiqueue.html
index 298cd2a..d100671 100644
--- a/docs/plugins/html/gstreamer-plugins-multiqueue.html
+++ b/docs/plugins/html/gstreamer-plugins-multiqueue.html
@@ -51,8 +51,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstMultiQueue
 </pre>
 </div>
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9289440"></a><p>
+<a name="idp9479760"></a><p>
 Multiqueue is similar to a normal <a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> with the following additional
 features:
 </p>
@@ -97,7 +97,7 @@
     'sometimes' src pads (src%d).
   </p>
 <p>
-    When requesting a given sinkpad with <a href="../gstreamer-1.0/GstElement.html#gst-element-get-request-pad"><code class="function">gst_element_get_request_pad()</code></a>,
+    When requesting a given sinkpad with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-request-pad"><code class="function">gst_element_get_request_pad()</code></a>,
     the associated srcpad for that stream will be created.
     Example: requesting sink1 will generate src1.
   </p>
@@ -173,7 +173,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11520688"></a><h3>Element Information</h3>
+<a name="idp10309440"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -196,7 +196,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11528144"></a><h3>Element Pads</h3>
+<a name="idp10316896"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-output-selector.html b/docs/plugins/html/gstreamer-plugins-output-selector.html
index 3a94462..2349848 100644
--- a/docs/plugins/html/gstreamer-plugins-output-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-output-selector.html
@@ -49,15 +49,15 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstOutputSelector
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-output-selector.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
+  "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
   "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest" title='The "resend-latest" property'>resend-latest</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode" title='The "pad-negotiation-mode" property'>pad-negotiation-mode</a>"     <span class="type">GstOutputSelectorPadNegotiationMode</span>  : Read / Write
 </pre>
@@ -70,7 +70,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp4955616"></a><h3>Element Information</h3>
+<a name="idp5357952"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -93,7 +93,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11458256"></a><h3>Element Pads</h3>
+<a name="idp10642464"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -154,7 +154,7 @@
 <a name="gstreamer-plugins-output-selector.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstOutputSelector--active-pad"></a><h3>The <code class="literal">"active-pad"</code> property</h3>
-<pre class="programlisting">  "active-pad"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
+<pre class="programlisting">  "active-pad"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
 <p>Currently active src pad.</p>
 </div>
 <hr>
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index 0004318..a606a24 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -28,7 +28,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8723328"></a><h2>Plugin Information</h2>
+<a name="idp6936016"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -38,7 +38,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.99</td>
+<td>1.0.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -56,7 +56,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp8851280"></a><h2>Elements</h2>
+<a name="idp10559648"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-queue.html b/docs/plugins/html/gstreamer-plugins-queue.html
index 7d85501..c1c9f75 100644
--- a/docs/plugins/html/gstreamer-plugins-queue.html
+++ b/docs/plugins/html/gstreamer-plugins-queue.html
@@ -52,8 +52,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstQueue
 </pre>
 </div>
@@ -122,7 +122,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11359504"></a><h3>Element Information</h3>
+<a name="idp10717648"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -145,7 +145,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11366960"></a><h3>Element Pads</h3>
+<a name="idp10725104"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-queue2.html b/docs/plugins/html/gstreamer-plugins-queue2.html
index f32511c..945aeb1 100644
--- a/docs/plugins/html/gstreamer-plugins-queue2.html
+++ b/docs/plugins/html/gstreamer-plugins-queue2.html
@@ -49,8 +49,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstQueue2
 </pre>
 </div>
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12163568"></a><h3>Element Information</h3>
+<a name="idp10988336"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -133,7 +133,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12170976"></a><h3>Element Pads</h3>
+<a name="idp10995744"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins-tee.html b/docs/plugins/html/gstreamer-plugins-tee.html
index eec6bfc..10ea870 100644
--- a/docs/plugins/html/gstreamer-plugins-tee.html
+++ b/docs/plugins/html/gstreamer-plugins-tee.html
@@ -50,8 +50,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstTee
 </pre>
 </div>
@@ -64,7 +64,7 @@
   "<a class="link" href="gstreamer-plugins-tee.html#GstTee--num-src-pads" title='The "num-src-pads" property'>num-src-pads</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read
   "<a class="link" href="gstreamer-plugins-tee.html#GstTee--silent" title='The "silent" property'>silent</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct
   "<a class="link" href="gstreamer-plugins-tee.html#GstTee--pull-mode" title='The "pull-mode" property'>pull-mode</a>"                <a class="link" href="gstreamer-plugins-tee.html#GstTeePullMode" title="enum GstTeePullMode"><span class="type">GstTeePullMode</span></a>        : Read / Write / Construct
-  "<a class="link" href="gstreamer-plugins-tee.html#GstTee--alloc-pad" title='The "alloc-pad" property'>alloc-pad</a>"                <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
+  "<a class="link" href="gstreamer-plugins-tee.html#GstTee--alloc-pad" title='The "alloc-pad" property'>alloc-pad</a>"                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6592416"></a><h3>Example launch line</h3>
+<a name="idp5968864"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6595136"></a><h3>Element Information</h3>
+<a name="idp5971584"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -125,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12121312"></a><h3>Element Pads</h3>
+<a name="idp11108624"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -258,7 +258,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTee--alloc-pad"></a><h3>The <code class="literal">"alloc-pad"</code> property</h3>
-<pre class="programlisting">  "alloc-pad"                <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
+<pre class="programlisting">  "alloc-pad"                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
 <p>The pad used for gst_pad_alloc_buffer.</p>
 </div>
 </div>
diff --git a/docs/plugins/html/gstreamer-plugins-typefind.html b/docs/plugins/html/gstreamer-plugins-typefind.html
index 7b34a7d..c3bce0f 100644
--- a/docs/plugins/html/gstreamer-plugins-typefind.html
+++ b/docs/plugins/html/gstreamer-plugins-typefind.html
@@ -51,18 +51,18 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstTypeFindElement
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-typefind.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--caps" title='The "caps" property'>caps</a>"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read
+  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--caps" title='The "caps" property'>caps</a>"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read
   "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--maximum" title='The "maximum" property'>maximum</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
   "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum" title='The "minimum" property'>minimum</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
-  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps" title='The "force-caps" property'>force-caps</a>"               <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
+  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps" title='The "force-caps" property'>force-caps</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -85,12 +85,12 @@
 state change function).
 </p>
 <p>
-Plugins can register custom typefinders by using <a href="../gstreamer-1.0/GstTypeFindFactory.html"><span class="type">GstTypeFindFactory</span></a>.
+Plugins can register custom typefinders by using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTypeFindFactory.html"><span class="type">GstTypeFindFactory</span></a>.
 </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12038496"></a><h3>Element Information</h3>
+<a name="idp9392352"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -113,7 +113,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12045904"></a><h3>Element Pads</h3>
+<a name="idp9399760"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -175,7 +175,7 @@
 <a name="gstreamer-plugins-typefind.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstTypeFindElement--caps"></a><h3>The <code class="literal">"caps"</code> property</h3>
-<pre class="programlisting">  "caps"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read</pre>
+<pre class="programlisting">  "caps"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read</pre>
 <p>detected capabilities in stream.</p>
 </div>
 <hr>
@@ -197,7 +197,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTypeFindElement--force-caps"></a><h3>The <code class="literal">"force-caps"</code> property</h3>
-<pre class="programlisting">  "force-caps"               <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
+<pre class="programlisting">  "force-caps"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
 <p>force caps without doing a typefind.</p>
 </div>
 </div>
@@ -207,7 +207,7 @@
 <a name="GstTypeFindElement-have-type"></a><h3>The <code class="literal">"have-type"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement"><span class="type">GstTypeFindElement</span></a> *typefind,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>               probability,
-                                                        <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>            *caps,
+                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>            *caps,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>            user_data)        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
 <p>
 This signal gets emitted when the type and its probability has
diff --git a/docs/plugins/html/gstreamer-plugins-valve.html b/docs/plugins/html/gstreamer-plugins-valve.html
index 790cb04..bb6f732 100644
--- a/docs/plugins/html/gstreamer-plugins-valve.html
+++ b/docs/plugins/html/gstreamer-plugins-valve.html
@@ -49,8 +49,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
-               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                      +----GstValve
 </pre>
 </div>
@@ -68,7 +68,7 @@
 </p>
 <p>
 Any downstream error received while the <a class="link" href="gstreamer-plugins-valve.html#GstValve--drop" title='The "drop" property'><span class="type">"drop"</span></a> property is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
-is ignored. So downstream element can be set to  <a href="../gstreamer-1.0/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> and removed,
+is ignored. So downstream element can be set to  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> and removed,
 without using pad blocking.
 </p>
 <p>
@@ -81,7 +81,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10150096"></a><h3>Element Information</h3>
+<a name="idp5663680"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -104,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10589120"></a><h3>Element Pads</h3>
+<a name="idp4984144"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gstreamer-plugins.devhelp2 b/docs/plugins/html/gstreamer-plugins.devhelp2
index 60b4b67..1c45f5a 100644
--- a/docs/plugins/html/gstreamer-plugins.devhelp2
+++ b/docs/plugins/html/gstreamer-plugins.devhelp2
@@ -26,14 +26,14 @@
     </sub>
   </chapters>
   <functions>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-capsfilter.html#idp9006336"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp9217088"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp32112"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-capsfilter.html#idp7718544"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp8004944"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp134944"/>
     <keyword type="struct" name="struct GstCapsFilter" link="gstreamer-plugins-capsfilter.html#GstCapsFilter-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesrc.html#idp9730432"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp9733616"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp9741024"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesrc.html#idp8516432"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp8519616"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp8527024"/>
     <keyword type="struct" name="struct GstFakeSrc" link="gstreamer-plugins-fakesrc.html#GstFakeSrc-struct"/>
     <keyword type="enum" name="enum GstFakeSrcDataType" link="gstreamer-plugins-fakesrc.html#GstFakeSrcDataType"/>
     <keyword type="enum" name="enum GstFakeSrcFillType" link="gstreamer-plugins-fakesrc.html#GstFakeSrcFillType"/>
@@ -57,9 +57,9 @@
     <keyword type="property" name="The &quot;sync&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--sync"/>
     <keyword type="property" name="The &quot;format&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--format"/>
     <keyword type="signal" name="The &quot;handoff&quot; signal" link="gstreamer-plugins-fakesrc.html#GstFakeSrc-handoff"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesink.html#idp9474080"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp6125200"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp6132624"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesink.html#idp9553712"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp9556320"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp7211360"/>
     <keyword type="struct" name="struct GstFakeSink" link="gstreamer-plugins-fakesink.html#GstFakeSink-struct"/>
     <keyword type="enum" name="enum GstFakeSinkStateError" link="gstreamer-plugins-fakesink.html#GstFakeSinkStateError"/>
     <keyword type="property" name="The &quot;can-activate-pull&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-pull"/>
@@ -72,19 +72,19 @@
     <keyword type="property" name="The &quot;num-buffers&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers"/>
     <keyword type="signal" name="The &quot;handoff&quot; signal" link="gstreamer-plugins-fakesink.html#GstFakeSink-handoff"/>
     <keyword type="signal" name="The &quot;preroll-handoff&quot; signal" link="gstreamer-plugins-fakesink.html#GstFakeSink-preroll-handoff"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#idp9024688"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp7652304"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#idp7622240"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp7657744"/>
     <keyword type="struct" name="struct GstFdSink" link="gstreamer-plugins-fdsink.html#GstFdSink-struct"/>
     <keyword type="property" name="The &quot;fd&quot; property" link="gstreamer-plugins-fdsink.html#GstFdSink--fd"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-fdsrc.html#idp6773120"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp6776272"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp6783728"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-fdsrc.html#idp9288096"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp9291200"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp9591808"/>
     <keyword type="struct" name="struct GstFdSrc" link="gstreamer-plugins-fdsrc.html#GstFdSrc-struct"/>
     <keyword type="property" name="The &quot;fd&quot; property" link="gstreamer-plugins-fdsrc.html#GstFdSrc--fd"/>
     <keyword type="property" name="The &quot;timeout&quot; property" link="gstreamer-plugins-fdsrc.html#GstFdSrc--timeout"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesrc.html#idp6869664"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp6872272"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp10528784"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesrc.html#idp7329248"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp7331856"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp9626240"/>
     <keyword type="struct" name="struct GstFileSrc" link="gstreamer-plugins-filesrc.html#GstFileSrc-struct"/>
     <keyword type="property" name="The &quot;fd&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--fd"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--location"/>
@@ -92,19 +92,19 @@
     <keyword type="property" name="The &quot;touch&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--touch"/>
     <keyword type="property" name="The &quot;use-mmap&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--use-mmap"/>
     <keyword type="property" name="The &quot;sequential&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--sequential"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesink.html#idp5037280"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp10876976"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp10924704"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesink.html#idp6010672"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp6013232"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp6020640"/>
     <keyword type="struct" name="struct GstFileSink" link="gstreamer-plugins-filesink.html#GstFileSink-struct"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--location"/>
     <keyword type="property" name="The &quot;buffer-mode&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--buffer-mode"/>
     <keyword type="property" name="The &quot;buffer-size&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--buffer-size"/>
     <keyword type="property" name="The &quot;append&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--append"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#idp7728896"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp9964400"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#idp7279280"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp5555680"/>
     <keyword type="struct" name="struct GstFunnel" link="gstreamer-plugins-funnel.html#GstFunnel-struct"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp10744592"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp10752048"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp10160416"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp10167872"/>
     <keyword type="struct" name="struct GstIdentity" link="gstreamer-plugins-identity.html#GstIdentity-struct"/>
     <keyword type="property" name="The &quot;check-perfect&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-perfect"/>
     <keyword type="property" name="The &quot;datarate&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--datarate"/>
@@ -120,8 +120,8 @@
     <keyword type="property" name="The &quot;check-imperfect-timestamp&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp"/>
     <keyword type="property" name="The &quot;signal-handoffs&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--signal-handoffs"/>
     <keyword type="signal" name="The &quot;handoff&quot; signal" link="gstreamer-plugins-identity.html#GstIdentity-handoff"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-input-selector.html#idp11251280"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp11258816"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-input-selector.html#idp8999888"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp9007424"/>
     <keyword type="struct" name="struct GstInputSelector" link="gstreamer-plugins-input-selector.html#GstInputSelector-struct"/>
     <keyword type="property" name="The &quot;active-pad&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad"/>
     <keyword type="property" name="The &quot;n-pads&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads"/>
@@ -131,9 +131,9 @@
     <keyword type="property" name="The &quot;sync-mode&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--sync-mode"/>
     <keyword type="signal" name="The &quot;block&quot; signal" link="gstreamer-plugins-input-selector.html#GstInputSelector-block"/>
     <keyword type="signal" name="The &quot;switch&quot; signal" link="gstreamer-plugins-input-selector.html#GstInputSelector-switch"/>
-    <keyword type="" name="" link="gstreamer-plugins-multiqueue.html#idp9289440"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp11520688"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp11528144"/>
+    <keyword type="" name="" link="gstreamer-plugins-multiqueue.html#idp9479760"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp10309440"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp10316896"/>
     <keyword type="struct" name="struct GstMultiQueue" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-struct"/>
     <keyword type="property" name="The &quot;extra-size-buffers&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers"/>
     <keyword type="property" name="The &quot;extra-size-bytes&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes"/>
@@ -147,14 +147,14 @@
     <keyword type="property" name="The &quot;sync-by-running-time&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--sync-by-running-time"/>
     <keyword type="signal" name="The &quot;overrun&quot; signal" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-overrun"/>
     <keyword type="signal" name="The &quot;underrun&quot; signal" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-underrun"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-output-selector.html#idp4955616"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp11458256"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-output-selector.html#idp5357952"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp10642464"/>
     <keyword type="struct" name="struct GstOutputSelector" link="gstreamer-plugins-output-selector.html#GstOutputSelector-struct"/>
     <keyword type="property" name="The &quot;active-pad&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad"/>
     <keyword type="property" name="The &quot;resend-latest&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest"/>
     <keyword type="property" name="The &quot;pad-negotiation-mode&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#idp11359504"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp11366960"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#idp10717648"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp10725104"/>
     <keyword type="struct" name="struct GstQueue" link="gstreamer-plugins-queue.html#GstQueue-struct"/>
     <keyword type="enum" name="enum GstQueueLeaky" link="gstreamer-plugins-queue.html#GstQueueLeaky"/>
     <keyword type="property" name="The &quot;current-level-buffers&quot; property" link="gstreamer-plugins-queue.html#GstQueue--current-level-buffers"/>
@@ -172,8 +172,8 @@
     <keyword type="signal" name="The &quot;running&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-running"/>
     <keyword type="signal" name="The &quot;underrun&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-underrun"/>
     <keyword type="signal" name="The &quot;pushing&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-pushing"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#idp12163568"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp12170976"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#idp10988336"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp10995744"/>
     <keyword type="struct" name="struct GstQueue2" link="gstreamer-plugins-queue2.html#GstQueue2-struct"/>
     <keyword type="property" name="The &quot;current-level-buffers&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--current-level-buffers"/>
     <keyword type="property" name="The &quot;current-level-bytes&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--current-level-bytes"/>
@@ -189,9 +189,9 @@
     <keyword type="property" name="The &quot;use-rate-estimate&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--use-rate-estimate"/>
     <keyword type="property" name="The &quot;temp-remove&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--temp-remove"/>
     <keyword type="property" name="The &quot;ring-buffer-max-size&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size"/>
-    <keyword type="" name="Example launch line" link="gstreamer-plugins-tee.html#idp6592416"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp6595136"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp12121312"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-tee.html#idp5968864"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp5971584"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp11108624"/>
     <keyword type="struct" name="struct GstTee" link="gstreamer-plugins-tee.html#GstTee-struct"/>
     <keyword type="enum" name="enum GstTeePullMode" link="gstreamer-plugins-tee.html#GstTeePullMode"/>
     <keyword type="property" name="The &quot;has-chain&quot; property" link="gstreamer-plugins-tee.html#GstTee--has-chain"/>
@@ -201,16 +201,16 @@
     <keyword type="property" name="The &quot;silent&quot; property" link="gstreamer-plugins-tee.html#GstTee--silent"/>
     <keyword type="property" name="The &quot;pull-mode&quot; property" link="gstreamer-plugins-tee.html#GstTee--pull-mode"/>
     <keyword type="property" name="The &quot;alloc-pad&quot; property" link="gstreamer-plugins-tee.html#GstTee--alloc-pad"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#idp12038496"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp12045904"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#idp9392352"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp9399760"/>
     <keyword type="struct" name="struct GstTypeFindElement" link="gstreamer-plugins-typefind.html#GstTypeFindElement-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--caps"/>
     <keyword type="property" name="The &quot;maximum&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--maximum"/>
     <keyword type="property" name="The &quot;minimum&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum"/>
     <keyword type="property" name="The &quot;force-caps&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps"/>
     <keyword type="signal" name="The &quot;have-type&quot; signal" link="gstreamer-plugins-typefind.html#GstTypeFindElement-have-type"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#idp10150096"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp10589120"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#idp5663680"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp4984144"/>
     <keyword type="struct" name="struct GstValve" link="gstreamer-plugins-valve.html#GstValve-struct"/>
     <keyword type="property" name="The &quot;drop&quot; property" link="gstreamer-plugins-valve.html#GstValve--drop"/>
     <keyword type="constant" name="FAKE_SRC_DATA_ALLOCATE" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-DATA-ALLOCATE:CAPS"/>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 57b0c49..ac26f6a 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.0.0)
+      for GStreamer Core Plugins 1.0 (1.0.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/</a>.
     </p></div>
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index b02f4d1..1617bac 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.0.0</version>
+  <version>1.0.1</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/docs/pwg/Makefile.in b/docs/pwg/Makefile.in
index e273c65..6919b13 100644
--- a/docs/pwg/Makefile.in
+++ b/docs/pwg/Makefile.in
@@ -885,14 +885,12 @@
 	if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
 	if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
 	\
-	# upload releases to both 0.10.X/ and head/ subdirectories \
-	if test "x$(PACKAGE_VERSION_NANO)" = x0; then \
-	  export DIR=$(DOC_BASE)/gstreamer/$(VERSION)/$(DOC); \
-	  echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) mkdir -p $$DIR; \
-	  rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
-	  ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
-	fi; \
+	# upload releases to both X.Y/ and head/ subdirectories \
+	export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
+	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) mkdir -p $$DIR; \
+	rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
+	ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
 	\
 	export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
 	echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
diff --git a/docs/pwg/advanced-allocation.xml b/docs/pwg/advanced-allocation.xml
new file mode 100644
index 0000000..625e76e
--- /dev/null
+++ b/docs/pwg/advanced-allocation.xml
@@ -0,0 +1,812 @@
+<chapter id="chapter-allocation" xreflabel="Memory allocation">
+  <title>Memory allocation</title>
+  <para>
+    Memory allocation and management is a very important topic in
+    multimedia. High definition video uses many magabytes to store
+    one single frame of video. It is important to reuse the memory
+    when possible instead of constantly allocating and freeing
+    the memory.
+  </para>
+  <para>
+    Multimedia systems usually use special purpose chips, such as
+    DSPs or GPUs to perform the heavy lifting (especially for video).
+    These special purpose chips have usually strict requirements
+    for the memory that they can operate on and how the memory
+    is accessed.
+  </para>
+  <para>
+    This chapter talks about the memory management features that
+    &GStreamer; plugins can use. We will first talk about the
+    lowlevel <classname>GstMemory</classname> object that manages
+    access to a piece of memory. We then continue with
+    <classname>GstBuffer</classname> that is used to exchange data
+    between plugins (and the application) and that uses
+    <classname>GstMemory</classname>. We talk about
+    <classname>GstMeta</classname> that can be placed on buffers to
+    give extra info about the buffer and its memory.
+    For efficiently managing buffers of the same size, we take a
+    look at <classname>GstBufferPool</classname>. To conclude this
+    chapter we take a look at the GST_QUERY_ALLOCATION query that
+    is used to negotiate memory management options between elements.
+  </para>
+
+  <sect1 id="section-allocation-memory" xreflabel="GstMemory">
+    <title>GstMemory</title>
+    <para>
+      <classname>GstMemory</classname> is an object that manages a region
+      of memory. The memory object points to a region of memory of
+      <quote>maxsize</quote>. The area in this memory starting at
+      <quote>offset</quote> and for <quote>size</quote> bytes is the
+      accessible region in the memory. the maxsize of the memory can
+      never be changed after the object is created, however, the offset
+      and size can be changed.
+    </para>
+    <para>
+      <classname>GstMemory</classname> objects are created by a
+      <classname>GstAllocator</classname> object. To implement support
+      for a new kind of memory type, you must implement a new allocator
+      object.
+    </para>
+    <sect2 id="section-allocation-memory-ex" xreflabel="GstMemory-ex">
+      <title>GstMemory API example</title>
+      <para>
+        Data access to the memory wrapped by the <classname>GstMemory</classname>
+        object is always protected with a <function>gst_memory_map()</function>
+        and <function>gst_memory_unmap()</function> pair. An access mode
+        (read/write) must be given when mapping memory. The map
+        function returns a pointer to the valid memory region that can
+        then be accessed according to the requested access mode. 
+      </para>
+      <para>
+        Below is an example of making a <classname>GstMemory</classname>
+        object and using the <function>gst_memory_map()</function> to
+        access the memory region.
+      </para>
+      <programlisting>
+<![CDATA[
+[...]
+
+  GstMemory *mem;
+  GstMapInfo info;
+  gint i;
+
+  /* allocate 100 bytes */
+  mem = gst_allocator_alloc (NULL, 100, NULL);
+
+  /* get access to the memory in write mode */
+  gst_memory_map (mem, &info, GST_MAP_WRITE);
+
+  /* fill with pattern */
+  for (i = 0; i < info.size; i++)
+    info.data[i] = i;
+
+  /* release memory */
+  gst_memory_unmap (mem, &info);
+
+[...]
+]]>
+      </programlisting>
+    </sect2>
+
+    <sect2 id="section-allocation-allocator" xreflabel="GstAllocator">
+      <title>Implementing a GstAllocator</title>
+      <para>
+        WRITEME
+      </para>
+    </sect2>
+
+  </sect1>
+
+  <sect1 id="section-allocation-buffer" xreflabel="GstBuffer">
+    <title>GstBuffer</title>
+    <para>
+      A <classname>GstBuffer</classname> is an lightweight object that
+      is passed from an upstream to a downstream element and contains
+      memory and metadata. It represents the multimedia content that
+      is pushed or pull downstream by elements.
+    </para>
+    <para>
+      The buffer contains one or more <classname>GstMemory</classname>
+      objects thet represent the data in the buffer.
+    </para>
+    <para>
+      Metadata in the buffer consists of:
+    </para>
+    <itemizedlist mark="opencircle">
+      <listitem>
+        <para>
+          DTS and PTS timestamps. These represent the decoding and
+          presentation timestamps of the buffer content and is used by
+          synchronizing elements to schedule buffers. Both these timestamps
+          can be GST_CLOCK_TIME_NONE when unknown/undefined.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The duration of the buffer contents. This duration can be
+          GST_CLOCK_TIME_NONE when unknown/undefined.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Media specific offsets and offset_end. For video this is the 
+          frame number in the stream and for audio the sample number. Other
+          definitions for other media exist. 
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Arbitrary structures via <classname>GstMeta</classname>, see below.
+        </para>
+      </listitem>
+    </itemizedlist>
+
+    <sect2 id="section-allocation-writability" xreflabel="GstBuffer-write">
+      <title>GstBuffer writability</title>
+      <para>
+        A buffer is writable when the refcount of the object is exactly 1, meaning
+        that only one object is holding a ref to the buffer. You can only
+        modify anything in the buffer when the buffer is writable. This means
+        that you need to call <function>gst_buffer_make_writable()</function>
+        before changing the timestamps, offsets, metadata or adding and
+        removing memory blocks.
+      </para>
+    </sect2>
+    <sect2 id="section-allocation-buffer-ex" xreflabel="GstBuffer-ex">
+      <title>GstBuffer API examples</title>
+      <para>
+        You can create a buffer with <function>gst_buffer_new ()</function>
+        and then add memory objects to it or you can use a convenience function
+        <function>gst_buffer_new_allocate ()</function> which combines the
+        two. It's also possible to wrap existing memory with 
+        <function>gst_buffer_new_wrapped_full () </function> where you can
+        give the function to call when the memory should be freed.
+      </para>
+      <para>
+        You can access the memory of the buffer by getting and mapping the 
+        <classname>GstMemory</classname> objects individually or by using
+        <function>gst_buffer_map ()</function>. The latter merges all the
+        memory into one big block and then gives you a pointer to this block.
+      </para>
+      <para>
+        Below is an example of how to create a buffer and access its memory.
+      </para>
+      <programlisting>
+<![CDATA[
+[...]
+  GstBuffer *buffer;
+  GstMemory *mem;
+  GstMapInfo info;
+
+  /* make empty buffer */
+  buffer = gst_buffer_new ();
+
+  /* make memory holding 100 bytes */
+  mem = gst_allocator_alloc (NULL, 100, NULL);
+
+  /* add the the buffer */
+  gst_buffer_append_memory (buffer, mem);
+
+[...]
+
+  /* get WRITE access to the memory and fill with 0xff */
+  gst_buffer_map (buffer, &info, GST_MAP_WRITE);
+  memset (info.data, 0xff, info.size);
+  gst_buffer_unmap (buffer, &info);
+
+[...]
+
+  /* free the buffer */
+  gst_buffer_unref (buffer);
+
+[...]
+]]>
+      </programlisting>
+    </sect2>
+  </sect1>
+
+  <sect1 id="section-allocation-meta" xreflabel="GstMeta">
+    <title>GstMeta</title>
+    <para>
+      With the <classname>GstMeta</classname> system you can add arbitrary
+      structures of on buffers. These structures describe extra properties
+      of the buffer such as cropping, stride, region of interest etc.
+    </para>
+    <para>
+      Metadata is also used to store, for example, the X image that is
+      backing up the memory of the buffer. This makes it easier for elements
+      to locate the X image from the buffer.
+    </para>
+    <para>
+      The metadata system separates API specification (what the metadata
+      and its API look like) and the implementation (how it works). This makes
+      it possible to make different implementations of the same API,
+      for example, depending on the hardware you are running on.
+    </para>
+
+    <sect2 id="section-allocation-meta-ex" xreflabel="GstMeta-ex">
+      <title>GstMeta API example</title>
+      <para>
+        After allocating a new buffer, you can add metadata to the buffer
+        with the metadata specific API. This means that you will need to
+        link to the header file where the metadata is defined to use
+        its API.
+      </para>
+      <para>
+        By convention, a metadata API with name <classname>FooBar</classname>
+        should provide two methods, a
+        <function>gst_buffer_add_foo_bar_meta ()</function> and a
+        <function>gst_buffer_get_foo_bar_meta ()</function>. Both functions
+        should return a pointer to a <classname>FooBarMeta</classname>
+        structure that contains the metadata fields. Some of the
+        <function>_add_*_meta ()</function> can have extra parameters that
+        will usually be used to configure the metadata structure for you.
+      </para>
+      <para>
+        Let's have a look at the metadata that is used to specify a cropping
+        region for video frames.
+      </para>
+      <programlisting>
+<![CDATA[
+#include <gst/video/gstvideometa.h>
+
+[...]
+  GstVideoCropMeta *meta;
+
+  /* buffer points to a video frame, add some cropping metadata */
+  meta = gst_buffer_add_video_crop_meta (buffer);
+
+  /* configure the cropping metadata */
+  meta->x = 8;
+  meta->y = 8;
+  meta->width = 120;
+  meta->height = 80;
+[...]
+]]>
+      </programlisting>
+      <para>
+        An element can then use the metadata on the buffer when rendering
+        the frame like this:
+      </para>
+      <programlisting>
+<![CDATA[
+#include <gst/video/gstvideometa.h>
+
+[...]
+  GstVideoCropMeta *meta;
+
+  /* buffer points to a video frame, get the cropping metadata */
+  meta = gst_buffer_get_video_crop_meta (buffer);
+
+  if (meta) {
+    /* render frame with cropping */
+    _render_frame_cropped (buffer, meta->x, meta->y, meta->width, meta->height);
+  } else {
+    /* render frame */
+    _render_frame (buffer);
+  }
+[...]
+
+]]>
+      </programlisting>
+    </sect2>
+
+    <sect2 id="section-allocation-meta-new" xreflabel="GstMeta-new">
+      <title>Implementing new GstMeta</title>
+      <para>
+        In the next sections we show how you can add new metadata to the
+        system and use it on buffers.
+      </para>
+
+      <sect3 id="section-allocation-meta-api" xreflabel="GstMeta-api">
+        <title>Define the metadata API</title>
+        <para>
+          First we need to define what our API will look like and we
+          will have to register this API to the system. This is important
+          because this API definition will be used when elements negotiate
+          what kind of metadata they will exchange. The API definition
+          also contains arbitrary tags that give hints about what the
+          metadata contains. This is important when we see how metadata
+          is preserved when buffers pass through the pipeline.
+        </para>
+        <para>
+          If you are making a new implementation of an existing API,
+          you can skip this step and move on to the implementation step.
+        </para>
+        <para>
+          First we start with making the
+          <filename>my-example-meta.h</filename> header file that will contain
+          the definition of the API and structure for our metadata.
+        </para>
+        <programlisting>
+<![CDATA[
+#include <gst/gst.h>
+
+typedef struct _MyExampleMeta MyExampleMeta;
+
+struct _MyExampleMeta {
+  GstMeta       meta;
+
+  gint          age;
+  gchar        *name;
+};
+
+GType my_example_meta_api_get_type (void);
+#define MY_EXAMPLE_META_API_TYPE (my_example_meta_api_get_type())
+
+#define gst_buffer_get_my_example_meta(b) \
+  ((MyExampleMeta*)gst_buffer_get_meta((b),MY_EXAMPLE_META_API_TYPE))
+]]>
+        </programlisting>
+        <para>
+          The metadata API definition consists of the definition of the
+          structure that holds a gint and a string. The first field in
+          the structure must be <classname>GstMeta</classname>.
+        </para>
+        <para>
+          We also define a <function>my_example_meta_api_get_type ()</function>
+          function that will register out metadata API definition. We
+          also define a convenience macro 
+          <function>gst_buffer_get_my_example_meta ()</function> that simply
+          finds and returns the metadata with our new API.
+        </para>
+        <para>
+          Next let's have a look at how the
+          <function>my_example_meta_api_get_type ()</function> function is
+          implemented in the <filename>my-example-meta.c</filename> file.
+        </para>
+        <programlisting>
+<![CDATA[
+#include "my-example-meta.h"
+
+GType
+my_example_meta_api_get_type (void)
+{
+  static volatile GType type;
+  static const gchar *tags[] = { "foo", "bar", NULL };
+
+  if (g_once_init_enter (&type)) {
+    GType _type = gst_meta_api_type_register ("MyExampleMetaAPI", tags);
+    g_once_init_leave (&type, _type);
+  }
+  return type;
+}
+]]>
+        </programlisting>
+        <para>
+          As you can see, it simply uses the
+          <function>gst_meta_api_type_register ()</function> function to
+          register a name for the api and some tags. The result is a
+          new pointer GType that defines the newly registered API.
+        </para>
+      </sect3>
+
+      <sect3 id="section-allocation-meta-impl" xreflabel="GstMeta-impl">
+        <title>Implementing a metadata API</title>
+        <para>
+          Next we can make an implementation for a registered metadata
+          API GType. The implementation detail of a metadata API
+          are kept in a <classname>GstMetaInfo</classname> structure
+          that you will make available to the users of your metadata
+          API implementation with a <function>my_example_meta_get_info ()</function>
+          function and a convenience <function>MY_EXAMPLE_META_INFO</function>
+          macro. You will also make a method to add your metadata
+          implementation to a <classname>GstBuffer</classname>.
+          Your <filename>my-example-meta.h</filename> header file will
+          need thse additions:
+        </para>
+        <programlisting>
+<![CDATA[
+[...]
+
+/* implementation */
+const GstMetaInfo *my_example_meta_get_info (void);
+#define MY_EXAMPLE_META_INFO (my_example_meta_get_info())
+
+MyExampleMeta * gst_buffer_add_my_example_meta (GstBuffer      *buffer,
+                                                gint            age,
+                                                const gchar    *name);
+]]>
+        </programlisting>
+        <para>
+          Let's have a look at how these functions are
+          implemented in the <filename>my-example-meta.c</filename> file.
+        </para>
+        <programlisting>
+<![CDATA[
+[...]
+
+static gboolean
+my_example_meta_init (GstMeta * meta, gpointer params, GstBuffer * buffer)
+{
+  MyExampleMeta *emeta = (MyExampleMeta *) meta;
+
+  emeta->age = 0;
+  emeta->name = NULL;
+
+  return TRUE;
+}
+
+static gboolean
+my_example_meta_transform (GstBuffer * transbuf, GstMeta * meta,
+    GstBuffer * buffer, GQuark type, gpointer data)
+{
+  MyExampleMeta *emeta = (MyExampleMeta *) meta;
+
+  /* we always copy no matter what transform */
+  gst_buffer_add_my_example_meta (transbuf, emeta->age, emeta->name);
+
+  return TRUE;
+}
+
+static void
+my_example_meta_free (GstMeta * meta, GstBuffer * buffer)
+{
+  MyExampleMeta *emeta = (MyExampleMeta *) meta;
+
+  g_free (emeta->name)
+  emeta->name = NULL;
+}
+
+const GstMetaInfo *
+my_example_meta_get_info (void)
+{
+  static const GstMetaInfo *meta_info = NULL;
+
+  if (g_once_init_enter (&meta_info)) {
+    const GstMetaInfo *mi = gst_meta_register (MY_EXAMPLE_META_API_TYPE,
+        "MyExampleMeta",
+        sizeof (MyExampleMeta),
+        my_example_meta_init,
+        my_example_meta_free,
+        my_example_meta_transform);
+    g_once_init_leave (&meta_info, mi);
+  }
+  return meta_info;
+}
+
+MyExampleMeta *
+gst_buffer_add_my_example_meta (GstBuffer   *buffer,
+                                gint         age,
+                                const gchar *name)
+{
+  MyExampleMeta *meta;
+
+  g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL);
+
+  meta = (MyExampleMeta *) gst_buffer_add_meta (buffer,
+      MY_EXAMPLE_META_INFO, NULL);
+
+  meta->age = age;
+  meta->name = g_strdup (name);
+
+  return meta;
+}
+]]>
+        </programlisting>
+        <para>
+          <function>gst_meta_register ()</function> registers the implementation
+          details, like the API that you implement and the size of the
+          metadata structure along with methods to initialize and free the
+          memory area. You can also implement a transform function that will
+          be called when a certain transformation (identified by the quark and
+          quark specific data) is performed on a buffer.
+        </para>
+        <para>
+          Lastly, you implement a <function>gst_buffer_add_*_meta()</function>
+          that adds the metadata implementation to a buffer and sets the
+          values of the metadata.
+        </para>
+      </sect3>
+    </sect2>
+
+  </sect1>
+
+  <sect1 id="section-allocation-bufferpool" xreflabel="GstBufferPool">
+    <title>GstBufferPool</title>
+    <para>
+      The <classname>GstBufferPool</classname> object provides a convenient
+      base class for managing lists of reusable buffers. Essential for this
+      object is that all the buffers have the same properties such as size,
+      padding, metadata and alignment.
+    </para>
+    <para>
+      A bufferpool object can be configured to manage a minimum and maximum
+      amount of buffers of a specific size. A bufferpool can also be
+      configured to use a specific <classname>GstAllocator</classname> for
+      the memory of the buffers. There is support in the bufferpool to enable
+      bufferpool specific options, such as adding <classname>GstMeta</classname>
+      to the buffers in the pool or such as enabling specific padding on
+      the memory in the buffers.
+    </para>
+    <para>
+      A Bufferpool can be inactivate and active. In the inactive state,
+      you can configure the pool. In the active state, you can't change
+      the configuration anymore but you can acquire and release buffers
+      from/to the pool.
+    </para>
+    <para>
+      In the following sections we take a look at how you can use
+      a bufferpool. 
+    </para>
+
+    <sect2 id="section-allocation-pool-ex" xreflabel="GstBufferPool-ex">
+      <title>GstBufferPool API example</title>
+      <para>
+        Many different bufferpool implementations can exist; they are all
+        subclasses of the base class <classname>GstBufferPool</classname>.
+        For this example, we will assume we somehow have access to a
+        bufferpool, either because we created it ourselves or because
+        we were given one as a result of the ALLOCATION query as we will
+        see below.
+      </para>
+      <para>
+        The bufferpool is initially in the inactive state so that we can
+        configure it. Trying to configure a bufferpool that is not in the
+        inactive state will fail. Likewise, trying to activate a bufferpool
+        that is not configured will fail.
+      </para>
+      <programlisting>
+<![CDATA[
+  GstStructure *config;
+
+[...]
+
+  /* get config structure */
+  config = gst_buffer_pool_get_config (pool);
+
+  /* set caps, size, minimum and maximum buffers in the pool */
+  gst_buffer_pool_config_set_params (config, caps, size, min, max);
+
+  /* configure allocator and parameters */
+  gst_buffer_pool_config_set_allocator (config, allocator, &params);
+
+  /* store the updated configuration again */
+  gst_buffer_pool_set_config (pool, config);
+
+[...]
+]]>
+      </programlisting>
+      <para>
+        The configuration of the bufferpool is maintained in a generic
+        <classname>GstStructure</classname> that can be obtained with
+        <function>gst_buffer_pool_get_config()</function>. Convenience
+        methods exist to get and set the configuration options in this
+        structure. After updating the structure, it is set as the current
+        configuration in the bufferpool again with
+        <function>gst_buffer_pool_set_config()</function>.
+      </para>
+      <para>
+        The following options can be configured on a bufferpool:
+      </para>
+      <itemizedlist mark="opencircle">
+        <listitem>
+          <para>
+            The caps of the buffers to allocate.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The size of the buffers. This is the suggested size of the
+            buffers in the pool. The pool might decide to allocate larger
+            buffers to add padding.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The minimum and maximum amount of buffers in the pool. When
+            minimum is set to > 0, the bufferpool will pre-allocate this
+            amount of buffers. When maximum is not 0, the bufferpool
+            will allocate up to maximum amount of buffers.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The allocator and parameters to use. Some bufferpools might
+            ignore the allocator and use its internal one.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Other arbitrary bufferpool options identified with a string.
+            a bufferpool lists the supported options with
+            <function>gst_buffer_pool_get_options()</function> and you 
+            can ask if an option is supported with
+            <function>gst_buffer_pool_has_option()</function>. The option
+            can be enabled by adding it to the configuration structure
+            with <function>gst_buffer_pool_config_add_option ()</function>.
+            These options are used to enable things like letting the
+            pool set metadata on the buffers or to add extra configuration
+            options for padding, for example.
+          </para>
+        </listitem>
+      </itemizedlist>
+      <para>
+        After the configuration is set on the bufferpool, the pool can
+        be activated with
+        <function>gst_buffer_pool_set_active (pool, TRUE)</function>. From
+        that point on you can use
+        <function>gst_buffer_pool_acquire_buffer ()</function> to retrieve
+        a buffer from the pool, like this:
+      </para>
+      <programlisting>
+<![CDATA[
+  [...]
+
+  GstFlowReturn ret;
+  GstBuffer *buffer;
+
+  ret = gst_buffer_pool_acquire_buffer (pool, &buffer, NULL);
+  if (G_UNLIKELY (ret != GST_FLOW_OK))
+    goto pool_failed;
+
+  [...]
+]]>
+      </programlisting>
+      <para>
+        It is important to check the return value of the acquire function
+        because it is possible that it fails: When your
+        element shuts down, it will deactivate the bufferpool and then
+        all calls to acquire will return GST_FLOW_FLUSHNG.
+      </para>
+      <para>
+        All buffers that are acquired from the pool will have their pool
+        member set to the original pool. When the last ref is decremented
+        on the buffer, &GStreamer; will automatically call
+        <function>gst_buffer_pool_release_buffer()</function> to release
+        the buffer back to the pool. You (or any other downstream element)
+        don't need to know if a buffer came from a pool, you can just
+        unref it.
+      </para>
+    </sect2>
+
+    <sect2 id="section-allocation-pool-impl" xreflabel="GstBufferPool-impl">
+      <title>Implementing a new GstBufferPool</title>
+      <para>
+        WRITEME
+      </para>
+    </sect2>
+
+  </sect1>
+
+  <sect1 id="section-allocation-query" xreflabel="GST_QUERY_ALLOCATION">
+    <title>GST_QUERY_ALLOCATION</title>
+    <para>
+      The ALLOCATION query is used to negotiate
+      <classname>GstMeta</classname>, <classname>GstBufferPool</classname>
+      and <classname>GstAllocator</classname> between elements. Negotiation
+      of the allocation strategy is always initiated and decided by a srcpad
+      after it has negotiated a format and before it decides to push buffers.
+      A sinkpad can suggest an allocation strategy but it is ultimately the
+      source pad that will decide based on the suggestions of the downstream
+      sink pad.
+    </para>
+    <para>
+      The source pad will do a GST_QUERY_ALLOCATION with the negotiated caps
+      as a parameter. This is needed so that the downstream element knows
+      what media type is being handled. A downstream sink pad can answer the
+      allocation query with the following results:
+    </para>
+    <itemizedlist mark="opencircle">
+      <listitem>
+        <para>
+          An array of possible <classname>GstBufferPool</classname> suggestions
+          with suggested size, minimum and maximum amount of buffers.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          An array of GstAllocator objects along with suggested allocation
+          parameters such as flags, prefix, alignment and padding. These
+          allocators can also be configured in a bufferpool when this is
+          supported by the bufferpool.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          An array of supported <classname>GstMeta</classname> implementations
+          along with metadata specific parameters.
+          It is important that the upstream element knows what kind of
+          metadata is supported downstream before it places that metadata
+          on buffers.
+        </para>
+      </listitem>
+    </itemizedlist>
+    <para>
+      When the GST_QUERY_ALLOCATION returns, the source pad will select
+      from the available bufferpools, allocators and metadata how it will
+      allocate buffers.
+    </para>
+
+    <sect2 id="section-allocation-query-ex" xreflabel="Allocation-ex">
+      <title>ALLOCATION query example</title>
+      <para>
+        Below is an example of the ALLOCATION query.
+      </para>
+      <programlisting>
+<![CDATA[
+#include <gst/video/video.h>
+#include <gst/video/gstvideometa.h>
+#include <gst/video/gstvideopool.h>
+
+  GstCaps *caps;
+  GstQuery *query;
+  GstStructure *structure;
+  GstBufferPool *pool;
+  GstStructure *config;
+  guint size, min, max;
+
+[...]
+
+  /* find a pool for the negotiated caps now */
+  query = gst_query_new_allocation (caps, TRUE);
+
+  if (!gst_pad_peer_query (scope->srcpad, query)) {
+    /* query failed, not a problem, we use the query defaults */
+  }
+
+  if (gst_query_get_n_allocation_pools (query) > 0) {
+    /* we got configuration from our peer, parse them */
+    gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
+  } else {
+    pool = NULL;
+    size = 0;
+    min = max = 0;
+  }
+
+  if (pool == NULL) {
+    /* we did not get a pool, make one ourselves then */
+    pool = gst_video_buffer_pool_new ();
+  }
+
+  config = gst_buffer_pool_get_config (pool);
+  gst_buffer_pool_config_add_option (config, GST_BUFFER_POOL_OPTION_VIDEO_META);
+  gst_buffer_pool_config_set_params (config, caps, size, min, max);
+  gst_buffer_pool_set_config (pool, config);
+
+  /* and activate */
+  gst_buffer_pool_set_active (pool, TRUE);
+
+[...]
+]]>
+      </programlisting>
+      <para>
+        This particular implementation will make a custom
+        <classname>GstVideoBufferPool</classname> object that is specialized
+        in allocating video buffers. You can also enable the pool to
+        put <classname>GstVideoMeta</classname> metadata on the buffers from
+        the pool doing
+        <function>gst_buffer_pool_config_add_option (config,
+          GST_BUFFER_POOL_OPTION_VIDEO_META)</function>.
+      </para>
+    </sect2>
+
+    <sect2 id="section-allocation-query-base" xreflabel="Allocation-base">
+      <title>The ALLOCATION query in base classes</title>
+      <para>
+        In many baseclasses you will see the following virtual methods for
+        influencing the allocation strategy:
+      </para>
+      <itemizedlist>
+        <listitem>
+          <para>
+            <function>propose_allocation ()</function> should suggest
+            allocation parameters for the upstream element.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <function>decide_allocation ()</function> should decide the
+            allocation parameters from the suggestions received from
+            downstream.
+          </para>
+        </listitem>
+      </itemizedlist>
+      <para>
+        Implementors of these methods should modify the given
+        <classname>GstQuery</classname> object by updating the pool options
+        and allocation options.
+      </para>
+    </sect2>
+  </sect1>
+</chapter>
diff --git a/docs/pwg/advanced-clock.xml b/docs/pwg/advanced-clock.xml
index 4f8ae39..beb6bd7 100644
--- a/docs/pwg/advanced-clock.xml
+++ b/docs/pwg/advanced-clock.xml
@@ -7,83 +7,77 @@
     synchronization mechanism.
   </para>
 
-  <sect1 id="section-clock-time-types" xreflabel="Types of time"> 
-    <title> Types of time </title>
-
-    <para>
-      There are two kinds of time in GStreamer. <emphasis
-	role="strong">Clock time</emphasis> is an absolute time. By contrast,
-      <emphasis role="strong">element time</emphasis> is the relative time,
-      usually to the start of the current media stream. The element time
-      represents the time that should have a media sample that is being
-      processed by the element at this time. The element time is calculated by
-      adding an offset to the clock time.
-    </para>
-  </sect1>
   <sect1 id="section-clocks" xreflabel="Clocks">
     <title>Clocks</title>
     <para>
-      GStreamer can use different clocks. Though the system time can be used
-      as a clock, soundcards and other devices provides a better time source. For
-      this reason some elements provide a clock. The method
-      <function>get_clock</function> is implemented in elements that provide
-      one.
+      Time in &GStreamer; is defined as the value returned from a particular 
+      <classname>GstClock</classname> object from the method
+      <function>gst_clock_get_time ()</function>. 
     </para>
-    
+    <para>
+      In a typical computer, there are many sources that can be used as a
+      time source, e.g., the system time, soundcards, CPU performance
+      counters, ... For this reason, there are many
+      <classname>GstClock</classname> implementations available in &GStreamer;.
+      The clock time doesn't always start from 0 or from some known value.
+      Some clocks start counting from some known start date, other clocks start
+      counting since last reboot, etc...
+    </para>
     <para>
       As clocks return an absolute measure of time, they are not usually used
-      directly. Instead, a reference to a clock is stored in any element that needs
-      it, and it is used internally by GStreamer to calculate the element time.
+      directly. Instead, differences between two clock times are used to
+      measure elapsed time according to a clock.
+    </para>
+  </sect1>
+
+  <sect1 id="section-clock-time-types" xreflabel="Clock running-time"> 
+    <title> Clock running-time </title>
+    <para>
+      A clock returns the <emphasis role="strong">absolute-time</emphasis>
+      according to that clock with <function>gst_clock_get_time ()</function>.
+      From the absolute-time is a <emphasis role="strong">running-time</emphasis>
+      calculated, which is simply the difference between a previous snapshot
+      of the absolute-time called the <emphasis role="strong">base-time</emphasis>.
+      So:
+    </para>
+    <para>
+      running-time = absolute-time - base-time
+    </para>
+    <para>
+      A &GStreamer; <classname>GstPipeline</classname> object maintains a 
+      <classname>GstClock</classname> object and a base-time when it goes
+      to the PLAYING state.  The pipeline gives a handle to the selected
+      <classname>GstClock</classname> to each element in the pipeline along
+      with selected base-time. The pipeline will select a base-time in such
+      a way that the running-time reflects the total time spent in the
+      PLAYING state. As a result, when the pipeline is PAUSED, the
+      running-time stands still.
+    </para>
+    <para>
+      Because all objects in the pipeline have the same clock and base-time,
+      they can thus all calculate the running-time according to the pipeline
+      clock.
+    </para>
+  </sect1>
+
+  <sect1 id="section-buffer-time-types" xreflabel="Buffer running-time"> 
+    <title> Buffer running-time </title>
+    <para>
+      To calculate a buffer running-time, we need a buffer timestamp and
+      the SEGMENT event that preceeded the buffer. First we can convert
+      the SEGMENT event into a <classname>GstSegment</classname> object
+      and then we can use the
+      <function>gst_segment_to_running_time ()</function> function to
+      perform the calculation of the buffer running-time.
+    </para>
+    <para>
+      Synchronization is now a matter of making sure that a buffer with a
+      certain running-time is played when the clock reaches the same
+      running-time. Usually this task is done by sink elements.
     </para>
   </sect1>
   
-  <sect1 id="section-time-data-flow" xreflabel="Flow of data between elements
-    and time">
-    <title>
-      Flow of data between elements and time
-    </title>
-    <para>
-      Now we will see how time information travels the pipeline in different states.
-    </para>
-    
-    <para>
-      The pipeline starts playing.
-      The source element typically knows the time of each sample. 
-      <footnote> 
-	<para>
-	  Sometimes it
-	  is a parser element the one that knows the time, for instance if a pipeline
-	  contains a filesrc element connected to a MPEG decoder element, the former 
-	  is the one that knows the time of each sample, because the knowledge of
-	  when to play each sample is embedded in the MPEG format. In this case this
-	  element will be regarded as the source element for this discussion.
-	</para>
-      </footnote> 
-      First, the source element sends a newsegment event. This event carries information
-      about the current relative time of the next sample. This relative time is
-      arbitrary, but it must be consistent with the timestamp that will be
-      placed in buffers. It is expected to be the relative time to the start
-      of the media stream, or whatever makes sense in the case of each media.
-      When receiving it, the other elements adjust their offset of the element time so that this
-      time matches the time written in the event.
-    </para>
-
-    <para>
-      Then the source element sends media samples in buffers. This element places a
-      timestamp in each buffer saying when the sample should be played. When the
-      buffer reaches the sink pad of the last element, this element compares the
-      current element time with the timestamp of the buffer. If the timestamp is
-      higher or equal it plays the buffer, otherwise it waits until the time to
-      place the buffer arrives with <function>gst_element_wait()</function>.
-    </para>
-    
-    
-    <para>
-      If the stream is seeked, the next samples sent will have a timestamp that
-      is not adjusted with the element time. Therefore, the source element must
-      send a newsegment event.
-    </para>
-  </sect1>
+  
   <sect1 id="section-clock-obligations-of-each-element" xreflabel="Obligations
     of each element">
     <title>
@@ -96,23 +90,54 @@
     </para>
     
     <sect2>
-      <title>Source elements </title>
+      <title>Non-live source elements </title>
       <para>
-	Source elements (or parsers of formats that provide notion of time, such
-	as MPEG, as explained above) must place a timestamp in each buffer that
-	they deliver. The origin of the time used is arbitrary, but it must
-	match the time delivered in the newsegment event (see below).
-	However, it is expected that the origin is the origin of the media
-	stream.
+        Non-live source elements must place a timestamp in each buffer that
+        they deliver when this is possible.  They must choose the timestamps
+        and the values of the SEGMENT event in such a way that the
+        running-time of the buffer starts from 0.
       </para>
       <para>
-	In order to initialize the element time of the rest of the pipeline, a
-	source element must send a newsegment event before starting to play.
-	In addition, after seeking, a newsegment event must be sent, because
-	the timestamp of the next element does not match the element time of the
-	rest of the pipeline.
+        Some sources, such as filesrc, is not able to generate timestamps
+        on all buffers. It can and must however create a timestamp on the
+        first buffer (with a running-time of 0).
       </para>
-      
+      <para>
+        The source then pushes out the SEGMENT event followed by the
+        timestamped buffers.
+      </para>
+    </sect2>
+
+    <sect2>
+      <title>Live source elements </title>
+      <para>
+        Live source elements must place a timestamp in each buffer that
+        they deliver. They must choose the timestamps and the values of the
+        SEGMENT event in such a way that the running-time of the buffer
+        matches exactly the running-time of the pipeline clock when the first 
+        byte in the buffer was captured.
+      </para>
+    </sect2>
+
+    <sect2>
+      <title>Parser elements </title>
+      <para>
+        Parser elements must use the incomming timestamps and transfer those
+        to the resulting output buffers. They are allowed to interpolate or
+        reconstruct timestamps on missing input buffers when they can.
+      </para>
+    </sect2>
+
+    <sect2>
+      <title>Demuxer elements </title>
+      <para>
+        Demuxer elements can usually set the timestamps stored inside the media
+        file onto the outgoing buffers. They need to make sure that outgoing
+        buffers that are to be played at the same time have the same
+        running-time. Demuxers also need to take into account the incomming
+        timestamps on buffers and use that to calculate an offset on the outgoing
+        buffer timestamps.
+      </para>
     </sect2>
     
     <sect2> <title> Sink elements </title>
@@ -121,20 +146,12 @@
 	playing), the element should require a clock, and thus implement the
 	method <function>set_clock</function>.
       </para>
-      
       <para>
-	In addition, before playing each sample, if the current element time is
-	less than the timestamp in the sample, it wait until the current time
-	arrives should call <function>gst_element_wait()</function>
-	<footnote>
-	  <para>
-	    With some schedulers, <function>gst_element_wait()</function> 
-	    blocks the pipeline. For instance, if there is one audio sink element
-	    and one video sink element, while the audio element is waiting for a
-	    sample the video element cannot play other sample. This behaviour is
-	    under discussion, and might change in a future release.
-	  </para>
-	</footnote>
+        The sink should then make sure that the sample with running-time is played
+        exactly when the pipeline clock reaches that running-time. Some elements
+        might use the clock API such as <function>gst_clock_id_wait()</function>
+        to perform this action. Other sinks might need to use other means of
+        scheduling timely playback of the data.
       </para>
     </sect2>
   </sect1>
diff --git a/docs/pwg/advanced-dparams.xml b/docs/pwg/advanced-dparams.xml
index 70b4694..8a196c2 100644
--- a/docs/pwg/advanced-dparams.xml
+++ b/docs/pwg/advanced-dparams.xml
@@ -4,6 +4,9 @@
 <chapter id="chapter-dparams">
   <title>Supporting Dynamic Parameters</title>
   <para>
+    Warning, this part describes 0.10 and is outdated.
+  </para>
+  <para>
     Sometimes object properties are not powerful enough to control the
     parameters that affect the behaviour of your element.
     When this is the case you can mark these parameters as being Controllable.
diff --git a/docs/pwg/advanced-events.xml b/docs/pwg/advanced-events.xml
index b755452..5d10d55 100644
--- a/docs/pwg/advanced-events.xml
+++ b/docs/pwg/advanced-events.xml
@@ -21,26 +21,26 @@
       instantly, possibly not in the same thread as the streaming thread that
       is processing the buffers, skipping ahead of buffers being processed
       or queued in the pipeline). The most common downstream events
-      (NEWSEGMENT, EOS, TAG) are all serialised with the buffer flow.
+      (SEGMENT, CAPS, TAG, EOS) are all serialised with the buffer flow.
     </para>
     <para>
       Here is a typical event function:
     </para>
     <programlisting>
 static gboolean
-gst_my_filter_sink_event (GstPad  *pad, GstEvent * event)
+gst_my_filter_sink_event (GstPad  *pad, GstObject * parent, GstEvent * event)
 {
   GstMyFilter *filter;
   gboolean ret;
 
-  filter = GST_MY_FILTER (gst_pad_get_parent (pad));
+  filter = GST_MY_FILTER (parent);
   ...
 
   switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_NEWSEGMENT:
+    case GST_EVENT_SEGMENT:
       /* maybe save and/or update the current segment (e.g. for output
        * clipping) or convert the event into one in a different format
-       * (e.g. BYTES to TIME) or drop it and set a flag to send a newsegment
+       * (e.g. BYTES to TIME) or drop it and set a flag to send a segment
        * event in a different format later */
       ret = gst_pad_push_event (filter-&gt;src_pad, event);
       break;
@@ -54,19 +54,18 @@
       ret = gst_pad_push_event (filter-&gt;src_pad, event);
       break;      
     default:
-      ret = gst_pad_event_default (pad, event);
+      ret = gst_pad_event_default (pad, parent, event);
       break;
   }
 
   ...
-  gst_object_unref (filter);
   return ret;
 }
     </programlisting>
   <para>
     If your element is chain-based, you will almost always have to implement
     a sink event function, since that is how you are notified about
-    new segments and the end of the stream.
+    segments, caps and the end of the stream.
   </para>
   <para>
     If your element is exclusively loop-based, you may or may not want a
@@ -92,18 +91,19 @@
       will then in turn generate an upstream seek event.
     </para>
     <para>
-      The most common upstream events are seek events and Quality-of-Service
-      (QoS) events.
+      The most common upstream events are seek events, Quality-of-Service
+      (QoS) and reconfigure events.
     </para>
     <para>
       An upstream event can be sent using the
       <function>gst_pad_send_event</function> function. This
       function simply call the default event handler of that pad. The default
       event handler of pads is <function>gst_pad_event_default</function>, and
-      it basically sends the event to the peer pad. So upstream events always
-      arrive on the src pad of your element and are handled by the default event
-      handler except if you override that handler to handle it yourself. There
-      are some specific cases where you have to do that :
+      it basically sends the event to the peer of the internally linked pad.
+      So upstream events always arrive on the src pad of your element and are
+      handled by the default event handler except if you override that handler
+      to handle it yourself. There are some specific cases where you have to
+      do that :
     </para>
     <itemizedlist mark="opencircle">
       <listitem>
@@ -130,8 +130,9 @@
     <itemizedlist mark="opencircle">
       <listitem>
         <para>
-          Always forward events you won't handle upstream using the default 
-          <function>gst_pad_event_default</function> method.
+          Always handle events you won't handle using the default 
+          <function>gst_pad_event_default</function> method. This method will
+          depending on the event, forward the event or drop it. 
         </para>
       </listitem>
       <listitem>
@@ -152,10 +153,7 @@
         <para>
           Remember that the event handler might be called from a different
           thread than the streaming thread, so make sure you use
-          appropriate locking everywhere and at the beginning of the function
-          obtain a reference to your element via the
-          <function>gst_pad_get_parent()</function> (and release it again at
-          the end of the function with <function>gst_object_unref ()</function>.
+          appropriate locking everywhere.
         </para>
       </listitem>
     </itemizedlist>
@@ -173,13 +171,18 @@
       In this chapter, we will discuss the following events:
     </para>
     <itemizedlist>
+      <listitem><para><xref linkend="section-events-stream-start"/></para></listitem>
+      <listitem><para><xref linkend="section-events-caps"/></para></listitem>
+      <listitem><para><xref linkend="section-events-segment"/></para></listitem>
+      <listitem><para><xref linkend="section-events-tag"/></para></listitem>
       <listitem><para><xref linkend="section-events-eos"/></para></listitem>
+      <listitem><para><xref linkend="section-events-toc"/></para></listitem>
+      <listitem><para><xref linkend="section-events-gap"/></para></listitem>
       <listitem><para><xref linkend="section-events-flush-start"/></para></listitem>
       <listitem><para><xref linkend="section-events-flush-stop"/></para></listitem>
-      <listitem><para><xref linkend="section-events-newsegment"/></para></listitem>
+      <listitem><para><xref linkend="section-events-qos"/></para></listitem>
       <listitem><para><xref linkend="section-events-seek"/></para></listitem>
       <listitem><para><xref linkend="section-events-nav"/></para></listitem>
-      <listitem><para><xref linkend="section-events-tag"/></para></listitem>
     </itemizedlist>
     <para>
       For more comprehensive information about events and how they should be
@@ -187,6 +190,88 @@
       design documentation. This section only gives a general overview.      
     </para>
 
+    <sect2 id="section-events-stream-start" xreflabel="Stream Start">
+      <title>Stream Start</title>
+      <para>
+        WRITEME
+      </para>
+    </sect2>
+
+    <sect2 id="section-events-caps" xreflabel="Caps">
+      <title>Caps</title>
+      <para>
+        WRITEME
+      </para>
+    </sect2>
+
+    <sect2 id="section-events-segment" xreflabel="Segment">
+      <title>Segment</title>
+      <para>
+        A segment event is sent downstream to announce the range of valid
+        timestamps in the stream and how they should be transformed into
+        running-time and stream-time. A segment event must always be sent
+        before the first buffer of data and after a flush (see above).
+      </para>
+      <para>
+        The first segment event is created by the element driving the 
+        pipeline, like a source operating in push-mode or a demuxer/decoder
+        operating pull-based. This segment event then travels down the
+        pipeline and may be transformed on the way (a decoder, for example,
+        might receive a segment event in BYTES format and might transform
+        this into a segment event in TIMES format based on the average
+        bitrate).
+      </para>
+      <para>
+        Depending on the element type, the event can simply be forwarded using
+        <function>gst_pad_event_default ()</function>, or it should be parsed
+        and a modified event should be sent on. The last is true for demuxers,
+        which generally have a byte-to-time conversion concept. Their input
+        is usually byte-based, so the incoming event will have an offset in
+        byte units (<symbol>GST_FORMAT_BYTES</symbol>), too. Elements
+        downstream, however, expect segment events in time units, so that
+        it can be used to synchronize against the pipeline clock. Therefore,
+        demuxers and similar elements should not forward the event, but parse
+        it, free it and send a segment event (in time units,
+        <symbol>GST_FORMAT_TIME</symbol>) further downstream.
+      </para>
+      <para>
+        The segment event is created using the function
+        <function>gst_event_new_segment ()</function>. See the API
+        reference and design document for details about its parameters. 
+      </para>
+      <para>
+        Elements parsing this event can use gst_event_parse_segment()
+        to extract the event details. Elements may find the GstSegment
+        API useful to keep track of the current segment (if they want to use
+        it for output clipping, for example).
+      </para>
+    </sect2>
+
+    <sect2 id="section-events-tag" xreflabel="Tag (metadata)">
+      <title>Tag (metadata)</title>
+      <para>
+        Tagging events are being sent downstream to indicate the tags as parsed
+        from the stream data. This is currently used to preserve tags during
+        stream transcoding from one format to the other. Tags are discussed
+        extensively in <xref linkend="chapter-advanced-tagging"/>. Most
+        elements will simply forward the event by calling
+        <function>gst_pad_event_default ()</function>.
+      </para>
+      <para>
+        The tag event is created using the function
+        <function>gst_event_new_tag ()</function>, but more often elements will
+        send a tag event downstream that will be converted into a message
+        on the bus by sink elements.
+        All of these functions require a filled-in taglist as
+        argument, which they will take ownership of.
+      </para>
+      <para>
+        Elements parsing this event can use the function
+        <function>gst_event_parse_tag ()</function> to acquire the
+        taglist that the event contains.
+      </para>
+    </sect2>
+
     <sect2 id="section-events-eos" xreflabel="End of Stream (EOS)">
       <title>End of Stream (EOS)</title>
       <para>
@@ -217,16 +302,31 @@
         on the bus depending on the mode of operation). If you are implementing
         your own source element, you also do not need to ever manually send
         an EOS event, you should also just return GST_FLOW_EOS in
-        your create function (assuming your element derives from GstBaseSrc
-        or GstPushSrc).
+        your create or fill function (assuming your element derives from
+        GstBaseSrc or GstPushSrc).
+      </para>
+    </sect2>
+
+    <sect2 id="section-events-toc" xreflabel="Table Of Contents">
+      <title>Table Of Contents</title>
+      <para>
+        WRITEME
+      </para>
+    </sect2>
+
+    <sect2 id="section-events-gap" xreflabel="Gap">
+      <title>Gap</title>
+      <para>
+        WRITEME
       </para>
     </sect2>
 
     <sect2 id="section-events-flush-start" xreflabel="Flush Start">
       <title>Flush Start</title>
       <para>
-        The flush start event is sent downstream if all buffers and caches
-        in the pipeline should be emptied. <quote>Queue</quote> elements will
+        The flush start event is sent downstream (in push mode) or upstream
+        (in pull mode) if all buffers and caches in the pipeline should be
+        emptied. <quote>Queue</quote> elements will
         empty their internal list of buffers when they receive this event, for
         example. File sink elements (e.g. <quote>filesink</quote>) will flush
         the kernel-to-disk cache (<function>fdatasync ()</function> or
@@ -259,7 +359,7 @@
         The flush-stop event is sent by an element driving the pipeline
         after a flush-start and tells pads and elements downstream that
         they should accept events and buffers again (there will be at
-        least a NEWSEGMENT event before any buffers first though).
+        least a SEGMENT event before any buffers first though).
       </para>
       <para>
         If your element keeps temporary caches of stream data, it should
@@ -268,58 +368,17 @@
       </para>
       <para>
         The flush-stop event is created with
-        <function>gst_event_new_flush_stop ()</function>. Like the EOS event,
-        it has no properties.
+        <function>gst_event_new_flush_stop ()</function>. It has one
+        parameter that controls if the running-time of the pipeline should
+        be reset to 0 or not. Normally aftera flushing seek, the
+        running_time is set back to 0.
       </para>
     </sect2>
 
-    <sect2 id="section-events-newsegment" xreflabel="New Segment">
-      <title>New Segment</title>
+    <sect2 id="section-events-qos" xreflabel="Quality Of Service (QOS)">
+      <title>Quality Of Service (QOS)</title>
       <para>
-        A new segment event is sent downstream to either announce a new
-        segment of data in the data stream or to update the current segment
-        with new values. A new segment event must always be sent before the
-        first buffer of data and after a flush (see above).
-      </para>
-      <para>
-        The first new segment event is created by the element driving the 
-        pipeline, like a source operating in push-mode or a demuxer/decoder
-        operating pull-based. This new segment event then travels down the
-        pipeline and may be transformed on the way (a decoder, for example,
-        might receive a new-segment event in BYTES format and might transform
-        this into a new-segment event in TIMES format based on the average
-        bitrate).
-      </para>
-      <para>
-        New segment events may also be used to indicate 'gaps' in the stream,
-        like in a subtitle stream for example where there may not be any
-        data at all for a considerable amount of (stream) time. This is done
-        by updating the segment start of the current segment (see the design
-        documentation for more details).
-      </para>
-      <para>
-        Depending on the element type, the event can simply be forwarded using
-        <function>gst_pad_event_default ()</function>, or it should be parsed
-        and a modified event should be sent on. The last is true for demuxers,
-        which generally have a byte-to-time conversion concept. Their input
-        is usually byte-based, so the incoming event will have an offset in
-        byte units (<symbol>GST_FORMAT_BYTES</symbol>), too. Elements
-        downstream, however, expect new segment events in time units, so that
-        it can be used to update the pipeline clock. Therefore, demuxers and
-        similar elements should not forward the event, but parse it, free it
-        and send a new newsegment event (in time units,
-        <symbol>GST_FORMAT_TIME</symbol>) further downstream.
-      </para>
-      <para>
-        The newsegment event is created using the function
-        <function>gst_event_new_new_segment ()</function>. See the API
-        reference and design document for details about its parameters. 
-      </para>
-      <para>
-        Elements parsing this event can use gst_event_parse_new_segment_full()
-        to extract the event details. Elements may find the GstSegment
-        API useful to keep track of the current segment (if they want to use
-        it for output clipping, for example).
+        WRITEME
       </para>
     </sect2>
 
@@ -330,9 +389,9 @@
         This new position can be set in several formats (time, bytes or
         <quote>default units</quote> [a term indicating frames for video,
         channel-independent samples for audio, etc.]). Seeking can be done with
-        respect to the end-of-file, start-of-file or current position, and
+        respect to the end-of-file or start-of-file, and
         usually happens in upstream direction (downstream seeking is done by
-        sending a NEWSEGMENT event with the appropriate offsets for elements
+        sending a SEGMENT event with the appropriate offsets for elements
         that support that, like filesink).
       </para>
       <para>
@@ -347,10 +406,10 @@
         Seek events are built up using positions in specified formats (time,
         bytes, units). They are created using the function
         <function>gst_event_new_seek ()</function>. Note that many plugins do
-        not support seeking from the end of the stream or from the current
-        position. An element not driving the pipeline and forwarding a seek
+        not support seeking from the end of the stream.
+        An element not driving the pipeline and forwarding a seek
         request should not assume that the seek succeeded or actually happened,
-        it should operate based on the NEWSEGMENT events it receives.
+        it should operate based on the SEGMENT events it receives.
       </para>
       <para>
         Elements parsing this event can do this using
@@ -375,30 +434,5 @@
       </para>
     </sect2>
 
-    <sect2 id="section-events-tag" xreflabel="Tag (metadata)">
-      <title>Tag (metadata)</title>
-      <para>
-        Tagging events are being sent downstream to indicate the tags as parsed
-        from the stream data. This is currently used to preserve tags during
-        stream transcoding from one format to the other. Tags are discussed
-        extensively in <xref linkend="chapter-advanced-tagging"/>. Most
-        elements will simply forward the event by calling
-        <function>gst_pad_event_default ()</function>.
-      </para>
-      <para>
-        The tag event is created using the function
-        <function>gst_event_new_tag ()</function>, but more often elements will
-        use either the <function>gst_element_found_tags ()</function> function
-        or the <function>gst_element_found_tags_for_pad ()</function>, which
-        will do both: post a tag message on the bus and send a tag event
-        downstream. All of these functions require a filled-in taglist as
-        argument, which they will take ownership of.
-      </para>
-      <para>
-        Elements parsing this event can use the function
-        <function>gst_event_parse_tag ()</function> to acquire the
-        taglist that the event contains.
-      </para>
-    </sect2>
   </sect1>
 </chapter>
diff --git a/docs/pwg/advanced-interfaces.xml b/docs/pwg/advanced-interfaces.xml
index 0fb959e..7be34b6 100644
--- a/docs/pwg/advanced-interfaces.xml
+++ b/docs/pwg/advanced-interfaces.xml
@@ -34,20 +34,14 @@
     to achieve this. The basis of this all is the glib
     <classname>GTypeInterface</classname> type. For each case where we think
     it's useful, we've created interfaces which can be implemented by elements
-    at their own will. We've also created a small extension to
-    <classname>GTypeInterface</classname> (which is static itself, too) which
-    allows us to query for interface availability based on runtime properties.
-    This extension is called <ulink type="http"
-    url="../../gstreamer/html/GstImplementsInterface.html"><classname>
-    GstImplementsInterface</classname></ulink>.
+    at their own will. 
   </para>
   <para>
     One important note: interfaces do <emphasis>not</emphasis> replace
     properties. Rather, interfaces should be built <emphasis>next to</emphasis>
     properties. There are two important reasons for this. First of all, 
-    properties
-    can be saved in XML files. Second, properties can be specified on the
-    commandline (<filename>gst-launch</filename>).
+    properties can be more easily introspected. Second, properties can be
+    specified on the commandline (<filename>gst-launch</filename>).
   </para>
 
   <sect1 id="section-iface-general" xreflabel="How to Implement Interfaces">
@@ -58,19 +52,11 @@
       registered the type itself. Some interfaces have dependencies on other
       interfaces or can only be registered by certain types of elements. You
       will be notified of doing that wrongly when using the element: it will
-      quit with failed assertions, which will explain what went wrong. In the
-      case of GStreamer, the only dependency that <emphasis>some</emphasis>
-      interfaces have is <ulink type="http"
-      url="../../gstreamer/html/GstImplementsInterface.html"><classname>
-      GstImplementsInterface</classname></ulink>. Per
-      interface, we will indicate clearly when it depends on this extension.
+      quit with failed assertions, which will explain what went wrong.
       If it does, you need to register support for <emphasis>that</emphasis>
       interface before registering support for the interface that you're
       wanting to support. The example below explains how to add support for a
-      simple interface with no further dependencies. For a small explanation
-      on <ulink type="http" url="../../gstreamer/html/GstImplementsInterface.html">
-      <classname>GstImplementsInterface</classname></ulink>, see the next section
-      about the mixer interface: <xref linkend="section-iface-mixer"/>.
+      simple interface with no further dependencies.
     </para>
     <programlisting>
 static void	gst_my_filter_some_interface_init	(GstSomeInterface *iface);
@@ -83,7 +69,7 @@
   if (!my_filter_type) {
     static const GTypeInfo my_filter_info = {
       sizeof (GstMyFilterClass),
-      (GBaseInitFunc) gst_my_filter_base_init,
+      NULL,
       NULL,
       (GClassInitFunc) gst_my_filter_class_init,
       NULL,
@@ -99,7 +85,7 @@
     };
 
     my_filter_type =
-	g_type_register_static (GST_TYPE_MY_FILTER,
+	g_type_register_static (GST_TYPE_ELEMENT,
 				"GstMyFilter",
 				&amp;my_filter_info, 0);
     g_type_add_interface_static (my_filter_type,
@@ -116,6 +102,17 @@
   /* here, you would set virtual function pointers in the interface */
 }
     </programlisting>
+    <para>
+      Or more conveniently:
+    </para>
+    <programlisting>
+static void	gst_my_filter_some_interface_init	(GstSomeInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GstMyFilter, gst_my_filter,GST_TYPE_ELEMENT,
+     G_IMPLEMENT_INTERFACE (GST_TYPE_SOME_INTERFACE,
+            gst_my_filter_some_interface_init));
+
+    </programlisting>
   </sect1>
 
   <sect1 id="section-iface-uri" xreflabel="URI interface">
@@ -125,327 +122,6 @@
     </para>
   </sect1>
 
-  <sect1 id="section-iface-mixer" xreflabel="Mixer Interface">
-    <title>Mixer Interface</title>
-    <para>
-      The goal of the mixer interface is to provide a simple yet powerful API
-      to applications for audio hardware mixer/volume control. Most soundcards
-      have hardware mixers, where volume can be changed, they can be muted,
-      inputs can be modified to mix their content into what will be read from
-      the device by applications (in our case: audio source plugins). The
-      mixer interface is the way to control those. The mixer interface can
-      also be used for volume control in software (e.g. the <quote>volume</quote>
-      element). The end goal of this interface is to allow development of
-      hardware volume control applications and for the control of audio volume
-      and input/output settings.
-    </para>
-    <para>
-      The mixer interface requires the <ulink type="http"
-      url="../../gstreamer/html/GstImplementsInterface.html"><classname>
-      GstImplementsInterface</classname></ulink>
-      interface to be implemented by the element. The example below will
-      feature both, so it serves as an example for the <ulink type="http"
-      url="../../gstreamer/html/GstImplementsInterface.html"><classname>
-      GstImplementsInterface</classname></ulink>, too. In this
-      interface, it is required to set a function pointer for the <function>
-      supported ()</function> function.
-      If you don't, this function will always return FALSE (default
-      implementation) and the mixer interface implementation will not work. For
-      the mixer interface, the only required function is
-      <function>list_tracks ()</function>. All other function pointers in the
-      mixer interface are optional, although it is strongly recommended to set
-      function pointers for at least the <function>get_volume ()</function> and
-      <function>set_volume ()</function> functions. The API reference for this
-      interface documents the goal of each function, so we will limit ourselves
-      to the implementation here.
-    </para>
-    <para>
-      The following example shows a mixer implementation for a software N-to-1
-      element. It does not show the actual process of stream mixing, that is
-      far too complicated for this guide.
-    </para>
-    <programlisting>
-#include &lt;gst/mixer/mixer.h&gt;
-
-typedef struct _GstMyFilter {
-[..]
-  gint volume;
-  GList *tracks;
-} GstMyFilter;
-
-static void	gst_my_filter_implements_interface_init	(GstImplementsInterfaceClass *iface);
-static void	gst_my_filter_mixer_interface_init	(GstMixerClass *iface);
-
-GType
-gst_my_filter_get_type (void)
-{
-[..]
-    static const GInterfaceInfo implements_interface_info = {
-      (GInterfaceInitFunc) gst_my_filter_implements_interface_init,
-      NULL,
-      NULL
-    };
-    static const GInterfaceInfo mixer_interface_info = {
-      (GInterfaceInitFunc) gst_my_filter_mixer_interface_init,
-      NULL,
-      NULL
-    };
-[..]
-    g_type_add_interface_static (my_filter_type,
-				 GST_TYPE_IMPLEMENTS_INTERFACE,
-				 &amp;implements_interface_info);
-    g_type_add_interface_static (my_filter_type,
-				 GST_TYPE_MIXER,
-				 &amp;mixer_interface_info);
-[..]
-}
-
-static void
-gst_my_filter_init (GstMyFilter *filter)
-{
-  GstMixerTrack *track = NULL;
-[..]
-  filter->volume = 100;
-  filter->tracks = NULL;
-  track = g_object_new (GST_TYPE_MIXER_TRACK, NULL);
-  track->label = g_strdup ("MyTrack");
-  track->num_channels = 1;
-  track->min_volume = 0;
-  track->max_volume = 100;
-  track->flags = GST_MIXER_TRACK_SOFTWARE;
-  filter->tracks = g_list_append (filter->tracks, track);
-}
-
-static gboolean
-gst_my_filter_interface_supported (GstImplementsInterface *iface,
-				   GType                   iface_type)
-{
-  g_return_val_if_fail (iface_type == GST_TYPE_MIXER, FALSE);
-
-  /* for the sake of this example, we'll always support it. However, normally,
-   * you would check whether the device you've opened supports mixers. */
-  return TRUE;
-}
-
-static void
-gst_my_filter_implements_interface_init (GstImplementsInterfaceClass *iface)
-{
-  iface->supported = gst_my_filter_interface_supported;
-}
-
-/*
- * This function returns the list of support tracks (inputs, outputs)
- * on this element instance. Elements usually build this list during
- * _init () or when going from NULL to READY.
- */
-
-static const GList *
-gst_my_filter_mixer_list_tracks (GstMixer *mixer)
-{
-  GstMyFilter *filter = GST_MY_FILTER (mixer);
-
-  return filter->tracks;
-}
-
-/*
- * Set volume. volumes is an array of size track->num_channels, and
- * each value in the array gives the wanted volume for one channel
- * on the track.
- */
-
-static void
-gst_my_filter_mixer_set_volume (GstMixer      *mixer,
-				GstMixerTrack *track,
-				gint          *volumes)
-{
-  GstMyFilter *filter = GST_MY_FILTER (mixer);
-
-  filter->volume = volumes[0];
-
-  g_print ("Volume set to %d\n", filter->volume);
-}
-
-static void
-gst_my_filter_mixer_get_volume (GstMixer      *mixer,
-				GstMixerTrack *track,
-				gint          *volumes)
-{
-  GstMyFilter *filter = GST_MY_FILTER (mixer);
-
-  volumes[0] = filter->volume;
-}
-
-static void
-gst_my_filter_mixer_interface_init (GstMixerClass *iface)
-{
-  /* the mixer interface requires a definition of the mixer type:
-   * hardware or software? */
-  GST_MIXER_TYPE (iface) = GST_MIXER_SOFTWARE;
-
-  /* virtual function pointers */
-  iface->list_tracks = gst_my_filter_mixer_list_tracks;
-  iface->set_volume  = gst_my_filter_mixer_set_volume;
-  iface->get_volume  = gst_my_filter_mixer_get_volume;
-}
-    </programlisting>
-    <para>
-      The mixer interface is very audio-centric. However, with the software
-      flag set, the mixer can be used to mix any kind of stream in a N-to-1
-      element to join (not aggregate!) streams together into one output stream.
-      Conceptually, that's called mixing too. You can always use the element
-      factory's <quote>category</quote> to indicate type of your element. In
-      a software element that mixes random streams, you would not be required
-      to implement the <function>_get_volume ()</function> or
-      <function>_set_volume ()</function> functions. Rather, you would only
-      implement the <function>_set_record ()</function> to enable or disable
-      tracks in the output stream. to make sure that a mixer-implementing
-      element is of a certain type, check the element factory's category.
-    </para>
-  </sect1>
-
-  <sect1 id="section-iface-tuner" xreflabel="Tuner Interface">
-    <title>Tuner Interface</title>
-    <para>
-      As opposed to the mixer interface, that's used to join together N streams
-      into one output stream by mixing all streams together, the tuner
-      interface is used in N-to-1 elements too, but instead of mixing the input
-      streams, it will select one stream and push the data of that stream to
-      the output stream. It will discard the data of all other streams. There
-      is a flag that indicates whether this is a software-tuner (in which case
-      it is a pure software implementation, with N sink pads and 1 source pad)
-      or a hardware-tuner, in which case it only has one source pad, and the
-      whole stream selection process is done in hardware. The software case can
-      be used in elements such as <emphasis>switch</emphasis>. The hardware
-      case can be used in elements with channel selection, such as video source
-      elements (v4lsrc, v4l2src, etc.). If you need a specific element type,
-      use the element factory's <quote>category</quote> to make sure that the
-      element is of the type that you need. Note that the interface itself is
-      highly analog-video-centric.
-    </para>
-    <para>
-      This interface requires the <ulink type="http"
-      url="../../gstreamer/html/GstImplementsInterface.html"><classname>
-      GstImplementsInterface</classname></ulink>
-      interface to work correctly.
-    </para>
-    <para>
-      The following example shows how to implement the tuner interface in an
-      element. It does not show the actual process of stream selection, that
-      is irrelevant for this section.
-    </para>
-    <programlisting>
-#include &lt;gst/tuner/tuner.h&gt;
-
-typedef struct _GstMyFilter {
-[..]
-  gint active_input;
-  GList *channels;
-} GstMyFilter;
-
-static void	gst_my_filter_implements_interface_init	(GstImplementsInterfaceClass *iface);
-static void	gst_my_filter_tuner_interface_init	(GstTunerClass *iface);
-
-GType
-gst_my_filter_get_type (void)
-{
-[..]
-    static const GInterfaceInfo implements_interface_info = {
-      (GInterfaceInitFunc) gst_my_filter_implements_interface_init,
-      NULL,
-      NULL
-    };
-    static const GInterfaceInfo tuner_interface_info = {
-      (GInterfaceInitFunc) gst_my_filter_tuner_interface_init,
-      NULL,
-      NULL
-    };
-[..]
-    g_type_add_interface_static (my_filter_type,
-				 GST_TYPE_IMPLEMENTS_INTERFACE,
-				 &amp;implements_interface_info);
-    g_type_add_interface_static (my_filter_type,
-				 GST_TYPE_TUNER,
-				 &amp;tuner_interface_info);
-[..]
-}
-
-static void
-gst_my_filter_init (GstMyFilter *filter)
-{
-  GstTunerChannel *channel = NULL;
-[..]
-  filter->active_input = 0;
-  filter->channels = NULL;
-  channel = g_object_new (GST_TYPE_TUNER_CHANNEL, NULL);
-  channel->label = g_strdup ("MyChannel");
-  channel->flags = GST_TUNER_CHANNEL_INPUT;
-  filter->channels = g_list_append (filter->channels, channel);
-}
-
-static gboolean
-gst_my_filter_interface_supported (GstImplementsInterface *iface,
-				   GType                   iface_type)
-{
-  g_return_val_if_fail (iface_type == GST_TYPE_TUNER, FALSE);
-
-  /* for the sake of this example, we'll always support it. However, normally,
-   * you would check whether the device you've opened supports tuning. */
-  return TRUE;
-}
-
-static void
-gst_my_filter_implements_interface_init (GstImplementsInterfaceClass *iface)
-{
-  iface->supported = gst_my_filter_interface_supported;
-}
-
-static const GList *
-gst_my_filter_tuner_list_channels (GstTuner *tuner)
-{
-  GstMyFilter *filter = GST_MY_FILTER (tuner);
-
-  return filter->channels;
-}
-
-static GstTunerChannel *
-gst_my_filter_tuner_get_channel (GstTuner *tuner)
-{
-  GstMyFilter *filter = GST_MY_FILTER (tuner);
-
-  return g_list_nth_data (filter->channels,
-			  filter->active_input);
-}
-
-static void
-gst_my_filter_tuner_set_channel (GstTuner        *tuner,
-				 GstTunerChannel *channel)
-{
-  GstMyFilter *filter = GST_MY_FILTER (tuner);
-
-  filter->active_input = g_list_index (filter->channels, channel);
-  g_assert (filter->active_input >= 0);
-}
-
-static void
-gst_my_filter_tuner_interface_init (GstTunerClass *iface)
-{
-  iface->list_channels = gst_my_filter_tuner_list_channels;
-  iface->get_channel   = gst_my_filter_tuner_get_channel;
-  iface->set_channel   = gst_my_filter_tuner_set_channel;
-}
-    </programlisting>
-    <para>
-      As said, the tuner interface is very analog video-centric. It features
-      functions for selecting an input or output, and on inputs, it features
-      selection of a tuning frequency if the channel supports frequency-tuning
-      on that input. Likewise, it allows signal-strength-acquiring if the input
-      supports that. Frequency tuning can be used for radio or cable-TV tuning.
-      Signal-strength is an indication of the signal and can be used for
-      visual feedback to the user or for autodetection. Next to that, it also
-      features norm selection, which is only useful for analog video elements.
-    </para>
-  </sect1>
-
   <sect1 id="section-iface-colorbalance" xreflabel="Color Balance Interface">
     <title>Color Balance Interface</title>
     <para>
@@ -453,198 +129,45 @@
     </para>
   </sect1>
 
-  <sect1 id="section-iface-propprobe" xreflabel="Property Probe Interface">
-    <title>Property Probe Interface</title>
+  <sect1 id="section-iface-xoverlay" xreflabel="Video Overlay Interface">
+    <title>Video Overlay Interface</title>
     <para>
-      Property probing is a generic solution to the problem that properties'
-      value lists in an enumeration are static. We've shown enumerations in
-      <xref linkend="chapter-building-args"/>. Property probing tries to accomplish
-      a goal similar to enumeration lists: to have a limited, explicit list of
-      allowed values for a property. There are two differences between
-      enumeration lists and probing. Firstly, enumerations only allow strings
-      as values; property probing works for any value type. Secondly, the
-      contents of a probed list of allowed values may change during the life
-      of an element. The contents of an enumeration list are static. Currently,
-      property probing is being used for detection of devices (e.g. for OSS
-      elements, Video4linux elements, etc.). It could - in theory - be used
-      for any property, though.
+      The #GstVideoOverlay interface is used for 2 main purposes :
+      <itemizedlist>
+        <listitem>
+          <para>
+      To get a grab on the Window where the video sink element is going to render.
+      This is achieved by either being informed about the Window identifier that
+      the video sink element generated, or by forcing the video sink element to use
+      a specific Window identifier for rendering.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+      To force a redrawing of the latest video frame the video sink element
+      displayed on the Window. Indeed if the #GstPipeline is in #GST_STATE_PAUSED
+      state, moving the Window around will damage its content. Application
+      developers will want to handle the Expose events themselves and force the
+      video sink element to refresh the Window's content.
+          </para>
+        </listitem>
+      </itemizedlist>
     </para>
     <para>
-      Property probing stores the list of allowed (or recommended) values in a
-      <classname>GValueArray</classname> and returns that to the user.
-      <symbol>NULL</symbol> is a valid return value, too. The process of
-      property probing is separated over two virtual functions: one for probing
-      the property to create a <classname>GValueArray</classname>, and one to
-      retrieve the current <classname>GValueArray</classname>. Those two are
-      separated because probing might take a long time (several seconds). Also,
-      this simplifies interface implementation in elements. For the application,
-      there are functions that wrap those two. For more information on this,
-      have a look at the API reference for the
-      <!-- FIXME: add link, but this is in ./gst-plugins/gst-libs/gst/propertyprobe/propertyprobe.c-->
-      <classname>GstPropertyProbe</classname> interface.
-    </para>
-    <para>
-      Below is a example of property probing for the audio filter element; it
-      will probe for allowed values for the <quote>silent</quote> property.
-      Indeed, this value is a <type>gboolean</type> so it doesn't
-      make much sense. Then again, it's only an example.
-    </para>
-    <programlisting>
-#include &lt;gst/propertyprobe/propertyprobe.h&gt;
-
-static void	gst_my_filter_probe_interface_init	(GstPropertyProbeInterface *iface);
-
-GType
-gst_my_filter_get_type (void)
-{
-[..]
-    static const GInterfaceInfo probe_interface_info = {
-      (GInterfaceInitFunc) gst_my_filter_probe_interface_init,
-      NULL,
-      NULL
-    };
-[..]
-    g_type_add_interface_static (my_filter_type,
-				 GST_TYPE_PROPERTY_PROBE,
-				 &amp;probe_interface_info);
-[..]
-}
-
-static const GList *
-gst_my_filter_probe_get_properties (GstPropertyProbe *probe)
-{
-  GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
-  static GList *props = NULL;
-
-  if (!props) {
-    GParamSpec *pspec;
-
-    pspec = g_object_class_find_property (klass, "silent");
-    props = g_list_append (props, pspec);
-  }
-
-  return props;
-}
-
-static gboolean
-gst_my_filter_probe_needs_probe (GstPropertyProbe *probe,
-				 guint             prop_id,
-				 const GParamSpec *pspec)
-{
-  gboolean res = FALSE;
-
-  switch (prop_id) {
-    case ARG_SILENT:
-      res = FALSE;
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-      break;
-  }
-
-  return res;
-}
-
-static void
-gst_my_filter_probe_probe_property (GstPropertyProbe *probe,
-				    guint             prop_id,
-				    const GParamSpec *pspec)
-{
-  switch (prop_id) {
-    case ARG_SILENT:
-      /* don't need to do much here... */
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-      break;
-  }
-}
-
-static GValueArray *
-gst_my_filter_get_silent_values (GstMyFilter *filter)
-{
-  GValueArray *array = g_value_array_new (2);
-  GValue value = { 0 };
-
-  g_value_init (&amp;value, G_TYPE_BOOLEAN);
-
-  /* add TRUE */
-  g_value_set_boolean (&amp;value, TRUE);
-  g_value_array_append (array, &amp;value);
-
-  /* add FALSE */
-  g_value_set_boolean (&amp;value, FALSE);
-  g_value_array_append (array, &amp;value);
-
-  g_value_unset (&amp;value);
-
-  return array;
-}
-
-static GValueArray *
-gst_my_filter_probe_get_values (GstPropertyProbe *probe,
-				guint             prop_id,
-				const GParamSpec *pspec)
-{
-  GstMyFilter *filter = GST_MY_FILTER (probe);
-  GValueArray *array = NULL;
-
-  switch (prop_id) {
-    case ARG_SILENT:
-      array = gst_my_filter_get_silent_values (filter);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-      break;
-  }
-
-  return array;
-}
-
-static void
-gst_my_filter_probe_interface_init (GstPropertyProbeInterface *iface)
-{
-  iface->get_properties = gst_my_filter_probe_get_properties;
-  iface->needs_probe    = gst_my_filter_probe_needs_probe;
-  iface->probe_property = gst_my_filter_probe_probe_property;
-  iface->get_values     = gst_my_filter_probe_get_values;
-}
-    </programlisting>
-    <para>
-      You don't need to support any functions for getting or setting values.
-      All that is handled via the standard <classname>GObject</classname>
-      <function>_set_property ()</function> and <function>_get_property ()</function>
-      functions.
-    </para>
-  </sect1>
-
-  <sect1 id="section-iface-xoverlay" xreflabel="X Overlay Interface">
-    <title>X Overlay Interface</title>
-    <para>
-      An X Overlay is basically a video output in a XFree86 drawable. Elements
-      implementing this interface will draw video in a X11 window. Through this
-      interface, applications will be proposed 2 different modes to work with
-      a plugin implementing it. The first mode is a passive mode where the plugin
-      owns, creates and destroys the X11 window. The second mode is an active
-      mode where the application handles the X11 window creation and then tell
-      the plugin where it should output video. Let's get a bit deeper in those
-      modes...
-    </para>
-    <para>
-      A plugin drawing video output in a X11 window will need to have that
+      A plugin drawing video output in a video window will need to have that
       window at one stage or another. Passive mode simply means that no window
       has been given to the plugin before that stage, so the plugin created the
       window by itself. In that case the plugin is responsible of destroying
       that window when it's not needed any more and it has to tell the
       applications that a window has been created so that the application can
-      use it. This is done using the <classname>have_xwindow_id</classname>
-      signal that can be emitted from the plugin with the
-      <function>gst_x_overlay_got_xwindow_id</function> method.
+      use it. This is done using the <classname>have-window-handle</classname>
+      message that can be posted from the plugin with the
+      <function>gst_video_overlay_got_window_handle</function> method.
     </para>
     <para>
-      As you probably guessed already active mode just means sending a X11
+      As you probably guessed already active mode just means sending a video
       window to the plugin so that video output goes there. This is done using
-      the <function>gst_x_overlay_set_xwindow_id</function> method.
+      the <function>gst_video_overlay_set_window_handle</function> method.
     </para>
     <para>
       It is possible to switch from one mode to another at any moment, so the
@@ -654,36 +177,25 @@
     </para>
     <programlisting><![CDATA[
 static void
-gst_my_filter_set_xwindow_id (GstXOverlay *overlay, XID xwindow_id)
+gst_my_filter_set_window_handle (GstVideoOverlay *overlay, guintptr handle)
 {
   GstMyFilter *my_filter = GST_MY_FILTER (overlay);
 
   if (my_filter->window)
     gst_my_filter_destroy_window (my_filter->window);
     
-  my_filter->window = xwindow_id;
+  my_filter->window = handle;
 }
 
 static void
-gst_my_filter_get_desired_size (GstXOverlay *overlay,
-                                guint *width, guint *height)
+gst_my_filter_xoverlay_init (GstVideoOverlayClass *iface)
 {
-  GstMyFilter *my_filter = GST_MY_FILTER (overlay);
-
-  *width = my_filter->width;
-  *height = my_filter->height;
-}
-
-static void
-gst_my_filter_xoverlay_init (GstXOverlayClass *iface)
-{
-  iface->set_xwindow_id = gst_my_filter_set_xwindow_id;
-  iface->get_desired_size = gst_my_filter_get_desired_size;
+  iface->set_window_handle = gst_my_filter_set_window_handle;
 }
     ]]></programlisting>
     <para>
-      You will also need to use the interface methods to fire signals when 
-      needed such as in the pad link function where you will know the video
+      You will also need to use the interface methods to post messages when 
+      needed such as when receiving a CAPS event where you will know the video
       geometry and maybe create the window.
     </para>
     <programlisting><![CDATA[
@@ -692,25 +204,25 @@
 {
   MyFilterWindow *window = g_new (MyFilterWindow, 1);
   ...
-  gst_x_overlay_got_xwindow_id (GST_X_OVERLAY (my_filter), window->win);
+  gst_video_overlay_got_window_handle (GST_VIDEO_OVERLAY (my_filter), window->win);
 }
 
-static GstPadLinkReturn
-gst_my_filter_sink_link (GstPad *pad, const GstCaps *caps)
+/* called from the event handler for CAPS events */
+static gboolean
+gst_my_filter_sink_set_caps (GstMyFilter *my_filter, GstCaps *caps)
 {
-  GstMyFilter *my_filter = GST_MY_FILTER (overlay);
   gint width, height;
   gboolean ret;
   ...
   ret = gst_structure_get_int (structure, "width", &width);
   ret &= gst_structure_get_int (structure, "height", &height);
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret) return FALSE;
+
+  gst_video_overlay_prepare_window_handle (GST_VIDEO_OVERLAY (my_filter));
   
   if (!my_filter->window)
     my_filter->window = gst_my_filter_create_window (my_filter, width, height);
 
-  gst_x_overlay_got_desired_size (GST_X_OVERLAY (my_filter),
-                                  width, height);
   ...
 }
     ]]></programlisting>
diff --git a/docs/pwg/advanced-negotiation.xml b/docs/pwg/advanced-negotiation.xml
index 1bae8b2..6264ec2 100644
--- a/docs/pwg/advanced-negotiation.xml
+++ b/docs/pwg/advanced-negotiation.xml
@@ -57,22 +57,18 @@
     </para>
     <para>
       In order for caps negotiation on non-fixed links to work correctly,
-      pads can optionally implement a function that tells peer elements what
-      formats it supports and/or prefers. When upstream renegotiation is
+      pads can optionally implement a query function that tells peer elements
+      what formats it supports and/or prefers. When upstream renegotiation is
       triggered, this becomes important.
     </para>
     <para>
-      Downstream elements are notified of a newly set caps only when data
-      is actually passing their pad. This is because caps is attached to
-      buffers during data flow. So when the vorbis decoder sets a caps on
+      Downstream elements are notified of a newly set caps with a
+      GST_EVENT_CAPS on the sinkpad. So when the vorbis decoder sets a caps on
       its source pad (to configure the output format), the converter will
-      not yet be notified. Instead, the converter will only be notified
-      when the decoder pushes a buffer over its source pad to the converter.
-      Right before calling the chain-function in the converter, &GStreamer;
-      will check whether the format that was previously negotiated still
-      applies to this buffer. If not, it first calls the setcaps-function
-      of the converter to configure it for the new format. Only after that
-      will it call the chain function of the converter.
+      receive a caps event. 
+      When an element receives a buffer, it should check if it has received
+      all needed format information in a CAPS event previously. If it hasn't,
+      it should return an error from the chain function.
     </para>
   </sect1>
 
@@ -87,7 +83,7 @@
     </para>
     <programlisting>
 [..]
-  pad = gst_pad_new_from_template (..);
+  pad = gst_pad_new_from_static_template (..);
   gst_pad_use_fixed_caps (pad);
 [..]
     </programlisting>
@@ -99,7 +95,6 @@
 [..]
   caps = gst_caps_new_simple ("audio/x-raw",
       "format", G_TYPE_STRING, GST_AUDIO_NE(F32),
-      "buffer-frames", G_TYPE_INT, &lt;bytes-per-frame&gt;,
       "rate", G_TYPE_INT, &lt;samplerate&gt;,
       "channels", G_TYPE_INT, &lt;num-channels&gt;, NULL);
   if (!gst_pad_set_caps (pad, caps)) {
@@ -158,18 +153,17 @@
       <para>
         Many elements, particularly effects and converters, will be able
         to parse the format of the stream from their input caps, and decide
-        the output format right at that time already. When renegotiation
-        takes place, some may merely need to "forward" the renegotiation
-        backwards upstream (more on that later). For those elements, all
-        (downstream) caps negotiation can be done in something that we
-        call the <function>_setcaps ()</function> function. This function is
-        called when a buffer is pushed over a pad, but the format on this
-        buffer is not the same as the format that was previously negotiated
-        (or, similarly, no format was negotiated yet so far).
+        the output format right at that time already. For those elements, all
+        (downstream) caps negotiation can be done from the 
+        <function>_event ()</function> function when a GST_EVENT_CAPS is
+        received on the sinkpad. This CAPS event is received whenever the
+        format changes or when no format was negotiated yet. It will always
+        be called before you receive the buffer in the format specified in
+        the CAPS event.
       </para>
       <para>
-        In the <function>_setcaps ()</function>-function, the element can
-        forward the caps to the next element and, if that pad accepts the
+        In the <function>_event ()</function>-function, the element can
+        forward the CAPS event to the next element and, if that pad accepts the
         format too, the element can parse the relevant parameters from the
         caps and configure itself internally. The caps passed to this function
         is <emphasis>always</emphasis> a subset of the template caps, so
@@ -187,22 +181,37 @@
 --><!-- example-end forwardcaps.c a -->
 <!-- example-begin forwardcaps.c b -->
 static gboolean
-gst_my_filter_setcaps (GstPad  *pad,
-		       GstCaps *caps)
+gst_my_filter_sink_event (GstPad    *pad,
+		          GstObject *parent,
+		          GstEvent  *event)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
-  GstStructure *s;
+  gboolean ret;
+  GstMyFilter *filter = GST_MY_FILTER (parent);
 
-  /* forward-negotiate */
-  if (!gst_pad_set_caps (filter-&gt;srcpad, caps))
-    return FALSE;
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:
+    {
+      GstCaps *caps;
+      GstStructure *s;
 
-  /* negotiation succeeded, so now configure ourselves */
-  s = gst_caps_get_structure (caps, 0);
-  gst_structure_get_int (s, "rate", &amp;filter-&gt;samplerate);
-  gst_structure_get_int (s, "channels", &amp;filter-&gt;channels);
+      gst_event_parse_caps (event, &amp;caps);
 
-  return TRUE;
+      /* forward-negotiate */
+      ret = gst_pad_set_caps (filter-&gt;srcpad, caps);
+      if (!ret)
+        return FALSE;
+
+      /* negotiation succeeded, so now configure ourselves */
+      s = gst_caps_get_structure (caps, 0);
+      gst_structure_get_int (s, "rate", &amp;filter-&gt;samplerate);
+      gst_structure_get_int (s, "channels", &amp;filter-&gt;channels);
+      break;
+    }
+    default:
+      ret = gst_pad_event_default (pad, parent, event);
+      break;
+  }
+  return ret;
 }
 <!-- example-end forwardcaps.c b -->
 <!-- example-begin forwardcaps.c c --><!--
@@ -219,7 +228,7 @@
         then it should call <function>gst_pad_get_allowed_caps ()</function>
         on its sourcepad to get a list of supported formats on the outputs,
         and pick the first. The return value of that function is guaranteed
-        to be a subset of the template caps.
+        to be a subset of the template caps or NULL when there is no peer.
       </para>
       <para>
         Let's look at the example of an element that can convert between
@@ -246,11 +255,9 @@
 --><!-- example-end convertcaps.c a -->
 <!-- example-begin convertcaps.c b -->
 static gboolean
-gst_my_filter_setcaps (GstPad  *pad,
+gst_my_filter_setcaps (GstMyFilter *filter,
 		       GstCaps *caps)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
-
   if (gst_pad_set_caps (filter-&gt;sinkpad, caps)) {
     filter-&gt;passthrough = TRUE;
   } else {
@@ -282,11 +289,36 @@
   return TRUE;
 }
 
+static gboolean
+gst_my_filter_sink_event (GstPad    *pad,
+		          GstObject *parent,
+		          GstEvent  *event)
+{
+  gboolean ret;
+  GstMyFilter *filter = GST_MY_FILTER (parent);
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:
+    {
+      GstCaps *caps;
+
+      gst_event_parse_caps (event, &amp;caps);
+      ret = gst_my_filter_setcaps (filter, caps);
+      break;
+    }
+    default:
+      ret = gst_pad_event_default (pad, parent, event);
+      break;
+  }
+  return ret;
+}
+
 static GstFlowReturn
 gst_my_filter_chain (GstPad    *pad,
+		     GstObject *parent,
 		     GstBuffer *buf)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
+  GstMyFilter *filter = GST_MY_FILTER (parent);
   GstBuffer *out;
 
   /* push on if in passthrough mode */
@@ -322,7 +354,7 @@
         Fortunately, the code required to do so is very similar to the last
         code example in <xref linkend="section-nego-downstream-embed"/>, with
         the difference being that the caps is selected in the <function>_chain
-        ()</function>-function rather than in the <function>_setcaps
+        ()</function>-function rather than in the <function>_event
         ()</function>-function. The rest, as for getting all allowed caps from
         the source pad, fixating and such, is all the same. Re-negotiation,
         which will be handled in the next section, is very different for such
@@ -341,13 +373,14 @@
       or because the audio channel configuration changed.
     </para>
     <para>
-      Upstream caps renegotiation is done in the <function>gst_pad_alloc_buffer
-      ()</function>-function. The idea here is that an element requesting a
-      buffer from downstream, has to specify the type of that buffer. If
-      renegotiation is to take place, this type will no longer apply, and the
-      downstream element will set a new caps on the provided buffer. The element
-      should then reconfigure itself to push buffers with the returned caps. The
-      source pad's setcaps will be called once the buffer is pushed.
+      Upstream caps renegotiation is requested by sending a GST_EVENT_RECONFIGURE
+      event upstream. The idea is that it will instruct the upstream element
+      to reconfigure its caps by doing a new query for the allowed caps and then
+      choosing a new caps. The element that sends out the RECONFIGURE event
+      would influence the selection of the new caps by returning the new
+      prefered caps from its GST_QUERY_CAPS query function. The RECONFIGURE
+      event will set the GST_PAD_FLAG_NEED_RECONFIGURE on all pads that it
+      travels over.
     </para>
     <para>
       It is important to note here that different elements actually have
@@ -356,39 +389,33 @@
     <itemizedlist>
       <listitem>
         <para>
-          Elements should implement a <quote>padalloc</quote>-function in
-          order to be able to change format on renegotiation. This is also
-          true for filters and converters.
+          Elements that can be reconfigured on the srcpad should check its
+          NEED_RECONFIGURE flag with
+          <function>gst_pad_check_reconfigure ()</function> and it should
+          start renegotiation when the function returns TRUE.
         </para>
       </listitem>
       <listitem>
         <para>
-          Elements should allocate new buffers using
-          <function>gst_pad_alloc_buffer ()</function>.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Elements that are renegotiable should implement a
-          <quote>setcaps</quote>-function on their sourcepad as well.
+          Elements that want to propose a new format upstream need to send
+          a RECONFIGURE event and be prepared to answer the CAPS query with
+          the new prefered format. It should be noted that when there is no
+          upstream element that can (or wants) to renegotiate, the element
+          needs to deal with the currently configured format.
         </para>
       </listitem>
     </itemizedlist>
-    <para>
-      Unfortunately, not all details here have been worked out yet, so this
-      documentation is incomplete. FIXME.
-    </para>
   </sect1>
 
-  <sect1 id="section-nego-getcaps" xreflabel="Implementing a getcaps function">
-    <title>Implementing a getcaps function</title>
+  <sect1 id="section-nego-getcaps" xreflabel="Implementing a CAPS query function">
+    <title>Implementing a CAPS query function</title>
     <para>
-      A <function>_getcaps ()</function>-function is called when a peer
-      element would like to know which formats this element supports, and
-      in what order of preference. The return value should be all formats
-      that this elements supports, taking into account limitations of peer
-      elements further downstream or upstream, sorted by order of preference,
-      highest preference first.
+      A <function>_query ()</function>-function with the GST_QUERY_CAPS query
+      type is called when a peer element would like to know which formats
+      this pad supports, and in what order of preference. The return value
+      should be all formats that this elements supports, taking into account
+      limitations of peer elements further downstream or upstream, sorted by
+      order of preference, highest preference first.
     </para>
     <para>
     </para>
@@ -396,26 +423,58 @@
 #include "init.func"
 --><!-- example-end getcaps.c a -->
 <!-- example-begin getcaps.c b -->
-static GstCaps *
-gst_my_filter_getcaps (GstPad *pad)
+static gboolean
+gst_my_filter_query (GstPad *pad, GstObject * parent, GstQuery * query)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
-  GstPad *otherpad = (pad == filter-&gt;srcpad) ? filter-&gt;sinkpad :
-						  filter-&gt;srcpad;
-  GstCaps *othercaps = gst_pad_get_allowed_caps (otherpad), *caps;
-  gint i;
+  gboolean ret;
+  GstMyFilter *filter = GST_MY_FILTER (parent);
 
-  /* We support *any* samplerate, indifferent from the samplerate
-   * supported by the linked elements on both sides. */
-  for (i = 0; i &lt; gst_caps_get_size (othercaps); i++) {
-    GstStructure *structure = gst_caps_get_structure (othercaps, i);
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_CAPS
+    {
+      GstPad *otherpad;
+      GstCaps *temp, *caps, *filter, *tcaps;
+      gint i;
 
-    gst_structure_remove_field (structure, "rate");
+      otherpad = (pad == filter-&gt;srcpad) ? filter-&gt;sinkpad :
+                                              filter-&gt;srcpad;
+      caps = gst_pad_get_allowed_caps (otherpad);
+
+      gst_query_parse_caps (query, &amp;filter);
+
+      /* We support *any* samplerate, indifferent from the samplerate
+       * supported by the linked elements on both sides. */
+      for (i = 0; i &lt; gst_caps_get_size (caps); i++) {
+        GstStructure *structure = gst_caps_get_structure (caps, i);
+
+        gst_structure_remove_field (structure, "rate");
+      }
+
+      /* make sure we only return results that intersect our
+       * padtemplate */
+      tcaps = gst_pad_get_pad_template_caps (pad);
+      if (tcaps) {
+        temp = gst_caps_intersect (caps, tcaps);
+        gst_caps_unref (caps);
+        gst_caps_unref (tcaps);
+        caps = temp;
+      }
+      /* filter against the query filter when needed */
+      if (filter) {
+        temp = gst_caps_intersect (caps, filter);
+        gst_caps_unref (caps);
+        caps = temp;
+      }
+      gst_query_set_caps_result (query, caps);
+      gst_caps_unref (caps);
+      ret = TRUE;
+      break;
+    }
+    default:
+      ret = gst_pad_query_default (pad, parent, query);
+      break;
   }
-  caps = gst_caps_intersect (othercaps, gst_pad_get_pad_template_caps (pad));
-  gst_caps_unref (othercaps);
-
-  return caps;
+  return ret;
 }
 <!-- example-end getcaps.c b -->
 <!-- example-begin getcaps.c c --><!--
diff --git a/docs/pwg/advanced-request.xml b/docs/pwg/advanced-request.xml
index dc71d82..8ef9897 100644
--- a/docs/pwg/advanced-request.xml
+++ b/docs/pwg/advanced-request.xml
@@ -53,17 +53,18 @@
   GList *srcpadlist;
 } GstMyFilter;
 
+static GstStaticPadTemplate src_factory =
+GST_STATIC_PAD_TEMPLATE (
+  "src_%u",
+  GST_PAD_SRC,
+  GST_PAD_SOMETIMES,
+  GST_STATIC_CAPS ("ANY")
+);
+
 static void
-gst_my_filter_base_init (GstMyFilterClass *klass)
+gst_my_filter_class_init (GstMyFilterClass *klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  static GstStaticPadTemplate src_factory =
-  GST_STATIC_PAD_TEMPLATE (
-    "src_%02d",
-    GST_PAD_SRC,
-    GST_PAD_SOMETIMES,
-    GST_STATIC_CAPS ("ANY")
-  );
 [..]
   gst_element_class_add_pad_template (element_class,
 	gst_static_pad_template_get (&src_factory));
@@ -96,11 +97,11 @@
 
     /* newline? */
     if (data[n] == '\n') {
-      GstBuffer *buf = gst_buffer_new_and_alloc (n + 1);
+      GstBuffer *buf = gst_buffer_new_allocate (NULL, n + 1, NULL);
 
       gst_bytestream_peek_bytes (filter->bs, &data, n);
-      memcpy (GST_BUFFER_DATA (buf), data, n);
-      GST_BUFFER_DATA (buf)[n] = '\0';
+      gst_buffer_fill (buf, 0, data, n);
+      gst_buffer_memset (buf, n, '\0', 1);
       gst_bytestream_flush_fast (filter->bs, n + 1);
 
       return buf;
@@ -114,31 +115,33 @@
   GstMyFilter *filter = GST_MY_FILTER (element);
   GstBuffer *buf;
   GstPad *pad;
+  GstMapInfo map;
   gint num, n;
 
   /* parse header */
   if (filter->firstrun) {
-    GstElementClass *klass;
-    GstPadTemplate *templ;
     gchar *padname;
+    guint8 id;
 
     if (!(buf = gst_my_filter_getline (filter))) {
       gst_element_error (element, STREAM, READ, (NULL),
 			 ("Stream contains no header"));
       return;
     }
-    num = atoi (GST_BUFFER_DATA (buf));
+    gst_buffer_extract (buf, 0, &id, 1);
+    num = atoi (id);
     gst_buffer_unref (buf);
 
     /* for each of the streams, create a pad */
-    klass = GST_ELEMENT_GET_CLASS (filter);
-    templ = gst_element_class_get_pad_template (klass, "src_%02d");
     for (n = 0; n < num; n++) {
-      padname = g_strdup_printf ("src_%02d", n);
-      pad = gst_pad_new_from_template (templ, padname);
+      padname = g_strdup_printf ("src_%u", n);
+      pad = gst_pad_new_from_static_template (src_factory, padname);
       g_free (padname);
 
-      /* here, you would set _getcaps () and _link () functions */
+      /* here, you would set _event () and _query () functions */
+
+      /* need to activate the pad before adding */
+      gst_pad_set_active (pad, TRUE);
 
       gst_element_add_pad (element, pad);
       filter->srcpadlist = g_list_append (filter->srcpadlist, pad);
@@ -153,36 +156,37 @@
     for (padlist = srcpadlist;
          padlist != NULL; padlist = g_list_next (padlist)) {
       pad = GST_PAD (padlist->data);
-      gst_event_ref (event);
-      gst_pad_push (pad, GST_DATA (event));
+      gst_pad_push_event (pad, gst_event_ref (event));
     }
     gst_event_unref (event);
-    gst_element_set_eos (element);
-
+    /* pause the task here */
     return;
   }
 
   /* parse stream number and go beyond the ':' in the data */
-  num = atoi (GST_BUFFER_DATA (buf));
+  gst_buffer_map (buf, &map, GST_MAP_READ);
+  num = atoi (map.data[0]);
   if (num >= 0 && num < g_list_length (filter->srcpadlist)) {
     pad = GST_PAD (g_list_nth_data (filter->srcpadlist, num);
 
     /* magic buffer parsing foo */
-    for (n = 0; GST_BUFFER_DATA (buf)[n] != ':' &&
-                GST_BUFFER_DATA (buf)[n] != '\0'; n++) ;
-    if (GST_BUFFER_DATA (buf)[n] != '\0') {
+    for (n = 0; map.data[n] != ':' &&
+                map.data[n] != '\0'; n++) ;
+    if (map.data[n] != '\0') {
       GstBuffer *sub;
 
-      /* create subbuffer that starts right past the space. The reason
+      /* create region copy that starts right past the space. The reason
        * that we don't just forward the data pointer is because the
        * pointer is no longer the start of an allocated block of memory,
        * but just a pointer to a position somewhere in the middle of it.
        * That cannot be freed upon disposal, so we'd either crash or have
-       * a memleak. Creating a subbuffer is a simple way to solve that. */
-      sub = gst_buffer_create_sub (buf, n + 1, GST_BUFFER_SIZE (buf) - n - 1);
-      gst_pad_push (pad, GST_DATA (sub));
+       * a memleak. Creating a region copy is a simple way to solve that. */
+      sub = gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL,
+          n + 1, map.size - n - 1);
+      gst_pad_push (pad, sub);
     }
   }
+  gst_buffer_unmap (buf, &map);
   gst_buffer_unref (buf);
 }
 ]]>
@@ -207,46 +211,52 @@
       where - for each elementary stream that is to be placed in the output
       system stream - one sink pad will be requested. It can also be used in
       elements with a variable number of input or outputs pads, such as the
-      <classname>tee</classname> (multi-output), <classname>switch</classname>
-      or <classname>aggregator</classname> (both multi-input) elements. At the
-      time of writing this, it is unclear to me who is responsible for cleaning
-      up the created pad and how or when that should be done. Below is a simple
-      example of an aggregator based on request pads.
+      <classname>tee</classname> (multi-output) or
+      <classname>input-selector</classname> (multi-input) elements.
+    </para>
+    <para>
+      To implement request pads, you need to provide a padtemplate with a
+      GST_PAD_REQUEST presence and implement the
+      <function>request_new_pad</function> virtual method in
+      <classname>GstElement</classname>.
+      To clean up, you will need to implement the
+      <function>release_pad</function> virtual method.
     </para>
     <programlisting>
 <![CDATA[
 static GstPad *	gst_my_filter_request_new_pad	(GstElement     *element,
 						 GstPadTemplate *templ,
-						 const gchar    *name);
+                                                 const gchar    *name,
+                                                 const GstCaps  *caps);
 
-static void
-gst_my_filter_base_init (GstMyFilterClass *klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  static GstStaticPadTemplate sink_factory =
-  GST_STATIC_PAD_TEMPLATE (
-    "sink_%d",
-    GST_PAD_SINK,
-    GST_PAD_REQUEST,
-    GST_STATIC_CAPS ("ANY")
-  );
-[..]
-  gst_element_class_add_pad_template (klass,
-	gst_static_pad_template_get (&sink_factory));
-}
+static void gst_my_filter_release_pad (GstElement *element,
+                                       GstPad *pad);
+
+static GstStaticPadTemplate sink_factory =
+GST_STATIC_PAD_TEMPLATE (
+  "sink_%u",
+  GST_PAD_SINK,
+  GST_PAD_REQUEST,
+  GST_STATIC_CAPS ("ANY")
+);
 
 static void
 gst_my_filter_class_init (GstMyFilterClass *klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 [..]
+  gst_element_class_add_pad_template (klass,
+	gst_static_pad_template_get (&sink_factory));
+[..]
   element_class->request_new_pad = gst_my_filter_request_new_pad;
+  element_class->release_pad = gst_my_filter_release_pad;
 }
 
 static GstPad *
 gst_my_filter_request_new_pad (GstElement     *element,
 			       GstPadTemplate *templ,
-			       const gchar    *name)
+			       const gchar    *name,
+                               const GstCaps  *caps)
 {
   GstPad *pad;
   GstMyFilterInputContext *context;
@@ -255,12 +265,25 @@
   pad = gst_pad_new_from_template (templ, name);
   gst_pad_set_element_private (pad, context);
 
-  /* normally, you would set _link () and _getcaps () functions here */
+  /* normally, you would set _chain () and _event () functions here */
 
   gst_element_add_pad (element, pad);
 
   return pad;
 }
+
+static void
+gst_my_filter_release_pad (GstElement *element,
+                           GstPad *pad)
+{
+  GstMyFilterInputContext *context;
+
+  context = gst_pad_get_element_private (pad);
+  g_free (context);
+
+  gst_element_remove_pad (element, pad);
+}
+
 ]]>
     </programlisting>
   </sect1>
diff --git a/docs/pwg/advanced-scheduling.xml b/docs/pwg/advanced-scheduling.xml
index bf7932c..cd88288 100644
--- a/docs/pwg/advanced-scheduling.xml
+++ b/docs/pwg/advanced-scheduling.xml
@@ -1,85 +1,93 @@
 <chapter id="chapter-scheduling" xreflabel="Different scheduling modes">
   <title>Different scheduling modes</title>
   <para>
-    Scheduling is, in short, a method for making sure that every element gets
-    called once in a while to process data and prepare data for the next
-    element. Likewise, a kernel has a scheduler for processes, and your
-    brain is a very complex scheduler too in a way.
-    Randomly calling elements' chain functions won't bring us far, however, so
-    you'll understand that the schedulers in &GStreamer; are a bit more complex
-    than this. However, as a start, it's a nice picture.
+    The scheduling mode of a pad defines how data is retrieved from (source)
+    or given to (sink) pads. &GStreamer; can operate in two scheduling
+    mode, called push- and pull-mode. &GStreamer; supports elements with pads
+    in any of the scheduling modes where not all pads need to be operating
+    in the same mode.
   </para>
   <para>
     So far, we have only discussed <function>_chain ()</function>-operating
     elements, i.e. elements that have a chain-function set on their sink pad
-    and push buffers on their source pad(s). Pads (or elements) can also operate
-    in two other scheduling modes, however. In this chapter, we will discuss
-    what those scheduling modes are, how they can be enabled and in what
-    cases they are useful. The other two scheduling modes are random access
-    (<function>_getrange ()</function>-based) or task-runner (which means
-    that this element is the driving force in the pipeline) mode.
+    and push buffers on their source pad(s). We call this the push-mode
+    because a peer element will use <function>gst_pad_push ()</function> on
+    a srcpad, which will cause our <function>_chain ()</function>-function
+    to be called, which in turn causes our element to push out a buffer on
+    the source pad. The initiative to start the dataflow happens somewhere
+    upstream when it pushes out a buffer and all downstream elements get
+    scheduled when their <function>_chain ()</function>-functions are
+    called in turn.
+  </para>
+  <para>
+    Before we explain pull-mode scheduling, let's first understand how the
+    different scheduling modes are selected and activated on a pad.
   </para>
 
   <sect1 id="section-scheduling-activation"
-      xreflabel="The pad actication stage">
+      xreflabel="The pad activation stage">
     <title>The pad activation stage</title>
     <para>
-      The stage in which &GStreamer; decides in what scheduling mode the
-      various elements will operate, is called the pad-activation stage. In
-      this stage, &GStreamer; will query the scheduling capabilities (i.e.
-      it will see in what modes each particular element/pad can operate) and
-      decide on the optimal scheduling composition for the pipeline. Next,
-      each pad will be notified of the scheduling mode that was assigned to
-      it, and after that the pipeline will start running.
+      During the element state change of READY->PAUSED, the pads of an
+      element will be activated. This happens first on the source pads and
+      then on the sink pads of the element. &GStreamer; calls the
+      <function>_activate ()</function> of a pad. By default this function
+      will activate the pad in push-mode by calling
+      <function>gst_pad_activate_mode ()</function> with the GST_PAD_MODE_PUSH
+      scheduling mode.
+      It is possible to override the <function>_activate ()</function> of a pad
+      and decide on a different scheduling mode. You can know in what
+      scheduling mode a pad is activated by overriding the
+      <function>_activate_mode ()</function>-function.
     </para>
     <para>
-      Pads can be assigned one of three modes, each mode putting several
-      prerequisites on the pads. Pads should implement a notification
-      function (<function>gst_pad_set_activatepull_function ()</function> and
-      <function>gst_pad_set_activatepush_function ()</function>) to be
-      notified of the scheduling mode assignment. Also, sinkpads assigned
-      to do pull-based scheduling mode should start and stop their task
-      in this function.
+      &GStreamer; allows the different pads of an element to operate in
+      different scheduling modes. This allows for many different possible
+      use-cases. What follows is an overview of some typical use-cases.
     </para>
     <itemizedlist>
       <listitem>
         <para>
-          If all pads of an element are assigned to do
-          <quote>push</quote>-based scheduling, then this means that data
-          will be pushed by upstream elements to this element using the
-          sinkpads <function>_chain ()</function>-function. Prerequisites
-          for this scheduling mode are that a chain-function was set for
-          each sinkpad using<function>gst_pad_set_chain_function ()</function>
-          and that all downstream elements operate in the same mode. Pads are
-          assigned to do push-based scheduling in sink-to-source element
-          order, and within an element first sourcepads and then sinkpads.
-          Sink elements can operate in this mode if their sinkpad is activated
-          for push-based scheduling. Source elements cannot be chain-based.
+          If all pads of an element are activated in push-mode scheduling,
+          the element as a whole is operating in push-mode. 
+          For source elements this means that they will have to start a
+          task that pushes out buffers on the source pad to the downstream
+          elements.
+          Downstream elements will have data pushed to them by upstream elements
+          using the sinkpads <function>_chain ()</function>-function which will
+          push out buffers on the source pads.
+          Prerequisites for this scheduling mode are that a chain-function was
+          set for each sinkpad using <function>gst_pad_set_chain_function ()</function>
+          and that all downstream elements operate in the same mode.
         </para>
       </listitem>
       <listitem>
         <para>
           Alternatively, sinkpads can be the driving force behind a pipeline
-          by operating in <quote>pull</quote>-based mode, while the sourcepads
-          of the element still operate in push-based mode. In order to be the
+          by operating in pull-mode, while the sourcepads
+          of the element still operate in push-mode. In order to be the
           driving force, those pads start a <classname>GstTask</classname>
           when they are activated. This task is a thread, which
           will call a function specified by the element. When called, this
           function will have random data access (through
-          <function>gst_pad_get_range ()</function>) over all sinkpads, and
+          <function>gst_pad_pull_range ()</function>) over all sinkpads, and
           can push data over the sourcepads, which effectively means that
           this element controls data flow in the pipeline. Prerequisites for
-          this mode are that all downstream elements can act in chain-based
-          mode, and that all upstream elements allow random access (see below).
-          Source elements can be told to act in this mode if their sourcepads
-          are activated in push-based fashion. Sink elements can be told to
-          act in this mode when their sinkpads are activated in pull-mode.
+          this mode are that all downstream elements can act in push
+          mode, and that all upstream elements operate in pull-mode (see below).
+        </para>
+        <para>
+          Source pads can be activated in PULL mode by a downstream element
+          when they return GST_PAD_MODE_PULL from the GST_QUERY_SCHEDULING
+          query. Prerequisites for this scheduling mode are that a
+          getrange-function was set for the source pad using
+          <function>gst_pad_set_getrange_function ()</function>.
         </para>
       </listitem>
       <listitem>
         <para>
-          lastly, all pads in an element can be assigned to act in pull-mode.
-          too. However, contrary to the above, this does not mean that they
+          Lastly, all pads in an element can be activated in PULL-mode.
+          However, contrary to the above, this does not mean that they
           start a task on their own. Rather, it means that they are pull
           slave for the downstream element, and have to provide random data
           access to it from their <function>_get_range ()</function>-function.
@@ -87,14 +95,18 @@
           ()</function>-function was set on this pad using the function
           <function>gst_pad_set_getrange_function ()</function>. Also, if
           the element has any sinkpads, all those pads (and thereby their
-          peers) need to operate in random access mode, too. Note that the
-          element is supposed to activate those elements itself! &GStreamer;
-          will not do that for you.
+          peers) need to operate in PULL access mode, too.
+        </para>
+        <para>
+          When a sink element is activated in PULL mode, it should start a
+          task that calls <function>gst_pad_pull_range ()</function> on its
+          sinkpad. It can only do this when the upstream SCHEDULING query
+          returns support for the GST_PAD_MODE_PULL scheduling mode.
         </para>
       </listitem>
     </itemizedlist>
     <para>
-      In the next two sections, we will go closer into pull-based scheduling
+      In the next two sections, we will go closer into pull-mode scheduling
       (elements/pads driving the pipeline, and elements/pads providing random
       access), and some specific use cases will be given.
     </para>
@@ -103,12 +115,12 @@
   <sect1 id="section-scheduling-loop" xreflabel="Pads driving the pipeline">
     <title>Pads driving the pipeline</title>
     <para>
-      Sinkpads assigned to operate in pull-based mode, while none of its
-      sourcepads operate in pull-based mode (or it has no sourcepads), can
-      start a task that will drive the pipeline data flow. Within this
-      function, those elements have random access over all of their sinkpads,
-      and push data over their sourcepads. This can come in useful for
-      several different kinds of elements:
+      Sinkpads operating in pull-mode, with the sourcepads operating in
+      push-mode (or it has no sourcepads when it is a sink), can start a task
+      that will drive the pipeline data flow.
+      Within this task function, you have random access over all of the sinkpads,
+      and push data over the sourcepads.
+      This can come in useful for several different kinds of elements:
     </para>
     <itemizedlist>
       <listitem>
@@ -116,7 +128,7 @@
           Demuxers, parsers and certain kinds of decoders where data comes
           in unparsed (such as MPEG-audio or video streams), since those will
           prefer byte-exact (random) access from their input. If possible,
-          however, such elements should be prepared to operate in chain-based
+          however, such elements should be prepared to operate in push-mode
           mode, too.
         </para>
       </listitem>
@@ -128,85 +140,40 @@
       </listitem>
     </itemizedlist>
     <para>
-      In order to start this task, you will need to create it in the
-      activation function.
+      First you need to perform a SCHEDULING query to check if the upstream
+      element(s) support pull-mode scheduling. If that is possible, you
+      can activate the sinkpad in pull-mode. Inside the activate_mode
+      function you can then start the task.
     </para>
     <programlisting><!-- example-begin task.c a -->
 #include "filter.h"
 #include &lt;string.h&gt;
 
-static gboolean	gst_my_filter_activate	(GstPad      * pad);
-static gboolean	gst_my_filter_activate_pull (GstPad  * pad,
-					 gboolean      active);
-static void	gst_my_filter_loop	(GstMyFilter * filter);
+static gboolean	gst_my_filter_activate	    (GstPad      * pad,
+                                             GstObject   * parent);
+static gboolean	gst_my_filter_activate_mode (GstPad      * pad,
+                                             GstObject   * parent,
+                                             GstPadMode    mode
+					     gboolean      active);
+static void	gst_my_filter_loop	    (GstMyFilter * filter);
 
-GST_BOILERPLATE (GstMyFilter, gst_my_filter, GstElement, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
 <!-- example-end task.c a -->
-<!-- example-begin task.c b --><!--
-static gboolean	gst_my_filter_setcaps	(GstPad  *pad,
-					 GstCaps *caps);
-static GstCaps *gst_my_filter_getcaps	(GstPad  *pad);
-
-static void
-gst_my_filter_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  static GstElementDetails my_filter_details = {
-    "An example plugin",
-    "Example/FirstExample",
-    "Shows the basic structure of a plugin",
-    "your name <your.name@your.isp>"
-  };
-  static GstStaticPadTemplate sink_factory =
-  GST_STATIC_PAD_TEMPLATE (
-    "sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("ANY")
-  );
-  static GstStaticPadTemplate src_factory =
-  GST_STATIC_PAD_TEMPLATE (
-    "src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("ANY")
-  );
-
-  gst_element_class_set_details (element_class, &my_filter_details);
-  gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&sink_factory));
-}
-
-static void
-gst_my_filter_class_init (GstMyFilterClass * klass)
-{
-}
---><!-- example-begin task.c b -->
 <!-- example-begin task.c c -->
 static void
 gst_my_filter_init (GstMyFilter * filter)
 {
 <!-- example-end task.c c -->
 [..]<!-- example-begin task.c d --><!--
-  GstElementClass *klass = GST_ELEMENT_GET_CLASS (filter);
-
-  filter-&gt;sinkpad = gst_pad_new_from_template (
-        gst_element_class_get_pad_template (klass, "sink"), "sink");
-  gst_pad_set_setcaps_function (filter-&gt;sinkpad, gst_my_filter_setcaps);
-  gst_pad_set_getcaps_function (filter-&gt;sinkpad, gst_my_filter_getcaps);
 --><!-- example-end task.c d -->
 <!-- example-begin task.c e -->
   gst_pad_set_activate_function (filter-&gt;sinkpad, gst_my_filter_activate);
-  gst_pad_set_activatepull_function (filter-&gt;sinkpad,
-      gst_my_filter_activate_pull);
+  gst_pad_set_activatemode_function (filter-&gt;sinkpad,
+      gst_my_filter_activate_mode);
 <!-- example-end task.c e -->
 <!-- example-begin task.c f --><!--
   gst_element_add_pad (GST_ELEMENT (filter), filter-&gt;sinkpad);
 
-  filter-&gt;srcpad = gst_pad_new_from_template (
-        gst_element_class_get_pad_template (klass, "src"), "src");
   gst_element_add_pad (GST_ELEMENT (filter), filter-&gt;srcpad);
 --><!-- example-end task.c f -->
 [..]<!-- example-begin task.c g -->
@@ -217,35 +184,73 @@
 --><!-- example-end task.c h -->
 <!-- example-begin task.c i -->
 static gboolean
-gst_my_filter_activate (GstPad * pad)
+gst_my_filter_activate (GstPad * pad, GstObject * parent)
 {
-  if (gst_pad_check_pull_range (pad)) {
-    return gst_pad_activate_pull (pad, TRUE);
-  } else {
-    return FALSE;
+  GstQuery *query;
+  gboolean pull_mode;
+
+  /* first check what upstream scheduling is supported */
+  query = gst_query_new_scheduling ();
+
+  if (!gst_pad_peer_query (pad, query)) {
+    gst_query_unref (query);
+    goto activate_push;
+  }
+
+  /* see if pull-mode is supported */
+  pull_mode = gst_query_has_scheduling_mode_with_flags (query,
+      GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE);
+  gst_query_unref (query);
+
+  if (!pull_mode)
+    goto activate_push;
+
+  /* now we can activate in pull-mode. GStreamer will also
+   * activate the upstream peer in pull-mode */
+  return gst_pad_activate_mode (pad, GST_PAD_MODE_PULL, TRUE);
+
+activate_push:
+  {
+    /* something not right, we fallback to push-mode */
+    return gst_pad_activate_mode (pad, GST_PAD_MODE_PUSH, TRUE);
   }
 }
 
 static gboolean
-gst_my_filter_activate_pull (GstPad  *pad,
-			     gboolean active)
+gst_my_filter_activate_pull (GstPad    * pad,
+			     GstObject * parent,
+			     GstPadMode  mode,
+			     gboolean    active)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
+  gboolean res;
+  GstMyFilter *filter = GST_MY_FILTER (parent);
 
-  if (active) {
-    filter->offset = 0;
-    return gst_pad_start_task (pad,
-        (GstTaskFunction) gst_my_filter_loop, filter);
-  } else {
-    return gst_pad_stop_task (pad);
+  switch (mode) {
+    case GST_PAD_MODE_PUSH:
+      res = TRUE;
+      break;
+    case GST_PAD_MODE_PULL:
+      if (active) {
+        filter->offset = 0;
+        res = gst_pad_start_task (pad,
+            (GstTaskFunction) gst_my_filter_loop, filter, NULL);
+      } else {
+        res = gst_pad_stop_task (pad);
+      }
+      break;
+    default:
+      /* unknown scheduling mode */
+      res = FALSE;
+      break;
   }
+  return res;
 }
     <!-- example-end task.c i --></programlisting>
     <para>
       Once started, your task has full control over input and output. The
       most simple case of a task function is one that reads input and pushes
       that over its source pad. It's not all that useful, but provides some
-      more flexibility than the old chain-based case that we've been looking
+      more flexibility than the old push-mode case that we've been looking
       at so far.
     </para>
     <programlisting><!-- example-begin task.c j -->
@@ -259,7 +264,7 @@
   GstFormat fmt = GST_FORMAT_BYTES;
   GstBuffer *buf = NULL;
 
-  if (!gst_pad_query_duration (filter-&gt;sinkpad, &amp;fmt, &amp;len)) {
+  if (!gst_pad_query_duration (filter-&gt;sinkpad, fmt, &amp;len)) {
     GST_DEBUG_OBJECT (filter, "failed to query duration, pausing");
     goto stop;
   }
@@ -307,16 +312,15 @@
     <title>Providing random access</title>
     <para>
       In the previous section, we have talked about how elements (or pads)
-      that are assigned to drive the pipeline using their own task, have
-      random access over their sinkpads. This means that all elements linked
-      to those pads (recursively) need to provide random access functions.
-      Requesting random access is done using the function
-      <function>gst_pad_pull_range ()</function>, which requests a buffer of
-      a specified size and offset. Source pads implementing and assigned to
-      do random access will have a <function>_get_range ()</function>-function
-      set using <function>gst_pad_set_getrange_function ()</function>, and
-      that function will be called when the peer pad requests some data. The
-      element is then responsible for seeking to the right offset and
+      that are activated to drive the pipeline using their own task, must use
+      pull-mode scheduling on their sinkpads. This means that all pads linked
+      to those pads need to be activated in pull-mode.
+      Source pads activated in pull-mode must implement a
+      <function>_get_range ()</function>-function set using
+      <function>gst_pad_set_getrange_function ()</function>, and
+      that function will be called when the peer pad requests some data with
+      <function>gst_pad_pull_range ()</function>.
+      The element is then responsible for seeking to the right offset and
       providing the requested data. Several elements can implement random
       access:
     </para>
@@ -329,17 +333,14 @@
       </listitem>
       <listitem>
         <para>
-          Filters that would like to provide a pull-based-like scheduling
-          mode over the whole pipeline. Note that elements assigned to do
-          random access-based scheduling are themselves responsible for
-          assigning this scheduling mode to their upstream peers! &GStreamer;
-          will not do that for you.
+          Filters that would like to provide a pull-mode scheduling
+          over the whole pipeline. 
         </para>
       </listitem>
       <listitem>
         <para>
           Parsers who can easily provide this by skipping a small part of
-          their input and are thus essentially "forwarding" random access
+          their input and are thus essentially "forwarding" getrange
           requests literally without any own processing involved. Examples
           include tag readers (e.g. ID3) or single output parsers, such as
           a WAVE parser.
@@ -354,15 +355,16 @@
 #include "filter.h"
 static GstFlowReturn
 		gst_my_filter_get_range	(GstPad     * pad,
+					 GstObject  * parent,
 					 guint64      offset,
 					 guint        length,
 					 GstBuffer ** buf);
 
-GST_BOILERPLATE (GstMyFilter, gst_my_filter, GstElement, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
 <!-- example-end range.c a -->
 <!-- example-begin range.c b --><!--
 static void
-gst_my_filter_base_init (gpointer klass)
+gst_my_filter_class_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   static GstElementDetails my_filter_details = {
@@ -393,25 +395,32 @@
 static void
 gst_my_filter_init (GstMyFilter * filter)
 {
+<!-- example-end task.c c --><!--
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (filter);
 
   filter-&gt;srcpad = gst_pad_new_from_template (
         gst_element_class_get_pad_template (klass, "src"), "src");
+-->
+[..]<!-- example-begin task.c d --><!--
+--><!-- example-end task.c d -->
+<!-- example-begin task.c e -->
   gst_pad_set_getrange_function (filter-&gt;srcpad,
       gst_my_filter_get_range);
+<!-- example-end range.c c --><!--
   gst_element_add_pad (GST_ELEMENT (filter), filter-&gt;srcpad);
-<!-- example-end range.c c -->
+-->
 [..]<!-- example-begin range.c d -->
 }
 
-static gboolean
+static GstFlowReturn
 gst_my_filter_get_range (GstPad     * pad,
+			 GstObject  * parent,
 			 guint64      offset,
 			 guint        length,
 			 GstBuffer ** buf)
 {
 <!-- example-end range.c d -->
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
+  GstMyFilter *filter = GST_MY_FILTER (parent);
 
   [.. here, you would fill *buf ..]
 <!-- example-begin range.c e -->
@@ -423,15 +432,14 @@
     --><!-- example-end range.c f --></programlisting>
     <para>
       In practice, many elements that could theoretically do random access,
-      may in practice often be assigned to do push-based scheduling anyway,
+      may in practice often be activated in push-mode scheduling anyway,
       since there is no downstream element able to start its own task.
       Therefore, in practice, those elements should implement both a
       <function>_get_range ()</function>-function and a <function>_chain
       ()</function>-function (for filters and parsers) or a <function>_get_range
       ()</function>-function and be prepared to start their own task by
       providing <function>_activate_* ()</function>-functions (for
-      source elements), so that &GStreamer; can decide for the optimal
-      scheduling mode and have it just work fine in practice.
+      source elements).
     </para>
   </sect1>
 </chapter>
diff --git a/docs/pwg/advanced-tagging.xml b/docs/pwg/advanced-tagging.xml
index 7c91c01..082d732 100644
--- a/docs/pwg/advanced-tagging.xml
+++ b/docs/pwg/advanced-tagging.xml
@@ -65,13 +65,10 @@
       of the type the tag was registered as (the API documentation for each
       predefined tag should contain the type). Be sure to use functions like
       <function>gst_value_transform ()</function>
-      to make sure that your data is of the right type. After data reading, the
-      application can be notified of the new taglist by calling
-      <function>gst_element_found_tags ()</function> or
-      <function>gst_element_found_tags_for_pad ()</function> (if they only
-      refer to a specific sub-stream). These functions will post a tag message
-      on the pipeline's GstBus for the application to pick up, but also send
-      tag events downstream, either over all source pad or the pad specified.
+      to make sure that your data is of the right type.
+      After data reading, you can send the tags downstream with the TAG event.
+      When the TAG event reaches the sink, it will post the TAG message on
+      the pipeline's GstBus for the application to pick up.
     </para>
     <para>
       We currently require the core to know the GType of tags before they are
@@ -112,7 +109,7 @@
       TagSetter interface (which is just a layer). Pipeline tags are tags
       provided to the element from within the pipeline. The element receives
       such tags via the <symbol>GST_EVENT_TAG</symbol> event, which means
-      that tags writers should automatically be event aware. The tag writer is
+      that tags writers should implment an event handler. The tag writer is
       responsible for combining all these three into one list and writing them
       to the output stream.
     </para>
@@ -122,6 +119,10 @@
       setter so applications can set tags, and retrieves pipeline tags from
       incoming events.
     </para>
+    <para>
+      Warning, this example is outdated and doesn't work with the 1.0 version
+      of &GStreamer; anymore.
+    </para>
     <programlisting>
 <![CDATA[
 GType
@@ -143,7 +144,6 @@
 static void
 gst_my_filter_init (GstMyFilter *filter)
 {
-  GST_FLAG_SET (filter, GST_ELEMENT_EVENT_AWARE);
 [..]
 }
 
@@ -165,14 +165,18 @@
   g_value_init (&to, G_TYPE_STRING);
 
   for (n = 0; n < num_values; n++) {
+    guint8 * data;
+    gsize size;
+
     from = gst_tag_list_get_value_index (taglist, tagname, n);
     g_value_transform (from, &to);
 
-    buf = gst_buffer_new ();
-    GST_BUFFER_DATA (buf) = g_strdup_printf ("%s:%s", tagname,
-					     g_value_get_string (&to));
-    GST_BUFFER_SIZE (buf) = strlen (GST_BUFFER_DATA (buf));
-    gst_pad_push (filter->srcpad, GST_DATA (buf));
+    data = g_strdup_printf ("%s:%s", tagname,
+		g_value_get_string (&to));
+    size = strlen (data);
+
+    buf = gst_buffer_new_wrapped (data, size);
+    gst_pad_push (filter->srcpad, buf);
   }
 
   g_value_unset (&to);
@@ -223,8 +227,7 @@
   gst_tag_list_foreach (taglist, gst_my_filter_write_tag, filter);
 
   /* signal EOS */
-  gst_pad_push (filter->srcpad, GST_DATA (gst_event_new (GST_EVENT_EOS)));
-  gst_element_set_eos (element);
+  gst_pad_push (filter->srcpad, gst_event_new (GST_EVENT_EOS));
 }
 ]]>
     </programlisting>
diff --git a/docs/pwg/advanced-types.xml b/docs/pwg/advanced-types.xml
index a5b25b5..9898476 100644
--- a/docs/pwg/advanced-types.xml
+++ b/docs/pwg/advanced-types.xml
@@ -60,13 +60,14 @@
     <para>
       If you need a new format that has not yet been defined in our <xref
       linkend="section-types-definitions"/>, you will want to have some general
-      guidelines on mimetype naming, properties and such. A mimetype would
-      ideally be one defined by IANA; else, it should be in the form
-      type/x-name, where type is the sort of data this mimetype handles (audio,
-      video, ...) and name should be something specific for this specific type.
-      Audio and video mimetypes should try to support the general audio/video
-      properties (see the list), and can use their own properties, too. To get
-      an idea of what properties we think are useful, see (again) the list.
+      guidelines on media type naming, properties and such. A media type would
+      ideally be equivalent to the Mime-type defined by IANA; else, it should
+      be in the form type/x-name, where type is the sort of data this media type
+      handles (audio, video, ...) and name should be something specific for
+      this specific type.  Audio and video media types should try to support the
+      general audio/video properties (see the list), and can use their own
+      properties, too. To get an idea of what properties we think are useful,
+      see (again) the list.
     </para>
     <para>
       Take your time to find the right set of properties for your type. There
@@ -206,7 +207,7 @@
 
         <thead>
           <row>
-            <entry>Mime Type</entry>
+            <entry>Media Type</entry>
             <entry>Description</entry>
             <entry>Property</entry>
             <entry>Property Type</entry>
@@ -634,7 +635,7 @@
 
         <thead>
           <row>
-            <entry>Mime Type</entry>
+            <entry>Media Type</entry>
             <entry>Description</entry>
             <entry>Property</entry>
             <entry>Property Type</entry>
@@ -878,7 +879,7 @@
             <entry>1, 2 or 4</entry>
             <entry>
               Version of the MPEG codec that this stream was encoded with.
-              Note that we have different mimetypes for 3ivx, XviD, DivX and
+              Note that we have different media types for 3ivx, XviD, DivX and
               "standard" ISO MPEG-4. This is <emphasis>not</emphasis> a good
               thing and we're fully aware of this. However, we do not have a
               solution yet.
@@ -1021,7 +1022,7 @@
             <entry></entry>
             <entry>
               There are currently no specific properties defined or needed for
-              this type. Note that we have different mimetypes for VP-3 and
+              this type. Note that we have different media types for VP-3 and
               Theora, which is not necessarily a good idea. This could probably
               be improved.
             </entry>
@@ -1132,7 +1133,7 @@
 
         <thead>
           <row>
-            <entry>Mime Type</entry>
+            <entry>Media Type</entry>
             <entry>Description</entry>
             <entry>Property</entry>
             <entry>Property Type</entry>
@@ -1281,7 +1282,7 @@
 
         <thead>
           <row>
-            <entry>Mime Type</entry>
+            <entry>Media Type</entry>
             <entry>Description</entry>
             <entry>Property</entry>
             <entry>Property Type</entry>
@@ -1317,7 +1318,7 @@
 
         <thead>
           <row>
-            <entry>Mime Type</entry>
+            <entry>Media Type</entry>
             <entry>Description</entry>
             <entry>Property</entry>
             <entry>Property Type</entry>
diff --git a/docs/pwg/appendix-checklist.xml b/docs/pwg/appendix-checklist.xml
index 503031f..336d3da 100644
--- a/docs/pwg/appendix-checklist.xml
+++ b/docs/pwg/appendix-checklist.xml
@@ -133,7 +133,7 @@
       <listitem>
         <para>
           Elements should make sure they forward events they do not
-          handle with gst_pad_event_default (pad, event) instead of
+          handle with gst_pad_event_default (pad, parent, event) instead of
           just dropping them. Events should never be dropped unless
           specifically intended.
         </para>
@@ -141,20 +141,10 @@
       <listitem>
         <para>
           Elements should make sure they forward queries they do not
-          handle with gst_pad_query_default (pad, query) instead of
+          handle with gst_pad_query_default (pad, parent, query) instead of
           just dropping them.
         </para>
       </listitem>
-      <listitem>
-        <para>
-          Elements should use gst_pad_get_parent() in event and query
-          functions, so that they hold a reference to the element while they
-          are operating. Note that gst_pad_get_parent() increases the
-          reference count of the element, so you must be very careful to call
-          gst_object_unref (element) before returning from your query or
-          event function, otherwise you will leak memory.
-        </para>
-      </listitem>
     </itemizedlist>
   </sect1>
 
@@ -168,8 +158,8 @@
           tool to show that your element is finished. Applications such as
           Rhythmbox and Totem (for GNOME) or AmaroK (for KDE)
           <emphasis>are</emphasis>. <command>gst-launch</command> will not
-          test various things such as proper clean-up on reset, interrupt
-          event handling, querying and so on.
+          test various things such as proper clean-up on reset, event
+          handling, querying and so on.
         </para>
       </listitem>
       <listitem>
diff --git a/docs/pwg/appendix-porting.xml b/docs/pwg/appendix-porting.xml
index d7a3ec4..ab457a8 100644
--- a/docs/pwg/appendix-porting.xml
+++ b/docs/pwg/appendix-porting.xml
@@ -186,3 +186,11 @@
     </itemizedlist>
   </sect1>
 </chapter>
+
+<chapter id="chapter-porting-1_0">
+  <title>Porting 0.10 plug-ins to 1.0</title>
+  <para>
+    You can find the list of changes in the
+    <ulink url="http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/random/porting-to-1.0.txt">Porting to 1.0</ulink> document.
+  </para>
+</chapter>
diff --git a/docs/pwg/building-boiler.xml b/docs/pwg/building-boiler.xml
index 3476005..7cba279 100644
--- a/docs/pwg/building-boiler.xml
+++ b/docs/pwg/building-boiler.xml
@@ -113,8 +113,8 @@
     </note>
     <para>
       The last command creates two files:
-      <filename>gstexamplefilter.c</filename> and
-      <filename>gstexamplefilter.h</filename>.
+      <filename>gstmyfilter.c</filename> and
+      <filename>gstmyfilter.h</filename>.
     </para>
     <note>
       <para>
@@ -135,9 +135,17 @@
         Be aware that by default <filename>autogen.sh</filename> and 
         <filename>configure</filename> would choose <filename class="directory">/usr/local</filename>
         as a default location. One would need to add
-        <filename class="directory">/usr/local/lib/gstreamer-0.10</filename>
+        <filename class="directory">/usr/local/lib/gstreamer-1.0</filename>
         to <symbol>GST_PLUGIN_PATH</symbol> in order to make the new plugin
-        show up in gstreamer.
+        show up in a gstreamer that's been installed from packages.
+      </para>
+    </note>
+    <note>
+      <para>
+        FIXME: this section is slightly outdated. gst-template is still useful
+        as an example for a minimal plugin build system skeleton. However, for
+        creating elements the tool gst-element-maker from gst-plugins-bad is
+        recommended these days.
       </para>
     </note>
   </sect1>
@@ -206,17 +214,19 @@
     <programlisting><!-- example-begin boilerplate.c a -->
 #include "filter.h"
 
-GST_BOILERPLATE (GstMyFilter, gst_my_filter, GstElement, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
     <!-- example-end boilerplate.c a --></programlisting>
   </sect1>
 
   <!-- ############ sect1 ############# -->
 
   <sect1 id="section-boiler-details">
-    <title>GstElementDetails</title>
+    <title>Element metadata</title>
     <para>
-      The GstElementDetails structure provides a hierarchical type for element
-      information. The entries are:
+      The Element metadata provides extra element information. It is configured
+      with <function>gst_element_class_set_metadata</function> or
+      <function>gst_element_class_set_static_metadata</function> which takes the
+      following parameters:
     </para>
     <itemizedlist>
       <listitem><para>
@@ -234,33 +244,32 @@
     <para>
       For example:
     </para>
-    <programlisting><!-- example-begin boilerplate.c b -->
-static const GstElementDetails my_filter_details = {
+    <programlisting>
+gst_element_class_set_static_metadata (klass,
   "An example plugin",
   "Example/FirstExample",
   "Shows the basic structure of a plugin",
-  "your name &lt;your.name@your.isp&gt;"
-};
-    <!-- example-end boilerplate.c b --></programlisting>
+  "your name &lt;your.name@your.isp&gt;");
+    </programlisting>
     <para>
       The element details are registered with the plugin during
-      the <function>_base_init ()</function> function, which is part of
-      the GObject system. The <function>_base_init ()</function> function
+      the <function>_class_init ()</function> function, which is part of
+      the GObject system. The <function>_class_init ()</function> function
       should be set for this GObject in the function where you register
       the type with GLib.
     </para>
     <programlisting><!-- example-begin boilerplate.c c -->
 static void
-gst_my_filter_base_init (gpointer klass)
+gst_my_filter_class_init (GstMyFilterClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 <!-- example-end boilerplate.c c -->
-  static const GstElementDetails my_filter_details = {
-[..]
-  };
-
 [..]<!-- example-begin boilerplate.c d -->
-  gst_element_class_set_details (element_class, &amp;my_filter_details);
+  gst_element_class_set_static_metadata (element_klass,
+    "An example plugin",
+    "Example/FirstExample",
+    "Shows the basic structure of a plugin",
+    "your name &lt;your.name@your.isp&gt;");
 <!-- example-end boilerplate.c d -->
 }
     </programlisting>
@@ -317,13 +326,19 @@
       </programlisting>
     <para>
       Those pad templates are registered during the
-      <function>_base_init ()</function> function. Pads are created from these
-      templates in the element's <function>_init ()</function> function using
-      <function>gst_pad_new_from_template ()</function>. The template can be
-      retrieved from the element class using
-      <function>gst_element_class_get_pad_template ()</function>. See below
-      for more details on this. In order to create a new pad from this
-      template using <function>gst_pad_new_from_template ()</function>, you
+      <function>_class_init ()</function> function with the
+      <function>gst_element_class_add_pad_template ()</function>. For this
+      function you need a handle the the <classname>GstPadTemplate</classname>
+      which you can create from the static pad template with
+      <function>gst_static_pad_template_get ()</function>. See below for more
+      details on this.
+    </para>
+    <para>
+      Pads are created from these static templates in the element's 
+      <function>_init ()</function> function using
+      <function>gst_pad_new_from_static_template ()</function>.
+      In order to create a new pad from this
+      template using <function>gst_pad_new_from_static_template ()</function>, you
       will need to declare the pad template as a global variable. More on
       this subject in <xref linkend="chapter-building-pads"/>.
     </para>
@@ -332,7 +347,7 @@
     src_factory = [..];
 
 static void
-gst_my_filter_base_init (gpointer klass)
+gst_my_filter_class_init (GstMyFilterClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 [..]
@@ -345,11 +360,6 @@
 <!-- example-end boilerplate.c g -->
 <!-- example-begin boilerplate.c h --><!--
 static void
-gst_my_filter_class_init (GstMyFilterClass * klass)
-{
-}
-
-static void
 gst_my_filter_init (GstMyFilter * filter)
 {
 }
@@ -360,9 +370,9 @@
       The last argument in a template is its type
       or list of supported types. In this example, we use 'ANY', which means
       that this element will accept all input. In real-life situations, you
-      would set a mimetype and optionally a set of properties to make sure
+      would set a media type and optionally a set of properties to make sure
       that only supported input will come in. This representation should be
-      a string that starts with a mimetype, then a set of comma-separates
+      a string that starts with a media type, then a set of comma-separates
       properties with their supported values. In case of an audio filter that
       supports raw integer 16-bit audio, mono or stereo at any samplerate, the
       correct template would look like this:
@@ -397,10 +407,8 @@
   <sect1 id="section-boiler-constructors">
     <title>Constructor Functions</title>
     <para>
-      Each element has three functions which are used for construction of an
-      element. These are the <function>_base_init()</function> function which
-      is meant to initialize class and child class properties during each new
-      child class creation; the <function>_class_init()</function> function,
+      Each element has two functions which are used for construction of an
+      element. The <function>_class_init()</function> function,
       which is used to initialise the class only once (specifying what signals,
       arguments and virtual functions the class has and setting up global
       state); and the <function>_init()</function> function, which is used to
diff --git a/docs/pwg/building-chainfn.xml b/docs/pwg/building-chainfn.xml
index a946080..137ca49 100644
--- a/docs/pwg/building-chainfn.xml
+++ b/docs/pwg/building-chainfn.xml
@@ -14,20 +14,39 @@
 #include "init.func"
 #include "caps.func"
 static gboolean
-gst_my_filter_event (GstPad * pad, GstEvent * event)
+gst_my_filter_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
-  return gst_pad_event_default (pad, event);
+  return gst_pad_event_default (pad, parent, event);
 }
 --><!-- example-end chain.c a -->
 <!-- example-begin chain.c b -->
+static GstFlowReturn gst_my_filter_chain (GstPad    *pad,
+                                          GstObject *parent,
+                                          GstBuffer *buf);
+
+[..]
+
+static void
+gst_my_filter_init (GstMyFilter * filter)
+{
+[..]
+  /* configure chain function on the pad before adding
+   * the pad to the element */
+  gst_pad_set_chain_function (filter-&gt;sinkpad,
+      gst_my_filter_chain);
+[..]
+}
+
 static GstFlowReturn
 gst_my_filter_chain (GstPad    *pad,
+                     GstObject *parent,
 		     GstBuffer *buf)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
+  GstMyFilter *filter = GST_MY_FILTER (parent);
 
   if (!filter->silent)
-    g_print ("Have data of size %u bytes!\n", GST_BUFFER_SIZE (buf));
+    g_print ("Have data of size %" G_GSIZE_FORMAT" bytes!\n",
+        gst_buffer_get_size (buf));
 
   return gst_pad_push (filter->srcpad, buf);
 }
@@ -44,10 +63,12 @@
   <para>
     Obviously, the above doesn't do much useful. Instead of printing that the
     data is in, you would normally process the data there. Remember, however,
-    that buffers are not always writeable. In more advanced elements (the ones
-    that do event processing), you may want to additionally specify an event
-    handling function, which will be called when stream-events are sent (such
-    as end-of-stream, newsegment, tags, etc.).
+    that buffers are not always writeable.
+  </para>
+  <para>
+    In more advanced elements (the ones that do event processing), you may want
+    to additionally specify an event handling function, which will be called
+    when stream-events are sent (such as caps, end-of-stream, newsegment, tags, etc.).
   </para>
   <programlisting>
 static void
@@ -55,7 +76,7 @@
 {
 [..]
   gst_pad_set_event_function (filter-&gt;sinkpad,
-      gst_my_filter_event);
+      gst_my_filter_sink_event);
 [..]
 }
 <!-- example-begin chain2.c a --><!--
@@ -77,12 +98,16 @@
 --><!-- example-end chain.func a -->
 <!-- example-begin chain.func b -->
 static gboolean
-gst_my_filter_event (GstPad   *pad,
-		     GstEvent *event)
+gst_my_filter_sink_event (GstPad    *pad,
+		          GstObject *parent,
+		          GstEvent  *event)
 {
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
+  GstMyFilter *filter = GST_MY_FILTER (parent);
 
   switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:
+      /* we should handle the format here */
+      break;
     case GST_EVENT_EOS:
       /* end-of-stream, we should close down all stream leftovers here */
       gst_my_filter_stop_processing (filter);
@@ -91,14 +116,15 @@
       break;
   }
 
-  return gst_pad_event_default (pad, event);
+  return gst_pad_event_default (pad, parent, event);
 }
 
 static GstFlowReturn
 gst_my_filter_chain (GstPad    *pad,
+		     GstObject *parent,
 		     GstBuffer *buf)
 {
-  GstMyFilter *filter = GST_MY_FILTER (gst_pad_get_parent (pad));
+  GstMyFilter *filter = GST_MY_FILTER (parent);
   GstBuffer *outbuf;
 
   outbuf = gst_my_filter_process_data (filter, buf);
diff --git a/docs/pwg/building-eventfn.xml b/docs/pwg/building-eventfn.xml
new file mode 100644
index 0000000..51836ef
--- /dev/null
+++ b/docs/pwg/building-eventfn.xml
@@ -0,0 +1,78 @@
+
+<!-- ############ chapter ############# -->
+
+<chapter id="chapter-building-eventfn">
+  <title>The event function</title>
+  <para>
+    The event function notifies you of special events that happen in
+    the datastream (such as caps, end-of-stream, newsegment, tags, etc.).
+    Events can travel both upstream and downstream, so you can receive them
+    on sink pads as well as source pads. 
+  </para>
+  <para>
+    Below follows a very simple event function that we install on the sink
+    pad of our element.
+  </para>
+  <programlisting><!-- example-begin event.c a --><!--
+#include "init.func"
+#include "caps.func"
+static gboolean
+gst_my_filter_event (GstPad * pad, GstObject * parent, GstEvent * event)
+{
+  return gst_pad_event_default (pad, parent, event);
+}
+--><!-- example-end event.c a -->
+static gboolean gst_my_filter_sink_event (GstPad    *pad,
+                                          GstObject *parent,
+                                          GstBuffer *buf);
+
+[..]
+
+static void
+gst_my_filter_init (GstMyFilter * filter)
+{
+[..]
+  /* configure event function on the pad before adding
+   * the pad to the element */
+  gst_pad_set_event_function (filter-&gt;sinkpad,
+      gst_my_filter_sink_event);
+[..]
+}
+
+static gboolean
+gst_my_filter_sink_event (GstPad    *pad,
+		          GstObject *parent,
+		          GstEvent  *event)
+{
+  gboolean ret;
+  GstMyFilter *filter = GST_MY_FILTER (parent);
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:
+      /* we should handle the format here */
+
+      /* push the event downstream */
+      ret = gst_pad_push_event (filter->srcpad, event);
+      break;
+    case GST_EVENT_EOS:
+      /* end-of-stream, we should close down all stream leftovers here */
+      gst_my_filter_stop_processing (filter);
+
+      ret = gst_pad_event_default (pad, parent, event);
+      break;
+    default:
+      /* just call the default handler */
+      ret = gst_pad_event_default (pad, parent, event);
+      break;
+  }
+  return ret;
+}
+  </programlisting>
+  <para>
+    It is a good idea to call the default event handler
+    <function>gst_pad_event_default ()</function> for unknown events.
+    Depending on the event type, the default handler will forward 
+    the event or simply unref it. The CAPS event is by default not
+    forwarded so we need to do this in the event handler ourselves.
+  </para>
+</chapter>
diff --git a/docs/pwg/building-pads.xml b/docs/pwg/building-pads.xml
index 06b3273..5e31648 100644
--- a/docs/pwg/building-pads.xml
+++ b/docs/pwg/building-pads.xml
@@ -8,17 +8,18 @@
     of your element, and that makes them a very important item in the process
     of element creation. In the boilerplate code, we have seen how static pad
     templates take care of registering pad templates with the element class.
-    Here, we will see how to create actual elements, use a <function>_setcaps
-    ()</function>-functions to configure for a particular format and how to
+    Here, we will see how to create actual elements, use an <function>_event
+    ()</function>-function to configure for a particular format and how to
     register functions to let data flow through the element.
   </para>
   <para>
     In the element <function>_init ()</function> function, you create the pad
     from the pad template that has been registered with the element class in
-    the <function>_base_init ()</function> function. After creating the pad,
-    you have to set a <function>_setcaps ()</function> function pointer and
-    optionally a <function>_getcaps ()</function> function pointer. Also, you
-    have to set a <function>_chain ()</function> function pointer.
+    the <function>_class_init ()</function> function. After creating the pad,
+    you have to set a <function>_chain ()</function> function pointer that will
+    receive and process the input data on the sinkpad.
+    You can optionally also set an <function>_event ()</function> function
+    pointer and a <function>_query ()</function> function pointer.
     Alternatively, pads can also operate in looping mode, which means that they
     can pull data themselves. More on this topic later. After that, you have
     to register the pad with the element. This happens like this:
@@ -30,26 +31,20 @@
 static GstStateChangeReturn
 gst_my_filter_change_state (GstElement * element, GstStateChange transition);
 
-GST_BOILERPLATE (GstMyFilter, gst_my_filter, GstElement, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
 
 static void
-gst_my_filter_base_init (gpointer klass)
+gst_my_filter_class_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  static GstElementDetails my_filter_details = {
-    "An example plugin",
-    "Example/FirstExample",
-    "Shows the basic structure of a plugin",
-    "your name <your.name@your.isp>"
-  };
-  static GstStaticPadTemplate sink_factory =
+  static GstStaticPadTemplate sink_template =
   GST_STATIC_PAD_TEMPLATE (
     "sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("ANY")
   );
-  static GstStaticPadTemplate src_factory =
+  static GstStaticPadTemplate src_template =
   GST_STATIC_PAD_TEMPLATE (
     "src",
     GST_PAD_SRC,
@@ -57,11 +52,16 @@
     GST_STATIC_CAPS ("ANY")
   );
 
-  gst_element_class_set_details (element_class, &my_filter_details);
+  gst_element_class_set_static_metadata (element_class,
+    "An example plugin",
+    "Example/FirstExample",
+    "Shows the basic structure of a plugin",
+    "your name <your.name@your.isp>");
+
   gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&src_factory));
+        gst_static_pad_template_get (&src_template));
   gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&sink_factory));
+        gst_static_pad_template_get (&sink_template));
 }
 
 static void
@@ -70,43 +70,45 @@
   GST_ELEMENT_CLASS (klass)->change_state = gst_my_filter_change_state;
 }
 --><!-- example-end init.func a -->
-<!-- example-begin init.func b -->
-static gboolean		gst_my_filter_setcaps	(GstPad        *pad,
-						 GstCaps       *caps);
-static GstFlowReturn	gst_my_filter_chain	(GstPad        *pad,
-						 GstBuffer     *buf);
-<!-- example-end init.func b -->
 <!-- example-begin init.func c --><!--
-static GstCaps *	gst_my_filter_getcaps	(GstPad        *pad);
-static gboolean		gst_my_filter_event	(GstPad        *pad,
-						 GstEvent      *event);
+static GstFlowReturn	gst_my_filter_chain	 (GstPad        *pad,
+                                                  GstObject     *parent,
+						  GstBuffer     *buf);
+static gboolean		gst_my_filter_sink_event (GstPad        *pad,
+                                                  GstObject     *parent,
+						  GstEvent      *event);
+static gboolean 	gst_my_filter_src_query  (GstPad        *pad,
+                                                  GstObject     *parent,
+                                                  GstQuery      *query);
+static gboolean 	gst_my_filter_sink_query (GstPad        *pad,
+                                                  GstObject     *parent,
+                                                  GstQuery      *query);
 --><!-- example-end init.func c -->
 <!-- example-begin init.func d -->
 
 static void
-gst_my_filter_init (GstMyFilter *filter, GstMyFilterClass *filter_klass)
+gst_my_filter_init (GstMyFilter *filter)
 {
-  GstElementClass *klass = GST_ELEMENT_CLASS (filter_klass);
-
   /* pad through which data comes in to the element */
-  filter-&gt;sinkpad = gst_pad_new_from_template (
-	gst_element_class_get_pad_template (klass, "sink"), "sink");
-  gst_pad_set_setcaps_function (filter-&gt;sinkpad, gst_my_filter_setcaps);
-  gst_pad_set_chain_function (filter-&gt;sinkpad, gst_my_filter_chain);
+  filter-&gt;sinkpad = gst_pad_new_from_static_template (
+	&amp;sink_template, "sink");
+  /* pads are configured here with gst_pad_set_*_function () */
 <!-- example-end init.func d -->
 <!-- example-begin init.func e --><!--
-  gst_pad_set_getcaps_function (filter-&gt;sinkpad, gst_my_filter_getcaps);
-  gst_pad_set_event_function (filter-&gt;sinkpad, gst_my_filter_event);
+  gst_pad_set_chain_function (filter-&gt;sinkpad, gst_my_filter_chain);
+  gst_pad_set_event_function (filter-&gt;sinkpad, gst_my_filter_sink_event);
+  gst_pad_set_query_function (filter-&gt;sinkpad, gst_my_filter_sink_query);
 --><!-- example-end init.func e -->
 <!-- example-begin init.func f -->
   gst_element_add_pad (GST_ELEMENT (filter), filter-&gt;sinkpad);
 
   /* pad through which data goes out of the element */
-  filter-&gt;srcpad = gst_pad_new_from_template (
-	gst_element_class_get_pad_template (klass, "src"), "src");
+  filter-&gt;srcpad = gst_pad_new_from_static_template (
+	&amp;src_template, "src");
+  /* pads are configured here with gst_pad_set_*_function () */
 <!-- example-end init.func f -->
 <!-- example-begin init.func g --><!--
-  gst_pad_set_getcaps_function (filter-&gt;srcpad, gst_my_filter_getcaps);
+  gst_pad_set_query_function (filter-&gt;srcpad, gst_my_filter_src_query);
 --><!-- example-end init.func g -->
 <!-- example-begin init.func h -->
   gst_element_add_pad (GST_ELEMENT (filter), filter-&gt;srcpad);
@@ -116,105 +118,19 @@
 }
   <!-- example-end init.func h --></programlisting>
 
-  <sect1 id="section-pads-linkfn" xreflabel="The link function">
-  <title>The setcaps-function</title>
-  <para>
-    The <function>_setcaps ()</function>-function is called during caps
-    negotiation, which is discussed in great detail in <xref
-    linkend="chapter-negotiation"/>. This is the process where the linked
-    pads decide on the streamtype that will transfer between them. A full
-    list of type-definitions can be found in <xref
-    linkend="chapter-building-types"/>. A <function>_link ()</function>
-    receives a pointer to a <ulink type="http"
-    url="../../gstreamer/html/gstreamer-GstCaps.html"><classname>GstCaps</classname></ulink>
-    struct that defines the proposed streamtype, and can respond with
-    either <quote>yes</quote> (<symbol>TRUE</symbol>) or <quote>no</quote>
-    (<symbol>FALSE</symbol>). If the element responds positively towards
-    the streamtype, that type will be used on the pad. An example:
-  </para>
-  <programlisting><!-- example-begin caps.func a -->
-static gboolean
-gst_my_filter_setcaps (GstPad  *pad,
-		       GstCaps *caps)
-{
-  GstStructure *structure = gst_caps_get_structure (caps, 0);
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
-  const gchar *mime;
-
-  /* Since we're an audio filter, we want to handle raw audio
-   * and from that audio type, we need to get the samplerate and
-   * number of channels. */
-  mime = gst_structure_get_name (structure);
-  if (strcmp (mime, "audio/x-raw") != 0) {
-    GST_WARNING ("Wrong mimetype %s provided, we only support %s",
-		 mime, "audio/x-raw");
-    return FALSE;
-  }
-
-  /* we're a filter and don't touch the properties of the data.
-   * That means we can set the given caps unmodified on the next
-   * element, and use that negotiation return value as ours. */
-  if (!gst_pad_set_caps (filter-&gt;srcpad, caps))
-    return FALSE;
-
-  /* Capsnego succeeded, get the stream properties for internal
-   * usage and return success. */
-  gst_structure_get_int (structure, "rate", &amp;filter-&gt;samplerate);
-  gst_structure_get_int (structure, "channels", &amp;filter-&gt;channels);
-
-  g_print ("Caps negotiation succeeded with %d Hz @ %d channels\n",
-	   filter-&gt;samplerate, filter-&gt;channels);
-
-  return TRUE;
-}
-<!-- example-end caps.func a -->
-<!-- example-begin caps.func b --><!--
-static GstCaps *
-gst_my_filter_getcaps (GstPad * pad)
-{
-  GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
-  GstPad *otherpad = (pad == filter-&gt;srcpad) ? filter-&gt;sinkpad :
-						  filter-&gt;srcpad;
-  GstCaps *othercaps = gst_pad_get_allowed_caps (otherpad);
-
-  return othercaps;
-}
-  --><!-- example-end caps.func b --></programlisting>
-  <para>
-    In here, we check the mimetype of the provided caps. Normally, you don't
-    need to do that in your own plugin/element, because the core does that
-    for you. We simply use it to show how to retrieve the mimetype from a
-    provided set of caps. Types are stored in <ulink type="http"
-    url="../../gstreamer/html/gstreamer-GstStructure.html"><classname>GstStructure
-    </classname></ulink> internally. A <ulink
-    type="http" url="../../gstreamer/html/gstreamer-GstCaps.html"><classname>GstCaps
-    </classname></ulink> is nothing more than a small
-    wrapper for 0 or more structures/types. From the structure, you can also
-    retrieve properties, as is shown above with the function
-    <function>gst_structure_get_int ()</function>.
-  </para>
-  <para>
-    If your <function>_link ()</function> function does not need to perform
-    any specific operation (i.e. it will only forward caps), you can set it
-    to <function>gst_pad_proxy_link ()</function>. This is a link forwarding
-    function implementation provided by the core. It is useful for elements
-    such as <classname>identity</classname>.
-  </para>
-  </sect1>
 <!-- example-begin pads.c --><!--
 #include "init.func"
-#include "caps.func"
 
 static gboolean
-gst_my_filter_event (GstPad * pad, GstEvent * event)
+gst_my_filter_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
-  return gst_pad_event_default (pad, event);
+  return gst_pad_event_default (pad, parent, event);
 }
 
 static GstFlowReturn
-gst_my_filter_chain (GstPad * pad, GstBuffer * buf)
+gst_my_filter_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
 {
-  return gst_pad_push (GST_MY_FILTER (GST_OBJECT_PARENT (pad))->srcpad, buf);
+  return gst_pad_push (GST_MY_FILTER (parent)->srcpad, buf);
 }
 
 static GstStateChangeReturn
diff --git a/docs/pwg/building-props.xml b/docs/pwg/building-props.xml
index 9907b88..10f7d77 100644
--- a/docs/pwg/building-props.xml
+++ b/docs/pwg/building-props.xml
@@ -1,7 +1,7 @@
 <!-- ############ chapter ############# -->
 
-<chapter id="chapter-building-args" xreflabel="Adding Arguments">
-  <title>Adding Arguments</title>
+<chapter id="chapter-building-args" xreflabel="Adding Properties">
+  <title>Adding Properties</title>
   <para>
     The primary and most important way of controlling how an element behaves,
     is through GObject properties. GObject properties are defined in the
@@ -12,11 +12,19 @@
     and can then fill in the value or take action required for that property
     to change value internally.
   </para>
+  <para>
+    You probably also want to keep an instance variable around
+    with the currently configured value of the property that you use in the
+    get and set functions. 
+    Note that <classname>GObject</classname> will not automatically set your
+    instance variable to the default value, you will have to do that in the
+    <function>_init ()</function> function of your element.
+  </para>
   <programlisting><!-- example-begin properties.c a --><!--
 #include "filter.h"
-GST_BOILERPLATE (GstMyFilter, gst_my_filter, GstElement, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
 static void
-gst_my_filter_base_init (gpointer klass)
+gst_my_filter_class_init (gpointer klass)
 {
 }
 static void
@@ -27,8 +35,8 @@
 <!-- example-begin properties.c b -->
 /* properties */
 enum {
-  ARG_0,
-  ARG_SILENT
+  PROP_0,
+  PROP_SILENT
   /* FILL ME */
 };
 
@@ -46,15 +54,15 @@
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  /* define properties */
-  g_object_class_install_property (object_class, ARG_SILENT,
-    g_param_spec_boolean ("silent", "Silent",
-			  "Whether to be very verbose or not",
-			  FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
   /* define virtual function pointers */
   object_class->set_property = gst_my_filter_set_property;
   object_class->get_property = gst_my_filter_get_property;
+
+  /* define properties */
+  g_object_class_install_property (object_class, PROP_SILENT,
+    g_param_spec_boolean ("silent", "Silent",
+			  "Whether to be very verbose or not",
+			  FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 }
 
 static void
@@ -66,7 +74,7 @@
   GstMyFilter *filter = GST_MY_FILTER (object);
 
   switch (prop_id) {
-    case ARG_SILENT:
+    case PROP_SILENT:
       filter->silent = g_value_get_boolean (value);
       g_print ("Silent argument was changed to %s\n",
 	       filter->silent ? "true" : "false");
@@ -86,7 +94,7 @@
   GstMyFilter *filter = GST_MY_FILTER (object);
                                                                                 
   switch (prop_id) {
-    case ARG_SILENT:
+    case PROP_SILENT:
       g_value_set_boolean (value, filter->silent);
       break;
     default:
@@ -99,10 +107,10 @@
 #include "register.func"
   --><!-- example-end properties.c c --></programlisting>
   <para>
-    The above is a very simple example of how arguments are used. Graphical
-    applications - for example GStreamer Editor - will use these properties
-    and will display a user-controllable widget with which these properties
-    can be changed. This means that - for the property to be as user-friendly
+    The above is a very simple example of how properties are used. Graphical
+    applications will use these properties and will display a
+    user-controllable widget with which these properties can be changed.
+    This means that - for the property to be as user-friendly
     as possible - you should be as exact as possible in the definition of the
     property. Not only in defining ranges in between which valid properties
     can be located (for integers, floats, etc.), but also in using very
@@ -150,11 +158,11 @@
 gst_videotestsrc_class_init (GstvideotestsrcClass *klass)
 {
 [..]
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_TYPE,
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_PATTERN,
     g_param_spec_enum ("pattern", "Pattern",
 		       "Type of test pattern to generate",
-		       GST_TYPE_VIDEOTESTSRC_PATTERN, 1, G_PARAM_READWRITE |
-                           G_PARAM_STATIC_STRINGS));
+                       GST_TYPE_VIDEOTESTSRC_PATTERN, GST_VIDEOTESTSRC_SMPTE,
+                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 [..]
 }
   </programlisting>
diff --git a/docs/pwg/building-state.xml b/docs/pwg/building-state.xml
index b5011f5..f07ccef 100644
--- a/docs/pwg/building-state.xml
+++ b/docs/pwg/building-state.xml
@@ -86,8 +86,8 @@
     GstElement or some other class not built on top of a base class, you 
     will most likely have to implement your own state change function to
     be notified of state changes. This is definitively necessary if your
-    plugin is a decoder or an encoder, as there are no base classes for
-    decoders or encoders yet.
+    plugin is a demuxer or a muxer, as there are no base classes for
+    muxers or demuxers yet.
   </para>
   <para>
     An element can be notified of state changes through a virtual function
diff --git a/docs/pwg/building-testapp.xml b/docs/pwg/building-testapp.xml
index 2172a19..43a16f9 100644
--- a/docs/pwg/building-testapp.xml
+++ b/docs/pwg/building-testapp.xml
@@ -4,7 +4,7 @@
   <title>Building a Test Application</title>
   <para>
     Often, you will want to test your newly written plugin in an as small
-    setting as possible. Usually, <filename>gst-launch</filename> is a
+    setting as possible. Usually, <filename>gst-launch-1.0</filename> is a
     good first step at testing a plugin. If you have not installed your
     plugin in a directory that GStreamer searches, then you will need to
     set the plugin path. Either set GST_PLUGIN_PATH to the directory
@@ -12,10 +12,10 @@
     If you based your plugin off of the gst-plugin template, then this
     will look something like
     <command>
-    gst-launch --gst-plugin-path=$HOME/gst-template/gst-plugin/src/.libs TESTPIPELINE
+    gst-launch-1.0 --gst-plugin-path=$HOME/gst-template/gst-plugin/src/.libs TESTPIPELINE
     </command>
     However, you will often need more
-    testing features than gst-launch can provide, such as seeking, events,
+    testing features than gst-launch-1.0 can provide, such as seeking, events,
     interactivity and more. Writing your own small testing program is the
     easiest way to accomplish this. This section explains - in a few words
     - how to do that. For a complete application development guide, see the
@@ -26,9 +26,9 @@
     <para>
       At the start, you need to initialize the &GStreamer; core library by
       calling <function>gst_init ()</function>. You can alternatively call
-      <function>gst_init_with_popt_tables ()</function>, which will return
-      a pointer to popt tables. You can then use libpopt to handle the
-      given argument table, and this will finish the &GStreamer; initialization.
+      <function>gst_init_get_option_group ()</function>, which will return
+      a pointer to GOptionGroup. You can then use GOption to handle the
+      initialization, and this will finish the &GStreamer; initialization.
     </para>
 
     <para>
@@ -43,22 +43,19 @@
       application. Also, you can use a <classname>fakesink</classname>
       element at the end of the pipeline to dump your data to the stdout
       (in order to do this, set the <function>dump</function> property to
-      TRUE). Lastly, you can use the <classname>efence</classname> element
-      (indeed, an eletric fence memory debugger wrapper element) to check
-      for memory errors.
+      TRUE). Lastly, you can use valgrind to check for memory errors.
     </para>
 
     <para>
-      During linking, your test application can use fixation or filtered caps
+      During linking, your test application can use filtered caps
       as a way to drive a specific type of data to or from your element. This
       is a very simple and effective way of checking multiple types of input
       and output in your element.
     </para>
 
     <para>
-      Running the pipeline happens through the <function>gst_bin_iterate ()</function>
-      function. Note that during running, you should connect to at least the
-      <quote>error</quote> and <quote>eos</quote> signals on the pipeline
+      Note that during running, you should listen for at least the
+      <quote>error</quote> and <quote>eos</quote> messages on the bus
       and/or your plugin/element to check for correct handling of this. Also,
       you should add events into the pipeline and make sure your plugin handles
       these correctly (with respect to clocking, internal caching, etc.).
@@ -120,6 +117,7 @@
   GstElement *convert1, *convert2, *resample;
   GMainLoop *loop;
   GstBus *bus;
+  guint watch_id;
 
   /* initialization */
   gst_init (&amp;argc, &amp;argv);
@@ -135,7 +133,7 @@
   /* watch for messages on the pipeline's bus (note that this will only
    * work like this when a GLib main loop is running) */
   bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
-  gst_bus_add_watch (bus, bus_call, loop);
+  watch_id = gst_bus_add_watch (bus, bus_call, loop);
   gst_object_unref (bus);
 
   filesrc  = gst_element_factory_make ("filesrc", "my_filesource");
@@ -154,7 +152,7 @@
    * depending on the environment (output used, sound card, driver etc.) */
   convert2 = gst_element_factory_make ("audioconvert", "audioconvert2");
   resample = gst_element_factory_make ("audioresample", "audioresample");
-  sink     = gst_element_factory_make ("osssink", "audiosink");
+  sink     = gst_element_factory_make ("pulsesink", "audiosink");
 
   if (!sink || !decoder) {
     g_print ("Decoder or output could not be found - check your install\n");
@@ -165,9 +163,9 @@
     return -1;
   } else if (!filter) {
     g_print ("Your self-written filter could not be found. Make sure it "
-             "is installed correctly in $(libdir)/gstreamer-0.10/ or "
-             "~/.gstreamer-0.10/plugins/ and that gst-inspect-0.10 lists it. "
-             "If it doesn't, check with 'GST_DEBUG=*:2 gst-inspect-0.10' for "
+             "is installed correctly in $(libdir)/gstreamer-1.0/ or "
+             "~/.gstreamer-1.0/plugins/ and that gst-inspect-1.0 lists it. "
+             "If it doesn't, check with 'GST_DEBUG=*:2 gst-inspect-1.0' for "
              "the reason why it is not being loaded.");
     return -1;
   }
@@ -209,6 +207,8 @@
   /* clean up */
   gst_element_set_state (pipeline, GST_STATE_NULL);
   gst_object_unref (pipeline);
+  g_source_remove (watch_id);
+  g_main_loop_unref (loop);
 
   return 0;
 }
diff --git a/docs/pwg/intro-basics.xml b/docs/pwg/intro-basics.xml
index 9b05369..4a50e91 100644
--- a/docs/pwg/intro-basics.xml
+++ b/docs/pwg/intro-basics.xml
@@ -39,7 +39,7 @@
       processes a stream of data. Producers and consumers of data are called
       <emphasis>source</emphasis> and <emphasis>sink</emphasis> elements,
       respectively. <emphasis>Bin</emphasis> elements contain other elements.
-      One type of bin is responsible for scheduling the elements that they
+      One type of bin is responsible for synchronization of the elements that they
       contain so that data flows smoothly. Another type of bin, called
       <emphasis>autoplugger</emphasis> elements, automatically add other
       elements to the bin and links them together so that they act as a
@@ -49,10 +49,10 @@
       The plugin mechanism is used everywhere in &GStreamer;, even if only the
       standard packages are being used. A few very basic functions reside in the
       core library, and all others are implemented in plugins. A plugin registry
-      is used to store the details of the plugins in an XML file. This way, a
-      program using &GStreamer; does not have to load all plugins to determine
-      which are needed. Plugins are only loaded when their provided elements are
-      requested.
+      is used to store the details of the plugins in an binary registry file.
+      This way, a program using &GStreamer; does not have to load all plugins to
+      determine which are needed. Plugins are only loaded when their provided
+      elements are requested.
     </para>
     <para>
       See the &GstLibRef; for the current implementation details of <ulink
@@ -105,35 +105,35 @@
   <!-- ############ sect1 ############# -->
 
   <sect1 id="section-basics-data" xreflabel="Data, Buffers and Events">
-    <title>Data, Buffers and Events</title>
+    <title>GstMiniObject, Buffers and Events</title>
     <para>
       All streams of data in &GStreamer; are chopped up into chunks that are
       passed from a source pad on one element to a sink pad on another element.
-      <emphasis>Data</emphasis> are structures used to hold these chunks of
-      data.
+      <emphasis>GstMiniObject</emphasis> is the structure used to hold these
+      chunks of data.
     </para>
     <para>
-      Data contains the following important types:
+      GstMiniObject contains the following important types:
       <itemizedlist>
         <listitem>
           <para>
-            An exact type indicating what type of data (control, content, ...)
-            this Data is.
+            An exact type indicating what type of data (event, buffer, ...)
+            this GstMiniObject is.
           </para>
         </listitem>
         <listitem>
           <para>
             A reference count indicating the number of elements currently
-            holding a reference to the buffer. When the buffer reference count
-            falls to zero, the buffer will be unlinked, and its memory will be
+            holding a reference to the miniobject. When the reference count
+            falls to zero, the miniobject will be disposed, and its memory will be
             freed in some sense (see below for more details).
           </para>
         </listitem>
       </itemizedlist>
     </para>
     <para>
-      There are two types of data defined: events (control) and buffers
-      (content).
+      For data transport, there are two types of GstMiniObject defined:
+      events (control) and buffers (content).
     </para>
     <para>
       Buffers may contain any sort of data that the two linked pads
@@ -146,12 +146,8 @@
       <itemizedlist>
         <listitem>
           <para>
-            A pointer to the buffer's data.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            An integer indicating the size of the buffer's data.
+            Pointers to one or more GstMemory objects. GstMemory objects are
+            refcounted objects that encapsulate a region of memory.
           </para>
         </listitem>
         <listitem>
@@ -167,7 +163,7 @@
       contain information on the state of the stream flowing between the two
       linked pads. Events will only be sent if the element explicitly supports
       them, else the core will (try to) handle the events automatically. Events
-      are used to indicate, for example, a clock discontinuity, the end of a
+      are used to indicate, for example, a media type, the end of a
       media stream or that the cache should be flushed.
     </para>
     <para>
@@ -220,21 +216,16 @@
       </para>
       <para>
         Another way an element might get specialized buffers is to
-	request them from a downstream peer.  These are called
-	downstream-allocated buffers.  Elements can ask a
-	peer connected to a source pad to create an empty buffer of
-	a given size.  If a downstream element is able to create a
-	special buffer of the correct size, it will do so.  Otherwise
-	&GStreamer; will automatically create a generic buffer instead.
-	The element that requested the buffer can then copy data into
-	the buffer, and push the buffer to the source pad it was
-	allocated from.
+        request them from a downstream peer through a GstBufferPool or
+        GstAllocator.  Elements can ask a GstBufferPool or GstAllocator
+        from the downstream peer element. If downstream is able to provide
+        these objects, upstream can use them to allocate buffers.
       </para>
       <para>
         Many sink elements have accelerated methods for copying data
 	to hardware, or have direct access to hardware.  It is common
-	for these elements to be able to create downstream-allocated
-	buffers for their upstream peers.  One such example is
+        for these elements to be able to create a GstBufferPool or 
+        GstAllocator for their upstream peers.  One such example is
 	ximagesink.  It creates buffers that contain XImages.  Thus,
 	when an upstream peer copies data into the buffer, it is copying
 	directly into the XImage, enabling ximagesink to draw the
@@ -256,7 +247,7 @@
   <!-- ############ sect1 ############# -->
 
   <sect1 id="section-basics-types" xreflabel="Types and Properties">
-    <title>Mimetypes and Properties</title>
+    <title>Media types and Properties</title>
     <para>
       &GStreamer; uses a type system to ensure that the data passed between
       elements is in a recognized format. The type system is also important
@@ -273,7 +264,7 @@
       <para>
         &GStreamer; already supports many basic media types. Following is a
         table of a few of the basic types used for buffers in
-        &GStreamer;. The table contains the name ("mime type") and a
+        &GStreamer;. The table contains the name ("media type") and a
         description of the type, the properties associated with the type, and
         the meaning of each property. A full list of supported types is
         included in <xref linkend="section-types-definitions"/>.
@@ -285,7 +276,7 @@
 
         <thead>
           <row>
-            <entry>Mime Type</entry>
+            <entry>Media Type</entry>
             <entry>Description</entry>
             <entry>Property</entry>
             <entry>Property Type</entry>
diff --git a/docs/pwg/intro-preface.xml b/docs/pwg/intro-preface.xml
index e6b868c..bb6699f 100644
--- a/docs/pwg/intro-preface.xml
+++ b/docs/pwg/intro-preface.xml
@@ -23,7 +23,7 @@
       The pipeline design is made to have little overhead above what the
       applied filters induce. This makes &GStreamer; a good framework for
       designing even high-end audio applications which put high demands on
-      latency. 
+      latency or performance. 
     </para> 
 
     <para>
@@ -40,15 +40,13 @@
     <para>
       The framework is based on plugins that will provide the various codec 
       and other functionality. The plugins can be linked and arranged in
-      a pipeline. This pipeline defines the flow of the data. Pipelines can 
-      also be edited with a GUI editor and saved as XML so that pipeline
-      libraries can be made with a minimum of effort.
+      a pipeline. This pipeline defines the flow of the data.
     </para> 
 
     <para>
       The &GStreamer; core function is to provide a framework for plugins,
-      data flow and media type handling/negotiation. It also provides an
-      API to write applications using the various plugins.
+      data flow, synchronization and media type handling/negotiation. It
+      also provides an API to write applications using the various plugins.
     </para> 
   </sect1>
 
@@ -289,7 +287,7 @@
       </listitem>
       <listitem>
         <para>
-          Adding new mime-types to the registry along with typedetect functions.
+          Adding new media types to the registry along with typedetect functions.
           This will allow your plugin to operate on a completely new media type.
         </para>
       </listitem>
diff --git a/docs/pwg/other-base.xml b/docs/pwg/other-base.xml
index 18596d7..484f436 100644
--- a/docs/pwg/other-base.xml
+++ b/docs/pwg/other-base.xml
@@ -35,6 +35,10 @@
       automatically.
     </para>
     <para>
+      The base class implement much of the synchronization logic that a
+      sink has to perform.
+    </para>
+    <para>
       The <classname>GstBaseSink</classname> base-class specifies some
       limitations on elements, though:
     </para>
@@ -42,36 +46,18 @@
       <listitem>
         <para>
           It requires that the sink only has one sinkpad. Sink elements that
-          need more than one sinkpad, cannot use this base-class.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          The base-class owns the pad, and specifies caps negotiation, data
-          handling, pad allocation and such functions. If you need more than
-          the ones provided as virtual functions, then you cannot use this
-          base-class.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          By implementing the <function>pad_allocate ()</function> function,
-          it is possible for upstream elements to use special memory, such
-          as memory on the X server side that only the sink can allocate, or
-          even hardware memory <function>mmap ()</function>'ed from the kernel.
-          Note that in almost all cases, you will want to subclass the
-          <classname>GstBuffer</classname> object, so that your own set of
-          functions will be called when the buffer loses its last reference.
+          need more than one sinkpad, must make a manager element with
+          multiple GstBaseSink elements inside.
         </para>
       </listitem>
     </itemizedlist>
     <para>
       Sink elements can derive from <classname>GstBaseSink</classname> using
-      the usual <classname>GObject</classname> type creation voodoo, or by
-      using the convenience macro <function>GST_BOILERPLATE ()</function>:
+      the usual <classname>GObject</classname> convenience macro
+      <function>G_DEFINE_TYPE ()</function>:
     </para>
     <programlisting>
-GST_BOILERPLATE_FULL (GstMySink, gst_my_sink, GstBaseSink, GST_TYPE_BASE_SINK);
+G_DEFINE_TYPE (GstMySink, gst_my_sink, GST_TYPE_BASE_SINK);
 
 [..]
 
@@ -109,13 +95,19 @@
       <title>Writing an audio sink</title>
       <para>
         Essentially, audio sink implementations are just a special case of a
-        general sink. There are two audio base classes that you can choose to
+        general sink. An audio sink has the added complexity that it needs to
+        schedule playback of samples. It must match the clock selected in the
+        pipeline against the clock of the audio device and calculate and
+        compensate for drift and jitter.
+      </para>
+      <para>
+        There are two audio base classes that you can choose to
         derive from, depending on your needs:
-        <classname>GstBaseAudiosink</classname> and
-        <classname>GstAudioSink</classname>. The baseaudiosink provides full
+        <classname>GstAudioBasesink</classname> and
+        <classname>GstAudioSink</classname>. The audiobasesink provides full
         control over how synchronization and scheduling is handled, by using
         a ringbuffer that the derived class controls and provides. The
-        audiosink base-class is a derived class of the baseaudiosink,
+        audiosink base-class is a derived class of the audiobasesink,
         implementing a standard ringbuffer implementing default
         synchronization and providing a standard audio-sample clock. Derived
         classes of this base class merely need to provide a <function>_open
@@ -123,7 +115,7 @@
         ()</function> function implementation, and some optional functions.
         This should suffice for many sound-server output elements and even
         most interfaces. More demanding audio systems, such as Jack, would
-        want to implement the <classname>GstBaseAudioSink</classname>
+        want to implement the <classname>GstAudioBaseSink</classname>
         base-class.
       </para>
       <para>
@@ -243,15 +235,9 @@
       <listitem>
         <para>
           There is one and only one sourcepad. Source elements requiring
-          multiple sourcepads cannot use this base-class.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Since the base-class owns the pad and derived classes can only
-          control it as far as the virtual functions allow, you are limited
-          to the functionality provided by the virtual functions. If you need
-          more, you cannot use this base-class.
+          multiple sourcepads must implement a manager bin and use multiple
+          source elements internally or make a manager element that uses
+          a source element and a demuxer inside.
         </para>
       </listitem>
     </itemizedlist>
@@ -259,9 +245,6 @@
       It is possible to use special memory, such as X server memory pointers
       or <function>mmap ()</function>'ed memory areas, as data pointers in
       buffers returned from the <function>create()</function> virtual function.
-      In almost all cases, you will want to subclass
-      <classname>GstBuffer</classname> so that your own set of functions can
-      be called when the buffer is destroyed.
     </para>
 
     <sect2 id="section-base-audiosrc" xreflabel="Writing an audio source">
@@ -275,7 +258,7 @@
         linkend="section-base-audiosink"/>; one is ringbuffer-based, and
         requires the derived class to take care of its own scheduling,
         synchronization and such. The other is based on this
-        <classname>GstBaseAudioSrc</classname> and is called
+        <classname>GstAudioBaseSrc</classname> and is called
         <classname>GstAudioSrc</classname>, and provides a simple
         <function>open ()</function>, <function>close ()</function> and
         <function>read ()</function> interface, which is rather simple to
diff --git a/docs/pwg/other-manager.xml b/docs/pwg/other-manager.xml
index ebd1ace..5338114 100644
--- a/docs/pwg/other-manager.xml
+++ b/docs/pwg/other-manager.xml
@@ -30,7 +30,9 @@
     <listitem>
       <para>
         To embed an element, or a series of elements, into something that
-        looks and works like a simple element to the outside world.
+        looks and works like a simple element to the outside world. This
+        is particular handy for implementing sources and sink elements with
+        multiple pads.
       </para>
     </listitem>
   </itemizedlist>
diff --git a/docs/pwg/other-ntoone.xml b/docs/pwg/other-ntoone.xml
index 2196b4e..9efcff6 100644
--- a/docs/pwg/other-ntoone.xml
+++ b/docs/pwg/other-ntoone.xml
@@ -9,7 +9,7 @@
     and the N-to-1 element synchronizes those streams by
     expected-timestamp-based logic. This means it lets all streams wait
     except for the one that provides the earliest next-expected timestamp.
-    When that stream has passwed one buffer, the next
+    When that stream has passed one buffer, the next
     earliest-expected-timestamp is calculated, and we start back where we
     were, until all streams have reached EOS. There is a helper base class,
     called <classname>GstCollectPads</classname>, that will help you to do
@@ -72,7 +72,7 @@
 {
   GstAviMux *mux = GST_AVI_MUX (gst_pad_get_parent (pad));
   GstStructure *str = gst_caps_get_structure (caps, 0);
-  const gchar *mime = gst_structure_get_name (str);
+  const gchar *media = gst_structure_get_name (str);
 
   if (!strcmp (str, "audio/mpeg")) {
     /* get version, make sure it's 1, get layer, make sure it's 1-3,
diff --git a/docs/pwg/pwg.xml b/docs/pwg/pwg.xml
index 9a97b69..6d91f26 100644
--- a/docs/pwg/pwg.xml
+++ b/docs/pwg/pwg.xml
@@ -17,6 +17,7 @@
 <!ENTITY BUILDING_DEBUG       SYSTEM "building-debug.xml">
 <!ENTITY BUILDING_PADS        SYSTEM "building-pads.xml">
 <!ENTITY BUILDING_CHAINFN     SYSTEM "building-chainfn.xml">
+<!ENTITY BUILDING_EVENTFN     SYSTEM "building-eventfn.xml">
 <!ENTITY BUILDING_STATE       SYSTEM "building-state.xml">
 <!ENTITY BUILDING_PROPS       SYSTEM "building-props.xml">
 <!ENTITY BUILDING_SIGNALS     SYSTEM "building-signals.xml">
@@ -24,6 +25,7 @@
 
 <!-- Part 3: Advanced Filter Concepts -->
 <!ENTITY ADVANCED_NEGOTIATION SYSTEM "advanced-negotiation.xml">
+<!ENTITY ADVANCED_ALLOCATION  SYSTEM "advanced-allocation.xml">
 <!ENTITY ADVANCED_SCHEDULING  SYSTEM "advanced-scheduling.xml">
 <!ENTITY ADVANCED_TYPES       SYSTEM "advanced-types.xml">
 <!ENTITY ADVANCED_REQUEST     SYSTEM "advanced-request.xml">
@@ -116,6 +118,7 @@
     &BUILDING_BOILER;
     &BUILDING_PADS;
     &BUILDING_CHAINFN;
+    &BUILDING_EVENTFN;
     &BUILDING_STATE;
     &BUILDING_PROPS;
     &BUILDING_SIGNALS;
@@ -138,6 +141,7 @@
     </partintro>
 
     &ADVANCED_NEGOTIATION;
+    &ADVANCED_ALLOCATION;
     &ADVANCED_SCHEDULING;
     &ADVANCED_TYPES;
     &ADVANCED_REQUEST;
diff --git a/docs/pwg/titlepage.xml b/docs/pwg/titlepage.xml
index de135ff..e249d16 100644
--- a/docs/pwg/titlepage.xml
+++ b/docs/pwg/titlepage.xml
@@ -72,6 +72,15 @@
         </para>
       </authorblurb>
     </author>
+    <author>
+      <firstname>Wim</firstname>
+      <surname>Taymans</surname>
+      <authorblurb>
+        <para>
+	      <email>wim.taymans@gmail.com</email>
+        </para>
+      </authorblurb>
+    </author>
   </authorgroup>
 
   <legalnotice id="misc-legalnotice">
diff --git a/gst/gstelement.c b/gst/gstelement.c
index bf135a6..c8205df 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -1283,6 +1283,10 @@
     const gchar * description, const gchar * author)
 {
   g_return_if_fail (GST_IS_ELEMENT_CLASS (klass));
+  g_return_if_fail (longname != NULL && *longname != '\0');
+  g_return_if_fail (classification != NULL && *classification != '\0');
+  g_return_if_fail (description != NULL && *description != '\0');
+  g_return_if_fail (author != NULL && *author != '\0');
 
   gst_structure_id_set ((GstStructure *) klass->metadata,
       GST_QUARK (ELEMENT_METADATA_LONGNAME), G_TYPE_STRING, longname,
@@ -1320,6 +1324,10 @@
   GValue val = G_VALUE_INIT;
 
   g_return_if_fail (GST_IS_ELEMENT_CLASS (klass));
+  g_return_if_fail (longname != NULL && *longname != '\0');
+  g_return_if_fail (classification != NULL && *classification != '\0');
+  g_return_if_fail (description != NULL && *description != '\0');
+  g_return_if_fail (author != NULL && *author != '\0');
 
   g_value_init (&val, G_TYPE_STRING);
 
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index c97e8c9..0b1505d 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -177,6 +177,15 @@
   factory->interfaces = NULL;
 }
 
+#define CHECK_METADATA_FIELD(klass, name, key)                                 \
+  G_STMT_START {                                                               \
+    const gchar *metafield = gst_element_class_get_metadata (klass, key);      \
+    if (G_UNLIKELY (metafield == NULL || *metafield == '\0')) {                \
+      g_warning ("Element factory metadata for '%s' has no valid %s field", name, key);    \
+      goto detailserror;                                                       \
+    } \
+  } G_STMT_END;
+
 /**
  * gst_element_register:
  * @plugin: (allow-none): #GstPlugin to register the element with, or NULL for
@@ -233,12 +242,11 @@
   /* provide info needed during class structure setup */
   g_type_set_qdata (type, __gst_elementclass_factory, factory);
   klass = GST_ELEMENT_CLASS (g_type_class_ref (type));
-#if 0
-  /* FIXME */
-  if ((klass->details.longname == NULL) ||
-      (klass->details.klass == NULL) || (klass->details.author == NULL))
-    goto detailserror;
-#endif
+
+  CHECK_METADATA_FIELD (klass, name, GST_ELEMENT_METADATA_LONGNAME);
+  CHECK_METADATA_FIELD (klass, name, GST_ELEMENT_METADATA_KLASS);
+  CHECK_METADATA_FIELD (klass, name, GST_ELEMENT_METADATA_DESCRIPTION);
+  CHECK_METADATA_FIELD (klass, name, GST_ELEMENT_METADATA_AUTHOR);
 
   factory->type = type;
   factory->metadata = gst_structure_copy ((GstStructure *) klass->metadata);
@@ -312,15 +320,11 @@
     return FALSE;
   }
 
-#if 0
 detailserror:
   {
-    GST_WARNING_OBJECT (factory,
-        "The GstElementDetails don't seem to have been set properly");
     gst_element_factory_cleanup (factory);
     return FALSE;
   }
-#endif
 }
 
 /**
diff --git a/gst/gstghostpad.c b/gst/gstghostpad.c
index 590737a..2424cfd 100644
--- a/gst/gstghostpad.c
+++ b/gst/gstghostpad.c
@@ -57,6 +57,14 @@
 #define GST_PROXY_PAD_TARGET(pad)       (GST_PAD_PEER (GST_PROXY_PAD_INTERNAL (pad)))
 #define GST_PROXY_PAD_INTERNAL(pad)     (GST_PROXY_PAD_PRIVATE (pad)->internal)
 
+#define GST_PROXY_PAD_ACQUIRE_INTERNAL(pad, internal, retval)           \
+  internal =                                                            \
+      GST_PAD_CAST (gst_proxy_pad_get_internal (GST_PROXY_PAD_CAST (pad))); \
+  if (internal == NULL)                                                 \
+    return retval;
+
+#define GST_PROXY_PAD_RELEASE_INTERNAL(internal) gst_object_unref (internal);
+
 struct _GstProxyPadPrivate
 {
   GstPad *internal;
@@ -85,9 +93,10 @@
 
   g_return_val_if_fail (GST_IS_PROXY_PAD (pad), NULL);
 
-  internal = GST_PROXY_PAD_INTERNAL (pad);
+  GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, internal, NULL);
+
   g_value_init (&v, GST_TYPE_PAD);
-  g_value_set_object (&v, internal);
+  g_value_take_object (&v, internal);
   res = gst_iterator_new_single (GST_TYPE_PAD, &v);
   g_value_unset (&v);
 
@@ -115,8 +124,9 @@
   g_return_val_if_fail (GST_IS_PROXY_PAD (pad), GST_FLOW_ERROR);
   g_return_val_if_fail (GST_IS_BUFFER (buffer), GST_FLOW_ERROR);
 
-  internal = GST_PROXY_PAD_INTERNAL (pad);
+  GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, internal, GST_FLOW_NOT_LINKED);
   res = gst_pad_push (internal, buffer);
+  GST_PROXY_PAD_RELEASE_INTERNAL (internal);
 
   return res;
 }
@@ -142,8 +152,9 @@
   g_return_val_if_fail (GST_IS_PROXY_PAD (pad), GST_FLOW_ERROR);
   g_return_val_if_fail (GST_IS_BUFFER_LIST (list), GST_FLOW_ERROR);
 
-  internal = GST_PROXY_PAD_INTERNAL (pad);
+  GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, internal, GST_FLOW_NOT_LINKED);
   res = gst_pad_push_list (internal, list);
+  GST_PROXY_PAD_RELEASE_INTERNAL (internal);
 
   return res;
 }
@@ -171,8 +182,9 @@
   g_return_val_if_fail (GST_IS_PROXY_PAD (pad), GST_FLOW_ERROR);
   g_return_val_if_fail (buffer != NULL, GST_FLOW_ERROR);
 
-  internal = GST_PROXY_PAD_INTERNAL (pad);
+  GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, internal, GST_FLOW_NOT_LINKED);
   res = gst_pad_pull_range (internal, offset, size, buffer);
+  GST_PROXY_PAD_RELEASE_INTERNAL (internal);
 
   return res;
 }
@@ -277,8 +289,9 @@
 
   /* in both cases (SRC and SINK) we activate just the internal pad. The targets
    * will be activated later (or already in case of a ghost sinkpad). */
-  other = GST_PROXY_PAD_INTERNAL (pad);
+  GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, other, FALSE);
   ret = gst_pad_activate_mode (other, GST_PAD_MODE_PUSH, active);
+  GST_PROXY_PAD_RELEASE_INTERNAL (other);
 
   return ret;
 }
@@ -300,8 +313,9 @@
      * which will trigger gst_ghost_pad_activate_pull_default, which propagates even
      * further upstream */
     GST_LOG_OBJECT (pad, "pad is src, activate internal");
-    other = GST_PROXY_PAD_INTERNAL (pad);
+    GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, other, FALSE);
     ret = gst_pad_activate_mode (other, GST_PAD_MODE_PULL, active);
+    GST_PROXY_PAD_RELEASE_INTERNAL (other);
   } else if (G_LIKELY ((other = gst_pad_get_peer (pad)))) {
     /* We are SINK, the ghostpad is SRC, we propagate the activation upstream
      * since we hold a pointer to the upstream peer. */
@@ -365,8 +379,9 @@
       (active ? "" : "de"), GST_DEBUG_PAD_NAME (pad));
 
   /* just activate the internal pad */
-  other = GST_PROXY_PAD_INTERNAL (pad);
+  GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, other, FALSE);
   ret = gst_pad_activate_mode (other, GST_PAD_MODE_PUSH, active);
+  GST_PROXY_PAD_RELEASE_INTERNAL (other);
 
   return ret;
 }
@@ -386,8 +401,9 @@
      * activation function of the internal pad to propagate the activation
      * upstream */
     GST_LOG_OBJECT (pad, "pad is src, activate internal");
-    other = GST_PROXY_PAD_INTERNAL (pad);
+    GST_PROXY_PAD_ACQUIRE_INTERNAL (pad, other, FALSE);
     ret = gst_pad_activate_mode (other, GST_PAD_MODE_PULL, active);
+    GST_PROXY_PAD_RELEASE_INTERNAL (other);
   } else if (G_LIKELY ((other = gst_pad_get_peer (pad)))) {
     /* We are SINK and activated by the internal pad, propagate activation
      * upstream because we hold a ref to the upstream peer */
@@ -811,8 +827,7 @@
   g_return_val_if_fail (GST_PAD_CAST (gpad) != newtarget, FALSE);
   g_return_val_if_fail (newtarget != GST_PROXY_PAD_INTERNAL (gpad), FALSE);
 
-  /* no need for locking, the internal pad's lifecycle is directly linked to the
-   * ghostpad's */
+  GST_OBJECT_LOCK (gpad);
   internal = GST_PROXY_PAD_INTERNAL (gpad);
 
   if (newtarget)
@@ -821,7 +836,6 @@
     GST_DEBUG_OBJECT (gpad, "clearing target");
 
   /* clear old target */
-  GST_OBJECT_LOCK (gpad);
   if ((oldtarget = GST_PROXY_PAD_TARGET (gpad))) {
     GST_OBJECT_UNLOCK (gpad);
 
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
index e05cd22..eadb5e0 100644
--- a/gst/gstinfo.c
+++ b/gst/gstinfo.c
@@ -219,7 +219,7 @@
 static void gst_debug_reset_threshold (gpointer category, gpointer unused);
 static void gst_debug_reset_all_thresholds (void);
 
-#ifdef HAVE_PRINTF_EXTENSION
+#ifdef GST_USING_PRINTF_EXTENSION
 static int _gst_info_printf_extension_ptr (FILE * stream,
     const struct printf_info *info, const void *const *args);
 static int _gst_info_printf_extension_segment (FILE * stream,
@@ -331,7 +331,7 @@
   /* get time we started for debugging messages */
   _priv_gst_info_start_time = gst_util_get_timestamp ();
 
-#ifdef HAVE_PRINTF_EXTENSION
+#ifdef GST_USING_PRINTF_EXTENSION
 #ifdef HAVE_REGISTER_PRINTF_SPECIFIER
   register_printf_specifier (GST_PTR_FORMAT[0], _gst_info_printf_extension_ptr,
       _gst_info_printf_extension_arginfo);
@@ -720,7 +720,7 @@
   return g_strdup_printf ("%p", ptr);
 }
 
-#ifdef HAVE_PRINTF_EXTENSION
+#ifdef GST_USING_PRINTF_EXTENSION
 
 static gchar *
 gst_debug_print_segment (gpointer ptr)
@@ -763,7 +763,7 @@
   }
 }
 
-#endif /* HAVE_PRINTF_EXTENSION */
+#endif /* GST_USING_PRINTF_EXTENSION */
 
 /**
  * gst_debug_construct_term_color:
@@ -1655,7 +1655,7 @@
 
 /*** PRINTF EXTENSIONS ********************************************************/
 
-#ifdef HAVE_PRINTF_EXTENSION
+#ifdef GST_USING_PRINTF_EXTENSION
 static int
 _gst_info_printf_extension_ptr (FILE * stream, const struct printf_info *info,
     const void *const *args)
@@ -1712,7 +1712,7 @@
   }
   return 1;
 }
-#endif /* HAVE_PRINTF_EXTENSION */
+#endif /* GST_USING_PRINTF_EXTENSION */
 
 static void
 gst_info_dump_mem_line (gchar * linebuf, gsize linebuf_size,
diff --git a/gst/gstmeta.c b/gst/gstmeta.c
index 2ac6964..bc1cb76 100644
--- a/gst/gstmeta.c
+++ b/gst/gstmeta.c
@@ -142,14 +142,22 @@
     GstMetaTransformFunction transform_func)
 {
   GstMetaInfo *info;
+  GType type;
 
   g_return_val_if_fail (api != 0, NULL);
   g_return_val_if_fail (impl != NULL, NULL);
   g_return_val_if_fail (size != 0, NULL);
 
+  /* first try to register the implementation name. It's possible
+   * that this fails because it was already registered. Don't warn,
+   * glib did this for us already. */
+  type = g_pointer_type_register_static (impl);
+  if (type == 0)
+    return NULL;
+
   info = g_slice_new (GstMetaInfo);
   info->api = api;
-  info->type = g_pointer_type_register_static (impl);
+  info->type = type;
   info->size = size;
   info->init_func = init_func;
   info->free_func = free_func;
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index d88fd9a..d219e27 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -121,8 +121,7 @@
 {
   mini_object->type = type;
   mini_object->refcount = 1;
-  mini_object->lockstate =
-      (flags & GST_MINI_OBJECT_FLAG_LOCK_READONLY ? GST_LOCK_FLAG_READ : 0);
+  mini_object->lockstate = 0;
   mini_object->flags = flags;
 
   mini_object->copy = copy_func;
@@ -179,6 +178,10 @@
   g_return_val_if_fail (object != NULL, FALSE);
   g_return_val_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object), FALSE);
 
+  if (G_UNLIKELY (object->flags & GST_MINI_OBJECT_FLAG_LOCK_READONLY &&
+          flags & GST_LOCK_FLAG_WRITE))
+    return FALSE;
+
   do {
     access_mode = flags & FLAG_MASK;
     newstate = state = g_atomic_int_get (&object->lockstate);
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 803d1c1..92891fa 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -909,9 +909,8 @@
  * push or pull mode, just return. Otherwise dispatches to the pad's activate
  * function to perform the actual activation.
  *
- * If not @active, checks the pad's current mode and calls
- * gst_pad_activate_push() or gst_pad_activate_pull(), as appropriate, with a
- * FALSE argument.
+ * If not @active, calls gst_pad_activate_mode() with the pad's current mode
+ * and a FALSE argument.
  *
  * Returns: #TRUE if the operation was successful.
  *
@@ -1449,8 +1448,8 @@
  * @notify: notify called when @activate will not be used anymore.
  *
  * Sets the given activate function for @pad. The activate function will
- * dispatch to gst_pad_activate_push() or gst_pad_activate_pull() to perform
- * the actual activation. Only makes sense to set on sink pads.
+ * dispatch to gst_pad_activate_mode() to perform the actual activation.
+ * Only makes sense to set on sink pads.
  *
  * Call this function if your sink pad can start a pull-based task.
  */
@@ -3292,15 +3291,24 @@
       GST_DEBUG_OBJECT (pad, "event %s marked received",
           GST_EVENT_TYPE_NAME (event));
       break;
+    case GST_FLOW_CUSTOM_SUCCESS:
+      /* we can't assume the event is received when it was dropped */
+      GST_DEBUG_OBJECT (pad, "event %s was dropped, mark pending",
+          GST_EVENT_TYPE_NAME (event));
+      GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PENDING_EVENTS);
+      data->ret = GST_FLOW_OK;
+      break;
     case GST_FLOW_NOT_LINKED:
       /* not linked is not a problem, we are sticky so the event will be
        * sent later but only for non-EOS events */
-      GST_DEBUG_OBJECT (pad, "pad was not linked");
+      GST_DEBUG_OBJECT (pad, "pad was not linked, mark pending");
       if (GST_EVENT_TYPE (event) != GST_EVENT_EOS)
         data->ret = GST_FLOW_OK;
-      /* fallthrough */
+      GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PENDING_EVENTS);
+      break;
     default:
-      GST_DEBUG_OBJECT (pad, "mark pending events");
+      GST_DEBUG_OBJECT (pad, "result %s, mark pending events",
+          gst_flow_get_name (data->ret));
       GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PENDING_EVENTS);
       break;
   }
@@ -3337,6 +3345,10 @@
       if (ev && !ev->received) {
         data.ret = gst_pad_push_event_unchecked (pad, gst_event_ref (ev->event),
             GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM);
+        /* the event could have been dropped. Because this can only
+         * happen if the user asked for it, it's not an error */
+        if (data.ret == GST_FLOW_CUSTOM_SUCCESS)
+          data.ret = GST_FLOW_OK;
       }
     }
   }
@@ -4361,8 +4373,9 @@
   }
 }
 
+/* must be called with pad object lock */
 static gboolean
-gst_pad_store_sticky_event (GstPad * pad, GstEvent * event, gboolean locked)
+gst_pad_store_sticky_event (GstPad * pad, GstEvent * event)
 {
   guint i, len;
   GstEventType type;
@@ -4410,14 +4423,12 @@
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_CAPS:
-        if (locked)
-          GST_OBJECT_UNLOCK (pad);
+        GST_OBJECT_UNLOCK (pad);
 
         GST_DEBUG_OBJECT (pad, "notify caps");
         g_object_notify_by_pspec ((GObject *) pad, pspec_caps);
 
-        if (locked)
-          GST_OBJECT_LOCK (pad);
+        GST_OBJECT_LOCK (pad);
         break;
       default:
         break;
@@ -4533,7 +4544,6 @@
     switch (ret) {
       case GST_FLOW_CUSTOM_SUCCESS:
         GST_DEBUG_OBJECT (pad, "dropped event");
-        ret = GST_FLOW_OK;
         break;
       default:
         GST_DEBUG_OBJECT (pad, "an error occured %s", gst_flow_get_name (ret));
@@ -4610,10 +4620,10 @@
     if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
       goto eos;
 
-    /* srcpad sticky events are store immediately, the received flag is set
+    /* srcpad sticky events are stored immediately, the received flag is set
      * to FALSE and will be set to TRUE when we can successfully push the
      * event to the peer pad */
-    if (gst_pad_store_sticky_event (pad, event, TRUE)) {
+    if (gst_pad_store_sticky_event (pad, event)) {
       GST_DEBUG_OBJECT (pad, "event %s updated", GST_EVENT_TYPE_NAME (event));
     }
     if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
@@ -4625,8 +4635,12 @@
     res = (check_sticky (pad) == GST_FLOW_OK);
   }
   if (!sticky) {
+    GstFlowReturn ret;
+
     /* other events are pushed right away */
-    res = (gst_pad_push_event_unchecked (pad, event, type) == GST_FLOW_OK);
+    ret = gst_pad_push_event_unchecked (pad, event, type);
+    /* dropped events by a probe are not an error */
+    res = (ret == GST_FLOW_OK || ret == GST_FLOW_CUSTOM_SUCCESS);
   } else {
     /* Errors in sticky event pushing are no problem and ignored here
      * as they will cause more meaningful errors during data flow.
@@ -4823,11 +4837,23 @@
 
   if (sticky) {
     if (ret == GST_FLOW_OK) {
+      GST_OBJECT_LOCK (pad);
+      /* can't store on flushing pads */
+      if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
+        goto flushing;
+
+      if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
+        goto eos;
+
       /* after the event function accepted the event, we can store the sticky
        * event on the pad */
-      gst_pad_store_sticky_event (pad, event, FALSE);
+      if (gst_pad_store_sticky_event (pad, event)) {
+        GST_DEBUG_OBJECT (pad, "event %s updated", GST_EVENT_TYPE_NAME (event));
+      }
       if (event_type == GST_EVENT_EOS)
         GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_EOS);
+
+      GST_OBJECT_UNLOCK (pad);
     }
     gst_event_unref (event);
   }
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 9fd605c..676cd69 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -309,7 +309,8 @@
  *
  * This function is installed on a source pad with
  * gst_pad_set_getrange_function() and can only be called on source pads after
- * they are successfully activated with gst_pad_activate_pull().
+ * they are successfully activated with gst_pad_activate_mode() with the
+ * #GST_PAD_MODE_PULL.
  *
  * @offset and @length are always given in byte units. @offset must normally be a value
  * between 0 and the length in bytes of the data available on @pad. The
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index 0ee39a3..31351d6 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -653,8 +653,9 @@
 static GMutex gst_plugin_loading_mutex;
 
 #define CHECK_PLUGIN_DESC_FIELD(desc,field,fn)                               \
-  if (G_UNLIKELY ((desc)->field == NULL)) {                                  \
-    GST_ERROR ("GstPluginDesc for '%s' has no %s", fn, G_STRINGIFY (field)); \
+  if (G_UNLIKELY ((desc)->field == NULL || *(desc)->field == '\0')) {        \
+    g_warning ("Plugin description for '%s' has no valid %s field", fn, G_STRINGIFY (field)); \
+    goto return_error;                                                       \
   }
 
 /**
@@ -776,8 +777,7 @@
   plugin->orig_desc = desc;
 
   if (new_plugin) {
-    /* check plugin description: complain about bad values but accept them, to
-     * maintain backwards compatibility (FIXME: 0.11) */
+    /* check plugin description: complain about bad values and fail */
     CHECK_PLUGIN_DESC_FIELD (plugin->orig_desc, name, filename);
     CHECK_PLUGIN_DESC_FIELD (plugin->orig_desc, description, filename);
     CHECK_PLUGIN_DESC_FIELD (plugin->orig_desc, version, filename);
diff --git a/gst/gstpluginfeature.c b/gst/gstpluginfeature.c
index 065834e..1fda31c 100644
--- a/gst/gstpluginfeature.c
+++ b/gst/gstpluginfeature.c
@@ -317,18 +317,6 @@
     GST_DEBUG ("version string '%s' parsed to %d values", ver_str, nscan);
 
     if (nscan >= 3) {
-      if (!g_str_has_prefix (PACKAGE_VERSION, "1.")) {
-        /* FIXME 1.0: Remove this before doing the actual 1.0.0 release */
-        if ((major == 0 && minor == 11 && micro >= 90)) {
-          major = 1;
-          minor = 0;
-          micro = 0;
-          nano = 0;
-        }
-      } else {
-        GST_FIXME ("Remove pre-1.0 versions mangling");
-      }
-
       if (major > min_major)
         ret = TRUE;
       else if (major < min_major)
diff --git a/gst/gstpreset.c b/gst/gstpreset.c
index 404f34a..4a97276 100644
--- a/gst/gstpreset.c
+++ b/gst/gstpreset.c
@@ -174,7 +174,7 @@
     if (!(preset_path = g_type_get_qdata (type, preset_system_path_quark))) {
       gchar *preset_dir;
 
-      /* system presets in '$GST_DATADIR/gstreamer-0.10/presets/GstAudioPanorama.prs' */
+      /* system presets in '$GST_DATADIR/gstreamer-1.0/presets/GstAudioPanorama.prs' */
       preset_dir = g_build_filename (GST_DATADIR, "gstreamer-" GST_API_VERSION,
           "presets", NULL);
       GST_INFO_OBJECT (preset, "system_preset_dir: '%s'", preset_dir);
diff --git a/gst/gstsegment.h b/gst/gstsegment.h
index 580106b..c364ce6 100644
--- a/gst/gstsegment.h
+++ b/gst/gstsegment.h
@@ -131,7 +131,7 @@
  * values of the seek flags.
  */
 /* Note: update gst_segment_do_seek() when adding new flags here */
-typedef enum {
+typedef enum { /*< flags >*/
   GST_SEGMENT_FLAG_NONE            = GST_SEEK_FLAG_NONE,
   GST_SEGMENT_FLAG_RESET           = GST_SEEK_FLAG_FLUSH,
   GST_SEGMENT_FLAG_SKIP            = GST_SEEK_FLAG_SKIP,
diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c
index 20237bf..d978b2d 100644
--- a/gst/gsttaglist.c
+++ b/gst/gsttaglist.c
@@ -316,7 +316,7 @@
           "or produced"), NULL);
   gst_tag_register_static (GST_TAG_GEO_LOCATION_SUBLOCATION, GST_TAG_FLAG_META,
       G_TYPE_STRING, _("geo location sublocation"),
-      _("a location whithin a city where the media has been produced "
+      _("a location within a city where the media has been produced "
           "or created (e.g. the neighborhood)"), NULL);
   gst_tag_register_static (GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR,
       GST_TAG_FLAG_META, G_TYPE_DOUBLE, _("geo location horizontal error"),
diff --git a/gst/gsturi.c b/gst/gsturi.c
index b51bd4a..552a66a 100644
--- a/gst/gsturi.c
+++ b/gst/gsturi.c
@@ -562,7 +562,7 @@
  *
  * Creates an element for handling the given URI.
  *
- * Returns: (transfer full): 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,
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index 80c59fe..de9fa06 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -3498,7 +3498,7 @@
 
         gst_value_init_and_copy (&temp, dest);
         g_value_unset (dest);
-        gst_value_list_concat (dest, &temp, &intersection);
+        gst_value_list_merge (dest, &temp, &intersection);
         g_value_unset (&temp);
       }
       g_value_unset (&intersection);
diff --git a/gstreamer.doap b/gstreamer.doap
index fa4f89b..ed20425 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>1.0.1</revision>
+   <branch>1.0</branch>
+   <name></name>
+   <created>2012-10-07</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.0.0</revision>
    <branch>1.0</branch>
    <name></name>
diff --git a/gstreamer.spec b/gstreamer.spec
index f34ac77..33569de 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,7 +4,7 @@
 %define 	_glib2		2.32.0
 
 Name: 		%{gstreamer}
-Version: 	1.0.0
+Version: 	1.0.1
 Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 4ab3d5c..e1a705b 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -921,7 +921,7 @@
     {
       const GstSegment *in_segment;
       GstSegment out_segment;
-      gint64 offset = 0, next_pts;
+      gint64 offset = 0, next_dts;
 
       gst_event_parse_segment (event, &in_segment);
       gst_segment_init (&out_segment, GST_FORMAT_TIME);
@@ -957,7 +957,7 @@
           out_segment.stop = seek->segment.stop;
           out_segment.time = seek->segment.start;
 
-          next_pts = seek->start_ts;
+          next_dts = seek->start_ts;
           parse->priv->exact_position = seek->accurate;
           g_free (seek);
         } else {
@@ -965,11 +965,11 @@
           /* as these are only estimates, stop is kept open-ended to avoid
            * premature cutting */
           gst_base_parse_convert (parse, GST_FORMAT_BYTES, in_segment->start,
-              GST_FORMAT_TIME, (gint64 *) & next_pts);
+              GST_FORMAT_TIME, (gint64 *) & next_dts);
 
-          out_segment.start = next_pts;
+          out_segment.start = next_dts;
           out_segment.stop = GST_CLOCK_TIME_NONE;
-          out_segment.time = next_pts;
+          out_segment.time = next_dts;
 
           parse->priv->exact_position = (in_segment->start == 0);
         }
@@ -992,12 +992,12 @@
 
         event = gst_event_new_segment (&out_segment);
 
-        next_pts = 0;
+        next_dts = 0;
       } else {
         /* not considered BYTE seekable if it is talking to us in TIME,
          * whatever else it might claim */
         parse->priv->upstream_seekable = FALSE;
-        next_pts = in_segment->start;
+        next_dts = in_segment->start;
       }
 
       memcpy (&parse->segment, &out_segment, sizeof (GstSegment));
@@ -1023,7 +1023,9 @@
 
       parse->priv->offset = offset;
       parse->priv->sync_offset = offset;
-      parse->priv->next_pts = next_pts;
+      parse->priv->next_dts = next_dts;
+      if (parse->priv->pts_interpolate)
+        parse->priv->next_pts = next_dts;
       parse->priv->last_pts = GST_CLOCK_TIME_NONE;
       parse->priv->last_dts = GST_CLOCK_TIME_NONE;
       parse->priv->discont = TRUE;
@@ -1572,7 +1574,7 @@
     if (GST_CLOCK_TIME_IS_VALID (parse->priv->index_last_ts) &&
         GST_CLOCK_DIFF (parse->priv->index_last_ts, ts) <
         parse->priv->idx_interval) {
-      GST_DEBUG_OBJECT (parse, "entry too close to last time %" GST_TIME_FORMAT,
+      GST_LOG_OBJECT (parse, "entry too close to last time %" GST_TIME_FORMAT,
           GST_TIME_ARGS (parse->priv->index_last_ts));
       goto exit;
     }
@@ -1583,7 +1585,7 @@
 
       gst_base_parse_find_offset (parse, ts, TRUE, &prev_ts);
       if (GST_CLOCK_DIFF (prev_ts, ts) < parse->priv->idx_interval) {
-        GST_DEBUG_OBJECT (parse,
+        GST_LOG_OBJECT (parse,
             "entry too close to existing entry %" GST_TIME_FORMAT,
             GST_TIME_ARGS (prev_ts));
         parse->priv->index_last_offset = offset;
@@ -2908,7 +2910,7 @@
   parse = GST_BASE_PARSE (gst_pad_get_parent (pad));
   klass = GST_BASE_PARSE_GET_CLASS (parse);
 
-  GST_DEBUG_OBJECT (parse, "hello");
+  GST_LOG_OBJECT (parse, "Entering parse loop");
 
   if (G_UNLIKELY (parse->priv->push_stream_start)) {
     gchar *stream_id;
@@ -4007,8 +4009,9 @@
       parse->priv->last_offset = seekpos;
       parse->priv->seen_keyframe = FALSE;
       parse->priv->discont = TRUE;
-      parse->priv->next_pts = start_ts;
-      parse->priv->next_dts = GST_CLOCK_TIME_NONE;
+      parse->priv->next_dts = start_ts;
+      if (parse->priv->pts_interpolate)
+        parse->priv->next_pts = start_ts;
       parse->priv->last_dts = GST_CLOCK_TIME_NONE;
       parse->priv->last_pts = GST_CLOCK_TIME_NONE;
       parse->priv->sync_offset = seekpos;
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index 31994ad..841a36c 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -20,7 +20,7 @@
  */
 
 /**
- * SECTION:gstbasesink:
+ * SECTION:gstbasesink
  * @short_description: Base class for sink elements
  * @see_also: #GstBaseTransform, #GstBaseSrc
  *
@@ -47,8 +47,12 @@
  *   // #GST_PAD_SINK and name "sink"
  *   gst_element_class_add_pad_template (gstelement_class,
  *       gst_static_pad_template_get (&amp;sinktemplate));
- *   // see #GstElementDetails
- *   gst_element_class_set_details (gstelement_class, &amp;details);
+ *
+ *   gst_element_class_set_static_metadata (gstelement_class,
+ *       "Sink name",
+ *       "Sink",
+ *       "My Sink element",
+ *       "The author &lt;my.sink@my.email&gt;");
  * }
  * ]|
  *
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index cf81b9f..556f05d 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -121,8 +121,12 @@
  *   // #GST_PAD_SRC and name "src"
  *   gst_element_class_add_pad_template (gstelement_class,
  *       gst_static_pad_template_get (&amp;srctemplate));
- *   // see #GstElementDetails
- *   gst_element_class_set_details (gstelement_class, &amp;details);
+ *
+ *   gst_element_class_set_static_metadata (gstelement_class,
+ *      "Source name",
+ *      "Source",
+ *      "My Source element",
+ *      "The author &lt;my.sink@my.email&gt;");
  * }
  * ]|
  *
@@ -777,7 +781,7 @@
  * @src: The source
  * @start: The new start value for the segment
  * @stop: Stop value for the new segment
- * @position: The position value for the new segent
+ * @time: The new time value for the start of the new segent
  *
  * Prepare a new seamless segment for emission downstream. This function must
  * only be called by derived sub-classes, and only from the create() function,
@@ -790,25 +794,27 @@
  */
 gboolean
 gst_base_src_new_seamless_segment (GstBaseSrc * src, gint64 start, gint64 stop,
-    gint64 position)
+    gint64 time)
 {
   gboolean res = TRUE;
 
-  GST_DEBUG_OBJECT (src,
-      "Starting new seamless segment. Start %" GST_TIME_FORMAT " stop %"
-      GST_TIME_FORMAT " position %" GST_TIME_FORMAT, GST_TIME_ARGS (start),
-      GST_TIME_ARGS (stop), GST_TIME_ARGS (position));
-
   GST_OBJECT_LOCK (src);
 
   src->segment.base = gst_segment_to_running_time (&src->segment,
       src->segment.format, src->segment.position);
-  src->segment.start = start;
+  src->segment.position = src->segment.start = start;
   src->segment.stop = stop;
-  src->segment.position = position;
+  src->segment.time = time;
 
-  /* forward, we send data from position to stop */
+  /* Mark pending segment. Will be sent before next data */
   src->priv->segment_pending = TRUE;
+
+  GST_DEBUG_OBJECT (src,
+      "Starting new seamless segment. Start %" GST_TIME_FORMAT " stop %"
+      GST_TIME_FORMAT " time %" GST_TIME_FORMAT " base %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (start), GST_TIME_ARGS (stop), GST_TIME_ARGS (time),
+      GST_TIME_ARGS (src->segment.base));
+
   GST_OBJECT_UNLOCK (src);
 
   src->priv->discont = TRUE;
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 884fde4..fb8131e 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -255,6 +255,7 @@
   GstPadMode pad_mode;
 
   gboolean gap_aware;
+  gboolean prefer_passthrough;
 
   /* QoS stats */
   guint64 processed;
@@ -459,6 +460,7 @@
   priv->cache_caps2 = NULL;
   priv->pad_mode = GST_PAD_MODE_NONE;
   priv->gap_aware = FALSE;
+  priv->prefer_passthrough = TRUE;
 
   priv->passthrough = FALSE;
   if (bclass->transform == NULL) {
@@ -664,11 +666,12 @@
   templ = gst_pad_get_pad_template_caps (pad);
   otempl = gst_pad_get_pad_template_caps (otherpad);
 
-  /* we can do what the peer can */
+  /* first prepare the filter to be send onwards. We need to filter and
+   * transform it to valid caps for the otherpad. */
   if (filter) {
     GST_DEBUG_OBJECT (pad, "filter caps  %" GST_PTR_FORMAT, filter);
 
-    /* filtered against our padtemplate on the other side */
+    /* filtered against our padtemplate of this pad */
     GST_DEBUG_OBJECT (pad, "our template  %" GST_PTR_FORMAT, templ);
     temp = gst_caps_intersect_full (filter, templ, GST_CAPS_INTERSECT_FIRST);
     GST_DEBUG_OBJECT (pad, "intersected %" GST_PTR_FORMAT, temp);
@@ -679,7 +682,7 @@
     GST_DEBUG_OBJECT (pad, "transformed  %" GST_PTR_FORMAT, peerfilter);
     gst_caps_unref (temp);
 
-    /* and filter against the template of this pad */
+    /* and filter against the template of the other pad */
     GST_DEBUG_OBJECT (pad, "our template  %" GST_PTR_FORMAT, otempl);
     /* We keep the caps sorted like the returned caps */
     temp =
@@ -689,6 +692,7 @@
     peerfilter = temp;
   }
 
+  /* query the peer with the transformed filter */
   peercaps = gst_pad_peer_query_caps (otherpad, peerfilter);
 
   if (peerfilter)
@@ -722,12 +726,14 @@
     gst_caps_unref (caps);
     caps = temp;
 
-    /* Now try if we can put the untransformed downstream caps first */
-    temp = gst_caps_intersect_full (peercaps, caps, GST_CAPS_INTERSECT_FIRST);
-    if (!gst_caps_is_empty (temp)) {
-      caps = gst_caps_merge (temp, caps);
-    } else {
-      gst_caps_unref (temp);
+    if (trans->priv->prefer_passthrough) {
+      /* Now try if we can put the untransformed downstream caps first */
+      temp = gst_caps_intersect_full (peercaps, caps, GST_CAPS_INTERSECT_FIRST);
+      if (!gst_caps_is_empty (temp)) {
+        caps = gst_caps_merge (temp, caps);
+      } else {
+        gst_caps_unref (temp);
+      }
     }
   } else {
     gst_caps_unref (caps);
@@ -2593,6 +2599,37 @@
 }
 
 /**
+ * gst_base_transform_set_prefer_passthrough:
+ * @trans: a #GstBaseTransform
+ * @prefer_passthrough: New state
+ *
+ * If @prefer_passthrough is %TRUE (the default), @trans will check and
+ * prefer passthrough caps from the list of caps returned by the
+ * transform_caps vmethod.
+ *
+ * If set to %FALSE, the element must order the caps returned from the
+ * transform_caps function in such a way that the prefered format is
+ * first in the list. This can be interesting for transforms that can do
+ * passthrough transforms but prefer to do something else, like a
+ * capsfilter.
+ *
+ * MT safe.
+ *
+ * Since: 1.0.1
+ */
+void
+gst_base_transform_set_prefer_passthrough (GstBaseTransform * trans,
+    gboolean prefer_passthrough)
+{
+  g_return_if_fail (GST_IS_BASE_TRANSFORM (trans));
+
+  GST_OBJECT_LOCK (trans);
+  trans->priv->prefer_passthrough = prefer_passthrough;
+  GST_DEBUG_OBJECT (trans, "prefer passthrough %d", prefer_passthrough);
+  GST_OBJECT_UNLOCK (trans);
+}
+
+/**
  * gst_base_transform_reconfigure_sink:
  * @trans: a #GstBaseTransform
  *
diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h
index e3df619..666fbb1 100644
--- a/libs/gst/base/gstbasetransform.h
+++ b/libs/gst/base/gstbasetransform.h
@@ -283,6 +283,9 @@
 void            gst_base_transform_set_gap_aware    (GstBaseTransform *trans,
                                                      gboolean gap_aware);
 
+void            gst_base_transform_set_prefer_passthrough (GstBaseTransform *trans,
+                                                           gboolean prefer_passthrough);
+
 GstBufferPool * gst_base_transform_get_buffer_pool  (GstBaseTransform *trans);
 void            gst_base_transform_get_allocator    (GstBaseTransform *trans,
                                                      GstAllocator **allocator,
diff --git a/libs/gst/base/gsttypefindhelper.c b/libs/gst/base/gsttypefindhelper.c
index e3dba71..febf682 100644
--- a/libs/gst/base/gsttypefindhelper.c
+++ b/libs/gst/base/gsttypefindhelper.c
@@ -114,8 +114,9 @@
     for (walk = helper->buffers; walk; walk = walk->next) {
       GstMappedBuffer *bmp = (GstMappedBuffer *) walk->data;
       GstBuffer *buf = GST_BUFFER_CAST (bmp->buffer);
-      guint64 buf_offset = GST_BUFFER_OFFSET (buf);
-      guint buf_size = gst_buffer_get_size (buf);
+
+      buf_offset = GST_BUFFER_OFFSET (buf);
+      buf_size = gst_buffer_get_size (buf);
 
       /* buffers are kept sorted by end offset (highest first) in the list, so
        * at this point we save the current position and stop searching if 
diff --git a/libs/gst/net/gstnetaddressmeta.c b/libs/gst/net/gstnetaddressmeta.c
index af869ae..5b87afe 100644
--- a/libs/gst/net/gstnetaddressmeta.c
+++ b/libs/gst/net/gstnetaddressmeta.c
@@ -82,12 +82,13 @@
 {
   static const GstMetaInfo *meta_info = NULL;
 
-  if (meta_info == NULL) {
-    meta_info = gst_meta_register (GST_NET_ADDRESS_META_API_TYPE,
+  if (g_once_init_enter (&meta_info)) {
+    const GstMetaInfo *mi = gst_meta_register (GST_NET_ADDRESS_META_API_TYPE,
         "GstNetAddressMeta",
         sizeof (GstNetAddressMeta),
         net_address_meta_init,
         net_address_meta_free, net_address_meta_transform);
+    g_once_init_leave (&meta_info, mi);
   }
   return meta_info;
 }
diff --git a/plugins/elements/gstcapsfilter.c b/plugins/elements/gstcapsfilter.c
index 5fa2ab3..fd6a094 100644
--- a/plugins/elements/gstcapsfilter.c
+++ b/plugins/elements/gstcapsfilter.c
@@ -128,6 +128,7 @@
 {
   GstBaseTransform *trans = GST_BASE_TRANSFORM (filter);
   gst_base_transform_set_gap_aware (trans, TRUE);
+  gst_base_transform_set_prefer_passthrough (trans, FALSE);
   filter->filter_caps = gst_caps_new_any ();
 }
 
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index c328f37..2e28b01 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -262,7 +262,7 @@
 
   switch (prop_id) {
     case PROP_STATE_ERROR:
-      sink->state_error = g_value_get_enum (value);
+      sink->state_error = (GstFakeSinkStateError) g_value_get_enum (value);
       break;
     case PROP_SILENT:
       sink->silent = g_value_get_boolean (value);
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index bbdff16..ce43c38 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -449,7 +449,7 @@
       g_warning ("not yet implemented");
       break;
     case PROP_DATA:
-      src->data = g_value_get_enum (value);
+      src->data = (GstFakeSrcDataType) g_value_get_enum (value);
 
       if (src->data == FAKE_SRC_DATA_SUBBUFFER) {
         if (!src->parent)
@@ -462,7 +462,7 @@
       }
       break;
     case PROP_SIZETYPE:
-      src->sizetype = g_value_get_enum (value);
+      src->sizetype = (GstFakeSrcSizeType) g_value_get_enum (value);
       break;
     case PROP_SIZEMIN:
       src->sizemin = g_value_get_int (value);
@@ -474,7 +474,7 @@
       src->parentsize = g_value_get_int (value);
       break;
     case PROP_FILLTYPE:
-      src->filltype = g_value_get_enum (value);
+      src->filltype = (GstFakeSrcFillType) g_value_get_enum (value);
       break;
     case PROP_DATARATE:
       src->datarate = g_value_get_int (value);
@@ -507,7 +507,7 @@
       gst_base_src_set_live (basesrc, g_value_get_boolean (value));
       break;
     case PROP_FORMAT:
-      src->format = g_value_get_enum (value);
+      src->format = (GstFormat) g_value_get_enum (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
diff --git a/plugins/elements/gstidentity.c b/plugins/elements/gstidentity.c
index be93b86..2475cc8 100644
--- a/plugins/elements/gstidentity.c
+++ b/plugins/elements/gstidentity.c
@@ -307,6 +307,9 @@
       news = gst_event_new_segment (&segment);
 
       gst_pad_event_default (trans->sinkpad, GST_OBJECT_CAST (trans), news);
+    } else {
+      /* need to track segment for proper running time */
+      gst_event_copy_segment (event, &trans->segment);
     }
   }
 
@@ -551,7 +554,7 @@
     GstClockTime time = gst_util_uint64_scale_int (identity->offset,
         GST_SECOND, identity->datarate);
 
-    GST_BUFFER_TIMESTAMP (buf) = time;
+    GST_BUFFER_PTS (buf) = GST_BUFFER_DTS (buf) = time;
     GST_BUFFER_DURATION (buf) = size * GST_SECOND / identity->datarate;
   }
 
@@ -596,7 +599,7 @@
 
   if (identity->single_segment && (trans->segment.format == GST_FORMAT_TIME)
       && (ret == GST_FLOW_OK)) {
-    GST_BUFFER_TIMESTAMP (buf) = runtimestamp;
+    GST_BUFFER_PTS (buf) = GST_BUFFER_DTS (buf) = runtimestamp;
     GST_BUFFER_OFFSET (buf) = GST_CLOCK_TIME_NONE;
     GST_BUFFER_OFFSET_END (buf) = GST_CLOCK_TIME_NONE;
   }
diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c
index cfa8a24..8afcebb 100644
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -1091,7 +1091,7 @@
     g_cond_signal (&sq->query_handled);
     GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
   } else {
-    g_warning ("Unexpected object in singlequeue %d (refcounting problem?)",
+    g_warning ("Unexpected object in singlequeue %u (refcounting problem?)",
         sq->id);
   }
   return result;
diff --git a/plugins/elements/gsttee.c b/plugins/elements/gsttee.c
index a00c1d1..f739505 100644
--- a/plugins/elements/gsttee.c
+++ b/plugins/elements/gsttee.c
@@ -443,7 +443,7 @@
       tee->silent = g_value_get_boolean (value);
       break;
     case PROP_PULL_MODE:
-      tee->pull_mode = g_value_get_enum (value);
+      tee->pull_mode = (GstTeePullMode) g_value_get_enum (value);
       break;
     case PROP_ALLOC_PAD:
     {
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index 33e2376..f9a16f5 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -1055,6 +1055,21 @@
   } else if (typefind->mode == MODE_NORMAL) {
     GstBuffer *outbuf = NULL;
 
+    if (typefind->need_stream_start) {
+      gchar *stream_id;
+
+      stream_id =
+          gst_pad_create_stream_id (typefind->src, GST_ELEMENT_CAST (typefind),
+          NULL);
+
+      GST_DEBUG_OBJECT (typefind, "Pushing STREAM_START");
+      gst_pad_push_event (typefind->src,
+          gst_event_new_stream_start (stream_id));
+
+      typefind->need_stream_start = FALSE;
+      g_free (stream_id);
+    }
+
     if (typefind->need_segment) {
       typefind->need_segment = FALSE;
       gst_pad_push_event (typefind->src,
@@ -1136,6 +1151,7 @@
       if (active) {
         gst_segment_init (&typefind->segment, GST_FORMAT_BYTES);
         typefind->need_segment = TRUE;
+        typefind->need_stream_start = TRUE;
         typefind->offset = 0;
         res = TRUE;
       } else {
diff --git a/plugins/elements/gsttypefindelement.h b/plugins/elements/gsttypefindelement.h
index 2ee3325..66607db 100644
--- a/plugins/elements/gsttypefindelement.h
+++ b/plugins/elements/gsttypefindelement.h
@@ -61,6 +61,7 @@
 
   /* Only used when driving the pipeline */
   gboolean need_segment;
+  gboolean need_stream_start;
   GstSegment segment;
   guint64 offset;
 };
diff --git a/po/af.gmo b/po/af.gmo
index 2aa13f4..0493a4f 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index d102de8..c8e924a 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -662,7 +662,7 @@
 msgstr "ligging"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/az.gmo b/po/az.gmo
index b515cd6..69eb1b2 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index fdbf73f..769f4a3 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -627,7 +627,7 @@
 msgstr ""
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/be.gmo b/po/be.gmo
index e9c8c26..74b5e91 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 50dddc7..721f025 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -631,7 +631,7 @@
 msgstr ""
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 9d4cc50..85ed3bf 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 31f5da6..e1b0ece 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -653,8 +653,9 @@
 msgid "geo location sublocation"
 msgstr "квартал по координати"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr "квартал в града на запис или създаване на медията"
 
diff --git a/po/ca.gmo b/po/ca.gmo
index f42ab36..5753867 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index a55c214..710654a 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -659,8 +659,9 @@
 msgid "geo location sublocation"
 msgstr "sububicació de la geolocalització"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "una ubicació dins de la ciutat on s'ha enregistrat o produït el medi (p. ex. "
diff --git a/po/cs.gmo b/po/cs.gmo
index d3c58bc..83e5ed5 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 8ccd9c4..32dcbec 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-12-01 08:17+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -651,8 +651,9 @@
 msgid "geo location sublocation"
 msgstr "upřesnění místa"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr "Místo v rámci města, kde bylo médium nahráno nebo vytvořeno"
 
diff --git a/po/da.gmo b/po/da.gmo
index b6bf476..33e089c 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 6e37fc2..4e6cc89 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2010-11-06 22:52+0100\n"
 "Last-Translator: Mogens Jaeger <mogensjaeger@gmail.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -656,8 +656,9 @@
 msgid "geo location sublocation"
 msgstr "geografisk underinddeling"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "en stedangivelse inden for en by hvor mediet er blevet optaget eller "
diff --git a/po/de.gmo b/po/de.gmo
index 1de3031..0a09083 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 1447cef..8f8201a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-04-27 23:44+0200\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -675,8 +675,9 @@
 msgid "geo location sublocation"
 msgstr "geografischer Ortsteil"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "ein Ort innerhalb einer Stadt, in dem das Medium aufgezeichnet oder "
diff --git a/po/el.gmo b/po/el.gmo
index b4b60d4..a455013 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index f64b697..6627a62 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -665,8 +665,9 @@
 msgid "geo location sublocation"
 msgstr "γεωγραφικός εντοπισμός υποτοποθεσίας"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "τοποθεσία μέσα σε μια πόλη όπου το μέσο παρήχθη ή δημιουργήθηκε (π.χ. η "
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 7883ba9..97bc750 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 a0dea81..3467f8f 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -666,7 +666,7 @@
 msgstr "location"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/eo.gmo b/po/eo.gmo
index ac04a7f..125a03b 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 3653845..0114bba 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -619,7 +619,7 @@
 msgstr ""
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 7e66b9c..2650637 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 82f8d15..3c8fd52 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -660,8 +660,9 @@
 msgid "geo location sublocation"
 msgstr "sububicación de la geolocalización"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "una ubicación en una ciudad donde se ha producido o creado el medio (ej. el "
diff --git a/po/eu.gmo b/po/eu.gmo
index 2b49c6b..f431ebe 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index be07f27..5579d6a 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -663,8 +663,9 @@
 msgid "geo location sublocation"
 msgstr "geolokalizazioaren azpikokalekua"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr "muldimedia grabatu edo ekoiztu den herriko kokaleku bat (adib, auzoa)"
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 42a0734..c14147e 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 1bf06d4..56b1307 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -659,8 +659,9 @@
 msgid "geo location sublocation"
 msgstr "maantieteellisen sijainnin alisijainti"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr "sijainti kaupungin sisällä, jossa media on nauhoitettu tai tuotettu"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index 6a9b00b..0528a13 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 3561e08..fabafa4 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-04-28 09:34+0200\n"
 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -656,8 +656,9 @@
 msgid "geo location sublocation"
 msgstr "zone locale de l'emplacement"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "un endroit de la localité où le média a été enregistré ou produit (par ex. "
diff --git a/po/gl.gmo b/po/gl.gmo
index 46fba8d..cf363d1 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 7870b4c..68ff249 100644
--- a/po/gl.po
+++ b/po/gl.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-09-05 12:49+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -653,8 +653,9 @@
 msgid "geo location sublocation"
 msgstr "sublocalización da xeolocalización"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "unha localización nunha cidade onde foi gravado ou producido o medio (p.ex. "
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index 3bf7732..26de4c4 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.0.0\n"
+"Project-Id-Version: gstreamer 1.0.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -810,7 +810,7 @@
 
 #: gst/gsttaglist.c:319
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
@@ -1048,25 +1048,25 @@
 msgid "empty pipeline not allowed"
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2422
+#: libs/gst/base/gstbasesrc.c:2428
 msgid "Internal clock error."
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2774 libs/gst/base/gstbasesrc.c:2783
-#: libs/gst/base/gstbasesink.c:3763 plugins/elements/gstqueue.c:1188
+#: libs/gst/base/gstbasesrc.c:2780 libs/gst/base/gstbasesrc.c:2789
+#: libs/gst/base/gstbasesink.c:3767 plugins/elements/gstqueue.c:1188
 #: plugins/elements/gstqueue2.c:2565
 msgid "Internal data flow error."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:2670
+#: libs/gst/base/gstbasesink.c:2674
 msgid "A lot of buffers are being dropped."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3127
+#: libs/gst/base/gstbasesink.c:3131
 msgid "Internal data flow problem."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3753
+#: libs/gst/base/gstbasesink.c:3757
 msgid "Internal data stream error."
 msgstr ""
 
@@ -1128,7 +1128,7 @@
 msgid "File \"%s\" is a socket."
 msgstr ""
 
-#: plugins/elements/gstidentity.c:610
+#: plugins/elements/gstidentity.c:613
 msgid "Failed after iterations as requested."
 msgstr ""
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 80f9d30..3d1a9bd 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 5c0d702..7c324dc 100644
--- a/po/hu.po
+++ b/po/hu.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2010-11-01 13:39+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -653,8 +653,9 @@
 msgid "geo location sublocation"
 msgstr "földrajzi hely részhelye"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "a városon belüli hely, ahol a média előállításra vagy létrehozásra került "
diff --git a/po/id.gmo b/po/id.gmo
index 65f8c24..7d67d70 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 30300ef..df401e4 100644
--- a/po/id.po
+++ b/po/id.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2012-01-28 11:44+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -653,8 +653,9 @@
 msgid "geo location sublocation"
 msgstr "sublokasi lokasi geografis"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "lokasi di dalam kota tempat media dihasilkan atau dibuat (misalnya "
diff --git a/po/it.gmo b/po/it.gmo
index 4862ba3..210dfc5 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 467ad9c..0ca767f 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -792,8 +792,9 @@
 msgid "geo location sublocation"
 msgstr "sub-località località geog."
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "una località all'interno di una città in cui il contenuto multimediale è "
diff --git a/po/ja.gmo b/po/ja.gmo
index 20b3603..849267d 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index ea84c72..ff16663 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.20.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2008-10-16 19:57+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -637,7 +637,7 @@
 msgstr ""
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index 9e3b7b4..ee908a4 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 3529ae2..a72f537 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -652,8 +652,9 @@
 msgid "geo location sublocation"
 msgstr "geografinės vietos sublokacija"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "vietove mieste, kuriame medija buvo pagaminta arba sukurta, (pvz., "
diff --git a/po/nb.gmo b/po/nb.gmo
index b46089f..6f6b37c 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 4a56c27..4d2dfdd 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -631,7 +631,7 @@
 msgstr "plassering"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/nl.gmo b/po/nl.gmo
index b46a79d..f8edad9 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 9f2a883..dc62507 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-04-26 23:10+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -660,8 +660,9 @@
 msgid "geo location sublocation"
 msgstr "geografische locatie van de sublocatie"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "een sublocatie in een stad waar het medium is opgenomen of geproduceerd "
diff --git a/po/pl.gmo b/po/pl.gmo
index 93f173e..6e7d530 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index a7d0e7d..074e087 100644
--- a/po/pl.po
+++ b/po/pl.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-04-26 17:54+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -656,8 +656,9 @@
 msgid "geo location sublocation"
 msgstr "część miejscowości lokalizacji"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "miejsce wewnątrz miejscowości, w którym utwór został nagrany lub "
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index b58e203..8d24cca 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 62230de..ad3c969 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -17,7 +17,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.31.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-01-08 01:36-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -668,8 +668,9 @@
 msgid "geo location sublocation"
 msgstr "sublocalização geográfica"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "localização numa cidade onde a mídia foi produzida ou criada (ex: bairro)"
diff --git a/po/ro.gmo b/po/ro.gmo
index 8a3cc22..9c9b705 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index cdf1af2..b8b1571 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -666,8 +666,9 @@
 msgid "geo location sublocation"
 msgstr "sublocație geo-locație"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "locație în orașul unde a fost înregistrat sau produs acest fișier media (de "
diff --git a/po/ru.gmo b/po/ru.gmo
index 459bf8f..1cee399 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index eb8bd41..3d511a9 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-04-26 20:25+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -660,8 +660,9 @@
 msgid "geo location sublocation"
 msgstr "доп. к местоположению"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "место в городе, в котором производилась запись или производство данных "
diff --git a/po/rw.gmo b/po/rw.gmo
index 2bb8e76..de829fb 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index ef5f397..9806639 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -820,7 +820,7 @@
 msgstr "Inturo"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/sk.gmo b/po/sk.gmo
index bf327f1..ebdb3bb 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 09ba531..2671780 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2010-11-08 16:13+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -669,8 +669,9 @@
 msgid "geo location sublocation"
 msgstr "zemepisná poloha upresnenie"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "umiestnenie v rámci mesta, kde bolo toto médium vyprodukované alebo "
diff --git a/po/sl.gmo b/po/sl.gmo
index 70fb0ed..0b4a08f 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index acd2bb7..603887a 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2012-03-01 14:05+0100\n"
 "Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -654,8 +654,9 @@
 msgid "geo location sublocation"
 msgstr "področje zemljepisne lege"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "okraj znotraj mesta, kjer je bil posnetek posnet ali izdelan (na primer: "
diff --git a/po/sq.gmo b/po/sq.gmo
index 4c5d590..76da38e 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index db812c9..448c5fc 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -672,7 +672,7 @@
 msgstr "pozicioni"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 017fd22..c5c65d7 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index d0d6750..4fffefe 100644
--- a/po/sr.po
+++ b/po/sr.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-12-05 10:40+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <gnu@prevod.org>\n"
@@ -657,8 +657,9 @@
 msgid "geo location sublocation"
 msgstr "потположај гео положаја"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "место унутар града у коме је медиј произведен или створен (нпр. суседство)"
diff --git a/po/sv.gmo b/po/sv.gmo
index 40285dd..7cbeb8f 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index a86eaf8..e0087d4 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.31.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-01-09 19:46+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -662,8 +662,9 @@
 msgid "geo location sublocation"
 msgstr "specifik plats för geografisk plats"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "en plats inom en stad där mediet har producerats eller skapats (t.ex. "
diff --git a/po/tr.gmo b/po/tr.gmo
index 8e36438..53a9529 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 802b83b..999e65c 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -672,7 +672,7 @@
 msgstr "konum"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/uk.gmo b/po/uk.gmo
index a42c023..33d594c 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index d37e5bf..a09a103 100644
--- a/po/uk.po
+++ b/po/uk.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2011-04-30 20:26+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -653,8 +653,9 @@
 msgid "geo location sublocation"
 msgstr "додаткові дані розташування"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "місце у місті, де виконувалася зйомка або було створено дані (наприклад, "
diff --git a/po/vi.gmo b/po/vi.gmo
index 4e007b5..0be7025 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 1a64906..c85036b 100644
--- a/po/vi.po
+++ b/po/vi.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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2010-10-03 19:09+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -652,8 +652,9 @@
 msgid "geo location sublocation"
 msgstr "vị trí phụ địa lý"
 
+#, fuzzy
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 "một vùng bên trong thành phố ở đó phương tiện đã được tạo hay sản xuất (v.d. "
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 9f37fed..2faafa5 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 7711bf6..50144b2 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: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\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"
@@ -640,7 +640,7 @@
 msgstr "地理海拔"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 7ca57a0..68e4d8d 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 998afb7..3dd810a 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.8\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-09-23 16:19+0100\n"
+"POT-Creation-Date: 2012-10-07 12:26+0100\n"
 "PO-Revision-Date: 2005-04-27 14:55+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -659,7 +659,7 @@
 msgstr "位置"
 
 msgid ""
-"a location whithin a city where the media has been produced or created (e.g. "
+"a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
diff --git a/tests/benchmarks/complexity.c b/tests/benchmarks/complexity.c
index 3599a09..e275811 100644
--- a/tests/benchmarks/complexity.c
+++ b/tests/benchmarks/complexity.c
@@ -90,7 +90,7 @@
   g_slist_free (new_src_list);
 
   end = gst_util_get_timestamp ();
-  g_print ("%" GST_TIME_FORMAT " - creating and linking %d elements\n",
+  g_print ("%" GST_TIME_FORMAT " - creating and linking %u elements\n",
       GST_TIME_ARGS (end - start), i);
 
   start = gst_util_get_timestamp ();
@@ -109,7 +109,7 @@
       GST_MESSAGE_EOS | GST_MESSAGE_ERROR, -1);
   end = gst_util_get_timestamp ();
   gst_message_unref (msg);
-  g_print ("%" GST_TIME_FORMAT " - putting %u buffers through\n",
+  g_print ("%" GST_TIME_FORMAT " - putting %d buffers through\n",
       GST_TIME_ARGS (end - start), BUFFER_COUNT);
 
   start = gst_util_get_timestamp ();
diff --git a/tests/benchmarks/gstpollstress.c b/tests/benchmarks/gstpollstress.c
index dc25c60..707be0b 100644
--- a/tests/benchmarks/gstpollstress.c
+++ b/tests/benchmarks/gstpollstress.c
@@ -125,7 +125,7 @@
       mess_some_more ();
       if (g_timer_elapsed (timer, NULL) > 0.5) {
         g_mutex_lock (&fdlock);
-        g_print ("active fds :%d\n", g_list_length (fds));
+        g_print ("active fds :%u\n", g_list_length (fds));
         g_timer_start (timer);
         g_mutex_unlock (&fdlock);
       }
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 266dcd9..b4880fb 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -38,17 +38,13 @@
 
 # Do not run the abi test in case any option which causes the API to change has
 # been used
-if FALSE
 if !GST_DISABLE_REGISTRY
 if !GST_DISABLE_TRACE
 ABI_CHECKS = gst/gstabi
 endif
 endif
-endif
 
-if FALSE
 LIBSABI_CHECKS = libs/libsabi
-endif
 
 if HAVE_CXX
 CXX_CHECKS = gst/gstcpp libs/gstlibscpp
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 2285d6b..3f572df 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -55,21 +55,22 @@
 target_triplet = @target@
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/check.mak
-check_PROGRAMS = gst/gstatomicqueue$(EXEEXT) gst/gstbuffer$(EXEEXT) \
-	gst/gstbufferlist$(EXEEXT) gst/gstmeta$(EXEEXT) \
-	gst/gstmemory$(EXEEXT) gst/gstbus$(EXEEXT) \
-	gst/gstcaps$(EXEEXT) $(am__EXEEXT_1) gst/gstdatetime$(EXEEXT) \
-	gst/gstinfo$(EXEEXT) gst/gstiterator$(EXEEXT) \
-	gst/gstmessage$(EXEEXT) gst/gstminiobject$(EXEEXT) \
-	gst/gstobject$(EXEEXT) gst/gstpad$(EXEEXT) \
-	gst/gstparamspecs$(EXEEXT) gst/gstpipeline$(EXEEXT) \
-	gst/gstpoll$(EXEEXT) gst/gstsegment$(EXEEXT) \
-	gst/gstsystemclock$(EXEEXT) gst/gstclock$(EXEEXT) \
-	gst/gststructure$(EXEEXT) gst/gsttag$(EXEEXT) \
-	gst/gsttagsetter$(EXEEXT) gst/gsttask$(EXEEXT) \
-	gst/gsttoc$(EXEEXT) gst/gsttocsetter$(EXEEXT) \
-	gst/gstvalue$(EXEEXT) generic/states$(EXEEXT) $(am__EXEEXT_2) \
-	$(am__EXEEXT_3) libs/adapter$(EXEEXT) libs/bitreader$(EXEEXT) \
+check_PROGRAMS = $(am__EXEEXT_1) gst/gstatomicqueue$(EXEEXT) \
+	gst/gstbuffer$(EXEEXT) gst/gstbufferlist$(EXEEXT) \
+	gst/gstmeta$(EXEEXT) gst/gstmemory$(EXEEXT) \
+	gst/gstbus$(EXEEXT) gst/gstcaps$(EXEEXT) $(am__EXEEXT_2) \
+	gst/gstdatetime$(EXEEXT) gst/gstinfo$(EXEEXT) \
+	gst/gstiterator$(EXEEXT) gst/gstmessage$(EXEEXT) \
+	gst/gstminiobject$(EXEEXT) gst/gstobject$(EXEEXT) \
+	gst/gstpad$(EXEEXT) gst/gstparamspecs$(EXEEXT) \
+	gst/gstpipeline$(EXEEXT) gst/gstpoll$(EXEEXT) \
+	gst/gstsegment$(EXEEXT) gst/gstsystemclock$(EXEEXT) \
+	gst/gstclock$(EXEEXT) gst/gststructure$(EXEEXT) \
+	gst/gsttag$(EXEEXT) gst/gsttagsetter$(EXEEXT) \
+	gst/gsttask$(EXEEXT) gst/gsttoc$(EXEEXT) \
+	gst/gsttocsetter$(EXEEXT) gst/gstvalue$(EXEEXT) \
+	generic/states$(EXEEXT) $(am__EXEEXT_3) $(am__EXEEXT_4) \
+	$(am__EXEEXT_5) libs/adapter$(EXEEXT) libs/bitreader$(EXEEXT) \
 	libs/bytereader$(EXEEXT) libs/bytewriter$(EXEEXT) \
 	libs/collectpads$(EXEEXT) libs/gstnetclientclock$(EXEEXT) \
 	libs/gstnettimeprovider$(EXEEXT) libs/transform1$(EXEEXT) \
@@ -118,14 +119,15 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-@HAVE_CXX_TRUE@am__EXEEXT_1 = gst/gstcpp$(EXEEXT) \
+@GST_DISABLE_REGISTRY_FALSE@@GST_DISABLE_TRACE_FALSE@am__EXEEXT_1 = gst/gstabi$(EXEEXT)
+@HAVE_CXX_TRUE@am__EXEEXT_2 = gst/gstcpp$(EXEEXT) \
 @HAVE_CXX_TRUE@	libs/gstlibscpp$(EXEEXT)
-@GST_DISABLE_PARSE_FALSE@am__EXEEXT_2 = pipelines/simple-launch-lines$(EXEEXT) \
+@GST_DISABLE_PARSE_FALSE@am__EXEEXT_3 = pipelines/simple-launch-lines$(EXEEXT) \
 @GST_DISABLE_PARSE_FALSE@	pipelines/cleanup$(EXEEXT) \
 @GST_DISABLE_PARSE_FALSE@	pipelines/parse-launch$(EXEEXT)
-@GST_DISABLE_PARSE_TRUE@am__EXEEXT_2 =  \
+@GST_DISABLE_PARSE_TRUE@am__EXEEXT_3 =  \
 @GST_DISABLE_PARSE_TRUE@	pipelines/parse-disabled$(EXEEXT)
-@GST_DISABLE_REGISTRY_FALSE@am__EXEEXT_3 = gst/gst$(EXEEXT) \
+@GST_DISABLE_REGISTRY_FALSE@am__EXEEXT_4 = gst/gst$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	gst/gstbin$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	gst/gstchildproxy$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	gst/gstcontroller$(EXEEXT) \
@@ -162,6 +164,7 @@
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/seek$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/stress$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/queue-error$(EXEEXT)
+am__EXEEXT_5 = libs/libsabi$(EXEEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 elements_capsfilter_SOURCES = elements/capsfilter.c
 elements_capsfilter_OBJECTS = capsfilter.$(OBJEXT)
@@ -278,6 +281,12 @@
 gst_gst_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
 	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
+gst_gstabi_SOURCES = gst/gstabi.c
+gst_gstabi_OBJECTS = gstabi.$(OBJEXT)
+gst_gstabi_LDADD = $(LDADD)
+gst_gstabi_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 gst_gstatomicqueue_SOURCES = gst/gstatomicqueue.c
 gst_gstatomicqueue_OBJECTS = gstatomicqueue.$(OBJEXT)
 gst_gstatomicqueue_LDADD = $(LDADD)
@@ -587,6 +596,12 @@
 libs_gstnettimeprovider_DEPENDENCIES =  \
 	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+libs_libsabi_SOURCES = libs/libsabi.c
+libs_libsabi_OBJECTS = libsabi.$(OBJEXT)
+libs_libsabi_LDADD = $(LDADD)
+libs_libsabi_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 libs_queuearray_SOURCES = libs/queuearray.c
 libs_queuearray_OBJECTS = queuearray.$(OBJEXT)
 libs_queuearray_LDADD = $(LDADD)
@@ -701,16 +716,16 @@
 	elements/funnel.c elements/identity.c elements/multiqueue.c \
 	elements/queue.c elements/queue2.c elements/selector.c \
 	elements/tee.c elements/valve.c generic/sinks.c \
-	generic/states.c gst/gst.c gst/gstatomicqueue.c gst/gstbin.c \
-	gst/gstbuffer.c gst/gstbufferlist.c gst/gstbus.c gst/gstcaps.c \
-	gst/gstchildproxy.c gst/gstclock.c gst/gstcontroller.c \
-	$(gst_gstcpp_SOURCES) gst/gstdatetime.c gst/gstelement.c \
-	gst/gstelementfactory.c gst/gstevent.c gst/gstghostpad.c \
-	gst/gstinfo.c gst/gstiterator.c gst/gstmemory.c \
-	gst/gstmessage.c gst/gstmeta.c gst/gstminiobject.c \
-	gst/gstobject.c gst/gstpad.c gst/gstparamspecs.c \
-	gst/gstpipeline.c gst/gstplugin.c gst/gstpoll.c \
-	gst/gstpreset.c gst/gstquery.c gst/gstregistry.c \
+	generic/states.c gst/gst.c gst/gstabi.c gst/gstatomicqueue.c \
+	gst/gstbin.c gst/gstbuffer.c gst/gstbufferlist.c gst/gstbus.c \
+	gst/gstcaps.c gst/gstchildproxy.c gst/gstclock.c \
+	gst/gstcontroller.c $(gst_gstcpp_SOURCES) gst/gstdatetime.c \
+	gst/gstelement.c gst/gstelementfactory.c gst/gstevent.c \
+	gst/gstghostpad.c gst/gstinfo.c gst/gstiterator.c \
+	gst/gstmemory.c gst/gstmessage.c gst/gstmeta.c \
+	gst/gstminiobject.c gst/gstobject.c gst/gstpad.c \
+	gst/gstparamspecs.c gst/gstpipeline.c gst/gstplugin.c \
+	gst/gstpoll.c gst/gstpreset.c gst/gstquery.c gst/gstregistry.c \
 	gst/gstsegment.c gst/gststructure.c gst/gstsystemclock.c \
 	gst/gsttag.c gst/gsttagsetter.c gst/gsttask.c gst/gsttoc.c \
 	gst/gsttocsetter.c gst/gsturi.c gst/gstutils.c gst/gstvalue.c \
@@ -718,17 +733,18 @@
 	libs/bytereader.c libs/bytewriter.c libs/collectpads.c \
 	libs/controller.c $(libs_gstlibscpp_SOURCES) \
 	libs/gstnetclientclock.c libs/gstnettimeprovider.c \
-	libs/queuearray.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/libsabi.c libs/queuearray.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 \
 	elements/multiqueue.c elements/queue.c elements/queue2.c \
 	elements/selector.c elements/tee.c elements/valve.c \
-	generic/sinks.c generic/states.c gst/gst.c \
+	generic/sinks.c generic/states.c gst/gst.c gst/gstabi.c \
 	gst/gstatomicqueue.c gst/gstbin.c gst/gstbuffer.c \
 	gst/gstbufferlist.c gst/gstbus.c gst/gstcaps.c \
 	gst/gstchildproxy.c gst/gstclock.c gst/gstcontroller.c \
@@ -746,11 +762,12 @@
 	libs/bytereader.c libs/bytewriter.c libs/collectpads.c \
 	libs/controller.c $(libs_gstlibscpp_SOURCES) \
 	libs/gstnetclientclock.c libs/gstnettimeprovider.c \
-	libs/queuearray.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/libsabi.c libs/queuearray.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;; \
@@ -1063,6 +1080,11 @@
 # These tests don't even build any longer:
 #   gst/gstindex.c
 @GST_DISABLE_PARSE_TRUE@PARSE_CHECKS = pipelines/parse-disabled
+
+# Do not run the abi test in case any option which causes the API to change has
+# been used
+@GST_DISABLE_REGISTRY_FALSE@@GST_DISABLE_TRACE_FALSE@ABI_CHECKS = gst/gstabi
+LIBSABI_CHECKS = libs/libsabi
 @HAVE_CXX_FALSE@CXX_CHECKS = 
 @HAVE_CXX_TRUE@CXX_CHECKS = gst/gstcpp libs/gstlibscpp
 @GST_DISABLE_REGISTRY_FALSE@REGISTRY_CHECKS = \
@@ -1308,6 +1330,9 @@
 gst/gst$(EXEEXT): $(gst_gst_OBJECTS) $(gst_gst_DEPENDENCIES) $(EXTRA_gst_gst_DEPENDENCIES) gst/$(am__dirstamp)
 	@rm -f gst/gst$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(gst_gst_OBJECTS) $(gst_gst_LDADD) $(LIBS)
+gst/gstabi$(EXEEXT): $(gst_gstabi_OBJECTS) $(gst_gstabi_DEPENDENCIES) $(EXTRA_gst_gstabi_DEPENDENCIES) gst/$(am__dirstamp)
+	@rm -f gst/gstabi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gst_gstabi_OBJECTS) $(gst_gstabi_LDADD) $(LIBS)
 gst/gstatomicqueue$(EXEEXT): $(gst_gstatomicqueue_OBJECTS) $(gst_gstatomicqueue_DEPENDENCIES) $(EXTRA_gst_gstatomicqueue_DEPENDENCIES) gst/$(am__dirstamp)
 	@rm -f gst/gstatomicqueue$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(gst_gstatomicqueue_OBJECTS) $(gst_gstatomicqueue_LDADD) $(LIBS)
@@ -1467,6 +1492,9 @@
 libs/gstnettimeprovider$(EXEEXT): $(libs_gstnettimeprovider_OBJECTS) $(libs_gstnettimeprovider_DEPENDENCIES) $(EXTRA_libs_gstnettimeprovider_DEPENDENCIES) libs/$(am__dirstamp)
 	@rm -f libs/gstnettimeprovider$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(libs_gstnettimeprovider_OBJECTS) $(libs_gstnettimeprovider_LDADD) $(LIBS)
+libs/libsabi$(EXEEXT): $(libs_libsabi_OBJECTS) $(libs_libsabi_DEPENDENCIES) $(EXTRA_libs_libsabi_DEPENDENCIES) libs/$(am__dirstamp)
+	@rm -f libs/libsabi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(libs_libsabi_OBJECTS) $(libs_libsabi_LDADD) $(LIBS)
 libs/queuearray$(EXEEXT): $(libs_queuearray_OBJECTS) $(libs_queuearray_DEPENDENCIES) $(EXTRA_libs_queuearray_DEPENDENCIES) libs/$(am__dirstamp)
 	@rm -f libs/queuearray$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(libs_queuearray_OBJECTS) $(libs_queuearray_LDADD) $(LIBS)
@@ -1530,6 +1558,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/funnel.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gst.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstabi.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstatomicqueue.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstbin.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstbuffer.Po@am__quote@
@@ -1576,6 +1605,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstutils.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstvalue.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/identity.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsabi.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiqueue.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-disabled.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-launch.Po@am__quote@
@@ -1853,6 +1883,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gst.obj `if test -f 'gst/gst.c'; then $(CYGPATH_W) 'gst/gst.c'; else $(CYGPATH_W) '$(srcdir)/gst/gst.c'; fi`
 
+gstabi.o: gst/gstabi.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstabi.o -MD -MP -MF $(DEPDIR)/gstabi.Tpo -c -o gstabi.o `test -f 'gst/gstabi.c' || echo '$(srcdir)/'`gst/gstabi.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gstabi.Tpo $(DEPDIR)/gstabi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gst/gstabi.c' object='gstabi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstabi.o `test -f 'gst/gstabi.c' || echo '$(srcdir)/'`gst/gstabi.c
+
+gstabi.obj: gst/gstabi.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstabi.obj -MD -MP -MF $(DEPDIR)/gstabi.Tpo -c -o gstabi.obj `if test -f 'gst/gstabi.c'; then $(CYGPATH_W) 'gst/gstabi.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstabi.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gstabi.Tpo $(DEPDIR)/gstabi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gst/gstabi.c' object='gstabi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstabi.obj `if test -f 'gst/gstabi.c'; then $(CYGPATH_W) 'gst/gstabi.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstabi.c'; fi`
+
 gstatomicqueue.o: gst/gstatomicqueue.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstatomicqueue.o -MD -MP -MF $(DEPDIR)/gstatomicqueue.Tpo -c -o gstatomicqueue.o `test -f 'gst/gstatomicqueue.c' || echo '$(srcdir)/'`gst/gstatomicqueue.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gstatomicqueue.Tpo $(DEPDIR)/gstatomicqueue.Po
@@ -2553,6 +2597,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstnettimeprovider.obj `if test -f 'libs/gstnettimeprovider.c'; then $(CYGPATH_W) 'libs/gstnettimeprovider.c'; else $(CYGPATH_W) '$(srcdir)/libs/gstnettimeprovider.c'; fi`
 
+libsabi.o: libs/libsabi.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsabi.o -MD -MP -MF $(DEPDIR)/libsabi.Tpo -c -o libsabi.o `test -f 'libs/libsabi.c' || echo '$(srcdir)/'`libs/libsabi.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsabi.Tpo $(DEPDIR)/libsabi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libs/libsabi.c' object='libsabi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsabi.o `test -f 'libs/libsabi.c' || echo '$(srcdir)/'`libs/libsabi.c
+
+libsabi.obj: libs/libsabi.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsabi.obj -MD -MP -MF $(DEPDIR)/libsabi.Tpo -c -o libsabi.obj `if test -f 'libs/libsabi.c'; then $(CYGPATH_W) 'libs/libsabi.c'; else $(CYGPATH_W) '$(srcdir)/libs/libsabi.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsabi.Tpo $(DEPDIR)/libsabi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libs/libsabi.c' object='libsabi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsabi.obj `if test -f 'libs/libsabi.c'; then $(CYGPATH_W) 'libs/libsabi.c'; else $(CYGPATH_W) '$(srcdir)/libs/libsabi.c'; fi`
+
 queuearray.o: libs/queuearray.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT queuearray.o -MD -MP -MF $(DEPDIR)/queuearray.Tpo -c -o queuearray.o `test -f 'libs/queuearray.c' || echo '$(srcdir)/'`libs/queuearray.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/queuearray.Tpo $(DEPDIR)/queuearray.Po
diff --git a/tests/check/gst/gstabi.c b/tests/check/gst/gstabi.c
new file mode 100644
index 0000000..fffe062
--- /dev/null
+++ b/tests/check/gst/gstabi.c
@@ -0,0 +1,84 @@
+/* GStreamer
+ * Copyright (C) 2005 Wim Taymans <wim@fluendo.com>
+ *
+ * gstabi.c: Unit test for ABI compatibility
+ *
+ * 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+#include <gst/check/gstcheck.h>
+
+#ifdef HAVE_CPU_I386
+#include "struct_i386.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef __powerpc64__
+#include "struct_ppc64.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef __powerpc__
+#include "struct_ppc32.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_X86_64
+#include "struct_x86_64.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_HPPA
+#include "struct_hppa.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_SPARC
+#include "struct_sparc.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_ARM
+#include "struct_arm.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+/* in case someone wants to generate a new arch */
+#include "struct_i386.h"
+#define HAVE_ABI_SIZES FALSE
+#endif
+#endif
+#endif
+#endif
+#endif
+#endif
+#endif
+
+GST_START_TEST (test_ABI)
+{
+  gst_check_abi_list (list, HAVE_ABI_SIZES);
+}
+
+GST_END_TEST;
+
+static Suite *
+gstabi_suite (void)
+{
+  Suite *s = suite_create ("GstABI");
+  TCase *tc_chain = tcase_create ("size check");
+
+  tcase_set_timeout (tc_chain, 0);
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_ABI);
+  return s;
+}
+
+GST_CHECK_MAIN (gstabi);
diff --git a/tests/check/gst/gstcaps.c b/tests/check/gst/gstcaps.c
index a0090a2..59f4832 100644
--- a/tests/check/gst/gstcaps.c
+++ b/tests/check/gst/gstcaps.c
@@ -714,6 +714,70 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_intersect_list_duplicate)
+{
+  GstCaps *caps1, *caps2, *icaps;
+
+  /* make sure we don't take too long to intersect these.. */
+  caps1 = gst_caps_from_string ("video/x-raw, format=(string)YV12; "
+      "video/x-raw, format=(string)I420; video/x-raw, format=(string)YUY2; "
+      "video/x-raw, format=(string)UYVY; "
+      "video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx,"
+      " xRGB, xBGR, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } } } } }, BGRA, ARGB, { ABGR, ABGR, "
+      "{ ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } } } } }, "
+      "RGB, BGR, Y41B, Y42B, YVYU, Y444 }; "
+      "video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, "
+      "xRGB, xBGR, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } } } } }, BGRA, ARGB, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } } } } }, "
+      "RGB, BGR, Y41B, Y42B, YVYU, Y444, NV12, NV21 }; "
+      "video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, "
+      "BGRx, xRGB, xBGR, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } }, { RGBA, RGBA, { RGBA, RGBA }, "
+      "{ RGBA, RGBA, { RGBA, RGBA } } } }, BGRA, ARGB, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } }, "
+      "{ ABGR, ABGR, { ABGR, ABGR }, { ABGR, ABGR, { ABGR, ABGR } } } }, "
+      "RGB, BGR, Y41B, Y42B, YVYU, Y444, NV12, NV21 }");
+
+  caps2 = gst_caps_copy (caps1);
+
+  icaps = gst_caps_intersect (caps1, caps2);
+
+  gst_caps_unref (caps1);
+  gst_caps_unref (caps2);
+  gst_caps_unref (icaps);
+}
+
+GST_END_TEST;
 
 GST_START_TEST (test_intersect_zigzag)
 {
@@ -919,6 +983,7 @@
   tcase_add_test (tc_chain, test_merge_subset);
   tcase_add_test (tc_chain, test_intersect);
   tcase_add_test (tc_chain, test_intersect2);
+  tcase_add_test (tc_chain, test_intersect_list_duplicate);
   tcase_add_test (tc_chain, test_intersect_zigzag);
   tcase_add_test (tc_chain, test_intersect_first);
   tcase_add_test (tc_chain, test_intersect_first2);
diff --git a/tests/check/gst/gstghostpad.c b/tests/check/gst/gstghostpad.c
index c93cc20..3f5be0d 100644
--- a/tests/check/gst/gstghostpad.c
+++ b/tests/check/gst/gstghostpad.c
@@ -1107,6 +1107,60 @@
 
 GST_END_TEST;
 
+/* Test that remove a ghostpad that has something flowing through it does not
+ * crash the program
+ */
+
+GstElement *bin;
+GstPad *ghostsink;
+GstPad *ghostsrc;
+
+static GstPadProbeReturn
+remove_ghostpad_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer data)
+{
+  gst_pad_set_active (ghostsrc, FALSE);
+  gst_pad_set_active (ghostsink, FALSE);
+  gst_element_remove_pad (bin, ghostsrc);
+  gst_element_remove_pad (bin, ghostsink);
+
+  return GST_PAD_PROBE_DROP;
+}
+
+GST_START_TEST (test_ghost_pads_remove_while_playing)
+{
+  GstPad *sinkpad;
+  GstPad *srcpad;
+
+  bin = gst_bin_new (NULL);
+  gst_element_set_state (bin, GST_STATE_PLAYING);
+  sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
+
+  ghostsrc = gst_ghost_pad_new_no_target ("ghostsrc", GST_PAD_SRC);
+  sinkpad = GST_PAD (gst_proxy_pad_get_internal (GST_PROXY_PAD (ghostsrc)));
+  ghostsink = gst_ghost_pad_new ("ghostsink", sinkpad);
+  gst_object_unref (sinkpad);
+  gst_pad_set_active (ghostsrc, TRUE);
+  gst_pad_set_active (ghostsink, TRUE);
+  gst_element_add_pad (bin, ghostsrc);
+  gst_element_add_pad (bin, ghostsink);
+
+  srcpad = gst_pad_new ("srcpad", GST_PAD_SRC);
+  gst_pad_set_active (srcpad, TRUE);
+  gst_pad_link (srcpad, ghostsink);
+
+  gst_pad_add_probe (ghostsrc, GST_PAD_PROBE_TYPE_BUFFER,
+      remove_ghostpad_probe_cb, NULL, NULL);
+
+  g_assert (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
+
+  gst_pad_set_active (srcpad, FALSE);
+  gst_element_set_state (bin, GST_STATE_NULL);
+  gst_object_unref (bin);
+  gst_object_unref (srcpad);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_ghost_pad_suite (void)
 {
@@ -1131,6 +1185,7 @@
   tcase_add_test (tc_chain, test_ghost_pads_src_link_unlink);
   tcase_add_test (tc_chain, test_ghost_pads_change_when_linked);
   tcase_add_test (tc_chain, test_ghost_pads_internal_link);
+  tcase_add_test (tc_chain, test_ghost_pads_remove_while_playing);
 
   return s;
 }
diff --git a/tests/check/gst/gstmemory.c b/tests/check/gst/gstmemory.c
index b64f786..9d209e9 100644
--- a/tests/check/gst/gstmemory.c
+++ b/tests/check/gst/gstmemory.c
@@ -149,6 +149,12 @@
 
   fail_if (gst_memory_map (mem, &info, GST_MAP_WRITE));
 
+  /* Make sure mapping anxd unmapping it doesn't change it's locking state */
+  fail_unless (gst_memory_map (mem, &info, GST_MAP_READ));
+  gst_memory_unmap (mem, &info);
+
+  fail_if (gst_memory_map (mem, &info, GST_MAP_WRITE));
+
   mem2 = gst_memory_copy (mem, 0, -1);
   fail_unless (GST_MEMORY_IS_READONLY (mem));
   fail_if (GST_MEMORY_IS_READONLY (mem2));
diff --git a/tests/check/gst/gstmeta.c b/tests/check/gst/gstmeta.c
index 73b5d56..0f2355b 100644
--- a/tests/check/gst/gstmeta.c
+++ b/tests/check/gst/gstmeta.c
@@ -139,11 +139,12 @@
 {
   static const GstMetaInfo *meta_test_info = NULL;
 
-  if (meta_test_info == NULL) {
-    meta_test_info = gst_meta_register (GST_META_TEST_API_TYPE,
+  if (g_once_init_enter (&meta_test_info)) {
+    const GstMetaInfo *mi = gst_meta_register (GST_META_TEST_API_TYPE,
         "GstMetaTest",
         sizeof (GstMetaTest),
         test_init_func, test_free_func, test_transform_func);
+    g_once_init_leave (&meta_test_info, mi);
   }
   return meta_test_info;
 }
diff --git a/tests/check/gst/struct_arm.h b/tests/check/gst/struct_arm.h
index 3f28d86..b7a2952 100644
--- a/tests/check/gst/struct_arm.h
+++ b/tests/check/gst/struct_arm.h
@@ -1,70 +1,72 @@
-
-GstCheckABIStruct list[] = {
-  {"GstBin", sizeof (GstBin), 192},
-  {"GstBinClass", sizeof (GstBinClass), 288},
-  {"GstBuffer", sizeof (GstBuffer), 88},
-  {"GstBufferClass", sizeof (GstBufferClass), 16},
-  {"GstBus", sizeof (GstBus), 80},
-  {"GstBusClass", sizeof (GstBusClass), 144},
-  {"GstCaps", sizeof (GstCaps), 32},
-  {"GstStaticCaps", sizeof (GstStaticCaps), 52},
-  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 40},
-  {"GstClock", sizeof (GstClock), 176},
-  {"GstClockClass", sizeof (GstClockClass), 160},
-  {"GstElement", sizeof (GstElement), 136},
-  {"GstElementClass", sizeof (GstElementClass), 248},
-  {"GstElementFactory", sizeof (GstElementFactory), 144},
-  {"GstElementFactoryClass", sizeof (GstElementFactoryClass), 152},
-  {"GstElementDetails", sizeof (GstElementDetails), 32},
-  {"GstEvent", sizeof (GstEvent), 48},
-  {"GstEventClass", sizeof (GstEventClass), 32},
-  {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
-  {"GstIndexEntry", sizeof (GstIndexEntry), 20},
-  {"GstIndexGroup", sizeof (GstIndexGroup), 16},
-  {"GstIndex", sizeof (GstIndex), 100},
-  {"GstIndexClass", sizeof (GstIndexClass), 156},
-  {"GstIndexAssociation", sizeof (GstIndexAssociation), 16},
-  {"GstIndexFactory", sizeof (GstIndexFactory), 96},
-  {"GstIndexFactoryClass", sizeof (GstIndexFactoryClass), 152},
-  {"GstDebugCategory", sizeof (GstDebugCategory), 16},
-  {"GstIterator", sizeof (GstIterator), 52},
-  {"GstMessage", sizeof (GstMessage), 64},
-  {"GstMessageClass", sizeof (GstMessageClass), 32},
-  {"GstMiniObject", sizeof (GstMiniObject), 16},
-  {"GstMiniObjectClass", sizeof (GstMiniObjectClass), 16},
-  {"GstObject", sizeof (GstObject), 40},
-  {"GstObjectClass", sizeof (GstObjectClass), 120},
-  {"GstPad", sizeof (GstPad), 188},
-  {"GstPadClass", sizeof (GstPadClass), 152},
-  {"GstPadTemplate", sizeof (GstPadTemplate), 72},
-  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 140},
+static GstCheckABIStruct list[] = {
+  {"GstAllocationParams", sizeof (GstAllocationParams), 64},
+  {"GstAllocator", sizeof (GstAllocator), 176},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 232},
+  {"GstBinClass", sizeof (GstBinClass), 576},
+  {"GstBin", sizeof (GstBin), 376},
+  {"GstBuffer", sizeof (GstBuffer), 112},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 64},
+  {"GstBufferPool", sizeof (GstBufferPool), 136},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 288},
+  {"GstBusClass", sizeof (GstBusClass), 232},
+  {"GstBus", sizeof (GstBus), 128},
+  {"GstCaps", sizeof (GstCaps), 64},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 88},
+  {"GstClockClass", sizeof (GstClockClass), 264},
+  {"GstClockEntry", sizeof (GstClockEntry), 112},
+  {"GstClock", sizeof (GstClock), 128},
+  {"GstControlBinding", sizeof (GstControlBinding), 152},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 248},
+  {"GstControlSource", sizeof (GstControlSource), 136},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 216},
+  {"GstDebugCategory", sizeof (GstDebugCategory), 24},
+  {"GstElementClass", sizeof (GstElementClass), 488},
+  {"GstElement", sizeof (GstElement), 264},
+  {"GstEvent", sizeof (GstEvent), 88},
+  {"GstFormatDefinition", sizeof (GstFormatDefinition), 32},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 272},
+  {"GstGhostPad", sizeof (GstGhostPad), 536},
+  {"GstIterator", sizeof (GstIterator), 120},
+  {"GstMemory", sizeof (GstMemory), 112},
+  {"GstMapInfo", sizeof (GstMapInfo), 104},
+  {"GstMessage", sizeof (GstMessage), 120},
+  {"GstMeta", sizeof (GstMeta), 16},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 24},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 80},
+  {"GstMiniObject", sizeof (GstMiniObject), 64},
+  {"GstObjectClass", sizeof (GstObjectClass), 184},
+  {"GstObject", sizeof (GstObject), 88},
+  {"GstPadClass", sizeof (GstPadClass), 232},
+  {"GstPad", sizeof (GstPad), 520},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 72},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 224},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 144},
+  {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 96},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 608},
+  {"GstPipeline", sizeof (GstPipeline), 440},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 112},
+  {"GstPresetInterface", sizeof (GstPresetInterface), 112},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 240},
+  {"GstProxyPad", sizeof (GstProxyPad), 528},
+  {"GstQuery", sizeof (GstQuery), 72},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 184},
+  {"GstRegistry", sizeof (GstRegistry), 96},
+  {"GstSegment", sizeof (GstSegment), 120},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 48},
   {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
-  {"GstPipeline", sizeof (GstPipeline), 232},
-  {"GstPipelineClass", sizeof (GstPipelineClass), 304},
-  {"GstPlugin", sizeof (GstPlugin), 152},
-  {"GstPluginClass", sizeof (GstPluginClass), 136},
-  {"GstPluginDesc", sizeof (GstPluginDesc), 56},
-  {"GstPluginFeature", sizeof (GstPluginFeature), 72},
-  {"GstPluginFeatureClass", sizeof (GstPluginFeatureClass), 136},
-  {"GstQueryTypeDefinition", sizeof (GstQueryTypeDefinition), 16},
-  {"GstQuery", sizeof (GstQuery), 28},
-  {"GstQueryClass", sizeof (GstQueryClass), 32},
-  {"GstRegistry", sizeof (GstRegistry), 72},
-  {"GstRegistryClass", sizeof (GstRegistryClass), 144},
-  {"GstSegment", sizeof (GstSegment), 88},
-  {"GstStructure", sizeof (GstStructure), 20},
-  {"GstSystemClock", sizeof (GstSystemClock), 200},
-  {"GstSystemClockClass", sizeof (GstSystemClockClass), 176},
-  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 8},
-  {"GstTask", sizeof (GstTask), 80},
-  {"GstTaskClass", sizeof (GstTaskClass), 140},
-  {"GstTrace", sizeof (GstTrace), 20},
-  {"GstTraceEntry", sizeof (GstTraceEntry), 128},
-  {"GstAllocTrace", sizeof (GstAllocTrace), 16},
-  {"GstTypeFind", sizeof (GstTypeFind), 32},
-  {"GstTypeFindFactory", sizeof (GstTypeFindFactory), 108},
-  {"GstTypeFindFactoryClass", sizeof (GstTypeFindFactoryClass), 152},
-  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 44},
-  {"GstValueTable", sizeof (GstValueTable), 32},
+  {"GstStructure", sizeof (GstStructure), 16},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 296},
+  {"GstSystemClock", sizeof (GstSystemClock), 168},
+  {"GstTagList", sizeof (GstTagList), 64,},
+  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16},
+  {"GstTaskClass", sizeof (GstTaskClass), 224},
+  {"GstTask", sizeof (GstTask), 200},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 248},
+  {"GstTaskPool", sizeof (GstTaskPool), 128},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 16},
+  {"GstTypeFind", sizeof (GstTypeFind), 64},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 48},
+  {"GstValueTable", sizeof (GstValueTable), 64},
   {NULL, 0, 0}
 };
diff --git a/tests/check/gst/struct_hppa.h b/tests/check/gst/struct_hppa.h
index 08df6b3..b7a2952 100644
--- a/tests/check/gst/struct_hppa.h
+++ b/tests/check/gst/struct_hppa.h
@@ -1,69 +1,72 @@
 static GstCheckABIStruct list[] = {
-  {"GstBin", sizeof (GstBin), 192},
-  {"GstBinClass", sizeof (GstBinClass), 288},
-  {"GstBuffer", sizeof (GstBuffer), 88},
-  {"GstBufferClass", sizeof (GstBufferClass), 16},
-  {"GstBus", sizeof (GstBus), 80},
-  {"GstBusClass", sizeof (GstBusClass), 144},
-  {"GstCaps", sizeof (GstCaps), 32},
-  {"GstStaticCaps", sizeof (GstStaticCaps), 52},
-  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 40},
-  {"GstClock", sizeof (GstClock), 176},
-  {"GstClockClass", sizeof (GstClockClass), 160},
-  {"GstElement", sizeof (GstElement), 136},
-  {"GstElementClass", sizeof (GstElementClass), 248},
-  {"GstElementFactory", sizeof (GstElementFactory), 144},
-  {"GstElementFactoryClass", sizeof (GstElementFactoryClass), 152},
-  {"GstElementDetails", sizeof (GstElementDetails), 32},
-  {"GstEvent", sizeof (GstEvent), 48},
-  {"GstEventClass", sizeof (GstEventClass), 32},
-  {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
-  {"GstIndexEntry", sizeof (GstIndexEntry), 20},
-  {"GstIndexGroup", sizeof (GstIndexGroup), 16},
-  {"GstIndex", sizeof (GstIndex), 100},
-  {"GstIndexClass", sizeof (GstIndexClass), 156},
-  {"GstIndexAssociation", sizeof (GstIndexAssociation), 16},
-  {"GstIndexFactory", sizeof (GstIndexFactory), 96},
-  {"GstIndexFactoryClass", sizeof (GstIndexFactoryClass), 152},
-  {"GstDebugCategory", sizeof (GstDebugCategory), 16},
-  {"GstIterator", sizeof (GstIterator), 52},
-  {"GstMessage", sizeof (GstMessage), 64},
-  {"GstMessageClass", sizeof (GstMessageClass), 32},
-  {"GstMiniObject", sizeof (GstMiniObject), 16},
-  {"GstMiniObjectClass", sizeof (GstMiniObjectClass), 16},
-  {"GstObject", sizeof (GstObject), 40},
-  {"GstObjectClass", sizeof (GstObjectClass), 120},
-  {"GstPad", sizeof (GstPad), 188},
-  {"GstPadClass", sizeof (GstPadClass), 152},
-  {"GstPadTemplate", sizeof (GstPadTemplate), 72},
-  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 140},
+  {"GstAllocationParams", sizeof (GstAllocationParams), 64},
+  {"GstAllocator", sizeof (GstAllocator), 176},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 232},
+  {"GstBinClass", sizeof (GstBinClass), 576},
+  {"GstBin", sizeof (GstBin), 376},
+  {"GstBuffer", sizeof (GstBuffer), 112},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 64},
+  {"GstBufferPool", sizeof (GstBufferPool), 136},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 288},
+  {"GstBusClass", sizeof (GstBusClass), 232},
+  {"GstBus", sizeof (GstBus), 128},
+  {"GstCaps", sizeof (GstCaps), 64},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 88},
+  {"GstClockClass", sizeof (GstClockClass), 264},
+  {"GstClockEntry", sizeof (GstClockEntry), 112},
+  {"GstClock", sizeof (GstClock), 128},
+  {"GstControlBinding", sizeof (GstControlBinding), 152},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 248},
+  {"GstControlSource", sizeof (GstControlSource), 136},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 216},
+  {"GstDebugCategory", sizeof (GstDebugCategory), 24},
+  {"GstElementClass", sizeof (GstElementClass), 488},
+  {"GstElement", sizeof (GstElement), 264},
+  {"GstEvent", sizeof (GstEvent), 88},
+  {"GstFormatDefinition", sizeof (GstFormatDefinition), 32},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 272},
+  {"GstGhostPad", sizeof (GstGhostPad), 536},
+  {"GstIterator", sizeof (GstIterator), 120},
+  {"GstMemory", sizeof (GstMemory), 112},
+  {"GstMapInfo", sizeof (GstMapInfo), 104},
+  {"GstMessage", sizeof (GstMessage), 120},
+  {"GstMeta", sizeof (GstMeta), 16},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 24},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 80},
+  {"GstMiniObject", sizeof (GstMiniObject), 64},
+  {"GstObjectClass", sizeof (GstObjectClass), 184},
+  {"GstObject", sizeof (GstObject), 88},
+  {"GstPadClass", sizeof (GstPadClass), 232},
+  {"GstPad", sizeof (GstPad), 520},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 72},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 224},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 144},
+  {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 96},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 608},
+  {"GstPipeline", sizeof (GstPipeline), 440},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 112},
+  {"GstPresetInterface", sizeof (GstPresetInterface), 112},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 240},
+  {"GstProxyPad", sizeof (GstProxyPad), 528},
+  {"GstQuery", sizeof (GstQuery), 72},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 184},
+  {"GstRegistry", sizeof (GstRegistry), 96},
+  {"GstSegment", sizeof (GstSegment), 120},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 48},
   {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
-  {"GstPipeline", sizeof (GstPipeline), 232},
-  {"GstPipelineClass", sizeof (GstPipelineClass), 304},
-  {"GstPlugin", sizeof (GstPlugin), 152},
-  {"GstPluginClass", sizeof (GstPluginClass), 136},
-  {"GstPluginDesc", sizeof (GstPluginDesc), 56},
-  {"GstPluginFeature", sizeof (GstPluginFeature), 72},
-  {"GstPluginFeatureClass", sizeof (GstPluginFeatureClass), 136},
-  {"GstQueryTypeDefinition", sizeof (GstQueryTypeDefinition), 16},
-  {"GstQuery", sizeof (GstQuery), 28},
-  {"GstQueryClass", sizeof (GstQueryClass), 32},
-  {"GstRegistry", sizeof (GstRegistry), 72},
-  {"GstRegistryClass", sizeof (GstRegistryClass), 144},
-  {"GstSegment", sizeof (GstSegment), 88},
-  {"GstStructure", sizeof (GstStructure), 20},
-  {"GstSystemClock", sizeof (GstSystemClock), 200},
-  {"GstSystemClockClass", sizeof (GstSystemClockClass), 176},
-  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 8},
-  {"GstTask", sizeof (GstTask), 80},
-  {"GstTaskClass", sizeof (GstTaskClass), 140},
-  {"GstTrace", sizeof (GstTrace), 20},
-  {"GstTraceEntry", sizeof (GstTraceEntry), 128},
-  {"GstAllocTrace", sizeof (GstAllocTrace), 16},
-  {"GstTypeFind", sizeof (GstTypeFind), 32},
-  {"GstTypeFindFactory", sizeof (GstTypeFindFactory), 108},
-  {"GstTypeFindFactoryClass", sizeof (GstTypeFindFactoryClass), 152},
-  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 44},
-  {"GstValueTable", sizeof (GstValueTable), 32},
+  {"GstStructure", sizeof (GstStructure), 16},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 296},
+  {"GstSystemClock", sizeof (GstSystemClock), 168},
+  {"GstTagList", sizeof (GstTagList), 64,},
+  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16},
+  {"GstTaskClass", sizeof (GstTaskClass), 224},
+  {"GstTask", sizeof (GstTask), 200},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 248},
+  {"GstTaskPool", sizeof (GstTaskPool), 128},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 16},
+  {"GstTypeFind", sizeof (GstTypeFind), 64},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 48},
+  {"GstValueTable", sizeof (GstValueTable), 64},
   {NULL, 0, 0}
 };
diff --git a/tests/check/gst/struct_i386.h b/tests/check/gst/struct_i386.h
index 7aba5ae..372685a 100644
--- a/tests/check/gst/struct_i386.h
+++ b/tests/check/gst/struct_i386.h
@@ -1,69 +1,72 @@
 static GstCheckABIStruct list[] = {
- {"GstBin", sizeof (GstBin), 184},
- {"GstBinClass", sizeof(GstBinClass), 288},
- {"GstBuffer", sizeof(GstBuffer), 80},
- {"GstBufferClass", sizeof(GstBufferClass), 16},
- {"GstBus", sizeof(GstBus), 80},
- {"GstBusClass", sizeof(GstBusClass), 144},
- {"GstCaps", sizeof(GstCaps), 32},
- {"GstStaticCaps", sizeof(GstStaticCaps), 52},
- {"GstChildProxyInterface", sizeof(GstChildProxyInterface), 40},
- {"GstClock", sizeof(GstClock), 172},
- {"GstClockClass", sizeof(GstClockClass), 160},
- {"GstElement", sizeof(GstElement), 128},
- {"GstElementClass", sizeof(GstElementClass), 248},
- {"GstElementFactory", sizeof(GstElementFactory), 144},
- {"GstElementFactoryClass", sizeof(GstElementFactoryClass), 152},
- {"GstElementDetails", sizeof(GstElementDetails), 32},
- {"GstEvent", sizeof(GstEvent), 40},
- {"GstEventClass", sizeof(GstEventClass), 32},
- {"GstFormatDefinition", sizeof(GstFormatDefinition), 16},
- {"GstIndexEntry", sizeof(GstIndexEntry), 20},
- {"GstIndexGroup", sizeof(GstIndexGroup), 16},
- {"GstIndex", sizeof(GstIndex), 100},
- {"GstIndexClass", sizeof(GstIndexClass), 156},
- {"GstIndexAssociation", sizeof(GstIndexAssociation), 12},
- {"GstIndexFactory", sizeof(GstIndexFactory), 96},
- {"GstIndexFactoryClass", sizeof(GstIndexFactoryClass), 152},
- {"GstDebugCategory", sizeof(GstDebugCategory), 16},
- {"GstIterator", sizeof(GstIterator), 52},
- {"GstMessage", sizeof(GstMessage), 60},
- {"GstMessageClass", sizeof(GstMessageClass), 32},
- {"GstMiniObject", sizeof(GstMiniObject), 16},
- {"GstMiniObjectClass", sizeof(GstMiniObjectClass), 16},
- {"GstObject", sizeof(GstObject), 40},
- {"GstObjectClass", sizeof(GstObjectClass), 120},
- {"GstPad", sizeof(GstPad), 188},
- {"GstPadClass", sizeof(GstPadClass), 152},
- {"GstPadTemplate", sizeof(GstPadTemplate), 72},
- {"GstPadTemplateClass", sizeof(GstPadTemplateClass), 140},
- {"GstStaticPadTemplate", sizeof(GstStaticPadTemplate), 64},
- {"GstPipeline", sizeof(GstPipeline), 220},
- {"GstPipelineClass", sizeof(GstPipelineClass), 304},
- {"GstPlugin", sizeof(GstPlugin), 148},
- {"GstPluginClass", sizeof(GstPluginClass), 136},
- {"GstPluginDesc", sizeof(GstPluginDesc), 56},
- {"GstPluginFeature", sizeof(GstPluginFeature), 72},
- {"GstPluginFeatureClass", sizeof(GstPluginFeatureClass), 136},
- {"GstQueryTypeDefinition", sizeof(GstQueryTypeDefinition), 16},
- {"GstQuery", sizeof(GstQuery), 28},
- {"GstQueryClass", sizeof(GstQueryClass), 32},
- {"GstRegistry", sizeof(GstRegistry), 72},
- {"GstRegistryClass", sizeof(GstRegistryClass), 144},
- {"GstSegment", sizeof(GstSegment), 88},
- {"GstStructure", sizeof(GstStructure), 20},
- {"GstSystemClock", sizeof(GstSystemClock), 196},
- {"GstSystemClockClass", sizeof(GstSystemClockClass), 176},
- {"GstTagSetterInterface", sizeof(GstTagSetterInterface), 8},
- {"GstTask", sizeof(GstTask), 80},
- {"GstTaskClass", sizeof(GstTaskClass), 140},
- {"GstTrace", sizeof(GstTrace), 20},
- {"GstTraceEntry", sizeof(GstTraceEntry), 128},
- {"GstAllocTrace", sizeof(GstAllocTrace), 16},
- {"GstTypeFind", sizeof(GstTypeFind), 32},
- {"GstTypeFindFactory", sizeof(GstTypeFindFactory), 108},
- {"GstTypeFindFactoryClass", sizeof(GstTypeFindFactoryClass), 152},
- {"GstURIHandlerInterface", sizeof(GstURIHandlerInterface), 44},
- {"GstValueTable", sizeof(GstValueTable), 32},
- {NULL, 0, 0}
+  {"GstAllocationParams", sizeof (GstAllocationParams), 32},
+  {"GstAllocator", sizeof (GstAllocator), 100},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 116},
+  {"GstBinClass", sizeof (GstBinClass), 292},
+  {"GstBin", sizeof (GstBin), 232},
+  {"GstBuffer", sizeof (GstBuffer), 80},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 40},
+  {"GstBufferPool", sizeof (GstBufferPool), 80},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 144},
+  {"GstBusClass", sizeof (GstBusClass), 116},
+  {"GstBus", sizeof (GstBus), 76},
+  {"GstCaps", sizeof (GstCaps), 36},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 44},
+  {"GstClockClass", sizeof (GstClockClass), 132},
+  {"GstClockEntry", sizeof (GstClockEntry), 68},
+  {"GstClock", sizeof (GstClock), 76},
+  {"GstControlBinding", sizeof (GstControlBinding), 88},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 124},
+  {"GstControlSource", sizeof (GstControlSource), 80},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 108},
+  {"GstDebugCategory", sizeof (GstDebugCategory), 16},
+  {"GstElementClass", sizeof (GstElementClass), 248},
+  {"GstElement", sizeof (GstElement), 172},
+  {"GstEvent", sizeof (GstEvent), 52},
+  {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 136},
+  {"GstGhostPad", sizeof (GstGhostPad), 296},
+  {"GstIterator", sizeof (GstIterator), 60},
+  {"GstMemory", sizeof (GstMemory), 60},
+  {"GstMapInfo", sizeof (GstMapInfo), 52},
+  {"GstMessage", sizeof (GstMessage), 76},
+  {"GstMeta", sizeof (GstMeta), 8},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 12},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 40},
+  {"GstMiniObject", sizeof (GstMiniObject), 36},
+  {"GstObjectClass", sizeof (GstObjectClass), 92},
+  {"GstObject", sizeof (GstObject), 56},
+  {"GstPadClass", sizeof (GstPadClass), 116},
+  {"GstPad", sizeof (GstPad), 288},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 40},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 112},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 88},
+  {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 64},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 308},
+  {"GstPipeline", sizeof (GstPipeline), 272},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 60},
+  {"GstPresetInterface", sizeof (GstPresetInterface), 56},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 120},
+  {"GstProxyPad", sizeof (GstProxyPad), 292},
+  {"GstQuery", sizeof (GstQuery), 40},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 92},
+  {"GstRegistry", sizeof (GstRegistry), 60},
+  {"GstSegment", sizeof (GstSegment), 96},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 24},
+  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 36},
+  {"GstStructure", sizeof (GstStructure), 8},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 148},
+  {"GstSystemClock", sizeof (GstSystemClock), 96},
+  {"GstTagList", sizeof (GstTagList), 36},
+  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 8},
+  {"GstTaskClass", sizeof (GstTaskClass), 112},
+  {"GstTask", sizeof (GstTask), 116},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 124},
+  {"GstTaskPool", sizeof (GstTaskPool), 76},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 8},
+  {"GstTypeFind", sizeof (GstTypeFind), 32},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 24},
+  {"GstValueTable", sizeof (GstValueTable), 32},
+  {NULL, 0, 0}
 };
diff --git a/tests/check/gst/struct_ppc32.h b/tests/check/gst/struct_ppc32.h
index 08df6b3..fc7a571 100644
--- a/tests/check/gst/struct_ppc32.h
+++ b/tests/check/gst/struct_ppc32.h
@@ -1,69 +1,72 @@
 static GstCheckABIStruct list[] = {
-  {"GstBin", sizeof (GstBin), 192},
-  {"GstBinClass", sizeof (GstBinClass), 288},
-  {"GstBuffer", sizeof (GstBuffer), 88},
-  {"GstBufferClass", sizeof (GstBufferClass), 16},
-  {"GstBus", sizeof (GstBus), 80},
-  {"GstBusClass", sizeof (GstBusClass), 144},
-  {"GstCaps", sizeof (GstCaps), 32},
-  {"GstStaticCaps", sizeof (GstStaticCaps), 52},
-  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 40},
-  {"GstClock", sizeof (GstClock), 176},
-  {"GstClockClass", sizeof (GstClockClass), 160},
-  {"GstElement", sizeof (GstElement), 136},
-  {"GstElementClass", sizeof (GstElementClass), 248},
-  {"GstElementFactory", sizeof (GstElementFactory), 144},
-  {"GstElementFactoryClass", sizeof (GstElementFactoryClass), 152},
-  {"GstElementDetails", sizeof (GstElementDetails), 32},
-  {"GstEvent", sizeof (GstEvent), 48},
-  {"GstEventClass", sizeof (GstEventClass), 32},
-  {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
-  {"GstIndexEntry", sizeof (GstIndexEntry), 20},
-  {"GstIndexGroup", sizeof (GstIndexGroup), 16},
-  {"GstIndex", sizeof (GstIndex), 100},
-  {"GstIndexClass", sizeof (GstIndexClass), 156},
-  {"GstIndexAssociation", sizeof (GstIndexAssociation), 16},
-  {"GstIndexFactory", sizeof (GstIndexFactory), 96},
-  {"GstIndexFactoryClass", sizeof (GstIndexFactoryClass), 152},
+  {"GstAllocationParams", sizeof (GstAllocationParams), 32},
+  {"GstAllocator", sizeof (GstAllocator), 112},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 116},
+  {"GstBinClass", sizeof (GstBinClass), 292},
+  {"GstBin", sizeof (GstBin), 248},
+  {"GstBuffer", sizeof (GstBuffer), 80},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 48},
+  {"GstBufferPool", sizeof (GstBufferPool), 88},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 144},
+  {"GstBusClass", sizeof (GstBusClass), 116},
+  {"GstBus", sizeof (GstBus), 88},
+  {"GstCaps", sizeof (GstCaps), 36},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 44},
+  {"GstClockClass", sizeof (GstClockClass), 132},
+  {"GstClockEntry", sizeof (GstClockEntry), 72},
+  {"GstClock", sizeof (GstClock), 88},
+  {"GstControlBinding", sizeof (GstControlBinding), 96},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 124},
+  {"GstControlSource", sizeof (GstControlSource), 88},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 108},
   {"GstDebugCategory", sizeof (GstDebugCategory), 16},
-  {"GstIterator", sizeof (GstIterator), 52},
-  {"GstMessage", sizeof (GstMessage), 64},
-  {"GstMessageClass", sizeof (GstMessageClass), 32},
-  {"GstMiniObject", sizeof (GstMiniObject), 16},
-  {"GstMiniObjectClass", sizeof (GstMiniObjectClass), 16},
-  {"GstObject", sizeof (GstObject), 40},
-  {"GstObjectClass", sizeof (GstObjectClass), 120},
-  {"GstPad", sizeof (GstPad), 188},
-  {"GstPadClass", sizeof (GstPadClass), 152},
-  {"GstPadTemplate", sizeof (GstPadTemplate), 72},
-  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 140},
-  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
-  {"GstPipeline", sizeof (GstPipeline), 232},
-  {"GstPipelineClass", sizeof (GstPipelineClass), 304},
-  {"GstPlugin", sizeof (GstPlugin), 152},
-  {"GstPluginClass", sizeof (GstPluginClass), 136},
-  {"GstPluginDesc", sizeof (GstPluginDesc), 56},
-  {"GstPluginFeature", sizeof (GstPluginFeature), 72},
-  {"GstPluginFeatureClass", sizeof (GstPluginFeatureClass), 136},
-  {"GstQueryTypeDefinition", sizeof (GstQueryTypeDefinition), 16},
-  {"GstQuery", sizeof (GstQuery), 28},
-  {"GstQueryClass", sizeof (GstQueryClass), 32},
+  {"GstElementClass", sizeof (GstElementClass), 248},
+  {"GstElement", sizeof (GstElement), 184},
+  {"GstEvent", sizeof (GstEvent), 56},
+  {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 136},
+  {"GstGhostPad", sizeof (GstGhostPad), 320},
+  {"GstIterator", sizeof (GstIterator), 60},
+  {"GstMemory", sizeof (GstMemory), 60},
+  {"GstMapInfo", sizeof (GstMapInfo), 52},
+  {"GstMessage", sizeof (GstMessage), 80},
+  {"GstMeta", sizeof (GstMeta), 8},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 12},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 40},
+  {"GstMiniObject", sizeof (GstMiniObject), 36},
+  {"GstObjectClass", sizeof (GstObjectClass), 92},
+  {"GstObject", sizeof (GstObject), 64},
+  {"GstPadClass", sizeof (GstPadClass), 116},
+  {"GstPad", sizeof (GstPad), 304},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 48},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 112},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 96},
+  {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 64},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 308},
+  {"GstPipeline", sizeof (GstPipeline), 296},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 60},
+  {"GstPresetInterface", sizeof (GstPresetInterface), 56},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 120},
+  {"GstProxyPad", sizeof (GstProxyPad), 312},
+  {"GstQuery", sizeof (GstQuery), 40},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 92},
   {"GstRegistry", sizeof (GstRegistry), 72},
-  {"GstRegistryClass", sizeof (GstRegistryClass), 144},
-  {"GstSegment", sizeof (GstSegment), 88},
-  {"GstStructure", sizeof (GstStructure), 20},
-  {"GstSystemClock", sizeof (GstSystemClock), 200},
-  {"GstSystemClockClass", sizeof (GstSystemClockClass), 176},
+  {"GstSegment", sizeof (GstSegment), 104},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 24},
+  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 36},
+  {"GstStructure", sizeof (GstStructure), 8},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 148},
+  {"GstSystemClock", sizeof (GstSystemClock), 112},
+  {"GstTagList", sizeof (GstTagList), 36},
   {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 8},
-  {"GstTask", sizeof (GstTask), 80},
-  {"GstTaskClass", sizeof (GstTaskClass), 140},
-  {"GstTrace", sizeof (GstTrace), 20},
-  {"GstTraceEntry", sizeof (GstTraceEntry), 128},
-  {"GstAllocTrace", sizeof (GstAllocTrace), 16},
+  {"GstTaskClass", sizeof (GstTaskClass), 112},
+  {"GstTask", sizeof (GstTask), 128},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 124},
+  {"GstTaskPool", sizeof (GstTaskPool), 88},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 8},
   {"GstTypeFind", sizeof (GstTypeFind), 32},
-  {"GstTypeFindFactory", sizeof (GstTypeFindFactory), 108},
-  {"GstTypeFindFactoryClass", sizeof (GstTypeFindFactoryClass), 152},
-  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 44},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 24},
   {"GstValueTable", sizeof (GstValueTable), 32},
   {NULL, 0, 0}
 };
diff --git a/tests/check/gst/struct_ppc64.h b/tests/check/gst/struct_ppc64.h
index 7b77248..b7a2952 100644
--- a/tests/check/gst/struct_ppc64.h
+++ b/tests/check/gst/struct_ppc64.h
@@ -1,69 +1,72 @@
 static GstCheckABIStruct list[] = {
-  {"GstBin", sizeof (GstBin), 336},
-  {"GstBinClass", sizeof (GstBinClass), 568},
-  {"GstBuffer", sizeof (GstBuffer), 120} ,
-  {"GstBufferClass", sizeof (GstBufferClass), 32} ,
-  {"GstBus", sizeof (GstBus), 152} ,
-  {"GstBusClass", sizeof (GstBusClass), 288} ,
-  {"GstCaps", sizeof (GstCaps), 56} ,
-  {"GstStaticCaps", sizeof (GstStaticCaps), 96} ,
-  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 80} ,
-  {"GstClock", sizeof (GstClock), 240} ,
-  {"GstClockClass", sizeof (GstClockClass), 320} ,
-  {"GstElement", sizeof (GstElement), 232} ,
-  {"GstElementClass", sizeof (GstElementClass), 488} ,
-  {"GstElementFactory", sizeof (GstElementFactory), 280} ,
-  {"GstElementFactoryClass", sizeof (GstElementFactoryClass), 304} ,
-  {"GstElementDetails", sizeof (GstElementDetails), 64} ,
-  {"GstEvent", sizeof (GstEvent), 64} ,
-  {"GstEventClass", sizeof (GstEventClass), 64} ,
-  {"GstFormatDefinition", sizeof (GstFormatDefinition), 32} ,
-  {"GstIndexEntry", sizeof (GstIndexEntry), 32} ,
-  {"GstIndexGroup", sizeof (GstIndexGroup), 24} ,
-  {"GstIndex", sizeof (GstIndex), 192} ,
-  {"GstIndexClass", sizeof (GstIndexClass), 312} ,
-  {"GstIndexAssociation", sizeof (GstIndexAssociation), 16} ,
-  {"GstIndexFactory", sizeof (GstIndexFactory), 192} ,
-  {"GstIndexFactoryClass", sizeof (GstIndexFactoryClass), 304} ,
-  {"GstDebugCategory", sizeof (GstDebugCategory), 24} ,
-  {"GstIterator", sizeof (GstIterator), 104} ,
-  {"GstMessage", sizeof (GstMessage), 104} ,
-  {"GstMessageClass", sizeof (GstMessageClass), 64} ,
-  {"GstMiniObject", sizeof (GstMiniObject), 24} ,
-  {"GstMiniObjectClass", sizeof (GstMiniObjectClass), 32} ,
-  {"GstObject", sizeof (GstObject), 80} ,
-  {"GstObjectClass", sizeof (GstObjectClass), 240} ,
-  {"GstPad", sizeof (GstPad), 368} ,
-  {"GstPadClass", sizeof (GstPadClass), 304} ,
-  {"GstPadTemplate", sizeof (GstPadTemplate), 136} ,
-  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 280} ,
-  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 112} ,
-  {"GstPipeline", sizeof (GstPipeline), 392} ,
-  {"GstPipelineClass", sizeof (GstPipelineClass), 600} ,
-  {"GstPlugin", sizeof (GstPlugin), 280} ,
-  {"GstPluginClass", sizeof (GstPluginClass), 272} ,
-  {"GstPluginDesc", sizeof (GstPluginDesc), 104} ,
-  {"GstPluginFeature", sizeof (GstPluginFeature), 144} ,
-  {"GstPluginFeatureClass", sizeof (GstPluginFeatureClass), 272} ,
-  {"GstQueryTypeDefinition", sizeof (GstQueryTypeDefinition), 32} ,
-  {"GstQuery", sizeof (GstQuery), 48} ,
-  {"GstQueryClass", sizeof (GstQueryClass), 64} ,
-  {"GstRegistry", sizeof (GstRegistry), 144} ,
-  {"GstRegistryClass", sizeof (GstRegistryClass), 288} ,
-  {"GstSegment", sizeof (GstSegment), 104} ,
-  {"GstStructure", sizeof (GstStructure), 40} ,
-  {"GstSystemClock", sizeof (GstSystemClock), 288} ,
-  {"GstSystemClockClass", sizeof (GstSystemClockClass), 352} ,
-  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16} ,
-  {"GstTask", sizeof (GstTask), 160} ,
-  {"GstTaskClass", sizeof (GstTaskClass), 280} ,
-  {"GstTrace", sizeof (GstTrace), 32} ,
-  {"GstTraceEntry", sizeof (GstTraceEntry), 128} ,
-  {"GstAllocTrace", sizeof (GstAllocTrace), 24} ,
-  {"GstTypeFind", sizeof (GstTypeFind), 64} ,
-  {"GstTypeFindFactory", sizeof (GstTypeFindFactory), 216} ,
-  {"GstTypeFindFactoryClass", sizeof (GstTypeFindFactoryClass), 304} ,
-  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 88} ,
-  {"GstValueTable", sizeof (GstValueTable), 64} ,
+  {"GstAllocationParams", sizeof (GstAllocationParams), 64},
+  {"GstAllocator", sizeof (GstAllocator), 176},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 232},
+  {"GstBinClass", sizeof (GstBinClass), 576},
+  {"GstBin", sizeof (GstBin), 376},
+  {"GstBuffer", sizeof (GstBuffer), 112},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 64},
+  {"GstBufferPool", sizeof (GstBufferPool), 136},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 288},
+  {"GstBusClass", sizeof (GstBusClass), 232},
+  {"GstBus", sizeof (GstBus), 128},
+  {"GstCaps", sizeof (GstCaps), 64},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 88},
+  {"GstClockClass", sizeof (GstClockClass), 264},
+  {"GstClockEntry", sizeof (GstClockEntry), 112},
+  {"GstClock", sizeof (GstClock), 128},
+  {"GstControlBinding", sizeof (GstControlBinding), 152},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 248},
+  {"GstControlSource", sizeof (GstControlSource), 136},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 216},
+  {"GstDebugCategory", sizeof (GstDebugCategory), 24},
+  {"GstElementClass", sizeof (GstElementClass), 488},
+  {"GstElement", sizeof (GstElement), 264},
+  {"GstEvent", sizeof (GstEvent), 88},
+  {"GstFormatDefinition", sizeof (GstFormatDefinition), 32},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 272},
+  {"GstGhostPad", sizeof (GstGhostPad), 536},
+  {"GstIterator", sizeof (GstIterator), 120},
+  {"GstMemory", sizeof (GstMemory), 112},
+  {"GstMapInfo", sizeof (GstMapInfo), 104},
+  {"GstMessage", sizeof (GstMessage), 120},
+  {"GstMeta", sizeof (GstMeta), 16},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 24},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 80},
+  {"GstMiniObject", sizeof (GstMiniObject), 64},
+  {"GstObjectClass", sizeof (GstObjectClass), 184},
+  {"GstObject", sizeof (GstObject), 88},
+  {"GstPadClass", sizeof (GstPadClass), 232},
+  {"GstPad", sizeof (GstPad), 520},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 72},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 224},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 144},
+  {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 96},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 608},
+  {"GstPipeline", sizeof (GstPipeline), 440},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 112},
+  {"GstPresetInterface", sizeof (GstPresetInterface), 112},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 240},
+  {"GstProxyPad", sizeof (GstProxyPad), 528},
+  {"GstQuery", sizeof (GstQuery), 72},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 184},
+  {"GstRegistry", sizeof (GstRegistry), 96},
+  {"GstSegment", sizeof (GstSegment), 120},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 48},
+  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
+  {"GstStructure", sizeof (GstStructure), 16},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 296},
+  {"GstSystemClock", sizeof (GstSystemClock), 168},
+  {"GstTagList", sizeof (GstTagList), 64,},
+  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16},
+  {"GstTaskClass", sizeof (GstTaskClass), 224},
+  {"GstTask", sizeof (GstTask), 200},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 248},
+  {"GstTaskPool", sizeof (GstTaskPool), 128},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 16},
+  {"GstTypeFind", sizeof (GstTypeFind), 64},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 48},
+  {"GstValueTable", sizeof (GstValueTable), 64},
   {NULL, 0, 0}
 };
diff --git a/tests/check/gst/struct_sparc.h b/tests/check/gst/struct_sparc.h
index 3f28d86..b7a2952 100644
--- a/tests/check/gst/struct_sparc.h
+++ b/tests/check/gst/struct_sparc.h
@@ -1,70 +1,72 @@
-
-GstCheckABIStruct list[] = {
-  {"GstBin", sizeof (GstBin), 192},
-  {"GstBinClass", sizeof (GstBinClass), 288},
-  {"GstBuffer", sizeof (GstBuffer), 88},
-  {"GstBufferClass", sizeof (GstBufferClass), 16},
-  {"GstBus", sizeof (GstBus), 80},
-  {"GstBusClass", sizeof (GstBusClass), 144},
-  {"GstCaps", sizeof (GstCaps), 32},
-  {"GstStaticCaps", sizeof (GstStaticCaps), 52},
-  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 40},
-  {"GstClock", sizeof (GstClock), 176},
-  {"GstClockClass", sizeof (GstClockClass), 160},
-  {"GstElement", sizeof (GstElement), 136},
-  {"GstElementClass", sizeof (GstElementClass), 248},
-  {"GstElementFactory", sizeof (GstElementFactory), 144},
-  {"GstElementFactoryClass", sizeof (GstElementFactoryClass), 152},
-  {"GstElementDetails", sizeof (GstElementDetails), 32},
-  {"GstEvent", sizeof (GstEvent), 48},
-  {"GstEventClass", sizeof (GstEventClass), 32},
-  {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
-  {"GstIndexEntry", sizeof (GstIndexEntry), 20},
-  {"GstIndexGroup", sizeof (GstIndexGroup), 16},
-  {"GstIndex", sizeof (GstIndex), 100},
-  {"GstIndexClass", sizeof (GstIndexClass), 156},
-  {"GstIndexAssociation", sizeof (GstIndexAssociation), 16},
-  {"GstIndexFactory", sizeof (GstIndexFactory), 96},
-  {"GstIndexFactoryClass", sizeof (GstIndexFactoryClass), 152},
-  {"GstDebugCategory", sizeof (GstDebugCategory), 16},
-  {"GstIterator", sizeof (GstIterator), 52},
-  {"GstMessage", sizeof (GstMessage), 64},
-  {"GstMessageClass", sizeof (GstMessageClass), 32},
-  {"GstMiniObject", sizeof (GstMiniObject), 16},
-  {"GstMiniObjectClass", sizeof (GstMiniObjectClass), 16},
-  {"GstObject", sizeof (GstObject), 40},
-  {"GstObjectClass", sizeof (GstObjectClass), 120},
-  {"GstPad", sizeof (GstPad), 188},
-  {"GstPadClass", sizeof (GstPadClass), 152},
-  {"GstPadTemplate", sizeof (GstPadTemplate), 72},
-  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 140},
+static GstCheckABIStruct list[] = {
+  {"GstAllocationParams", sizeof (GstAllocationParams), 64},
+  {"GstAllocator", sizeof (GstAllocator), 176},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 232},
+  {"GstBinClass", sizeof (GstBinClass), 576},
+  {"GstBin", sizeof (GstBin), 376},
+  {"GstBuffer", sizeof (GstBuffer), 112},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 64},
+  {"GstBufferPool", sizeof (GstBufferPool), 136},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 288},
+  {"GstBusClass", sizeof (GstBusClass), 232},
+  {"GstBus", sizeof (GstBus), 128},
+  {"GstCaps", sizeof (GstCaps), 64},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 88},
+  {"GstClockClass", sizeof (GstClockClass), 264},
+  {"GstClockEntry", sizeof (GstClockEntry), 112},
+  {"GstClock", sizeof (GstClock), 128},
+  {"GstControlBinding", sizeof (GstControlBinding), 152},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 248},
+  {"GstControlSource", sizeof (GstControlSource), 136},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 216},
+  {"GstDebugCategory", sizeof (GstDebugCategory), 24},
+  {"GstElementClass", sizeof (GstElementClass), 488},
+  {"GstElement", sizeof (GstElement), 264},
+  {"GstEvent", sizeof (GstEvent), 88},
+  {"GstFormatDefinition", sizeof (GstFormatDefinition), 32},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 272},
+  {"GstGhostPad", sizeof (GstGhostPad), 536},
+  {"GstIterator", sizeof (GstIterator), 120},
+  {"GstMemory", sizeof (GstMemory), 112},
+  {"GstMapInfo", sizeof (GstMapInfo), 104},
+  {"GstMessage", sizeof (GstMessage), 120},
+  {"GstMeta", sizeof (GstMeta), 16},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 24},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 80},
+  {"GstMiniObject", sizeof (GstMiniObject), 64},
+  {"GstObjectClass", sizeof (GstObjectClass), 184},
+  {"GstObject", sizeof (GstObject), 88},
+  {"GstPadClass", sizeof (GstPadClass), 232},
+  {"GstPad", sizeof (GstPad), 520},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 72},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 224},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 144},
+  {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 96},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 608},
+  {"GstPipeline", sizeof (GstPipeline), 440},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 112},
+  {"GstPresetInterface", sizeof (GstPresetInterface), 112},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 240},
+  {"GstProxyPad", sizeof (GstProxyPad), 528},
+  {"GstQuery", sizeof (GstQuery), 72},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 184},
+  {"GstRegistry", sizeof (GstRegistry), 96},
+  {"GstSegment", sizeof (GstSegment), 120},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 48},
   {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
-  {"GstPipeline", sizeof (GstPipeline), 232},
-  {"GstPipelineClass", sizeof (GstPipelineClass), 304},
-  {"GstPlugin", sizeof (GstPlugin), 152},
-  {"GstPluginClass", sizeof (GstPluginClass), 136},
-  {"GstPluginDesc", sizeof (GstPluginDesc), 56},
-  {"GstPluginFeature", sizeof (GstPluginFeature), 72},
-  {"GstPluginFeatureClass", sizeof (GstPluginFeatureClass), 136},
-  {"GstQueryTypeDefinition", sizeof (GstQueryTypeDefinition), 16},
-  {"GstQuery", sizeof (GstQuery), 28},
-  {"GstQueryClass", sizeof (GstQueryClass), 32},
-  {"GstRegistry", sizeof (GstRegistry), 72},
-  {"GstRegistryClass", sizeof (GstRegistryClass), 144},
-  {"GstSegment", sizeof (GstSegment), 88},
-  {"GstStructure", sizeof (GstStructure), 20},
-  {"GstSystemClock", sizeof (GstSystemClock), 200},
-  {"GstSystemClockClass", sizeof (GstSystemClockClass), 176},
-  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 8},
-  {"GstTask", sizeof (GstTask), 80},
-  {"GstTaskClass", sizeof (GstTaskClass), 140},
-  {"GstTrace", sizeof (GstTrace), 20},
-  {"GstTraceEntry", sizeof (GstTraceEntry), 128},
-  {"GstAllocTrace", sizeof (GstAllocTrace), 16},
-  {"GstTypeFind", sizeof (GstTypeFind), 32},
-  {"GstTypeFindFactory", sizeof (GstTypeFindFactory), 108},
-  {"GstTypeFindFactoryClass", sizeof (GstTypeFindFactoryClass), 152},
-  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 44},
-  {"GstValueTable", sizeof (GstValueTable), 32},
+  {"GstStructure", sizeof (GstStructure), 16},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 296},
+  {"GstSystemClock", sizeof (GstSystemClock), 168},
+  {"GstTagList", sizeof (GstTagList), 64,},
+  {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16},
+  {"GstTaskClass", sizeof (GstTaskClass), 224},
+  {"GstTask", sizeof (GstTask), 200},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 248},
+  {"GstTaskPool", sizeof (GstTaskPool), 128},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 16},
+  {"GstTypeFind", sizeof (GstTypeFind), 64},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 48},
+  {"GstValueTable", sizeof (GstValueTable), 64},
   {NULL, 0, 0}
 };
diff --git a/tests/check/gst/struct_x86_64.h b/tests/check/gst/struct_x86_64.h
index 469d749..b7a2952 100644
--- a/tests/check/gst/struct_x86_64.h
+++ b/tests/check/gst/struct_x86_64.h
@@ -1,85 +1,72 @@
 static GstCheckABIStruct list[] = {
-  {"GstAllocTrace", sizeof (GstAllocTrace), 24},
-  {"GstBinClass", sizeof (GstBinClass), 568},
-  {"GstBin", sizeof (GstBin), 336},
-  {"GstBufferClass", sizeof (GstBufferClass), 32},
-  {"GstBuffer", sizeof (GstBuffer), 120},
-  {"GstBusClass", sizeof (GstBusClass), 288},
-  {"GstBus", sizeof (GstBus), 152},
-  {"GstCaps", sizeof (GstCaps), 56},
-  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 80},
-  {"GstClockClass", sizeof (GstClockClass), 320},
-  {"GstClockEntry", sizeof (GstClockEntry), 80},
-  {"GstClock", sizeof (GstClock), 240},
+  {"GstAllocationParams", sizeof (GstAllocationParams), 64},
+  {"GstAllocator", sizeof (GstAllocator), 176},
+  {"GstAllocatorClass", sizeof (GstAllocatorClass), 232},
+  {"GstBinClass", sizeof (GstBinClass), 576},
+  {"GstBin", sizeof (GstBin), 376},
+  {"GstBuffer", sizeof (GstBuffer), 112},
+  {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 64},
+  {"GstBufferPool", sizeof (GstBufferPool), 136},
+  {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 288},
+  {"GstBusClass", sizeof (GstBusClass), 232},
+  {"GstBus", sizeof (GstBus), 128},
+  {"GstCaps", sizeof (GstCaps), 64},
+  {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 88},
+  {"GstClockClass", sizeof (GstClockClass), 264},
+  {"GstClockEntry", sizeof (GstClockEntry), 112},
+  {"GstClock", sizeof (GstClock), 128},
+  {"GstControlBinding", sizeof (GstControlBinding), 152},
+  {"GstControlBindingClass", sizeof (GstControlBindingClass), 248},
+  {"GstControlSource", sizeof (GstControlSource), 136},
+  {"GstControlSourceClass", sizeof (GstControlSourceClass), 216},
   {"GstDebugCategory", sizeof (GstDebugCategory), 24},
   {"GstElementClass", sizeof (GstElementClass), 488},
-  {"GstElementDetails", sizeof (GstElementDetails), 64},
-  {"GstElementFactoryClass", sizeof (GstElementFactoryClass), 304},
-  {"GstElementFactory", sizeof (GstElementFactory), 280},
-  {"GstElement", sizeof (GstElement), 232},
-  {"GstEventClass", sizeof (GstEventClass), 64},
-  {"GstEvent", sizeof (GstEvent), 64},
+  {"GstElement", sizeof (GstElement), 264},
+  {"GstEvent", sizeof (GstEvent), 88},
   {"GstFormatDefinition", sizeof (GstFormatDefinition), 32},
-  {"GstGhostPadClass", sizeof (GstGhostPadClass), 344},
-  {"GstGhostPad", sizeof (GstGhostPad), 384},
-  {"GstIndexAssociation", sizeof (GstIndexAssociation), 16},
-  {"GstIndexClass", sizeof (GstIndexClass), 312},
-  {"GstIndexEntry", sizeof (GstIndexEntry), 32},
-  {"GstIndexFactoryClass", sizeof (GstIndexFactoryClass), 304},
-  {"GstIndexFactory", sizeof (GstIndexFactory), 192},
-  {"GstIndexGroup", sizeof (GstIndexGroup), 24},
-  {"GstIndex", sizeof (GstIndex), 192},
-  {"GstIterator", sizeof (GstIterator), 104},
-  {"GstMessageClass", sizeof (GstMessageClass), 64},
-  {"GstMessage", sizeof (GstMessage), 104},
-  {"GstMiniObjectClass", sizeof (GstMiniObjectClass), 32},
-  {"GstMiniObject", sizeof (GstMiniObject), 24},
-  {"GstObjectClass", sizeof (GstObjectClass), 240},
-  {"GstObject", sizeof (GstObject), 80},
-  {"GstPadClass", sizeof (GstPadClass), 304},
-  {"GstPad", sizeof (GstPad), 368},
-  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 280},
-  {"GstPadTemplate", sizeof (GstPadTemplate), 136},
-  {"GstPadTemplate", sizeof (GstPadTemplate), 136},
+  {"GstGhostPadClass", sizeof (GstGhostPadClass), 272},
+  {"GstGhostPad", sizeof (GstGhostPad), 536},
+  {"GstIterator", sizeof (GstIterator), 120},
+  {"GstMemory", sizeof (GstMemory), 112},
+  {"GstMapInfo", sizeof (GstMapInfo), 104},
+  {"GstMessage", sizeof (GstMessage), 120},
+  {"GstMeta", sizeof (GstMeta), 16},
+  {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 24},
+  {"GstMetaInfo", sizeof (GstMetaInfo), 80},
+  {"GstMiniObject", sizeof (GstMiniObject), 64},
+  {"GstObjectClass", sizeof (GstObjectClass), 184},
+  {"GstObject", sizeof (GstObject), 88},
+  {"GstPadClass", sizeof (GstPadClass), 232},
+  {"GstPad", sizeof (GstPad), 520},
+  {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 72},
+  {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 224},
+  {"GstPadTemplate", sizeof (GstPadTemplate), 144},
   {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 96},
-  {"GstParamSpecMiniObject", sizeof (GstParamSpecMiniObject), 72},
-  {"GstPipelineClass", sizeof (GstPipelineClass), 600},
-  {"GstPipeline", sizeof (GstPipeline), 392},
-  {"GstPluginClass", sizeof (GstPluginClass), 272},
-  {"GstPluginDesc", sizeof (GstPluginDesc), 104},
-  {"GstPluginFeatureClass", sizeof (GstPluginFeatureClass), 272},
-  {"GstPluginFeature", sizeof (GstPluginFeature), 144},
-  {"GstPlugin", sizeof (GstPlugin), 280},
+  {"GstPipelineClass", sizeof (GstPipelineClass), 608},
+  {"GstPipeline", sizeof (GstPipeline), 440},
+  {"GstPluginDesc", sizeof (GstPluginDesc), 112},
   {"GstPresetInterface", sizeof (GstPresetInterface), 112},
-  {"GstProxyPadClass", sizeof (GstProxyPadClass), 312},
-  {"GstProxyPad", sizeof (GstProxyPad), 376},
-  {"GstQueryClass", sizeof (GstQueryClass), 64},
-  {"GstQuery", sizeof (GstQuery), 48},
-  {"GstQueryTypeDefinition", sizeof (GstQueryTypeDefinition), 32},
-  {"GstRegistryClass", sizeof (GstRegistryClass), 288},
-  {"GstRegistry", sizeof (GstRegistry), 144},
-  {"GstSegment", sizeof (GstSegment), 104},
-  {"GstStaticCaps", sizeof (GstStaticCaps), 96},
-  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 112},
-  {"GstStructure", sizeof (GstStructure), 40},
-  {"GstSystemClockClass", sizeof (GstSystemClockClass), 352},
-  {"GstSystemClock", sizeof (GstSystemClock), 288},
-  {"GstTagList", sizeof (GstTagList), 40},
+  {"GstProxyPadClass", sizeof (GstProxyPadClass), 240},
+  {"GstProxyPad", sizeof (GstProxyPad), 528},
+  {"GstQuery", sizeof (GstQuery), 72},
+  {"GstRegistryClass", sizeof (GstRegistryClass), 184},
+  {"GstRegistry", sizeof (GstRegistry), 96},
+  {"GstSegment", sizeof (GstSegment), 120},
+  {"GstStaticCaps", sizeof (GstStaticCaps), 48},
+  {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
+  {"GstStructure", sizeof (GstStructure), 16},
+  {"GstSystemClockClass", sizeof (GstSystemClockClass), 296},
+  {"GstSystemClock", sizeof (GstSystemClock), 168},
+  {"GstTagList", sizeof (GstTagList), 64,},
   {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16},
-  {"GstTaskClass", sizeof (GstTaskClass), 280},
-  {"GstTask", sizeof (GstTask), 160},
-  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 304},
-  {"GstTaskPool", sizeof (GstTaskPool), 120},
-  {"GstTaskThreadCallbacks", sizeof (GstTaskThreadCallbacks), 48},
-  {"GstTraceEntry", sizeof (GstTraceEntry), 128},
-  {"GstTrace", sizeof (GstTrace), 32},
-  {"GstTypeFindFactoryClass", sizeof (GstTypeFindFactoryClass), 304},
-  {"GstTypeFindFactory", sizeof (GstTypeFindFactory), 216},
+  {"GstTaskClass", sizeof (GstTaskClass), 224},
+  {"GstTask", sizeof (GstTask), 200},
+  {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 248},
+  {"GstTaskPool", sizeof (GstTaskPool), 128},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 16},
   {"GstTypeFind", sizeof (GstTypeFind), 64},
-#if !defined(GST_DISABLE_DEPRECATED) && !defined(GST_REMOVE_DEPRECATED)
-  {"GstTypeNameData", sizeof (GstTypeNameData), 16},
-#endif
-  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 88},
+  {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 48},
   {"GstValueTable", sizeof (GstValueTable), 64},
   {NULL, 0, 0}
 };
diff --git a/tests/check/libs/libsabi.c b/tests/check/libs/libsabi.c
new file mode 100644
index 0000000..a5455a9
--- /dev/null
+++ b/tests/check/libs/libsabi.c
@@ -0,0 +1,106 @@
+/* GStreamer
+ * Copyright (C) 2012 Wim Taymans <wim.taymans@gmail.com>
+ *
+ * libsabi.c: Unit test for ABI compatibility
+ *
+ * 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+#include <gst/check/gstcheck.h>
+
+#include <gst/base/gstadapter.h>
+#include <gst/base/gstbaseparse.h>
+#include <gst/base/gstbasesink.h>
+#include <gst/base/gstbasesrc.h>
+#include <gst/base/gstbasetransform.h>
+#include <gst/base/gstbitreader.h>
+#include <gst/base/gstbytereader.h>
+#include <gst/base/gstbytewriter.h>
+#include <gst/base/gstcollectpads.h>
+#include <gst/base/gstpushsrc.h>
+#include <gst/base/gsttypefindhelper.h>
+#include <gst/controller/gstinterpolationcontrolsource.h>
+#include <gst/controller/gstlfocontrolsource.h>
+#include <gst/controller/gsttriggercontrolsource.h>
+#include <gst/controller/gstargbcontrolbinding.h>
+#include <gst/controller/gstdirectcontrolbinding.h>
+#include <gst/controller/gsttimedvaluecontrolsource.h>
+#include <gst/net/gstnet.h>
+#include <gst/net/gstnetclientclock.h>
+#include <gst/net/gstnettimepacket.h>
+#include <gst/net/gstnettimeprovider.h>
+
+#ifdef HAVE_CPU_I386
+#include "struct_i386.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef __powerpc64__
+#include "struct_ppc64.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef __powerpc__
+#include "struct_ppc32.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_X86_64
+#include "struct_x86_64.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_HPPA
+#include "struct_hppa.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_SPARC
+#include "struct_sparc.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+#ifdef HAVE_CPU_ARM
+#include "struct_arm.h"
+#define HAVE_ABI_SIZES TRUE
+#else
+/* in case someone wants to generate a new arch */
+#include "struct_i386.h"
+#define HAVE_ABI_SIZES FALSE
+#endif
+#endif
+#endif
+#endif
+#endif
+#endif
+#endif
+
+GST_START_TEST (test_ABI)
+{
+  gst_check_abi_list (list, HAVE_ABI_SIZES);
+}
+
+GST_END_TEST;
+
+static Suite *
+libsabi_suite (void)
+{
+  Suite *s = suite_create ("LibsABI");
+  TCase *tc_chain = tcase_create ("size check");
+
+  tcase_set_timeout (tc_chain, 0);
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_ABI);
+  return s;
+}
+
+GST_CHECK_MAIN (libsabi);
diff --git a/tests/check/libs/struct_arm.h b/tests/check/libs/struct_arm.h
index d63c71a..484298e 100644
--- a/tests/check/libs/struct_arm.h
+++ b/tests/check/libs/struct_arm.h
@@ -1,26 +1,39 @@
 
 GstCheckABIStruct list[] = {
-  {"GstAdapter", sizeof (GstAdapter), 52},
-  {"GstAdapterClass", sizeof (GstAdapterClass), 84},
-  {"GstBaseSink", sizeof (GstBaseSink), 408},
-  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 368},
-  {"GstBaseSrc", sizeof (GstBaseSrc), 392},
-  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 376},
-  {"GstBaseTransform", sizeof (GstBaseTransform), 368},
-  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 376},
-  {"GstCollectData", sizeof (GstCollectData), 120},
-  {"GstCollectPads", sizeof (GstCollectPads), 92},
-  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 136},
-  {"GstPushSrc", sizeof (GstPushSrc), 408},
-  {"GstPushSrcClass", sizeof (GstPushSrcClass), 396},
-  {"GstTimedValue", sizeof (GstTimedValue), 32},
-  {"GstValueArray", sizeof (GstValueArray), 24},
-  {"GstController", sizeof (GstController), 40},
-  {"GstControllerClass", sizeof (GstControllerClass), 84},
-  {"GstNetClientClock", sizeof (GstNetClientClock), 256},
-  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 192},
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 728},
+  {"GstBaseParse", sizeof (GstBaseParse), 576},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 792},
+  {"GstBaseSink", sizeof (GstBaseSink), 664},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 800},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 648},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 816},
+  {"GstBaseTransform", sizeof (GstBaseTransform), 576},
+  {"GstBitReader", sizeof (GstBitReader), 56},
+  {"GstByteReader", sizeof (GstByteReader), 48},
+  {"GstByteWriter", sizeof (GstByteWriter), 96},
+  {"GstCollectData", sizeof (GstCollectData), 200},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 216},
+  {"GstCollectPads", sizeof (GstCollectPads), 152},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 280},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 248},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 280},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 248},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 280},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 240},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 328},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 208},
   {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
-  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 84},
-  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 120},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 216},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 128},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 856},
+  {"GstPushSrc", sizeof (GstPushSrc), 680},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
   {NULL, 0, 0}
 };
diff --git a/tests/check/libs/struct_hppa.h b/tests/check/libs/struct_hppa.h
index 163f8a7..484298e 100644
--- a/tests/check/libs/struct_hppa.h
+++ b/tests/check/libs/struct_hppa.h
@@ -1,27 +1,39 @@
-static GstCheckABIStruct list[] = {
-  {"GstAdapter", sizeof (GstAdapter), 52},
-  {"GstAdapterClass", sizeof (GstAdapterClass), 84},
-  {"GstBaseSink", sizeof (GstBaseSink), 408},
-  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 368},
-  {"GstBaseSrc", sizeof (GstBaseSrc), 392},
-  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 376},
-  {"GstBaseTransform", sizeof (GstBaseTransform), 368},
-  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 376},
-  {"GstCollectData", sizeof (GstCollectData), 120},
-  {"GstCollectPads", sizeof (GstCollectPads), 92},
-  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 136},
-  {"GstPushSrc", sizeof (GstPushSrc), 408},
-  {"GstPushSrcClass", sizeof (GstPushSrcClass), 396},
 
-  {"GstTimedValue", sizeof (GstTimedValue), 32},
-  {"GstValueArray", sizeof (GstValueArray), 24},
-  {"GstController", sizeof (GstController), 40},
-  {"GstControllerClass", sizeof (GstControllerClass), 84},
-
-  {"GstNetClientClock", sizeof (GstNetClientClock), 256},
-  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 192},
+GstCheckABIStruct list[] = {
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 728},
+  {"GstBaseParse", sizeof (GstBaseParse), 576},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 792},
+  {"GstBaseSink", sizeof (GstBaseSink), 664},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 800},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 648},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 816},
+  {"GstBaseTransform", sizeof (GstBaseTransform), 576},
+  {"GstBitReader", sizeof (GstBitReader), 56},
+  {"GstByteReader", sizeof (GstByteReader), 48},
+  {"GstByteWriter", sizeof (GstByteWriter), 96},
+  {"GstCollectData", sizeof (GstCollectData), 200},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 216},
+  {"GstCollectPads", sizeof (GstCollectPads), 152},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 280},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 248},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 280},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 248},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 280},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 240},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 328},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 208},
   {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
-  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 84},
-  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 120},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 216},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 128},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 856},
+  {"GstPushSrc", sizeof (GstPushSrc), 680},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
   {NULL, 0, 0}
 };
diff --git a/tests/check/libs/struct_i386.h b/tests/check/libs/struct_i386.h
index 7717fdc..3f1e938 100644
--- a/tests/check/libs/struct_i386.h
+++ b/tests/check/libs/struct_i386.h
@@ -1,28 +1,39 @@
-static GstCheckABIStruct list[] = {
- {"GstAdapter", sizeof(GstAdapter), 52},
- {"GstAdapterClass", sizeof(GstAdapterClass), 84},
- {"GstBaseSink", sizeof(GstBaseSink), 384},
- {"GstBaseSinkClass", sizeof(GstBaseSinkClass), 368},
- {"GstBaseSrc", sizeof(GstBaseSrc), 376},
- {"GstBaseSrcClass", sizeof(GstBaseSrcClass), 376},
- {"GstBaseTransform", sizeof(GstBaseTransform), 352},
- {"GstBaseTransformClass", sizeof(GstBaseTransformClass), 376},
- {"GstCollectData", sizeof(GstCollectData), 120},
- {"GstCollectPads", sizeof(GstCollectPads), 92},
- {"GstCollectPadsClass", sizeof(GstCollectPadsClass), 136},
- {"GstPushSrc", sizeof(GstPushSrc), 392},
- {"GstPushSrcClass", sizeof(GstPushSrcClass), 396},
 
- {"GstTimedValue", sizeof(GstTimedValue), 28},
- {"GstValueArray", sizeof(GstValueArray), 20},
- {"GstController", sizeof(GstController), 40},
- {"GstControllerClass", sizeof(GstControllerClass), 84},
-
- {"GstNetClientClock", sizeof(GstNetClientClock), 248},
- {"GstNetClientClockClass", sizeof(GstNetClientClockClass), 192},
- {"GstNetTimePacket", sizeof(GstNetTimePacket), 16},
- {"GstNetTimeProvider", sizeof(GstNetTimeProvider), 84},
- {"GstNetTimeProviderClass", sizeof(GstNetTimeProviderClass), 120},
-
- {NULL, 0, 0}
+GstCheckABIStruct list[] = {
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 368},
+  {"GstBaseParse", sizeof (GstBaseParse), 364},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 400},
+  {"GstBaseSink", sizeof (GstBaseSink), 440},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 404},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 424},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 416},
+  {"GstBaseTransform", sizeof (GstBaseTransform), 364},
+  {"GstBitReader", sizeof (GstBitReader), 32},
+  {"GstByteReader", sizeof (GstByteReader), 28},
+  {"GstByteWriter", sizeof (GstByteWriter), 56},
+  {"GstCollectData", sizeof (GstCollectData), 136},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 108},
+  {"GstCollectPads", sizeof (GstCollectPads), 92},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 140},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 144},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 140},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 148},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 140},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 140},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 124},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 108},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 124},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 120},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 140},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 140},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 164},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 116},
+  {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 108},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 76},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 432},
+  {"GstPushSrc", sizeof (GstPushSrc), 440},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
+  {NULL, 0, 0}
 };
diff --git a/tests/check/libs/struct_ppc32.h b/tests/check/libs/struct_ppc32.h
index abf92dc..8c99bf2 100644
--- a/tests/check/libs/struct_ppc32.h
+++ b/tests/check/libs/struct_ppc32.h
@@ -1,25 +1,39 @@
-static GstCheckABIStruct list[] = {
-  {"GstAdapter", sizeof (GstAdapter), 52},
-  {"GstAdapterClass", sizeof (GstAdapterClass), 84},
-  {"GstBaseSink", sizeof (GstBaseSink), 408},
-  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 368},
-  {"GstBaseSrc", sizeof (GstBaseSrc), 392},
-  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 376},
-  {"GstBaseTransform", sizeof (GstBaseTransform), 368},
-  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 376},
-  {"GstCollectData", sizeof (GstCollectData), 120},
-  {"GstCollectPads", sizeof (GstCollectPads), 92},
-  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 136},
-  {"GstPushSrc", sizeof (GstPushSrc), 408},
-  {"GstPushSrcClass", sizeof (GstPushSrcClass), 396},
-  {"GstTimedValue", sizeof (GstTimedValue), 32},
-  {"GstValueArray", sizeof (GstValueArray), 24},
-  {"GstController", sizeof (GstController), 40},
-  {"GstControllerClass", sizeof (GstControllerClass), 84},
-  {"GstNetClientClock", sizeof (GstNetClientClock), 256},
-  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 192},
+
+GstCheckABIStruct list[] = {
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 368},
+  {"GstBaseParse", sizeof (GstBaseParse), 392},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 400},
+  {"GstBaseSink", sizeof (GstBaseSink), 464},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 404},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 448},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 416},
+  {"GstBaseTransform", sizeof (GstBaseTransform), 392},
+  {"GstBitReader", sizeof (GstBitReader), 32},
+  {"GstByteReader", sizeof (GstByteReader), 28},
+  {"GstByteWriter", sizeof (GstByteWriter), 56},
+  {"GstCollectData", sizeof (GstCollectData), 144},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 108},
+  {"GstCollectPads", sizeof (GstCollectPads), 104},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 140},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 160},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 140},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 168},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 140},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 152},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 124},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 120},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 124},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 128},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 140},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 152},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 164},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 136},
   {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
-  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 84},
-  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 120},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 108},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 88},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 432},
+  {"GstPushSrc", sizeof (GstPushSrc), 464},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
   {NULL, 0, 0}
 };
diff --git a/tests/check/libs/struct_ppc64.h b/tests/check/libs/struct_ppc64.h
index 21654e8..484298e 100644
--- a/tests/check/libs/struct_ppc64.h
+++ b/tests/check/libs/struct_ppc64.h
@@ -1,47 +1,39 @@
-static GstCheckABIStruct list[] = {
-  {"GstAdapter", sizeof (GstAdapter), 88}
-  ,
-  {"GstAdapterClass", sizeof (GstAdapterClass), 168}
-  ,
-  {"GstBaseSink", sizeof (GstBaseSink), 600}
-  ,
-  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 728}
-  ,
-  {"GstBaseSrc", sizeof (GstBaseSrc), 600}
-  ,
-  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 744}
-  ,
-  {"GstBaseTransform", sizeof (GstBaseTransform), 576}
-  ,
-  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 744}
-  ,
-  {"GstCollectData", sizeof (GstCollectData), 168}
-  ,
-  {"GstCollectPads", sizeof (GstCollectPads), 168}
-  ,
-  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 272}
-  ,
-  {"GstPushSrc", sizeof (GstPushSrc), 632}
-  ,
-  {"GstPushSrcClass", sizeof (GstPushSrcClass), 784}
-  ,
-  {"GstTimedValue", sizeof (GstTimedValue), 32}
-  ,
-  {"GstValueArray", sizeof (GstValueArray), 32}
-  ,
-  {"GstController", sizeof (GstController), 80}
-  ,
-  {"GstControllerClass", sizeof (GstControllerClass), 168}
-  ,
-  {"GstNetClientClock", sizeof (GstNetClientClock), 368}
-  ,
-  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 384}
-  ,
-  {"GstNetTimePacket", sizeof (GstNetTimePacket), 16}
-  ,
-  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 152}
-  ,
-  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 240}
-  ,
+
+GstCheckABIStruct list[] = {
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 728},
+  {"GstBaseParse", sizeof (GstBaseParse), 576},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 792},
+  {"GstBaseSink", sizeof (GstBaseSink), 664},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 800},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 648},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 816},
+  {"GstBaseTransform", sizeof (GstBaseTransform), 576},
+  {"GstBitReader", sizeof (GstBitReader), 56},
+  {"GstByteReader", sizeof (GstByteReader), 48},
+  {"GstByteWriter", sizeof (GstByteWriter), 96},
+  {"GstCollectData", sizeof (GstCollectData), 200},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 216},
+  {"GstCollectPads", sizeof (GstCollectPads), 152},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 280},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 248},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 280},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 248},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 280},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 240},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 328},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 208},
+  {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 216},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 128},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 856},
+  {"GstPushSrc", sizeof (GstPushSrc), 680},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
   {NULL, 0, 0}
 };
diff --git a/tests/check/libs/struct_sparc.h b/tests/check/libs/struct_sparc.h
index d63c71a..484298e 100644
--- a/tests/check/libs/struct_sparc.h
+++ b/tests/check/libs/struct_sparc.h
@@ -1,26 +1,39 @@
 
 GstCheckABIStruct list[] = {
-  {"GstAdapter", sizeof (GstAdapter), 52},
-  {"GstAdapterClass", sizeof (GstAdapterClass), 84},
-  {"GstBaseSink", sizeof (GstBaseSink), 408},
-  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 368},
-  {"GstBaseSrc", sizeof (GstBaseSrc), 392},
-  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 376},
-  {"GstBaseTransform", sizeof (GstBaseTransform), 368},
-  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 376},
-  {"GstCollectData", sizeof (GstCollectData), 120},
-  {"GstCollectPads", sizeof (GstCollectPads), 92},
-  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 136},
-  {"GstPushSrc", sizeof (GstPushSrc), 408},
-  {"GstPushSrcClass", sizeof (GstPushSrcClass), 396},
-  {"GstTimedValue", sizeof (GstTimedValue), 32},
-  {"GstValueArray", sizeof (GstValueArray), 24},
-  {"GstController", sizeof (GstController), 40},
-  {"GstControllerClass", sizeof (GstControllerClass), 84},
-  {"GstNetClientClock", sizeof (GstNetClientClock), 256},
-  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 192},
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 728},
+  {"GstBaseParse", sizeof (GstBaseParse), 576},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 792},
+  {"GstBaseSink", sizeof (GstBaseSink), 664},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 800},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 648},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 816},
+  {"GstBaseTransform", sizeof (GstBaseTransform), 576},
+  {"GstBitReader", sizeof (GstBitReader), 56},
+  {"GstByteReader", sizeof (GstByteReader), 48},
+  {"GstByteWriter", sizeof (GstByteWriter), 96},
+  {"GstCollectData", sizeof (GstCollectData), 200},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 216},
+  {"GstCollectPads", sizeof (GstCollectPads), 152},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 280},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 248},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 280},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 248},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 280},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 240},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 328},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 208},
   {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
-  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 84},
-  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 120},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 216},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 128},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 856},
+  {"GstPushSrc", sizeof (GstPushSrc), 680},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
   {NULL, 0, 0}
 };
diff --git a/tests/check/libs/struct_x86_64.h b/tests/check/libs/struct_x86_64.h
index 2d17aa4..484298e 100644
--- a/tests/check/libs/struct_x86_64.h
+++ b/tests/check/libs/struct_x86_64.h
@@ -1,40 +1,39 @@
 
 GstCheckABIStruct list[] = {
-  {"GstAdapterClass", sizeof (GstAdapterClass), 168},
-  {"GstAdapter", sizeof (GstAdapter), 88},
-  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 728},
-  {"GstBaseSink", sizeof (GstBaseSink), 600},
-  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 744},
-  {"GstBaseSrc", sizeof (GstBaseSrc), 600},
-  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 744},
+  {"GstBaseParseClass", sizeof (GstBaseParseClass), 728},
+  {"GstBaseParse", sizeof (GstBaseParse), 576},
+  {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 792},
+  {"GstBaseSink", sizeof (GstBaseSink), 664},
+  {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 800},
+  {"GstBaseSrc", sizeof (GstBaseSrc), 648},
+  {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 816},
   {"GstBaseTransform", sizeof (GstBaseTransform), 576},
-  {"GstBitReader", sizeof (GstBitReader), 24},
-  {"GstByteReader", sizeof (GstByteReader), 16},
-  {"GstByteWriter", sizeof (GstByteWriter), 32},
-  {"GstCollectData", sizeof (GstCollectData), 168},
-  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 272},
-  {"GstCollectPads", sizeof (GstCollectPads), 168},
-  {"GstControllerClass", sizeof (GstControllerClass), 168},
-  {"GstController", sizeof (GstController), 80},
-  {"GstControlSourceClass", sizeof (GstControlSourceClass), 176},
-  {"GstControlSource", sizeof (GstControlSource), 80},
-  {"GstDataQueueClass", sizeof (GstDataQueueClass), 184},
-  {"GstDataQueueItem", sizeof (GstDataQueueItem), 40},
-  {"GstDataQueue", sizeof (GstDataQueue), 128},
-  {"GstDataQueueSize", sizeof (GstDataQueueSize), 16},
-  {"GstDPPacketizer", sizeof (GstDPPacketizer), 64},
-  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 208},
-  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 128},
-  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 208},
-  {"GstLFOControlSource", sizeof (GstLFOControlSource), 128},
-  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 384},
-  {"GstNetClientClock", sizeof (GstNetClientClock), 368},
+  {"GstBitReader", sizeof (GstBitReader), 56},
+  {"GstByteReader", sizeof (GstByteReader), 48},
+  {"GstByteWriter", sizeof (GstByteWriter), 96},
+  {"GstCollectData", sizeof (GstCollectData), 200},
+  {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 216},
+  {"GstCollectPads", sizeof (GstCollectPads), 152},
+  {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 280},
+  {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 248},
+  {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 280},
+  {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 248},
+  {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 280},
+  {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
+  {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
+  {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
+  {"GstControlPoint", sizeof (GstControlPoint), 32},
+  {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
+  {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
+  {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
+  {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 240},
+  {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 328},
+  {"GstNetClientClock", sizeof (GstNetClientClock), 208},
   {"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
-  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 240},
-  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 152},
-  {"GstPushSrcClass", sizeof (GstPushSrcClass), 784},
-  {"GstPushSrc", sizeof (GstPushSrc), 632},
-  {"GstTimedValue", sizeof (GstTimedValue), 32},
-  {"GstValueArray", sizeof (GstValueArray), 32},
+  {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 216},
+  {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 128},
+  {"GstPushSrcClass", sizeof (GstPushSrcClass), 856},
+  {"GstPushSrc", sizeof (GstPushSrc), 680},
+  {"GstTimedValue", sizeof (GstTimedValue), 16},
   {NULL, 0, 0}
 };
diff --git a/tests/examples/manual/Makefile.am b/tests/examples/manual/Makefile.am
index 7d87111..6e79e67 100644
--- a/tests/examples/manual/Makefile.am
+++ b/tests/examples/manual/Makefile.am
@@ -35,7 +35,11 @@
 	init \
 	query \
 	typefind \
-	fakesrc \
+	blockprobe \
+	probe \
+	appsrc \
+	appsink \
+	dynformat \
 	playbin \
 	decodebin
 
@@ -48,7 +52,11 @@
 	init.c \
 	query.c \
 	typefind.c dynamic.c \
-	fakesrc.c \
+	blockprobe.c \
+	probe.c \
+	appsrc.c \
+	appsink.c \
+	dynformat.c \
 	playbin.c decodebin.c
 
 CLEANFILES = core core.* test-registry.* *.gcno *.gcda $(BUILT_SOURCES)
@@ -81,7 +89,19 @@
 typefind.c dynamic.c: $(top_srcdir)/docs/manual/advanced-autoplugging.xml
 	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
 
-fakesrc.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+blockprobe.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+probe.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+appsrc.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+appsink.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+dynformat.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
 	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
 
 playbin.c decodebin.c: $(top_srcdir)/docs/manual/highlevel-components.xml
diff --git a/tests/examples/manual/Makefile.in b/tests/examples/manual/Makefile.in
index d260b7e..99b25f2 100644
--- a/tests/examples/manual/Makefile.in
+++ b/tests/examples/manual/Makefile.in
@@ -106,18 +106,38 @@
 	elementget$(EXEEXT) elementlink$(EXEEXT) bin$(EXEEXT) \
 	pad$(EXEEXT) ghostpad$(EXEEXT) helloworld$(EXEEXT) \
 	init$(EXEEXT) query$(EXEEXT) typefind$(EXEEXT) \
-	fakesrc$(EXEEXT) playbin$(EXEEXT) decodebin$(EXEEXT)
+	blockprobe$(EXEEXT) probe$(EXEEXT) appsrc$(EXEEXT) \
+	appsink$(EXEEXT) dynformat$(EXEEXT) playbin$(EXEEXT) \
+	decodebin$(EXEEXT)
 PROGRAMS = $(noinst_PROGRAMS)
-bin_SOURCES = bin.c
-bin_OBJECTS = bin.$(OBJEXT)
-bin_LDADD = $(LDADD)
+appsink_SOURCES = appsink.c
+appsink_OBJECTS = appsink.$(OBJEXT)
+appsink_LDADD = $(LDADD)
 am__DEPENDENCIES_1 =
-bin_DEPENDENCIES =  \
+appsink_DEPENDENCIES =  \
 	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+appsrc_SOURCES = appsrc.c
+appsrc_OBJECTS = appsrc.$(OBJEXT)
+appsrc_LDADD = $(LDADD)
+appsrc_DEPENDENCIES =  \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
+bin_SOURCES = bin.c
+bin_OBJECTS = bin.$(OBJEXT)
+bin_LDADD = $(LDADD)
+bin_DEPENDENCIES =  \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
+blockprobe_SOURCES = blockprobe.c
+blockprobe_OBJECTS = blockprobe.$(OBJEXT)
+blockprobe_LDADD = $(LDADD)
+blockprobe_DEPENDENCIES =  \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 decodebin_SOURCES = decodebin.c
 decodebin_OBJECTS = decodebin.$(OBJEXT)
 decodebin_LDADD = $(LDADD)
@@ -130,6 +150,12 @@
 dynamic_DEPENDENCIES =  \
 	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
+dynformat_SOURCES = dynformat.c
+dynformat_OBJECTS = dynformat.$(OBJEXT)
+dynformat_LDADD = $(LDADD)
+dynformat_DEPENDENCIES =  \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 elementcreate_SOURCES = elementcreate.c
 elementcreate_OBJECTS = elementcreate.$(OBJEXT)
 elementcreate_LDADD = $(LDADD)
@@ -160,12 +186,6 @@
 elementmake_DEPENDENCIES =  \
 	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
-fakesrc_SOURCES = fakesrc.c
-fakesrc_OBJECTS = fakesrc.$(OBJEXT)
-fakesrc_LDADD = $(LDADD)
-fakesrc_DEPENDENCIES =  \
-	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
-	$(am__DEPENDENCIES_1)
 ghostpad_SOURCES = ghostpad.c
 ghostpad_OBJECTS = ghostpad.$(OBJEXT)
 ghostpad_LDADD = $(LDADD)
@@ -196,6 +216,12 @@
 playbin_DEPENDENCIES =  \
 	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
+probe_SOURCES = probe.c
+probe_OBJECTS = probe.$(OBJEXT)
+probe_LDADD = $(LDADD)
+probe_DEPENDENCIES =  \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 query_SOURCES = query.c
 query_OBJECTS = query.$(OBJEXT)
 query_LDADD = $(LDADD)
@@ -234,13 +260,14 @@
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = bin.c decodebin.c dynamic.c elementcreate.c elementfactory.c \
-	elementget.c elementlink.c elementmake.c fakesrc.c ghostpad.c \
-	helloworld.c init.c pad.c playbin.c query.c typefind.c
-DIST_SOURCES = bin.c decodebin.c dynamic.c elementcreate.c \
-	elementfactory.c elementget.c elementlink.c elementmake.c \
-	fakesrc.c ghostpad.c helloworld.c init.c pad.c playbin.c \
-	query.c typefind.c
+SOURCES = appsink.c appsrc.c bin.c blockprobe.c decodebin.c dynamic.c \
+	dynformat.c elementcreate.c elementfactory.c elementget.c \
+	elementlink.c elementmake.c ghostpad.c helloworld.c init.c \
+	pad.c playbin.c probe.c query.c typefind.c
+DIST_SOURCES = appsink.c appsrc.c bin.c blockprobe.c decodebin.c \
+	dynamic.c dynformat.c elementcreate.c elementfactory.c \
+	elementget.c elementlink.c elementmake.c ghostpad.c \
+	helloworld.c init.c pad.c playbin.c probe.c query.c typefind.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -561,7 +588,11 @@
 	init \
 	query \
 	typefind \
-	fakesrc \
+	blockprobe \
+	probe \
+	appsrc \
+	appsink \
+	dynformat \
 	playbin \
 	decodebin
 
@@ -574,7 +605,11 @@
 	init.c \
 	query.c \
 	typefind.c dynamic.c \
-	fakesrc.c \
+	blockprobe.c \
+	probe.c \
+	appsrc.c \
+	appsink.c \
+	dynformat.c \
 	playbin.c decodebin.c
 
 CLEANFILES = core core.* test-registry.* *.gcno *.gcda $(BUILT_SOURCES)
@@ -626,15 +661,27 @@
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
+appsink$(EXEEXT): $(appsink_OBJECTS) $(appsink_DEPENDENCIES) $(EXTRA_appsink_DEPENDENCIES) 
+	@rm -f appsink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(appsink_OBJECTS) $(appsink_LDADD) $(LIBS)
+appsrc$(EXEEXT): $(appsrc_OBJECTS) $(appsrc_DEPENDENCIES) $(EXTRA_appsrc_DEPENDENCIES) 
+	@rm -f appsrc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(appsrc_OBJECTS) $(appsrc_LDADD) $(LIBS)
 bin$(EXEEXT): $(bin_OBJECTS) $(bin_DEPENDENCIES) $(EXTRA_bin_DEPENDENCIES) 
 	@rm -f bin$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(bin_OBJECTS) $(bin_LDADD) $(LIBS)
+blockprobe$(EXEEXT): $(blockprobe_OBJECTS) $(blockprobe_DEPENDENCIES) $(EXTRA_blockprobe_DEPENDENCIES) 
+	@rm -f blockprobe$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(blockprobe_OBJECTS) $(blockprobe_LDADD) $(LIBS)
 decodebin$(EXEEXT): $(decodebin_OBJECTS) $(decodebin_DEPENDENCIES) $(EXTRA_decodebin_DEPENDENCIES) 
 	@rm -f decodebin$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(decodebin_OBJECTS) $(decodebin_LDADD) $(LIBS)
 dynamic$(EXEEXT): $(dynamic_OBJECTS) $(dynamic_DEPENDENCIES) $(EXTRA_dynamic_DEPENDENCIES) 
 	@rm -f dynamic$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(dynamic_OBJECTS) $(dynamic_LDADD) $(LIBS)
+dynformat$(EXEEXT): $(dynformat_OBJECTS) $(dynformat_DEPENDENCIES) $(EXTRA_dynformat_DEPENDENCIES) 
+	@rm -f dynformat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dynformat_OBJECTS) $(dynformat_LDADD) $(LIBS)
 elementcreate$(EXEEXT): $(elementcreate_OBJECTS) $(elementcreate_DEPENDENCIES) $(EXTRA_elementcreate_DEPENDENCIES) 
 	@rm -f elementcreate$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(elementcreate_OBJECTS) $(elementcreate_LDADD) $(LIBS)
@@ -650,9 +697,6 @@
 elementmake$(EXEEXT): $(elementmake_OBJECTS) $(elementmake_DEPENDENCIES) $(EXTRA_elementmake_DEPENDENCIES) 
 	@rm -f elementmake$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(elementmake_OBJECTS) $(elementmake_LDADD) $(LIBS)
-fakesrc$(EXEEXT): $(fakesrc_OBJECTS) $(fakesrc_DEPENDENCIES) $(EXTRA_fakesrc_DEPENDENCIES) 
-	@rm -f fakesrc$(EXEEXT)
-	$(AM_V_CCLD)$(LINK) $(fakesrc_OBJECTS) $(fakesrc_LDADD) $(LIBS)
 ghostpad$(EXEEXT): $(ghostpad_OBJECTS) $(ghostpad_DEPENDENCIES) $(EXTRA_ghostpad_DEPENDENCIES) 
 	@rm -f ghostpad$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ghostpad_OBJECTS) $(ghostpad_LDADD) $(LIBS)
@@ -668,6 +712,9 @@
 playbin$(EXEEXT): $(playbin_OBJECTS) $(playbin_DEPENDENCIES) $(EXTRA_playbin_DEPENDENCIES) 
 	@rm -f playbin$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(playbin_OBJECTS) $(playbin_LDADD) $(LIBS)
+probe$(EXEEXT): $(probe_OBJECTS) $(probe_DEPENDENCIES) $(EXTRA_probe_DEPENDENCIES) 
+	@rm -f probe$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(probe_OBJECTS) $(probe_LDADD) $(LIBS)
 query$(EXEEXT): $(query_OBJECTS) $(query_DEPENDENCIES) $(EXTRA_query_DEPENDENCIES) 
 	@rm -f query$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(query_OBJECTS) $(query_LDADD) $(LIBS)
@@ -681,20 +728,24 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appsink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appsrc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blockprobe.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decodebin.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynamic.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynformat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elementcreate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elementfactory.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elementget.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elementlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elementmake.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fakesrc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ghostpad.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helloworld.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pad.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playbin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/query.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/typefind.Po@am__quote@
 
@@ -1051,7 +1102,19 @@
 typefind.c dynamic.c: $(top_srcdir)/docs/manual/advanced-autoplugging.xml
 	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
 
-fakesrc.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+blockprobe.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+probe.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+appsrc.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+appsink.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
+	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
+
+dynformat.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
 	$(PERL_PATH) $(srcdir)/extract.pl $@ $<
 
 playbin.c decodebin.c: $(top_srcdir)/docs/manual/highlevel-components.xml
diff --git a/tests/examples/manual/appsink.c b/tests/examples/manual/appsink.c
new file mode 100644
index 0000000..1347e80
--- /dev/null
+++ b/tests/examples/manual/appsink.c
@@ -0,0 +1,140 @@
+
+/*** block  from ../../../docs/manual/advanced-dataaccess.xml ***/
+#include <gst/gst.h>
+#ifdef HAVE_GTK
+#include <gtk/gtk.h>
+#endif
+
+#include <stdlib.h>
+
+#define CAPS "video/x-raw,format=RGB,width=160,pixel-aspect-ratio=1/1"
+
+int
+main (int argc, char *argv[])
+{
+  GstElement *pipeline, *sink;
+  gint width, height;
+  GstSample *sample;
+  gchar *descr;
+  GError *error = NULL;
+  gint64 duration, position;
+  GstStateChangeReturn ret;
+  gboolean res;
+  GstMapInfo map;
+
+  gst_init (&argc, &argv);
+
+  if (argc != 2) {
+    g_print ("usage: %s <uri>\n Writes snapshot.png in the current directory\n",
+        argv[0]);
+    exit (-1);
+  }
+
+  /* create a new pipeline */
+  descr =
+      g_strdup_printf ("uridecodebin uri=%s ! videoconvert ! videoscale ! "
+      " appsink name=sink caps=\"" CAPS "\"", argv[1]);
+  pipeline = gst_parse_launch (descr, &error);
+
+  if (error != NULL) {
+    g_print ("could not construct pipeline: %s\n", error->message);
+    g_error_free (error);
+    exit (-1);
+  }
+
+  /* get sink */
+  sink = gst_bin_get_by_name (GST_BIN (pipeline), "sink");
+
+  /* set to PAUSED to make the first frame arrive in the sink */
+  ret = gst_element_set_state (pipeline, GST_STATE_PAUSED);
+  switch (ret) {
+    case GST_STATE_CHANGE_FAILURE:
+      g_print ("failed to play the file\n");
+      exit (-1);
+    case GST_STATE_CHANGE_NO_PREROLL:
+      /* for live sources, we need to set the pipeline to PLAYING before we can
+       * receive a buffer. We don't do that yet */
+      g_print ("live sources not supported yet\n");
+      exit (-1);
+    default:
+      break;
+  }
+  /* This can block for up to 5 seconds. If your machine is really overloaded,
+   * it might time out before the pipeline prerolled and we generate an error. A
+   * better way is to run a mainloop and catch errors there. */
+  ret = gst_element_get_state (pipeline, NULL, NULL, 5 * GST_SECOND);
+  if (ret == GST_STATE_CHANGE_FAILURE) {
+    g_print ("failed to play the file\n");
+    exit (-1);
+  }
+
+  /* get the duration */
+  gst_element_query_duration (pipeline, GST_FORMAT_TIME, &duration);
+
+  if (duration != -1)
+    /* we have a duration, seek to 5% */
+    position = duration * 5 / 100;
+  else
+    /* no duration, seek to 1 second, this could EOS */
+    position = 1 * GST_SECOND;
+
+  /* seek to the a position in the file. Most files have a black first frame so
+   * by seeking to somewhere else we have a bigger chance of getting something
+   * more interesting. An optimisation would be to detect black images and then
+   * seek a little more */
+  gst_element_seek_simple (pipeline, GST_FORMAT_TIME,
+      GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_FLUSH, position);
+
+  /* get the preroll buffer from appsink, this block untils appsink really
+   * prerolls */
+  g_signal_emit_by_name (sink, "pull-preroll", &sample, NULL);
+
+  /* if we have a buffer now, convert it to a pixbuf. It's possible that we
+   * don't have a buffer because we went EOS right away or had an error. */
+  if (sample) {
+    GstBuffer *buffer;
+    GstCaps *caps;
+    GstStructure *s;
+
+    /* get the snapshot buffer format now. We set the caps on the appsink so
+     * that it can only be an rgb buffer. The only thing we have not specified
+     * on the caps is the height, which is dependant on the pixel-aspect-ratio
+     * of the source material */
+    caps = gst_sample_get_caps (sample);
+    if (!caps) {
+      g_print ("could not get snapshot format\n");
+      exit (-1);
+    }
+    s = gst_caps_get_structure (caps, 0);
+
+    /* we need to get the final caps on the buffer to get the size */
+    res = gst_structure_get_int (s, "width", &width);
+    res |= gst_structure_get_int (s, "height", &height);
+    if (!res) {
+      g_print ("could not get snapshot dimension\n");
+      exit (-1);
+    }
+
+    /* create pixmap from buffer and save, gstreamer video buffers have a stride
+     * that is rounded up to the nearest multiple of 4 */
+    buffer = gst_sample_get_buffer (sample);
+    gst_buffer_map (buffer, &map, GST_MAP_READ);
+#ifdef HAVE_GTK
+    pixbuf = gdk_pixbuf_new_from_data (map.data,
+        GDK_COLORSPACE_RGB, FALSE, 8, width, height,
+        GST_ROUND_UP_4 (width * 3), NULL, NULL);
+
+    /* save the pixbuf */
+    gdk_pixbuf_save (pixbuf, "snapshot.png", "png", &error, NULL);
+#endif
+    gst_buffer_unmap (buffer, &map);
+  } else {
+    g_print ("could not make snapshot\n");
+  }
+
+  /* cleanup and exit */
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_object_unref (pipeline);
+
+  exit (0);
+}
diff --git a/tests/examples/manual/appsrc.c b/tests/examples/manual/appsrc.c
new file mode 100644
index 0000000..7256fe9
--- /dev/null
+++ b/tests/examples/manual/appsrc.c
@@ -0,0 +1,83 @@
+
+/*** block  from ../../../docs/manual/advanced-dataaccess.xml ***/
+#include <gst/gst.h>
+
+static GMainLoop *loop;
+
+static void
+cb_need_data (GstElement *appsrc,
+	      guint       unused_size,
+	      gpointer    user_data)
+{
+  static gboolean white = FALSE;
+  static GstClockTime timestamp = 0;
+  GstBuffer *buffer;
+  guint size;
+  GstFlowReturn ret;
+
+  size = 385 * 288 * 2;
+
+  buffer = gst_buffer_new_allocate (NULL, size, NULL);
+
+  /* this makes the image black/white */
+  gst_buffer_memset (buffer, 0, white ? 0xff : 0x0, size);
+  
+  white = !white;
+
+  GST_BUFFER_PTS (buffer) = timestamp;
+  GST_BUFFER_DURATION (buffer) = gst_util_uint64_scale_int (1, GST_SECOND, 2);
+
+  timestamp += GST_BUFFER_DURATION (buffer);
+
+  g_signal_emit_by_name (appsrc, "push-buffer", buffer, &ret);
+
+  if (ret != GST_FLOW_OK) {
+    /* something wrong, stop pushing */
+    g_main_loop_quit (loop);
+  }
+}
+
+gint
+main (gint   argc,
+      gchar *argv[])
+{
+  GstElement *pipeline, *appsrc, *conv, *videosink;
+
+  /* init GStreamer */
+  gst_init (&argc, &argv);
+  loop = g_main_loop_new (NULL, FALSE);
+
+  /* setup pipeline */
+  pipeline = gst_pipeline_new ("pipeline");
+  appsrc = gst_element_factory_make ("appsrc", "source");
+  conv = gst_element_factory_make ("videoconvert", "conv");
+  videosink = gst_element_factory_make ("xvimagesink", "videosink");
+
+  /* setup */
+  g_object_set (G_OBJECT (appsrc), "caps",
+  		gst_caps_new_simple ("video/x-raw",
+				     "format", G_TYPE_STRING, "RGB16",
+				     "width", G_TYPE_INT, 384,
+				     "height", G_TYPE_INT, 288,
+				     "framerate", GST_TYPE_FRACTION, 0, 1,
+				     NULL), NULL);
+  gst_bin_add_many (GST_BIN (pipeline), appsrc, conv, videosink, NULL);
+  gst_element_link_many (appsrc, conv, videosink, NULL);
+
+  /* setup appsrc */
+  g_object_set (G_OBJECT (appsrc),
+		"stream-type", 0,
+		"format", GST_FORMAT_TIME, NULL);
+  g_signal_connect (appsrc, "need-data", G_CALLBACK (cb_need_data), NULL);
+
+  /* play */
+  gst_element_set_state (pipeline, GST_STATE_PLAYING);
+  g_main_loop_run (loop);
+
+  /* clean up */
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_object_unref (GST_OBJECT (pipeline));
+  g_main_loop_unref (loop);
+
+  return 0;
+  }
diff --git a/tests/examples/manual/blockprobe.c b/tests/examples/manual/blockprobe.c
new file mode 100644
index 0000000..5f810de
--- /dev/null
+++ b/tests/examples/manual/blockprobe.c
@@ -0,0 +1,188 @@
+
+/*** block  from ../../../docs/manual/advanced-dataaccess.xml ***/
+#include <gst/gst.h>
+
+static GMainLoop *loop;
+static volatile gint counter;
+static GstBus *bus;
+static gboolean prerolled = FALSE;
+static GstPad *sinkpad;
+
+static void
+dec_counter (GstElement * pipeline)
+{
+  if (prerolled)
+    return;
+
+  if (g_atomic_int_dec_and_test (&counter)) {
+    /* all probes blocked and no-more-pads signaled, post
+     * message on the bus. */
+    prerolled = TRUE;
+
+    gst_bus_post (bus, gst_message_new_application (
+          GST_OBJECT_CAST (pipeline),
+          gst_structure_new_empty ("ExPrerolled")));
+  }
+}
+
+/* called when a source pad of uridecodebin is blocked */
+static GstPadProbeReturn
+cb_blocked (GstPad          *pad,
+            GstPadProbeInfo *info,
+            gpointer         user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  if (prerolled)
+    return GST_PAD_PROBE_REMOVE;
+
+  dec_counter (pipeline);
+
+  return GST_PAD_PROBE_OK;
+}
+
+/* called when uridecodebin has a new pad */
+static void
+cb_pad_added (GstElement *element,
+              GstPad     *pad,
+              gpointer    user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  if (prerolled)
+    return;
+
+  g_atomic_int_inc (&counter);
+
+  gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
+      (GstPadProbeCallback) cb_blocked, pipeline, NULL);
+
+  /* try to link to the video pad */
+  gst_pad_link (pad, sinkpad);
+}
+
+/* called when uridecodebin has created all pads */
+static void
+cb_no_more_pads (GstElement *element,
+                 gpointer    user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  if (prerolled)
+    return;
+
+  dec_counter (pipeline);
+}
+
+/* called when a new message is posted on the bus */
+static void
+cb_message (GstBus     *bus,
+            GstMessage *message,
+            gpointer    user_data)
+{
+  GstElement *pipeline = GST_ELEMENT (user_data);
+
+  switch (GST_MESSAGE_TYPE (message)) {
+    case GST_MESSAGE_ERROR:
+      g_print ("we received an error!\n");
+      g_main_loop_quit (loop);
+      break;
+    case GST_MESSAGE_EOS:
+      g_print ("we reached EOS\n");
+      g_main_loop_quit (loop);
+      break;
+    case GST_MESSAGE_APPLICATION:
+    {
+      if (gst_message_has_name (message, "ExPrerolled")) {
+        /* it's our message */
+        g_print ("we are all prerolled, do seek\n");
+        gst_element_seek (pipeline,
+            1.0, GST_FORMAT_TIME,
+            GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE,
+            GST_SEEK_TYPE_SET, 2 * GST_SECOND,
+            GST_SEEK_TYPE_SET, 5 * GST_SECOND);
+
+        gst_element_set_state (pipeline, GST_STATE_PLAYING);
+      }
+      break;
+    }
+    default:
+      break;
+  }
+}
+
+gint
+main (gint   argc,
+      gchar *argv[])
+{
+  GstElement *pipeline, *src, *csp, *vs, *sink;
+
+  /* init GStreamer */
+  gst_init (&argc, &argv);
+  loop = g_main_loop_new (NULL, FALSE);
+
+  if (argc < 2) {
+    g_print ("usage: %s <uri>", argv[0]);
+    return -1;
+  }
+
+  /* build */
+  pipeline = gst_pipeline_new ("my-pipeline");
+
+  bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+  gst_bus_add_signal_watch (bus);
+  g_signal_connect (bus, "message", (GCallback) cb_message,
+      pipeline);
+
+  src = gst_element_factory_make ("uridecodebin", "src");
+  if (src == NULL)
+    g_error ("Could not create 'uridecodebin' element");
+
+  g_object_set (src, "uri", argv[1], NULL);
+
+  csp = gst_element_factory_make ("videoconvert", "csp");
+  if (csp == NULL)
+    g_error ("Could not create 'videoconvert' element");
+
+  vs = gst_element_factory_make ("videoscale", "vs");
+  if (csp == NULL)
+    g_error ("Could not create 'videoscale' element");
+
+  sink = gst_element_factory_make ("autovideosink", "sink");
+  if (sink == NULL)
+    g_error ("Could not create 'autovideosink' element");
+
+  gst_bin_add_many (GST_BIN (pipeline), src, csp, vs, sink, NULL);
+
+  /* can't link src yet, it has no pads */
+  gst_element_link_many (csp, vs, sink, NULL);
+
+  sinkpad = gst_element_get_static_pad (csp, "sink");
+
+  /* for each pad block that is installed, we will increment
+   * the counter. for each pad block that is signaled, we
+   * decrement the counter. When the counter is 0 we post
+   * an app message to tell the app that all pads are
+   * blocked. Start with 1 that is decremented when no-more-pads
+   * is signaled to make sure that we only post the message
+   * after no-more-pads */
+  g_atomic_int_set (&counter, 1);
+
+  g_signal_connect (src, "pad-added",
+      (GCallback) cb_pad_added, pipeline);
+  g_signal_connect (src, "no-more-pads",
+      (GCallback) cb_no_more_pads, pipeline);
+
+  gst_element_set_state (pipeline, GST_STATE_PAUSED);
+
+  g_main_loop_run (loop);
+
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+
+  gst_object_unref (sinkpad);
+  gst_object_unref (bus);
+  gst_object_unref (pipeline);
+  g_main_loop_unref (loop);
+
+  return 0;
+}
diff --git a/tests/examples/manual/decodebin.c b/tests/examples/manual/decodebin.c
index 960f554..7985868 100644
--- a/tests/examples/manual/decodebin.c
+++ b/tests/examples/manual/decodebin.c
@@ -42,7 +42,6 @@
 static void
 cb_newpad (GstElement *decodebin,
 	   GstPad     *pad,
-	   gboolean    last,
 	   gpointer    data)
 {
   GstCaps *caps;
@@ -101,7 +100,7 @@
   src = gst_element_factory_make ("filesrc", "source");
   g_object_set (G_OBJECT (src), "location", argv[1], NULL);
   dec = gst_element_factory_make ("decodebin", "decoder");
-  g_signal_connect (dec, "new-decoded-pad", G_CALLBACK (cb_newpad), NULL);
+  g_signal_connect (dec, "pad-added", G_CALLBACK (cb_newpad), NULL);
   gst_bin_add_many (GST_BIN (pipeline), src, dec, NULL);
   gst_element_link (src, dec);
 
diff --git a/tests/examples/manual/dynamic.c b/tests/examples/manual/dynamic.c
index de39bd8..355caa7 100644
--- a/tests/examples/manual/dynamic.c
+++ b/tests/examples/manual/dynamic.c
@@ -146,7 +146,7 @@
 	     GstCaps       *caps)
 {
   GstObject *parent = GST_OBJECT (GST_OBJECT_PARENT (pad));
-  const gchar *mime;
+  const gchar *media;
   const GList *item;
   GstCaps *res, *audiocaps;
 
@@ -158,10 +158,10 @@
   }
 
   /* as said above, we only try to plug audio... Omit video */
-  mime = gst_structure_get_name (gst_caps_get_structure (caps, 0));
-  if (g_strrstr (mime, "video")) {
-    g_print ("Omitting link for pad %s:%s because mimetype %s is non-audio\n",
-	     GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad), mime);
+  media = gst_structure_get_name (gst_caps_get_structure (caps, 0));
+  if (g_strrstr (media, "video")) {
+    g_print ("Omitting link for pad %s:%s because media type %s is non-audio\n",
+	     GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad), media);
     return;
   }
 
@@ -219,7 +219,7 @@
 
   /* if we get here, no item was found */
   g_print ("No compatible pad found to decode %s on %s:%s\n",
-	   mime, GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad));
+	   media, GST_OBJECT_NAME (parent), GST_OBJECT_NAME (pad));
 }
 
 static void
diff --git a/tests/examples/manual/dynformat.c b/tests/examples/manual/dynformat.c
new file mode 100644
index 0000000..469a355
--- /dev/null
+++ b/tests/examples/manual/dynformat.c
@@ -0,0 +1,77 @@
+
+/*** block  from ../../../docs/manual/advanced-dataaccess.xml ***/
+#include <stdlib.h>
+
+#include <gst/gst.h>
+
+#define MAX_ROUND 100
+
+int
+main (int argc, char **argv)
+{
+  GstElement *pipe, *filter;
+  GstCaps *caps;
+  gint width, height;
+  gint xdir, ydir;
+  gint round;
+  GstMessage *message;
+
+  gst_init (&argc, &argv);
+
+  pipe = gst_parse_launch_full ("videotestsrc ! capsfilter name=filter ! "
+             "ximagesink", NULL, GST_PARSE_FLAG_NONE, NULL);
+  g_assert (pipe != NULL);
+
+  filter = gst_bin_get_by_name (GST_BIN (pipe), "filter");
+  g_assert (filter);
+
+  width = 320;
+  height = 240;
+  xdir = ydir = -10;
+
+  for (round = 0; round < MAX_ROUND; round++) {
+    gchar *capsstr;
+    g_print ("resize to %dx%d (%d/%d)   \r", width, height, round, MAX_ROUND);
+
+    /* we prefer our fixed width and height but allow other dimensions to pass
+     * as well */
+    capsstr = g_strdup_printf ("video/x-raw, width=(int)%d, height=(int)%d",
+        width, height);
+
+    caps = gst_caps_from_string (capsstr);
+    g_free (capsstr);
+    g_object_set (filter, "caps", caps, NULL);
+    gst_caps_unref (caps);
+
+    if (round == 0)
+      gst_element_set_state (pipe, GST_STATE_PLAYING);
+
+    width += xdir;
+    if (width >= 320)
+      xdir = -10;
+    else if (width < 200)
+      xdir = 10;
+
+    height += ydir;
+    if (height >= 240)
+      ydir = -10;
+    else if (height < 150)
+      ydir = 10;
+
+    message =
+        gst_bus_poll (GST_ELEMENT_BUS (pipe), GST_MESSAGE_ERROR,
+        50 * GST_MSECOND);
+    if (message) {
+      g_print ("got error           \n");
+
+      gst_message_unref (message);
+    }
+  }
+  g_print ("done                    \n");
+
+  gst_object_unref (filter);
+  gst_element_set_state (pipe, GST_STATE_NULL);
+  gst_object_unref (pipe);
+
+  return 0;
+}
diff --git a/tests/examples/manual/fakesrc.c b/tests/examples/manual/fakesrc.c
deleted file mode 100644
index af26255..0000000
--- a/tests/examples/manual/fakesrc.c
+++ /dev/null
@@ -1,69 +0,0 @@
-
-/*** block  from ../../../docs/manual/advanced-dataaccess.xml ***/
-#include <string.h> /* for memset () */
-#include <gst/gst.h>
-
-static void
-cb_handoff (GstElement *fakesrc,
-	    GstBuffer  *buffer,
-	    GstPad     *pad,
-	    gpointer    user_data)
-{
-  static gboolean white = FALSE;
-  GstMapInfo info;
-  
-  gst_buffer_map (buffer, &info, GST_MAP_WRITE);
-
-  /* this makes the image black/white */
-  memset (info.data, white ? 0xff : 0x0, info.size);
-  white = !white;
-
-  gst_buffer_unmap (buffer, &info);
-}
-
-gint
-main (gint   argc,
-      gchar *argv[])
-{
-  GstElement *pipeline, *fakesrc, *flt, *conv, *videosink;
-  GMainLoop *loop;
-
-  /* init GStreamer */
-  gst_init (&argc, &argv);
-  loop = g_main_loop_new (NULL, FALSE);
-
-  /* setup pipeline */
-  pipeline = gst_pipeline_new ("pipeline");
-  fakesrc = gst_element_factory_make ("fakesrc", "source");
-  flt = gst_element_factory_make ("capsfilter", "flt");
-  conv = gst_element_factory_make ("videoconvert", "conv");
-  videosink = gst_element_factory_make ("xvimagesink", "videosink");
-
-  /* setup */
-  g_object_set (G_OBJECT (flt), "caps",
-  		gst_caps_new_simple ("video/x-raw",
-				     "format", G_TYPE_STRING, "RGB16",
-				     "width", G_TYPE_INT, 384,
-				     "height", G_TYPE_INT, 288,
-				     "framerate", GST_TYPE_FRACTION, 1, 1,
-				     NULL), NULL);
-  gst_bin_add_many (GST_BIN (pipeline), fakesrc, flt, conv, videosink, NULL);
-  gst_element_link_many (fakesrc, flt, conv, videosink, NULL);
-
-  /* setup fake source */
-  g_object_set (G_OBJECT (fakesrc),
-		"signal-handoffs", TRUE,
-		"sizemax", 384 * 288 * 2,
-		"sizetype", 2, NULL);
-  g_signal_connect (fakesrc, "handoff", G_CALLBACK (cb_handoff), NULL);
-
-  /* play */
-  gst_element_set_state (pipeline, GST_STATE_PLAYING);
-  g_main_loop_run (loop);
-
-  /* clean up */
-  gst_element_set_state (pipeline, GST_STATE_NULL);
-  gst_object_unref (GST_OBJECT (pipeline));
-
-  return 0;
-}
diff --git a/tests/examples/manual/helloworld.c b/tests/examples/manual/helloworld.c
index 506f339..80a9abd 100644
--- a/tests/examples/manual/helloworld.c
+++ b/tests/examples/manual/helloworld.c
@@ -67,6 +67,7 @@
 
   GstElement *pipeline, *source, *demuxer, *decoder, *conv, *sink;
   GstBus *bus;
+  guint bus_watch_id;
 
   /* Initialisation */
   gst_init (&argc, &argv);
@@ -101,7 +102,7 @@
 
   /* we add a message handler */
   bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
-  gst_bus_add_watch (bus, bus_call, loop);
+  bus_watch_id = gst_bus_add_watch (bus, bus_call, loop);
   gst_object_unref (bus);
 
   /* we add all elements into the pipeline */
@@ -139,6 +140,8 @@
 
   g_print ("Deleting pipeline\n");
   gst_object_unref (GST_OBJECT (pipeline));
+  g_source_remove (bus_watch_id);
+  g_main_loop_unref (loop);
 
   return 0;
 }
diff --git a/tests/examples/manual/probe.c b/tests/examples/manual/probe.c
new file mode 100644
index 0000000..cf2c233
--- /dev/null
+++ b/tests/examples/manual/probe.c
@@ -0,0 +1,103 @@
+
+/*** block  from ../../../docs/manual/advanced-dataaccess.xml ***/
+#include <gst/gst.h>
+
+static GstPadProbeReturn
+cb_have_data (GstPad          *pad,
+              GstPadProbeInfo *info,
+              gpointer         user_data)
+{
+  gint x, y;
+  GstMapInfo map;
+  guint16 *ptr, t;
+  GstBuffer *buffer;
+
+  buffer = GST_PAD_PROBE_INFO_BUFFER (info);
+
+  buffer = gst_buffer_make_writable (buffer);
+  
+  gst_buffer_map (buffer, &map, GST_MAP_WRITE);
+
+  ptr = (guint16 *) map.data;
+  /* invert data */
+  for (y = 0; y < 288; y++) {
+    for (x = 0; x < 384 / 2; x++) {
+      t = ptr[384 - 1 - x];
+      ptr[384 - 1 - x] = ptr[x];
+      ptr[x] = t;
+    }
+    ptr += 384;
+  }
+  gst_buffer_unmap (buffer, &map);
+
+  GST_PAD_PROBE_INFO_DATA (info) = buffer;
+
+  return GST_PAD_PROBE_OK;
+}
+
+gint
+main (gint   argc,
+      gchar *argv[])
+{
+  GMainLoop *loop;
+  GstElement *pipeline, *src, *sink, *filter, *csp;
+  GstCaps *filtercaps;
+  GstPad *pad;
+
+  /* init GStreamer */
+  gst_init (&argc, &argv);
+  loop = g_main_loop_new (NULL, FALSE);
+
+  /* build */
+  pipeline = gst_pipeline_new ("my-pipeline");
+  src = gst_element_factory_make ("videotestsrc", "src");
+  if (src == NULL)
+    g_error ("Could not create 'videotestsrc' element");
+
+  filter = gst_element_factory_make ("capsfilter", "filter");
+  g_assert (filter != NULL); /* should always exist */
+
+  csp = gst_element_factory_make ("videoconvert", "csp");
+  if (csp == NULL)
+    g_error ("Could not create 'videoconvert' element");
+
+  sink = gst_element_factory_make ("xvimagesink", "sink");
+  if (sink == NULL) {
+    sink = gst_element_factory_make ("ximagesink", "sink");
+    if (sink == NULL)
+      g_error ("Could not create neither 'xvimagesink' nor 'ximagesink' element");
+  }
+
+  gst_bin_add_many (GST_BIN (pipeline), src, filter, csp, sink, NULL);
+  gst_element_link_many (src, filter, csp, sink, NULL);
+  filtercaps = gst_caps_new_simple ("video/x-raw",
+			   "format", G_TYPE_STRING, "RGB16",
+			   "width", G_TYPE_INT, 384,
+			   "height", G_TYPE_INT, 288,
+			   "framerate", GST_TYPE_FRACTION, 25, 1,
+			   NULL);
+  g_object_set (G_OBJECT (filter), "caps", filtercaps, NULL);
+  gst_caps_unref (filtercaps);
+
+  pad = gst_element_get_static_pad (src, "src");
+  gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
+      (GstPadProbeCallback) cb_have_data, NULL, NULL);
+  gst_object_unref (pad);
+
+  /* run */
+  gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+  /* wait until it's up and running or failed */
+  if (gst_element_get_state (pipeline, NULL, NULL, -1) == GST_STATE_CHANGE_FAILURE) {
+    g_error ("Failed to go into PLAYING state");
+  }
+
+  g_print ("Running ...\n");
+  g_main_loop_run (loop);
+
+  /* exit */
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_object_unref (pipeline);
+
+  return 0;
+}
diff --git a/tools/gst-launch.1.in b/tools/gst-launch.1.in
index 6bec3b6..6f0a208 100644
--- a/tools/gst-launch.1.in
+++ b/tools/gst-launch.1.in
@@ -163,10 +163,10 @@
 
 .B Caps
 
-MIMETYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR
+MEDIATYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR
 
-Creates a capability with the given mimetype and optionally with given
-properties. The mimetype can be escaped using " or '.
+Creates a capability with the given media type and optionally with given
+properties. The media type can be escaped using " or '.
 If you want to chain caps, you can add more caps in the same format afterwards.
 
 .B Properties
diff --git a/tools/gst-launch.c b/tools/gst-launch.c
index 1cce4d1..cf46d19 100644
--- a/tools/gst-launch.c
+++ b/tools/gst-launch.c
@@ -1149,7 +1149,7 @@
 
       diff = GST_CLOCK_DIFF (tfthen, tfnow);
 
-      PRINT (_("Execution ended after %" G_GUINT64_FORMAT " ns.\n"), diff);
+      PRINT (_("Execution ended after %" G_GINT64_FORMAT " ns.\n"), diff);
     }
 
     PRINT (_("Setting pipeline to PAUSED ...\n"));
diff --git a/tools/gst-plot-timeline.py b/tools/gst-plot-timeline.py
index daec0be..c2a30b5 100755
--- a/tools/gst-plot-timeline.py
+++ b/tools/gst-plot-timeline.py
@@ -2,7 +2,7 @@
 #
 # based on plot-timeline.py by Federico Mena-Quintero <federico at ximian dotcom>
 # example:
-#   GST_DEBUG_NO_COLOR=1 GST_DEBUG="*:3" gst-launch-0.10 2>debug.log audiotestsrc num-buffers=10 ! audioconvert ! alsasink
+#   GST_DEBUG_NO_COLOR=1 GST_DEBUG="*:3" gst-launch-1.0 2>debug.log audiotestsrc num-buffers=10 ! audioconvert ! alsasink
 #   gst-plot-timeline.py debug.log --output=debug.png
 
 import math
diff --git a/tools/gst-typefind.1.in b/tools/gst-typefind.1.in
index 1471304..230c68f 100644
--- a/tools/gst-typefind.1.in
+++ b/tools/gst-typefind.1.in
@@ -1,13 +1,13 @@
 .TH GStreamer 1 "May 2003"
 .SH "NAME"
-gst\-typefind - print MIME type of file
+gst\-typefind - print Media type of file
 .SH "SYNOPSIS"
 .B  gst\-typefind <file>
 .SH "DESCRIPTION"
 .PP
 \fIgst\-typefind\fP uses the GStreamer type finding system to
 determine the relevant GStreamer plugin to parse or decode \fBfile\fP,
-and the corresponding MIME type.
+and the corresponding media type.
 .
 .SH "OPTIONS"
 .l
diff --git a/tools/tools.h b/tools/tools.h
index 084085e..1d4e0d4 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -48,7 +48,7 @@
     gchar *version_str;
 
     version_str = gst_version_string ();
-    g_print ("%s version %u.%u.%u\n", g_get_prgname (),
+    g_print ("%s version %d.%d.%d\n", g_get_prgname (),
         GST_VERSION_MAJOR, GST_VERSION_MINOR, GST_VERSION_MICRO);
     g_print ("%s\n", version_str);
     g_print ("%s\n", GST_PACKAGE_ORIGIN);
diff --git a/win32/common/config.h b/win32/common/config.h
index 277b4c9..674353d 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 "2012-09-23"
+#define GST_PACKAGE_RELEASE_DATETIME "2012-10-07"
 
 /* location of the installed gst-plugin-scanner */
 #define GST_PLUGIN_SCANNER_INSTALLED LIBDIR "\\gst-plugin-scanner"
@@ -337,7 +337,7 @@
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.0.0"
+#define PACKAGE_STRING "GStreamer 1.0.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
@@ -346,7 +346,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.0.0"
+#define PACKAGE_VERSION "1.0.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -380,7 +380,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "1.0.0"
+#define VERSION "1.0.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/gstenumtypes.c b/win32/common/gstenumtypes.c
index 5c5b3f1..9e04f58 100644
--- a/win32/common/gstenumtypes.c
+++ b/win32/common/gstenumtypes.c
@@ -1524,16 +1524,16 @@
 gst_segment_flags_get_type (void)
 {
   static gsize id = 0;
-  static const GEnumValue values[] = {
-    {C_ENUM (GST_SEGMENT_FLAG_NONE), "GST_SEGMENT_FLAG_NONE", "none"},
-    {C_ENUM (GST_SEGMENT_FLAG_RESET), "GST_SEGMENT_FLAG_RESET", "reset"},
-    {C_ENUM (GST_SEGMENT_FLAG_SKIP), "GST_SEGMENT_FLAG_SKIP", "skip"},
-    {C_ENUM (GST_SEGMENT_FLAG_SEGMENT), "GST_SEGMENT_FLAG_SEGMENT", "segment"},
+  static const GFlagsValue values[] = {
+    {C_FLAGS (GST_SEGMENT_FLAG_NONE), "GST_SEGMENT_FLAG_NONE", "none"},
+    {C_FLAGS (GST_SEGMENT_FLAG_RESET), "GST_SEGMENT_FLAG_RESET", "reset"},
+    {C_FLAGS (GST_SEGMENT_FLAG_SKIP), "GST_SEGMENT_FLAG_SKIP", "skip"},
+    {C_FLAGS (GST_SEGMENT_FLAG_SEGMENT), "GST_SEGMENT_FLAG_SEGMENT", "segment"},
     {0, NULL, NULL}
   };
 
   if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstSegmentFlags", values);
+    GType tmp = g_flags_register_static ("GstSegmentFlags", values);
     g_once_init_leave (&id, tmp);
   }
 
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index bb3e471..0c9f112 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 (0)
+#define GST_VERSION_MICRO (1)
 /**
  * GST_VERSION_NANO:
  *
diff --git a/win32/common/libgstbase.def b/win32/common/libgstbase.def
index b535b19..bc52be4 100644
--- a/win32/common/libgstbase.def
+++ b/win32/common/libgstbase.def
@@ -90,6 +90,7 @@
 	gst_base_transform_set_gap_aware
 	gst_base_transform_set_in_place
 	gst_base_transform_set_passthrough
+	gst_base_transform_set_prefer_passthrough
 	gst_base_transform_set_qos_enabled
 	gst_base_transform_update_qos
 	gst_bit_reader_free