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
